Redteam-从Getshell到束手无策
免责声明:由于传播、利用本文所发布的而造成的任何直接或者间接的后果及损失,均由使用者本人承担
前言
最近来北京出差搞攻击队
拿到目标的首个 shell 后准备搞内网,遇上edr拼尽全力无法战胜最终变成深信服大人的形状
“不知道从哪雇的点鼠标的猴子,为了写这篇文章,我甚至从走了一遍流程来截图,依然能顺利getshell “
Start
权限获取:从未授权到Getshell
也是伴随着不少时间的信息搜集找到了这个站
突破口是在f12从js下手
大概简单看了一眼,app.js价值比较大,很多逻辑的实现都写在其中
然后把它下载了下来,用之前写的js匹配工具匹配出了一些路径
把路径放到字典里去burp探测了一手,看看有无未授权之类的
工具基于正则去匹配,噪声肯定是很大的,需要考虑到一些前置路由和变量,然后又根据这些东西去搜具体代码实现 所以这些404也没有去追究
最终根据名字,留意到了/ajaxUploadFile
果然有一个Xa变量作为了前置路径
发现了Xa值为/1api
把/1api
拼接到/ajaxUploadFile
前面去访问
提示需要验证码,没有跟其他路径一样发生登录验证跳转这种
并且呢响应了Access-Control-Allow-Origin: *
跨域限制也可以忽略
接下来就需要构思上传表单,因为要保证提交的表单字段与后端接口预期一致,再考虑验证码校验
我的思路:
- 找目标业务上传功能点
- 从静态资源中反推
第一种:有了表单一切都好说,只要获取到了上传表单,其中的 name
属性基本上已经是服务端接受的字段名,但这个首页需要登录才能访问业务,尝试了能想到的方法均不可,所以放弃
突破点在第二种,有些开发会通过js构建上传结构,这就不得不提到FormData
对象,笔者学过一段时间js开发 常用这个搭配XMLHttpRequest
或 fetch
处理文件上传
最终搜.append(
找到了处理表单的具体实现
先实现,直接复制粘贴给GPT,让它分析并生成一个文件上传的页面
ai给出了上传的html
上传抓包后发现校验验证码
运气好+神人开发助力,往后翻又找到了上传逻辑
前端校验文件后缀,外加硬编码,猜测这个filekey
就是验证码
然后把之前生成的上传文件的html 加上这一串再做测试
OK 图片可以成功上传
这个时候并没有着急传webshell,首要目的是找到文件存储的位置,我能不能直接访问到
因为前面js信息搜集工具扫到了这个地址
拼接尝试之后确认图片存储路径
还好不是OSS,或者说分离存储那种 不然寄了
后面依次测试
图片内容不变,后缀改为jsp,验证是否有后缀检测 -> 成功
修改图片内容 添加java代码打印hello,判断目录是否解析jsp -> 成功
传一个接受参数当命令执行的jsp且混淆一下,不符合常见webshell,规避检测,看能否执行命令 -> 成功
上传webshell,冰蝎、几个免杀的webshell、要么无法上传,要么传上无法连接,最终哥斯拉马上传连接 -> 成功
这里原本想的是打内存马,但是考虑到目标是jboss,我对jboss内存马并不了解
并且客户强调禁止做影响业务的操作,内存马的剔除有时会搞崩业务,就准备用webshell继续
内网渗透:“孤儿机”+EDR
依旧不出网这一块./,找不到出网协议这一块
先是看了查了下进程
四个杀软 六百六十六
判断下不是云上环境
看了眼也没域,这种的话搞不了域渗透,很多姿势都废掉了
直接上免杀mimikatz提凭据连RDP进去把杀软能退的退掉,翻一翻文件,webshell操作太慢动静太大,再传工具信息搜集
得到ntlm
得到明文
文件上传的地方suo5代理传上去
配置好隧道
连接
这个瞬间,先是加载了桌面,过了一会才出的这个验证,猜测应该是对行为的检测
后面找师傅问了下怎么把这个退掉,过程中没有截图,大概是提权删C:/Program Files/Sangfor/EDR/agent/bin/sfrdpverify.exe
,或者加载驱动退掉,我对这一块也不太懂,试了几个方法和大佬给的exe
后面统统失败
这条路堵死了
后面的想法是找找集群设备进行漏洞利用,这样也能拿下大把机器,前面有从其他业务注入拿到了不少账号密码
那就需要做信息搜集
先把所有可能通的网段找出来
已知本机的ip段是192.168.196.1/24
还有224.0.0.1/24
再把netspy
免杀下 传上去扫一下可达网段
最终也是找免杀大佬F_Dao免杀多次才上传成功
EDR再次发力,扫着扫着就会把进程关掉,导致最后只得到了两个网段
那目前就已知192.168.196.1/24
、192.168.10.1/24
、224.0.0.1/24
这三个段
继续本地工具走代理去扫,不然用什么传什么动静太大,每一个都要免杀耗时耗力
最后挂本地代理用了几个扫描工具,啥几把也扫不出来,就留了这一个fscan的截图
这个时候需要禁ping扫描,因为socks5代理属于传输层,fscan默认先ping,ping走的icmp属于网络层,这样会导致不通
除了目标机器的网段没扫,这俩个网段均无任何发现
后面把工具免杀传到机器上
这个时候有一个技巧,杀软有概率检测落地文件后缀,把二进制文件改成txt后缀,其实依然可以在cmd中运行
这里在机器本地扫本机IP段,也是没啥重要的发现
其实这里做了很多操作,上了很多工具和命令,都没有截图 确实没什么有用的东西
让浏览器走socks5代理后访问这几个url,跑了下指纹测了测业务, jboss漏洞跑了也没结果
没截图
然后又搜集了一波信息
无任何有效发现,更别说堡垒机天擎vcenter什么的这种集群管理的业务了
可以看到连接也是空空如也,我已经想不到其他办法了
至于他不出网,可能是交换机做的映射,并且http icmp dns完全不通
后面翻到两个orcale数据库账号密码 以及 192.168.1
这个c段
想着连数据库找首页的登录账号,但…
c段直接不通
外加这些注释掉了,猜测也是不用了,最后用这个数据库的账号密码碰撞了一下首页的登录 也是失败
接着想上线cs,其实代理成功进去已经没上cs的必要了,当时想着破罐子破摔 插件全点一遍梭哈结束
因为目标不出网,所以用自己电脑当跳板:
我的电脑先反向连接上cs,再传一个正向连接的马到目标机运行,本机cs马走socks5代理,然后cs里面conncet去连接
做了免杀后成功落地并运行
依旧连不上,猜测可能是端口白名单,换了几个常用端口 统统不行,大概率是edr的行为防护
如果没有edr 连上RDP或许还有更多可能
没有域 没有集群管理设备 没有其他网段 不出网 各大杀软,内网渗透就结束了
水坑收尾
这块是同事大佬实现的
等待有缘人

截止项目结束都没有人上钩…
END
燃尽 这种内网环境不知道大家有什么思路