总结

这是一个十分有趣的靶机,这道题用到了nc,nmap提权,wpscan几个非常常见的技巧。

我觉得难度还行,没有太难也没太简单。

步骤

首先我们开启机子,然后ping一下看看。

都ok,然后我们使用nmap进行扫描(这里可以注意一点,一般nmap扫描的时候我们就可以去访问他的web网页去看看一些功能点了,没必要一直等nmap扫描完)

很帅的一个网页,我们对他的几个command进行一定的测试(已经测试过了),然后使用dirsearc工具开跑。

发现了login与robots文件

发现了一个字典还有flag1,一般来说靶机给你的dic都是用在他的login的,所以这里可以当作一个线索。

果然

我们使用BP抓一下包(我这里的思路是这样的:因为我们现在不知道username和password,所以我们得枚举一下,如果说username对了,但是password错了,那么他的回响包应该长度是不一样的。以此我们进行渗透测试)我们使用刚刚我们下载的靶机的dic进行测试。

我们发现Elliot用户的包的长度不一样,那username应该就是了。

然后我们再用wpscan进行密码爆破,密码也是用这个字典,跑不了的。

为什么这里不用BP爆破(总结一点,太慢了,这个字典80w个pw,怎么跑?)

拿下

我们使用密码进去

WP框架最简单的拿shell的方法就是修改404.php页面了

我们使用一个webshell(在github上面下载了一个),然后修改Ip和port(注意修改为THM的VPN的ip,而不是原来的IP)

访问404页面

然后使用nc监听

拿下

写完交互式shell,然后也发下了robot文件夹下面的两个文件。

flag不能查看

但是可以查看password

这靶机提示拉满了啊,甚至什么编码都说了。

拿下robot的密码

登录之后我们可以拿到flag2 了。

最后一个flag肯定需要提权了,我们查看一下suid。

1
find / -perm -4000 -type f -exec ls -al {} \; 2>/dev/null

发现了/usr/local/bin/nmap,记得存在nmap提权。查看了一下CTFObins,进行提权。

1
2
3
4
5
6
7
8
9
10
11
12
//Sudo
//If the binary is allowed to run as superuser by sudo, it does not drop the elevated //privileges and may be used to access the file system, escalate or maintain privileged //access.

//Input echo is disabled.

TF=$(mktemp)
echo 'os.execute("/bin/sh")' > $TF
sudo nmap --script=$TF
//The interactive mode, available on versions 2.02 to 5.21, can be used to execute shell //commands.

sudo nmap --interactive
nmap> !sh

拿下

直接去root目录拿flag

win