VM Name:
BlackMarket
VM Description:
BlackMarket VM presented at Brisbane SecTalks BNE0x1B (28th Session) which is focused on students and other InfoSec Professional. This VM has total 6 flag and one r00t flag. Each Flag leads to another Flag and flag format is flag{blahblah}.
Shoutout to @RobertWinkel and @dooktwit for hosting at SecTalk Brisbane
If you get stuck in rabbit hole and need hints hit me up on twitter. Have fun!
VM Difficulty Level:
Beginner/Intermediate
What will you learn?
Learn about how to enumerate your target and join dots in order to pwn this VM.
VM Tested:
VMware Player VirtualBox
Networking:
DHCP Enabled
Author:
AcEb0mb3R Twitter: @Acebomber911
信息收集
-
ip发现
- 首先攻击机kali本机的IP为 192.168.0.104
启动BlackMarket虚拟机,虚机网络设置为dhcp,使用Nmap扫描,即可找到虚机IP,命令:
nmap -sP 192.168.0.0/24
获得靶机ip 192.168.0.130
端口和服务识别
使用nmap扫描1-65535全端口,并做服务识别和深度扫描(加-A参数),命令:
nmap -T4 -A -v 192.168.0.130 -p 0-10000
端口开得有点多
我们看具体信息
发现了几个敏感端口:
21端口 ---> ftp服务
22端口 ---> ssh服务
80端口 ---> Apache服务
我们访问靶机主页:
发现是个寻常登陆框,我们从web入手,也就是查看/robots.txt,查看源代码等
额...不慌,我们查看源代码
WTF??? surprise!!!! 我们得到了flag,不过这个flag的内容....有点像base64...,解码看看
CIA - Operation Treadstone
这个东西...完全没有一点思路好吧...Google一把
.....什么鬼
接下来,我们用kali自带的工具cewl来爬行网站获取关键信息创建一个密码字典,命令:
cewl -d 1 -w out.txt http://bourne.wikia.com/wiki/Operation_Treadstone
参数解释:-m:最小单词长度
-d:爬网深度
-c:每个单词出现的次数
生成字典 out.txt :
根据前面端口扫描,我们发现他开启了ftp的21端口,使用kali自带的hydra进行爆破:
(hydra用法详解:https://blog.csdn.net/zhaohongjuan/article/details/53838405 )
经过一大段时间的尝试...
终于得到用户名跟密码 : nicky/CIA
迫不及待登陆一下ftp:
打开是一个目录,一层一层拨开...
得到第二个flag,但是还有其他内容
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黑市车辆车间一无所知。你必须找出并破解它!
看来还没有结束...
我们用御剑或者kali自带工具dirb来扫一波目录:
302跳转,403禁止访问,能访问的也就是一个登陆页面...
看来还是kali比较先进...我们尝试访问
经过一波尝试,我们除了我们最初看到的登陆页面,也只有/squirrelmail,/supplier
这两个目录可以正常访问...其他基本都是403,404...
我们分别分析:
访问一下/supplier目录:
mmp!又回到了最初的index登陆页面,
看来要尝试登陆....经过很长时间的尝试,各种弱口令,万能密码
竟然发现,登录名跟密码是 supplier/supplier
果然是意想不到,竟然是这个目录名,登陆:
感觉好像是,后台...应为可以修改,删除商品信息
我们赶快访问那些403页面,有/user,/admin
果然是商品出售的网页,我们访问/admin,我们就是以普通用户的身份登入系统:
添加用户,跟发布商品都不算什么
现在我们的目的就是拿到超级管理员admin的密码来登陆...进而拿到flag
这时就要查看这个网站有没有什么漏洞
当我们尝试编辑用户时发现:
发现当我们编辑不同的用户时,用户的id参数不同,这就存在平行越权,我们来证明一下:
创建一个测试用户,用户名123 / 密码123
创建成功
我们发现此时id参数为7
还记得我们id=5的用户为 Dimitri Volkof
我们尝试修改一下参数id的值
点击确定,来更新参数id=5的用户信息
发现如我们所料,通过修改id的值,可以修改其他用户信息,存在平行越权
这样的话,我们创建用户admin,只要把id设为1,密码随意,就可以得到flag
也许有的人会问为什么id=1就代表admin...这个我只能说是经验吧...
我们创建用户admin,并修改参数id=1
然后重新登陆:
我们得到flag
经过测验我们发现
商品发布处也有id操控,同样存在平行越权:
同时我们发现有个文件上传的地方,多次实验无果,如果哪位小伙伴测出来了,麻烦留个言给我,谢谢
另外在burp抓的包中,我们发现提交方式为POST,id可控,怀疑存在POST型SQL注入:
我们用sqlmap来跑一波:
我们继续深入爆表:
我们爆出flag这个表的内容:
我们继续深入:
怎么感觉这个称不上是flag,Information的内容是:
Find Jason Bourne Email access
Jason Bourne这个好像在user出现过,我们尝试sqlmap来获得用户Jason Bourne的密码:
sqlmap完全解不出来...
但是起码我们可以得到用户名为 jbourne
结合刚刚的得到的flag,
密码就是 ?????
我们访问目录 /squirrelmail
结合刚刚的得到的用户名跟密码 jbourne/?????
登陆成功:
在INBOX.Trash也就是回收站的地方得到flag
看着像base64加密,解密看看 : Everything is encrypted...
额.我们来分析一下两个人的对话部分
HELLO Friend, I have intercept the message from Russian's some how we are working on the same direction, however, I couldn't able to decode the message.
//我拦截了来自俄罗斯人的信息,一些我们是如何工作的。 然而,我无法解码这个消息。
<Message Begins> Sr Wrnrgir Ru blf ziv ivzwrmt gsrh R nrtsg yv mlg zorev. R szev kozxv z yzxpwlli rm Yozxpnzipvg dliphslk blf nfhg szev gl KzhhKzhh.qkt rm liwvi gl szxp rm rg. </end>
我也无法解码...这个消息
后来参照别人的,才知道这是一个置换密码(古典加密)
通过https://www.quipqiup.com/ 解密得到:
Hi Dimitri
If you are reading this I might be not alive. I have place a backdoor in Blackmarket workshop under /kgbbackdoor folder you must have to PassPass.jpg in order to hack in it.
通过以上信息得知/kgbbackdoor目录下有个后门,这个后门是一张名为PassPass.jpg的图片,但是得想办法找到上一级目录
ctf果然不能忽视任何一个小细节,还记得我们用sqlmap跑出来两个数据库,一个叫 BlackMarket ,一个叫 eworkshop
现在问题就在这 eworkshop 上,我们使用crunch来生成字典:
我们用dirb来跑这个字典
最后发现 /vworkshop 这个目录,我们结合提示,加上字段访问:
是一张写着Backdoor的后门图片,一看就不简单,用vim打开
密码为:Pass = 5215565757312090656
我们既然得到一个新目录 /vworkshop/kgbbackdoor ,下面应该好有好东西吧,我们dirb扫一下
额,什么也扫不出来,那也只有猜了,会不会存在backdoor.php,谁让他叫后门呢...
返回值是200,你给我玩这个...估计是敏感信息隐藏
查看源代码;
呵呵,有点东西....
结合我们得到的密码....发现总是错误...
其实那个是密码的十进制,需要转换:
十进制:5215565757312090656
十六进制:4861696c4b474400
ASCii: HailKGD
密码为:HailKGD
成功登陆后门shell,拿到flag:
下一步提权就比较简单了, 在有权限的目录下上传提权EXP,反弹一个shell,执行该EXP即可。
本菜这次提权使用的脏牛,提权成功!
大家也可以使用其他EXP提权