前言
在做完了lame后,我深感自己的知识盲区还很多,要学的还有很多内容,于是紧接着就开始了第二个靶场shocker的练习
练习记录
连接vpn,激活机器后,网站给分配了如下地址:
nmap扫一下端口:
发现此处只开启了80和2222两个端口,其中80端口开启的服务是apache 2.4.18服务,2222开启的是ssh服务。访问80端口,发现了这么个睿智图片:
除此之外再无其他有用的信息。目录扫描结果如下:
发现有个叫cgi-bin的目录,最先想到的是解析漏洞,但是也没上传点,也没木马程序,只好放弃这个想法。在查询资料后得知,许多Web服务器上运行的CGI脚本使用Bash作为其解释器,所以可以尝试从这方面入手。之前有过一个影响比较大的漏洞叫shellshocker。
Shellshock是一种发现于Unix和Linux系统中使用的Bash shell(Bourne Again Shell)中的漏洞。它允许攻击者在脆弱的系统上执行任意代码或命令,可能导致严重的安全漏洞。该漏洞是由Bash的环境变量处理存在缺陷造成的,允许攻击者将恶意代码注入系统中。
试一试:
查看权限:
切换到根目录,发现一个user.txt,cat查看:
将该字符串提交,发现确实是其中一个flag
当我翻找其他目录时发现如下情况:
当前账户不允许切换到root目录,猜测可能是权限问题,然后开始尝试提权:
在逐级查看目录过程中我发现该机器中有perl:
sudo -l可看到不用root密码也可执行perl,所以尝试用perl进行提权:
成功获得root权限
进入root目录:
查看root.txt即可获得疑似flag的字符串,提交:
总结
1./cgi-bin/不只有解析漏洞,还应该想到shellshock等利用cgi-bin触发的其他漏洞
2.linux可用sudo -l可以查看不需要用root密码即可使用root权限执行的命令
3.多尝试各种提权命令,找到最契合的一种
4.perl 提权命令: sudo perl -e “exec ‘/bin/sh’;”