打靶记录(二二)之THMYearofPig
端口扫描
Web
根目录是一些介绍,我们进入/admin,发现要登录,试了个admin:admin给了个提示说密码是个很重要的字母,后面跟2个数字和一个特殊字符
并且抓包发现密码是会被加密上传的,而且加密形式应该是MD5
密码爆破
接下来我们要猜测密码了,既然他都给了提示。用户名应该是marco,提示估计也是在网页中寻找,可以用cewl工具来收集网页中的信息然后生成密码字典
cewl -w list.txt -d 5 -m 5 http://10.10.211.133/ |
生成一个list字典,有大小写的区分,不过猜测房间应该不会难为我们,就先全转成小写的
vim lower.py |
生成字典,我们可以用john
先编辑john的配置文件
sudo vim /etc/john/john.conf |
Shift+G跳转到文本底部,添加上自定义的规则
[List.Rules:PigRule] |
john --wordlist=listlower.txt --rules=PigRule --stdout>pass.txt |
生成字典,可以看到密码还是非常多的,然后我们要进行MD5加密
import hashlib |
然后要么用burpsuite来爆破,要么hydra或者fuzz,burpsuite非专业版爆破的速度实在是太慢了
不知道为什么fuzz爆破报不出来,感觉是前面哪一步搞错了。
总之爆破得到密码是savoia21!
其实完全不需要这么麻烦,看了about里面大概能猜到savoida21,然后随便猜个特殊字符就完事了
flag1
THM{MDg0MGVjYzFjY2ZkZGMzMWY1NGZiNjhl}
横向移动
看到还有一个curtis用户,也需要转移到它上面
在/var/www目录找到一个admin.db,但是没有权限查看
发现所有者是www-data,也就是说我们能够用反弹shell来获取www-data的权限。上传一个反弹shellPHP脚本
在网站的根目录放置一个reverseshell,开启监听,然后在浏览器访问
得到www-data的shell后chmod 777 admin.db给予所有人权限
发现乱码,应该是一个数据库文件不能直接打开,传到kali查看
找到curtis用户的密码哈希,直接在线解密
Donald1983$
切换至curtis用户
在家目录找到第二个flag
THM{Y2Q2N2M1NzNmYTQzYTI4ODliYzkzMmZh}
提权
sudo -l 查看
可以用sudoedit来编辑这个目录下的config.php,一般是用这权限来编辑任意文件,我们可以利用来添加用户至/etc/sudoers来达到提权的目的
可以利用链接的方式来做到,因为要对/var/www目录进行操作,所以还要用到marco用户
在/var/www/html目录下:
mkdir ./1 |
建立目录,并且建立符号连接,将/etc/sudoer链接至config.php,那么更改/etc/sudoer更改的将是config.php
转移回curtis用户
sudoedit /var/www/html/1/2/config.php
添加上curtis ALL=(ALL) NOPASSWD: ALL
sudo /bin/bash
root.txt
THM{MjcxNmVmYjNhYzdkZDc0M2RkNTZhNDA0}
碎碎念
难度还挺高的靶机,不过也就是在爆破得到marco密码那里比较难吧,对数据的处理,爆破什么的还是挺细节的。后面的话中规中矩吧,如果有编辑器之类的权限,就可以试着添加/etc/sudoers,或者之间新建个用户添加到/etc/passwd。