靶机BlackMarket
工具:nmap、dirbuster、dirb、sqlmap、cewl、crunch、hydra
涉及的漏洞:弱口令
垂直越权
SQL注入
CVE-2016-5195脏牛提权(内核竞争提权漏洞)
flag1
这个靶机有六个flag,五个常规的flag和一个root权限下的flag。
寻找靶机IP地址
nmap -sP 192.168.1.*
发现主机,靶机IP地址192.168.1.9
nmap -p- -sS -v -sV 192.168.1.9
扫描靶机开放的端口。开放了ftp服务、Web服务。
访问80端口拿到一个登陆界面。查看源码在最后面拿到第一个flag。Web登录页面没有验证码,ftp也可以访问,但是需要账号密码,这里保留对两处爆破的想法。
base64解密得到的结果是CIA - Operation Treadstone,google了一下这好像是一部影片
flag1{Q0lBIC0gT3BlcmF0aW9uIFRyZWFkc3RvbmU=}
flag2
从WP来看能搜索到一个介绍CIA - Operation Treadstone的网站https://bourne.fandom.com/wiki/Operation_Treadstone
利用cewl爬取网站生成关联词字典。
cewl https://bourne.fandom.com/wiki/Operation_Treadstone -d 1 -w BlackMarket_dic.txt
拿生成的字典对账号密码利用hydra进行爆破。爆破ftp
因为cewl太给力,爬了几千条数据,账号密码结合爆破产生了二十多万条数据,后面自己删成一百多条进行爆破,还好可以爆破,不然还真不知道得等多久。
拿到ftp的账号密码登录。在ftp里面拿到第二个flag.
flag2{Q29uZ3JhdHMgUHJvY2VlZCBGdXJ0aGVy}
If anyone reading this message it means you are on the right track however I do not have any idea about the CIA blackmarket Vehical workshop.
You must find out and hack it!
如果有人阅读了此消息,则意味着您处在正确的轨道上,但是我对CIA黑市车辆工作坊一无所知。
您必须找出并破解它!
flag3
这提示跟没有似的,没懂什么意思。在渗透测试中如果遇到阻碍,那就继续进行信息搜集。
扫目录:
访问这个302可以跳转到另一个登录界面。
看到了Squirrelmail的版本号, 搜一波Squirrelmail远程代码执行漏洞(CVE-2017-7692),但是这个漏洞的前提是有一个可以登录的邮箱账号和密码,那先放在这吧。
其实自己做到这里思路断了,不知道用什么方法去拿到Web服务下的账号密码。其实这里是利用了弱口令。/supplier这个目录会302重定向到Web登录界面,账号密码就是supplier/supplier。自己还是嫩了点。登录到网站的后台。之后就是一个垂直越权漏洞,在扫目录的时候还扫到了/user和/admin目录。我们可以从/supplier目录越权到/admin。
成功越权到admin用户。因为校验session的时候没有与一起目录进行校验,导致垂直越权。
接着在编辑用户资料的时候发现了url存在id参数
加个单引号报错,再加个单引号恢复正常,存在sql注入。尝试SQLMap注入:
sqlmap -r post.txt --level 5 --dbs --batch
获取库名
sqlmap -r post.txt --level 5 -D BlackMarket --tables --batch
获取表名
sqlmap -r post.txt --level 5 -D BlackMarket -T flag --column --batch
获取列名。
拿到flag3,意思是查找Jason Bourne电子邮件访问权限
flag4
拿到flag4是利用了平行越权漏洞,漏洞点还是在修改用户信息处,没创建一个新的用户,都会相应的产生一个新的id,不同的id对应不同的用户,将id修改成1,密码改成123,用户名改成hel10.成功的覆盖了admin的密账号,现在hel10这个账号对应的id为1,也就是对应到了管理员权限。
然后用hel10/123登录,拿到flag4,告诉我们Jason Bourne邮箱的密码是?????
flag5
一开始我们就拿到了一个邮箱的登录界面,开始的想法是利用已知的漏洞去攻击,但是现在可以不用了,我们知道了密码。用户名应该和Jason Bourne有关,试了一下,用户名是Jbourne。用Jbourne/????登录。
在邮箱里面拿到flag5,意思是他拿到一段信息不会解密。
啥也不说,没见过(置换密码(古典密码))。解密平台https://www.quipqiup.com/
告诉我们/kgbbackdoor,目录下他留了一个后门,后门是一张叫PassPass.jpg的图片,但是没有路径。前面目录爆破也没有。前面我们暴数据库的时候有一个eworkshop的库。
利用crunch生成字典进行爆破。
利用dirb爆破路径拿到路径。
访问http://192.168.1.9/vworkshop/kgbbackdoor/PassPass.jpg拿到图片、
拉到winhex。拿到后门密码
但是缺少后门路径,这个地方靠直觉了,没爆破出来。存在backdoor.php。那么后门路径就是
http://192.168.1.9/vworkshop/kgbbackdoor/backdoor.php
有一个隐藏的密码输入框看网页源码可以发现,将我们从后门图片拿到的密码输入进入,但是不对,这里需要转进制,密码是十进制的,转成十六进制再转成ascii为HailKGB。直接输入发现并没有发应,这里需要用POST传pass=HailKGB。从flag.txt拿到flag6,base64解密是Root time。
Root flag-提权
接着开始提权,先在kali监听6666端口
nc -lvnp 6666
然后利用后门的网络连接工具连接到kali的6666端口。
成功的连接到kali,利用python构建一个交互式的shell。查看系统内核。linux系统,内核版本4.4.0-31-generic。google一下可以知道这个版本可以利用CVE-2016-5195脏牛提权。这是一个内核竞争提权漏洞。
搜索脏牛漏洞的exp。我们利用第三个竞争提权的exp。
将exp复制到kali上面来,用python -m SimpleHTTPServer 8848,开启一个简单的服务,靶机用wget将exp从kali下载过去(记得下载到/tmp目录,这个目录有写入权限)。然后编译执行
拿到root权限
总结
做这个靶机花了两天的时间,中间经历了不少的挑战,但是都解决了。现在清点一下自己是怎么做的吧。cewl爬取的数据太多导致爆破时间超长。cewl一下子就爬了几千个数据,结合爆破产生了大量的数据,后面自己手动缩减了数据,只留下了一百多条,但是居然暴出来了。运气好吧。
再就是第一次用到了越权漏洞。在爆破目录的时候发现了/supplier目录和/admin目录,登录到/supplier目录下后,抓包修改可以越权到/admin目录,真的是惊喜。之后会对靶机中使用的工具和漏洞做深入的学习。包括工具的原理、漏洞成因和修补方法。
参考链接:
https://www.anquanke.com/post/id/106855
https://www.jianshu.com/p/f41e467f29d0