前言:

vulnhub里面的一个靶场,涉及到drupal7 cms远程代码执行漏洞(CVE-2018-7600)和脏牛提权。

靶机下载地址:https://mega.nz/#!aG4AAaDB!CBLRRYQsAhTOyPJqyjC0Blr-weMH9QMdYbPfMj0LGeM

0x01信息收集

第一步打开虚拟机要输入用户密码才能登入,这样的话也不知道ip地址;

那么我们先要获取它的ip,由于在一个内网,可以使用nmap进行扫描,我虚拟机设置的是NAT模式,那么看看NAT模式的网段

是192.168.106.0/24的段,那么使用nmap进行C段扫描

明显ip为192.168.106.130,接着全端口扫描一下

访问80端口发现一个没用的静态页面,再访问1898端口,出现web页面

访问robots.txt

发现很多txt和php目录泄露,直接可以读取txt文件

查看源码,任意点一个图片链接

又是一个目录泄露,目录下的任意文件读取,但是发现只泄露的这个目录,这下面又全是css,js,png文件,先放在一边吧。

在漏扫和目录扫描之前,我先用谷歌插件wappalyzer知道了这个web是用drupal7 cms写的

同时还知道了操作系统,web服务器,后台语言。

在看看刚刚泄露出来的txt文件,发现一个文件里面也爆出了cms的版本,还更具体

这么多暗示,怕不是就是利用这个drupal7 cms的漏洞

百度一下drupal7 cms的漏洞,发现是存在一个远程代码执行漏洞的,那么去msf中查一查这个exp,并且利用。

0x02 drupal7 cms远程代码执行漏洞(CVE-2018-7600)利用

进入msf,然后search搜索CVE-2018-7600

然后一些列的常规操作,先use,再show option,再set,最后run

这里设置一下ip和端口就可以了,端口是1898

show targets发现有很多版本,不知道选哪一个,先默认吧,直接run

直接反弹了shell,发现是www-data权限,这个权限是相当于访客权限,getsystem不行。

如果不熟悉meterpreter命令交互,那么可以在根目录下写入一句话木马,然后,利用菜刀连接。

我们查看网站根目录下面的/sites/default/settings.php文件,看其设置的配置信息

我们看到了敏感信息,数据库的用户和密码

我们用mysql登录进去查一下这个数据库的user表

先从meterpreter进入shell交互命令,也就是目标机系统的操作命令。

但是mysql好像进不去,这个shell是简易版的

然后参照别人的方式用python获取标准shell

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

成功进来了,查看users的用户和密码两个字段。

第一个用户就是tiago,密码拿去在线md5一下,解密不了。

最后试来试去,想到了还有个ssh没用到,这会不会是ssh的登录账号和密码,再去看看那个setting.php文件,发现里面就Virgulino一个密码,那么想到用户应该是用的这一个通用密码。

试了试,发现登录上去了,但是权限还不是system的。

0x03脏牛提权

查看一下内核版本,发现是ubuntu 16年的

在网上去搜索一下,试了很多17年的,但是不行,再看看,发现一个16年内核版本的通杀提权,叫做脏牛提权。

去搜索一下这个漏洞,这个提权方法叫做脏牛提权,那么他的提权脚本关键字是dirty。

再kali里面搜索,或者直接用github上面的脚本,然后复制到目标机中。

网上搜索得知是这一个cpp的脚本。

在目标机上创建一个40847.cpp脚本,然后将kali里面的脏牛cpp的脚本复制过来。

然后进行编译运行:

g++ -Wall -pedantic -O2 -std=c++ -pthread -o  .cpp -lutil

执行成功,root用户需要用dirtyCowFun密码登录服务器。

ssh重新连接,用户为root,密码为dirtyCowFun

成功提权获得flag。

最新文章

  1. firefox如何卸载插件plugins和临时文件夹
  2. [转]android:clipToPadding和android:clipChildren
  3. wicket基础应用(2)--wicket表单控件的使用
  4. 更改Linux默认栈空间的大小
  5. 关于ttserver, mongodb, couchbase. ssdb ,tair, leveldb的一点使用体验
  6. ubuntu打开 txt 文件乱码
  7. ANDROID_MARS学习笔记_S01_003layout初步
  8. Ubuntu 修改时间
  9. android线程与线程池-----AsyncTask(一)《android开发艺术与探索》
  10. oracle中文支持
  11. 解决android应用程序适用新老android系统版本方法
  12. JS 新浪API获取IP归属地
  13. React——state
  14. Install OpenCV 3.0 and Python 2.7+ on OSX
  15. c# 日期函数DateTime.ToString()日期的各种格式
  16. maven插件之checkstyle
  17. 提示ORA-01144: File size (13107200 blocks) exceeds maximum of 4194303 blocks 最大4194303 block(转)
  18. Python之旅:集合
  19. Objective-c官方文档翻译 类的定义
  20. Bugku一段base64

热门文章

  1. 14-SSM整合
  2. javascript json语句 与 js语句的互转
  3. NPOI word文档表格在新的文档中多次使用
  4. pytorch之 sava_reload_model
  5. debian wget 报ERROR: The certificate of ‘xxx’ is not trusted.
  6. df du 文件空间管理 命令
  7. nginx官网版本说明
  8. c语言double类型的输入
  9. udp socket 10054
  10. c#中用office组件读取excel时提示异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT)