Tr0ll
Tr0ll
下载地址:https://download.vulnhub.com/tr0ll/Tr0ll.rar
首先进行主机发现
sudo nmap -sn 192.168.220.0/24

可以看到103就是我们的目标靶机。接下来对靶机进行端口扫描
sudo nmap --min-rate 10000 -p- 192.168.220.103

可以看到目标靶机开放了21,22和80端口。
由于nmap默认使用tcp端口扫描,我们可以再使用udp端口扫描来查看是否有遗漏的端口。
sudo nmap -sU --min-rate 10000 -p- 192.168.220.103
结果并没有发现。
接下来我们使用-sT指明使用tcp扫描,-sV扫描服务版本号,-O探测操作系统,扫描21,22,80端口。
sudo nmap -sT -sV -O -p21,22,80 192.168.220.103

接下来我们再使用nmap自带的脚本来扫描靶机是否存在明显的漏洞
sudo nmap --script=vuln -p21,22,80 192.168.220.103

并没有发现什么可以利用的漏洞。由于靶机开放了21端口ftp服务,所以我们就去尝试登陆一下ftp。由于没有用户名,所以我们尝试用匿名登录,输入anonymous,没有密码,成功登陆到靶机。

随后使用ls查看文件,发现存在一个lol.pcap流量文件,这种文件是可以使用wireshark或者tcpdump查看的。但是由于还没有学这些工具,所以暂不使用。先把文件下载到本地再进一步研究。
使用binary切换到二进制模式,再get lol.pcap下载文件,就可以退出ftp了。

使用strings lol.pcap来查看纯文本信息。在文本中可以看到有一个secret_stuff.txt文件,还有一串leetspeak的字符串sup3rs3cr3tdirlol。猜测这是与目录相关的文件,所以去浏览器端访问一下。

再浏览器端输入http://192.168.220.103/sup3rs3cr3tdirlol/,成功浏览到一个页面。可以看到这个目录下存在一个roflmao文件。将他下载到本地。

使用file命令查看一下这个文件格式,再使用binwalk查看是否有捆绑文件,其次再使用strings来查看文件信息。

可以看到他提示我们去查找0x0856BF这个目录。

可以看到这个目录下有两个文件夹。使用wget命令将里面的文件都下载下来。查看这两个文件。

猜测这是ssh的账号和密码。所以尝试去登陆到ssh。
sudo crackmapexec ssh 192.168.220.103 -u which_one_lol.txt -p Pass.txt --continue-on-success

后面几个用户名无法连接,可能是端口设置了防止爆破。尝试后发现没有可以登陆的用户名和密码。但是我们将密码改为Pass.txt以后,发现可以成功登陆到overflow用户。
sudo ssh overflow@192.168.220.103,密码使用Pass.txt。

使用python -c 'import pty; pty.spawn("/bin/bash")'升级一下shell。

但是当我们在收集信息时系统自动退出了,说明一定存在一个进程,并且权限一定比我们高。既然存在自动任务,那么我们就去搜索一下自动任务。但是我们没有权限搜索任务,那么就去搜索一下日志。
find / -name cronlog 2>/dev/null

可以看到这个日志的位置就在这里。
cat /var/log/cronlog
find / -name cleaner.py 2>/dev/null

那么我们就找到了这个文件。
接下来就是修改这个文件。
vim /lib/log/cleaner.py
将echo "overflow ALL=(ALL)NOPASSWD: ALL" >> /etc/sudoers写入日志。

随后就是等待重启,再使用sudo -l,提示我们不需要密码,那么说明命令执行成功了。

那么我们就已经是root用户了,并且成功拿到flag。

浙公网安备 33010602011771号