信息收集
同样,基本操作,netdiscover
发现VMware类型的ip地址,即为目标靶机
接下来祭出nmap
扫描
斯巴拉西,得到了一个重要信息WordPress
的站,还有其对应的版本,可以有针对性的利用已知漏洞打击,先存着,先访问其http页面(80端口)得到进一步信息。
就在页面很轻松能发现第一个flag。
flag给了我们提示,需要登录,并且需要cewl
而且提示常用wordlists可能并不起作用,所以我们需要有针对性的设计(那不就是社工字典吗QAQ)。我们先dirsearch
一波,看能不能跑出来登录框
1 | python3 dirsearch.py -u http://dc-2/ -e* > /home/xxx/DC-2/DC2web.txt |
信息还是蛮多的,登录窗口也扫出来了(wp的后台管理窗口也就那个名儿。。。),根据flag1提示,查了一下Cewl
的使用。我是链接
Cewl是以爬虫模式在指定URL上收集单词的工具,并将其制作成密码字典,以提高密码破解工具的成功率。
针对该网站生成特定的社工字典结果如下图。
1 | cewl -w DC2-pwd.txt http://dc-2/ |
因为网站是wordpress
,所以肯定是wpscan
啦。先扫描可用漏洞。
1 | wpscan --url http://dc-2 > dc-2.txt |
WPScan是一个扫描 WordPress 漏洞的黑盒子扫描器,可以扫描敏感文件、获取站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并提供漏洞信息。
参数:
–url 扫描网站
-e 枚举
u 枚举用户名,默认从1-10
p 枚举插件
t 枚举主题信息
接下来枚举用户名信息
1 | wpscan --url http://dc-2 -e u |
用户信息处有惊喜,发现了admin
,jerry
andtom
三个账号
web渗透
自然而然的考虑用burpsuite
爆破账号密码。。。
burp为防止封ip所以速度非常慢,换成hydra,,,参考burp的爆破格式构造:
1 | hydra -t 3 -l tom -P DC2-pwd.txt -o out.txt -f dc-2 http-form-post '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&testcookie=1:S=location' |
-t 3
控制线程数 无此选项默认12线程,经过测试这个服务端线程开太多会无响应,所以在这里制定为1(大家应该自行尝试最佳线程数)。
-l tom
指定单个用户名“root”。(可替换成-L 字典.txt
来指定一系列用户名)-P DC2-pwd.txt
指定密码字典(可替换成-p 密码
指定单个密码,一般不常用-o out.txt
将尝试过程与结果保存到out.txt-vV
显示详细过程-f
找到一个结果后停止dc-2
目标域名http-post-form
使用http协议下的post方法进行破解/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&testcookie=1:S=location
登录位置在目录/wp-login.php
处,其余参考burp。
这里亲测哈,hydra牛逼!!!
统计一下,只爆出来了两个
jerry:adipiscing
tom:parturient
用我们拿到的账号密码登录上去会发现flag2
,考虑了意思后放弃了msf搜索exp,,,因为写的很清楚,如果从版本的漏洞来打,估计需要自己构造。
试了试传马getshell,发现有保护,也无法常规绕过。
神奇的是,打了一个xss出来,但可惜没什么用,因为这是靶机,admin不会登陆。。。
一时间思路断了呜呜呜,,后来检查了一遍nmap信息发现,因为使用的命令
1 | nmap -A 192.168.1.11 |
这里的端口扫描似乎只会扫前1000个端口!所以万一迁移了什么端口,就会把这重要信息给漏过去!
重新构造
1 | nmap -A 192.168.1.11 -p 1-10000 |
果然,发现了7744端口的ssh登录
连入服务器
来一波ssh连接。
试了几次发现,jerry
没有这个su,有的是tom
的,于是登录tom
1 | ssh tom@192.168.1.11 -p 7744 |
但是!很无语,受限制的shell。这里给个参考,我是链接
rbash是Restricted Shell,即受限的shell,它与一般标准shell的区别在于会限制执行一些行为。
可以手动添加环境来绕过shell限制
1 | BASH_CMDS[a]=/bin/sh;a |
所以我们要换用su
来换shell。
这时候再输入上次爆破出来的密码就能换了,但是!权限不够。。。
随便试了一些命令瞎转,居然又发现了flag.txt
XD,而且,嘴上说着没有提示,身体还是挺老实的嘛。Git
git命令无需root权限即可使用,那就是利用git来进行提权。sudo后,以root身份调用/bin/bash
1 | sudo git -p help |
至此全部结束XD!!!
后记
很开心,但还是有点小瑕疵
- CMS的admin账号密码,还没有找到,不知道有什么。
- 挺想知道如何利用wp的版本漏洞直接getshell,可惜也没找到
以上XD
喵的,查了一下passwd才发现,这个站似乎没有admin哇?还有那个mysql怎么回事?nonexistent?
- 本文作者: Isabella
- 本文链接: https://username.github.io/2021/02/14/DC2靶机渗透记录/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!