实战项目之AIWEB2靶场渗透

一、实验目的:

完成对目标靶机的渗透测试,获取最终“flag”

二、实验思路:

(1)搭建实验环境;

(2)信息收集,找到靶机IP地址,探寻开放的服务端口

(3)渗透靶机拿到最终flag

三、实验步骤:

1)搭建实验环境

将靶场文件解压,导入虚拟机,如果出现打不开的现象,修改.vmx结尾的文件,将里面的“virtualHW.version=”修改为自己虚拟机对应的版本。

2) 发现目标网站

在kali中查看IP地址,查看所属网段,使用nmap扫描存活主机。

namp -sP 192.168.50.0-254

回顾一下nmap的基本命令:

nmap -sS  SYN扫描,使用最频繁,安全,快
nmap -sV  对端口号上的服务程序版本进行扫描
nmap -A   全面扫描,耗时长
nmap -n   表示不进行dns解析

这里通过扫描得到靶机IP为:192.168.50.173

3)信息收集

1、使用nmap -A 命令对靶机进行全面扫描

实战项目之AIWEB2靶场渗透_第1张图片

 网站容器为apache,操作系统为Linux,开放了80、22端口。

2、我们在浏览器打开网站看看有没有利用点,发现一个登录界面,根据页面提示注册用户并登录。根据页面提示信息,猜测应该有文件任意下载和文件包含漏洞,网站首页有个提示“welcome to xuezhuli filesharing”这里提示了是一个文件共享系统。先使用目录扫描测试看看有没有信息。

实战项目之AIWEB2靶场渗透_第2张图片

这里目录扫描忘记截图了,主要的就download.php webadmin 。这两个文件,webadmin是一个登录地址,并不知道账号密码。打开download发现下载了一个空文件,但后面传递参数的变量名不知道,我们可以用fuzz去测试,但我字典跑完了也没跑出来,转变思路,用kali去查找一下FileSharing这个漏洞。实战项目之AIWEB2靶场渗透_第3张图片

把payload放到url里可以看到可以利用,但/etc/passwd里面密码进行了加密,并不知明文。在前面的信息收集过程中,知道了是Apache,于是读取一下apache配置文件。

payload:ip/download.php?file_name=../../../../../../../../../etc/apache2/sites-enabled/000-default.conf 

实战项目之AIWEB2靶场渗透_第4张图片

实战项目之AIWEB2靶场渗透_第5张图片

 读取发现由一个/var/www/html/webadmin目录跟一个配置文件目录,我们在上面也扫到了webadmin登录页面,两者应该有关联,读取/etc/apache2/.htpasswd。给了一个用户名和密码。

实战项目之AIWEB2靶场渗透_第6张图片

 密码被加密,我们使用kali自带的john解密一下。

 john是一款密码破解工具,在已知密文的情况下去尝试破解出明文,主要目的是破解不够牢固的unix、Linux系统密码。这里使用john工具并没有跑出来,根据靶场的提示知道需要用rock-you这个字典去解密,去github上下载下来上传到kali。

使用john命令再次尝试:

john --/usr/share/john/wordlists/rockyou-45.txt pass.txt

pass.txt文件里面就是获取到的用户名和密文密码

解密后得到明文

实战项目之AIWEB2靶场渗透_第7张图片

 然后访问webadmin去登陆,登录成功,页面提示让找robots文件,打开发下给了两个目录,访问去查看,是一个pingIP的,猜测有命令执行,使用分割符 |  去执行,127.0.0.1|ifconfig 

可以看到有返回信息。

实战项目之AIWEB2靶场渗透_第8张图片

实战项目之AIWEB2靶场渗透_第9张图片

实战项目之AIWEB2靶场渗透_第10张图片

 既然有命令执行,我们尝试反弹shell,nc、bash、python 试了发现反弹不了,于是使用命令执行界面去使用wget去下载kali上的webshell文件,先在kali上开启http服务,

python -m http.server 1234

发下下载了,但是蚁剑连接不上,回头再看看另一个目录,上面说让找文件,猜测可能是这个目录下有隐藏文件,我们使用find命令去查找:

实战项目之AIWEB2靶场渗透_第11张图片

实战项目之AIWEB2靶场渗透_第12张图片

find . -type f /var/www/html/webadmin/SOmextras/

 发现一个.sshUser的文件,在加上之前扫端口发现ssh端口开放,猜测是给的ssh登录用户

查看文件发现账号密码。拿去ssh登录

实战项目之AIWEB2靶场渗透_第13张图片

登录成功,看一下权限,不是root权限,尝试提权,这里介绍一款工具LinEnum ,把他上传到靶机,去执行,它可以自动检查Linux主机存在的SUID、GUID文件,Sudo/rhost错误配置等。可以查看本地有没有可以执行提权的漏洞。

这里使用wget上传,kali开启http服务

实战项目之AIWEB2靶场渗透_第14张图片

实战项目之AIWEB2靶场渗透_第15张图片

实战项目之AIWEB2靶场渗透_第16张图片

 发现可以利用lxd进行提权,我们在kali里使用searchsploit lxd去查找漏洞。

实战项目之AIWEB2靶场渗透_第17张图片

 意思也就是需要下载build-alpine、然后运行./build-alpine,将生成的文件上传到靶机即可得到root

实战项目之AIWEB2靶场渗透_第18张图片

 给予该问价执行权限,在把46978.sh上传到靶机,给予权限,在同时执行。

./46978.sh -f alpine-v3.16-x86_64-20221105_0227.tar.gz

实战项目之AIWEB2靶场渗透_第19张图片

 接下来去寻找flag文件

find / -name flag*

 

实战项目之AIWEB2靶场渗透_第20张图片

 总结:需要熟悉apache配置文件路径

怎样查看隐藏文件

lxd提权的时候失败了很多次,一直没有找到问题所在,后来第二天早上睡醒,把靶机重置,在上传发现成功了。

还有在开启kalihttp服务的时候,使用 python -m SimpleHTTPServer 1234 这条命令的时候报错,后来在网上找了一下发现可以用 python -m http.server 1234替换。

还有在渗透测试过程中,要尝试转变思路,我就是前面一直在fuzz文件下载那个传递参数的变量。后来才想到文件共享系统的目录穿越漏洞。

你可能感兴趣的:(java,服务器,开发语言,web安全)