问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
记一次从代码审计到拿下内网edr的过程
记一次从代码审计到拿下内网edr的过程
0x01、前言 ------- 在某次授权红队行动中,客户给定目标外网资产很少, 经过各种挖掘,各种尝试,久久没有结果,注意到某系统为**通用系统**。  于是开始了下面的故事。 0x02、寻找源码到getshell ------------------ ### 查找源码 1、**网盘泄露**:这套系统并不开源,各种网盘泄露网站一顿查找,无果 2、**Github、gitlab泄露**:尝试了多个关键词,均无果 3、**Fofa找同类型的站**:用favicon.ico,或是用title来搜,并且将这些资产采集起来,最终在某个站发现`web.rar`,成功获得源码 ### 代码审计 查看代码目录结构如下  首先看web.xml,注意到这个过滤器`filter.PurFilter`  跟进去看下  此处定义几个数组  使用getRequestURI()获取url,查找url中最后一个点的位置,然后获取后缀转小写  这个过滤器实际上是一个权限校验的工作,如果用户没登录的话是只能访问数组里的路径,或者后缀数组的特定后缀的文件。但是此处使用 getRequestURI()获取url,我们注意到  只要我们的`strSuffix为`后缀数组中的就能过了这个验证。 我们首先了解一下**`getRequestURI()`**这个方法 当我们请求`/test/1.jsp;aaa`时`getRequestURI()`取到的结果也是`/test/1.jsp;aaa` 那么此时想到构造请求**`/test/1.jsp;1.jpg`**就能绕过这个权限校验 绕过权限校验以后开始寻找可getshell的漏洞点,直接全局搜索multipart,寻找上传功能  看到第二个的时候成功发现一处任意文件上传 ### 获得权限 按照代码分析,直接构造包上传shell,成功getshell  0x03、拿下内网edr ------------ ### 获取edr系统权限 通过shell执行tasklist发现此机器装了某edr 扫描c段443端口发现https://172.x.x.x为某edr web管理界面 用frp开个代理 用已经公开的漏洞测了一遍发现,存在一处命令执行漏洞没修 利用公开的脚本直接弹了一个shell回来  此次的目的不是获取这个edr的服务器权限,而是可以进到web管理界面可以做到给终端下发后门。所以目标为的登录web管理界面 首先的想法是找数据库账号密码然后登录进后台。 之前也没搞过,先看下进程  好像是mongodb,使用以下命令查数据库密码 ```powershell find /ac -type f -name "*.php" | xargs grep "password" ``` 太多了发现密码名字好像叫mongodb\_password,再次查找. ```powershell find /ac -type f -name "*.php" | xargs grep "mongodb_password" ```  查的过程中感觉就算找到数据库连上了密码也很难解密 于是想到之前的未授权任意用户登录,漏洞文件在`/ui/login.php`  于是先备份文件,然后将此处的if改为`if(1==1)`  使用`/ui/login.php?user=admin`登录成功  然后就可以加白名单批量下发马执行上线了。 0x04技术总计 -------- 1、想办法获取外网系统源码 2、代码审计获取外网shell 3、历史漏洞获取edr系统权限 4、修改文件进而任意登录到web管理端
发表于 2021-04-07 20:14:24
阅读 ( 6999 )
分类:
渗透测试
1 推荐
收藏
1 条评论
name'
2022-11-18 10:37
感谢师傅分享。
请先
登录
后评论
请先
登录
后评论
带头大哥
50 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!