day10 linux提权

1. 复现上课的提权案例

安装的linux系统和我的kali虚拟机在同一网段下,先查看kali的ip:

使用nmap对整个网段进行扫描,可以扫到存活的主机ip:

发现了一台开放了http服务端口的可疑主机:

对这台主机进行全端口扫描,发现了一个可疑端口:

用火狐浏览器访问这个端口的服务,看是否有什么内容:

由插件Wappalyzer收集到了一些信息,尝试以Drupal为突破口尝试渗透提权。

kali自带了msf,启动msf:

msf内携带了漏洞库,在里面搜索有关Drupal的相关漏洞,可以选择年份较新并且rank为excellent的使用:

 用show options查看需要配置的参数,rhosts和rport需要配置:

配置好参数并run:

在这里可以查找到一些目标主机的内核信息:

可以发现当前只是系统用户www-data,我们的目标是提权到root。

上传可以提权的脚本,先下载解压在kali上,等下上传到目标主机上:

为了保证上传脚本的隐蔽性,选择上传到tmp目录下,并更名为tiquan.sh:

upload /home/ryzee/Desktop/linux-exploit-suggester-master/linux-exploit-suggester.sh /tmp/tiquan.sh

然后输入shell进入目标机命令行,依次cd  /tmp并检查目录下文件的执行权限ls -la:

发现刚刚上传的脚本没有执行权限,chmod +x tiquan.sh 为它添加执行权限:

接着执行该脚本 ./tiquan.sh:

在里面查找信息,发现有dirtycow漏洞,尝试利用:

根据扫描出来的CVE去找对应的EXP,在下面的网站查找:

https://github.com/Ascotbe/Kernelhub
http://kernelhub.ascotbe.com/Windows/Docs/#/
https://github.com/SecWiki/windows-kernel-exploits
https://github.com/nomi-sec/PoC-in-GitHub
https://gitlab.com/exploit-database/exploitdb

在https://github.com/nomi-sec/PoC-in-GitHub搜到了对应的EXP(漏洞利用代码):

这里只用到了文件夹里的dcow.cpp,所以我只下载了它,还是同刚才一样下载到kali上再上传到目标主机,上传文件到目标主机的tmp目录并命名为dc.cpp:

upload /home/ryzee/Desktop/dcow.cpp /tmp/dc.cpp

输入shell进入目标机的命令行,查看dc.cpp的执行权限,没有的话就添加可执行权限 chmod +x dc.cpp :

运行该脚本:

g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dc dc.cpp -lutil  //编译
./dc //运行

可以看到运行后给出了目标主机的登录密码为 dirtyCowFun。

尝试使用su root获取管理员权限,提示缺少终端,使用python内置库开启终端:

python -c 'import pty; pty.spawn("/bin/bash")'

这就成功提权啦!

2. 总结Linux内核提权利用步骤(从内网信息收集到提权成功的思路)

1. 内网信息收集

  1. 利用nmap扫描网段存活主机,查找可疑主机;
  2. 再次利用nmap对可疑主机进行端口扫描,或者利用其它扫描工具对可疑主机进行扫描,收集系统信息(操作系统,内核版本,系统版本,系统安装的软件,开放的服务);对一些可疑端口尝试访问服务,利用火狐浏览器的插件Wappalyzer或许可以收集到一些目标主机的架构信息,系统信息。

2. 查找已知漏洞

  1. 根据收集到的系统信息,去查找资料,看是否存在已知漏洞,查询该漏洞是否可以用来提权。
  2. 利用msf去查找内置漏洞库,查寻最优的并使用,配置相关参数。

3. 利用漏洞

  1. 在msf中将提权脚本上传到目标主机,添加可执行权限,并执行,然后就可以得到新的漏洞信息,利用dirtycow漏洞进行提权,再从GitHub等网站下载针对该漏洞的已存EXP(漏洞利用代码)。
  2. 有些EXP需要编译后才能使用,使用gcc进行编译,编译后执行,拿到root权限的登录密码。

4. 权限提升

  1. 用拿到的root权限的登录密码登录目标主机进入root权限。
  2. 可能远程连接时提示进入root权限需要终端,需要使用python内置库开启终端,进入后验证身份(whoami)。

3. 总结Linux常用命令,10个以上

ls:列出当前目录中的文件和子目录
pwd:显示当前工作目录的路径
cd:切换工作目录
vim:编辑或新建某文件
mkdir:创建新目录
rm:删除文件或目录
cp:复制文件或目录
mv:移动或重命名文件或目录
cat:连接和显示文件内容
grep:在文件中搜索指定文本
ps:显示当前运行的进程
ifconfig/ip:查看和配置网络接口信息
chmod:修改文件或目录的权限
uname:显示系统信息
zip/unzip:用于压缩和解压ZIP文件
sudo:以超级用户权限运行命令

  • 26
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值