Bootstrap

vulnhub靶机_DOUBLETROUBLE: 1

靶机介绍

下载地址:http://www.vulnhub.com/entry/doubletrouble-1,743/
难度:简单
描述:get flags

渗透过程

获取ip

靶机IP为192.168.1.113。

arp-scan -l

在这里插入图片描述

端口扫描
nmap -A -T4 -p 1-65535 192.168.1.113

靶机开放了22和80端口。
在这里插入图片描述

网站目录扫描

首先对网站的特殊文件进行扫描。

dirb http://192.168.1.113 -X .txt,.jpg,.html,.php,.bak,.php.bak,.bac

在这里插入图片描述
然后对网站目录进行扫描。

dirb http://192.168.1.113 -r

在这里插入图片描述

图片隐写数据提取

依次点击扫描出来的文件,这个网站的主页是一个登录界面,但是我们没有用户名和密码的信息。翻了所有的网站,只在这个网站http://192.168.1.113/secret/找到了一张奇怪的图片。

在这里插入图片描述
尝试了exiftool没有信息,那就可能是隐写。使用stegseek来破解图片。stegseek的github网址:https://github.com/RickdeJager/stegseek。然后kali自带了rockyou.txt,不过可能是rockyou.txt.gz形式,需要解压一下。

stegseek ./doubletrouble.jpg /usr/share/wordlists/rockyou.txt

在这里插入图片描述

登录网站

输入我们从图片中破解出来的账号和密码,登录主页。
在这里插入图片描述

qdPM漏洞利用

搜索qdPM 9.1的漏洞,我们找到一个远程代码执行漏洞。https://www.exploit-db.com/exploits/50175, 把脚本下载下来。这个脚本的回车有点问题,需要自己调一下。不过,这个漏洞也挺简单的,其实就是用户的myAccount界面的图片那一栏是可以上传文件的,那我们就可以上传一个php反弹shell的脚本。
这里比较搞笑的是,无论是跑脚本还是自己手动上传,网页和代码的反馈都会让你觉得自己是不是没有上传成功。

在这里插入图片描述
在这里插入图片描述

但其实都上传成功了,我以为没上传成功,尝试了好几遍,以至于我一打开http://192.168.1.113/uploads/users/,看到一堆自己上传的文件…
在这里插入图片描述
监听端口1234(你脚本中写的端口),然后点击上传的脚本,获得了shell。

nc -lnvp 1234

在这里插入图片描述

提权

我们看一下当前用户能够使用的sudo权限,这里显示当前用户可以免密执行awk命令。
在这里插入图片描述
搜索一下awk提权,我们可以这样:
在这里插入图片描述
em,没找到flags,未解之谜。
感谢评论区大佬给的提示,这里root目录下有一个同名靶机(上次被我直接忽略了),不愧是doubletrouble。
在这里插入图片描述

靶机2渗透过程

把这个靶机下载下来,并且在自己的环境中打开。

python3 -m http.server 9000
wget http://靶机ip:9000/doubletrouble.ova
ip地址获取

靶机IP为192.168.1.103
在这里插入图片描述

端口扫描

在这里插入图片描述

信息收集

打开靶机的http,这里让我们填账户名和密码。
在这里插入图片描述
然而我们并不知道账户名也不知道密码。尝试扫描网站目录发现没有额外的信息,就只有这么一个网站。

sqlmap获取账号密码

一筹莫展,我们现在的情况是连账号都没有。搜索网站后台账号密码获取,可以看到一个很棒的工具sqlmap。sqlmap使用教程

  1. 首先可以获取当前数据库的名称:
sqlmap -u http://192.168.1.103/index.php?id=1 --forms  --current-db

一路选择y即可,可以看到当前数据库的名称是doubletrouble。
在这里插入图片描述
2. 获取当前数据库下表的名称:

sqlmap -u http://192.168.1.103/index.php?id=1 --forms  -D doubletrouble --tables

可以看到doubletrouble数据库中有一个表users。
在这里插入图片描述
3. 获取表中的列信息。

sqlmap -u http://192.168.1.103/index.php?id=1 --forms  -D doubletrouble -T users --columns

可以看到表中有两项司昂:密码,账号。
在这里插入图片描述
4. 获取表的内容。

sqlmap -u http://192.168.1.103/index.php?id=1 --form  -D doubletrouble -T users --dump

然后账号和密码我们就获得了。
在这里插入图片描述

登录ssh,提权

用这两个账号密码登录网站发现没有什么反映,我们直接登录一下ssh好了。这两个账号中只有clapton这个能成功登录。
在这里插入图片描述
我们看一下系统版本:
在这里插入图片描述
这里有个脏牛漏洞,漏洞编号CVE-2016-5195漏洞类型内核竞态条件漏洞漏洞危害本地提权影响范围Linux kernel>2.6.22。该漏洞是Linux内核的内存子系统在处理写时拷贝(Copy-on-Write)时存在条件竞争漏洞,导致可以破坏私有只读内存映射。黑客可以获取低权限的本地用户后,利用此漏洞获取其他只读内存映射的写权限,进一步获取root权限。
他有很多个poc,其中这个poc可以生成一个账号名为firefart的root用户,https://github.com/FireFart/dirtycow
我们把poc下载到靶机的/tmp目录下,然后编译,执行。
在这里插入图片描述
然后,根据提示,我们用firefart登录ssh,密码是root。
在这里插入图片描述
这下结束了。
在这里插入图片描述

;