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提权

15. CTF综合靶机渗透(八)的更多相关文章

  1. 22. CTF综合靶机渗透(十五)

    靶机说明: Game of Thrones Hacking CTF This is a challenge-game to measure your hacking skills. Set in Ga ...

  2. 21. CTF综合靶机渗透(十四)

    靶机说明: I created this machine to help others learn some basic CTF hacking strategies and some tools. ...

  3. 18. CTF综合靶机渗透(十一)

    靶机描述: SkyDog Con CTF 2016 - Catch Me If You Can 难度:初学者/中级 说明:CTF是虚拟机,在虚拟箱中工作效果最好.下载OVA文件打开虚拟框,然后选择文件 ...

  4. 17. CTF综合靶机渗透(十)

    靶机描述:欢迎来到超级马里奥主机!这个虚拟机是对真实世界场景场景的模拟.目标是在VM中找到2个标志.根是不够的(对不起!)VM可以以多种方式开发,但请记住枚举是关键.挑战的程度是中等的.感谢VDBAN ...

  5. 13. CTF综合靶机渗透(六)

    靶机说明 Breach1.0是一个难度为初级到中级的BooT2Root/CTF挑战. VM虚机配置有静态IP地址(192.168.110.140),需要将虚拟机网卡设置为host-only方式组网,并 ...

  6. 20. CTF综合靶机渗透(十三)

    靶机说明: Wellcome to "PwnLab: init", my first Boot2Root virtual machine. Meant to be easy, I ...

  7. 14. CTF综合靶机渗透(七)

    靶机说明 NinevehV0.3.7z是一个难度为初级到中级的BooT2Root/CTF挑战. VM虚机配置有静态IP地址(192.168.0.150) 目标 Boot to root:获得root权 ...

  8. 25. CTF综合靶机渗透(17)

    靶机链接 https://www.vulnhub.com/entry/the-ether-evilscience,212 运行环境 本靶机提供了VMware的镜像,从Vulnhub下载之后解压,运行v ...

  9. 19. CTF综合靶机渗透(十二)

    靶机说明: 靶机主题来自美剧<黑客军团> 本次靶机有三个flag,难度在初级到中级,非常适合新手训练学习,不需要逆向技术,目标就是找到三个key,并且拿到主机root权限. 渗透过程: 本 ...

随机推荐

  1. Vue mixins extends extend components

    mixins 调用方式: mixins: [mixin1, mixin2] 是对父组件的扩充,包括methods.components.directive等... 触发钩子函数时,先调用mixins的 ...

  2. Nginx/Apache下如何禁止指定目录运行PHP脚本

    下面和大家一起分享下如何在Apache和Nginx禁止上传目录里PHP的执行权限. Apache下禁止指定目录运行PHP脚本 在虚拟主机配置文件中增加php_flag engine off指令即可,配 ...

  3. 代码题(3)— 最小的k个数、数组中的第K个最大元素、前K个高频元素

    1.题目:输入n个整数,找出其中最小的K个数. 例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4. 快排思路(掌握): class Solution { public ...

  4. Java企业微信开发_05_消息推送之被动回复消息

    一.本节要点 1.消息的加解密 微信加解密包 下载地址:http://qydev.weixin.qq.com/java.zip      ,此包中封装好了AES加解密方法,直接调用方法即可. 其中,解 ...

  5. JdbcUtils针对事务问题作出的第三次修改

    DAO中的事务 其实在DAO中处理事务真的是“小菜一碟” try{ con.commit(); }catch(Exception e){ con.rollback(); } 但是dao层中只能是对账户 ...

  6. python中类__call__方法与@classmethod

    实现了__call__方法的类就变成了一个可调用对象,可以像函数一样调用,callable(obj)就返回True,否则返回False. 参考:https://www.cnblogs.com/supe ...

  7. JSTL标签提示:"items" does not support runtime expressions

    今天在使用JSTL的 c:forEach 标签时,jsp提示:"items" does not support runtime expressions,后来才发现是因为taglib ...

  8. BZOJ1216:[HNOI2003]操作系统

    我对模拟的理解:https://www.cnblogs.com/AKMer/p/9064018.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem ...

  9. poj 3469 Dual Core CPU——最小割

    题目:http://poj.org/problem?id=3469 最小割裸题. 那个限制就是在 i.j 之间连双向边. 根据本题能引出网络流中二元关系的种种. 别忘了写 if ( x==n+1 ) ...

  10. bzoj 2039 & 洛谷 P1791 人员雇佣 —— 二元关系最小割

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2039 https://www.luogu.org/problemnew/show/P1791 ...