dc-6打靶日记
1. nmap扫描
1.1 确认目标ip地址
通过开关靶机测量当前网段存活的机器确定IP地址,也可以直接通过MAC地址的表示来确定IP地址。
1 |
|
目标ip地址:192.168.31.230
1.2 目标开放TCP端口
1 |
|
开放端口:22,80
1.3 目标开放UDP端口
1 |
|
1.4 开放TCP端口详细信息
1 |
|
能够得到的信息有:
端口80:apache/2.4.25;操作系统信息Linux 3.2-4.9
端口22:openSSH 7.4p1
1.5 nmap漏洞扫描
1 |
|
扫到的一些有用的信息:
Wordpress版本、wordpress登录界面、以及用户名(admin、graham、mark、sarah、jens)
2. 信息检索
2.1 http页面
访问80端口开启的http服务,发现进行了重定向,尝试修改hosts文件
通过向hosts文件添加以下内容来绕过重定向
1 |
|
ok,成功绕过了,然后我们获取一下一些有用的信息。
这里,它一直在强调wordy插件安全的重要性,似乎就是想告诉我们它的插件并不安全,可以想办法利用插件的漏洞进行getshell
通过工具查询到了相应的指纹确认该网页使用了WordPressCMS,查看这方面的漏洞.
2.2 目录爆破
- gobuster目录爆破
1 |
|
/wp-content
/wp-includes
/wp-admin
- dirsearch目录爆破
1 |
|
http://192.168.31.230/index.php
http://192.168.31.230/license.txt
http://192.168.31.230/readme.html
http://192.168.31.230/wp-admin
http://192.168.31.230/wp-admin/install.php
http://192.168.31.230/wp-config.php
http://192.168.31.230/wp-content/
http://192.168.31.230/wp-cron.php
http://192.168.31.230/wp-includes
http://192.168.31.230/wp-login.php
http://192.168.31.230/wp-signup.php
- dirb目录爆破
1 |
|
经过三轮的目录扫描最终得到的总目录连接如下:
http://192.168.31.230/index.php
http://192.168.31.230/license.txt
http://192.168.31.230/readme.html
http://192.168.31.230/wp-admin
http://192.168.31.230/wp-admin/install.php
http://192.168.31.230/wp-config.php
http://192.168.31.230/wp-content/
http://192.168.31.230/wp-cron.php
http://192.168.31.230/wp-includes
http://192.168.31.230/wp-login.php
http://192.168.31.230/wp-signup.php
2.3 后台爆破
对于WordPress有一个专门列举用户名的工具wpscan
,我们可以通过它来列举出可以爆破的用户名,然后记录下来,进行相应的爆破;
根据上述的结果可知存在的用户名有:
admin
sarah
graham
mark
jens
将上述的用户名写入到一个字典中,用于后续的用户名密码爆破。在kali自带的字典库中存在一个专门用于密码爆破的字典rockyou.txt
(用这个密码字典啊,破两天估计都破不完,我们不这么弄了,换个方法吧),我们将其复制一份到当前目录用户密码爆破,然后使用该字典通过wpscan爆破密码
1 |
|
我依稀记得之前打DC-2的时候用过一个东西叫做cerl
,我们用它生成一个密码字典试试,不行再说;
1 |
|
使用通过该方式生成的字典在进行一次用户名密码爆破尝试
1 |
|
好吧,没办法,可以先试试其他的字典,那个rockyou.txt
字典实在是有点大了,如果其他密码字典也不行再去试试它把;最后确实没辙,跑rockyou.txt
跑不出来,跑其他的也跑不出来,最后发现人家作者给了提示!
按着作者给的提示的方法创建字典,再进行用户名和密码的爆破。
1 |
|
终于好了,经过作者的提示我们也是成功的获得了登录后台管理系统的用户名和密码
username:mark
password:helpdesk01
2.4 后台信息获取
在DC系列靶机中,来到后台一般离拿到webshell权限都只有一步了,想办法找能够执行命令反弹shell的点就好了
发现该WordPress系统使用了Activity monitor
工具(也可以理解为插件),通过searchsploit扫描是能够扫到相应的漏洞的
1 |
|
除此之外还在该工具上发现了一个比较奇怪的工具,似乎有一定的功能,但是不知道是什么玩意,可以用burpsuite抓包看看。
经过尝试,在Convert
按钮的处理中似乎并不存在什么安全问题,而是下面的Lookup
按钮存在安全问题,它说:“如果dig在web服务器上安装了,那也可以被用作搜索”,似乎是指会搜索相应内容的意思,通过执行一些命令进行尝试,发现并没有解析什么ip地址或者域名啥的,但是通过并列执行后发现,似乎可以进行命令执行,当在这里输入
1 |
|
然后执行Lookup
发现可以进行命令执行
在进行一下简单的尝试后,发现跟其他都没什么关系,只有前面那部分存在一个.
,不管后面是什么都会进行执行,尝试进行反弹shell
在攻击机监听5555端口,然后使用目标机进行命令执行反弹shell
1 |
|
1 |
|
不巧的是,发现具有长度限制,哎,抓个包看看能不能该发送的内容呗,因为没有发现就已经不让输入了,大概率是前端检测,抓包应该能修改发送的数据。
ok成功登录,webshell拿下了,剩下又是提权的问题了,再次之前先通过命令开启一下互动终端
1 |
|
好了这回是真没问题了,继续吧!
3. 提权
3.1 命令提权
先查一下看看有没有什么命令可以用来提权的
1 |
|
有一个似乎可以用来提权mount
,但这个大概率都无法成功,先试试吧;
ok,没有问题,毫无疑问的失败了,找找看有没有别的办法提权吧
3.2 信息收集
怎么说呢,这个过程无聊且繁琐,但是确实是一定要经历的。你就每个目录都翻,你觉得重要的就翻,我觉得重要的就是每个人的用户,都翻翻;
最后在mark用户的目录下的stuff
文件中翻到了他的备忘录吧应该是,然后发现它建立了一个用户,而且写上了用户名和密码
username: graham
password: GSo7isUM1D4
通过命令直接登录graham用户
1 |
|
查看是否存在具有可用于提权的命令
1 |
|
提权命令没发现,但是发现了一个无密码用户jens
,由于无密码是无法登录jens的,但是它说jens具有执行backups.sh
的权利
那我们尝试去执行一下那个脚本,之前通过信息搜集也看到过那个脚本,但是里面是一个解压命令,就没太过关注
尝试执行一下这个脚本,权限不够,那是因为没有通过jens去执行这个脚本
通过使用sudo命令通过jens身份去执行这个脚本
1 |
|
确实可以执行该脚本,那么我们具有jens身份执行的脚本,那如果我们将其中的命令修改为反弹shell的脚本,那我们就可以登录jens用户,说干就干,写入命令
1 |
|
攻击机监听对应的端口号
1 |
|
再次以jens身份执行脚本
1 |
|
ok,成功反弹shell,没有问题,再启动互动终端,纯为了好看
1 |
|
再次查看有没有什么可以用来提权的命令
1 |
|
这次没问题了,真有可以用来提权的命令,提权启动
1 |
|
提权成功,下班!不行不行,在找个flag先
1 |
|
okok,这回是真下班了!
4. 总结
- 爆破真的是一项大工程,可能由于字典很大没法进行,所以爆破不出来可能只是字典的原因罢了
- 提权方法千千万,善于利用信息才好办,多找信息,多找方法,最终估计还得命令提权
- 后台系统找命令执行很重要,怎么拿到一个webshell确实很重要
- 可以通过别的用户权限的可执行文件去切换用户或者提权