#前言
作者:云诚信息 DARMA实验室
编辑:国士无双 man catsay
最近有很多人都在问,怎么做好APT攻防,做好职业蓝军
深度挖掘业务系统的威胁等等。
我回答的很简单,遇山开山,逢水架桥。
有时候再骚的姿势也比不上硬桥硬马的正面突破。
只要有决心在,就没有撸不下的目标。
从本篇开始,我们将逐一讲述 高级实战的五大能力
即: 善收集 精工具 能挖洞 潜内网 保成果
本篇以实际(瞎编)案例入手
简单的给大家分享下.net(ASPX)网站系统的审计套路。
才疏学浅,嘴笨手拙,仅供参考。
#突击刺探
最近一直在盯这个敌对目标,搞进去一次后,目标竟然换了一套源码。
但是时间紧迫,需要马上再次进入获取相关的材料。
1. 从网站报错页面获得后台路径。不予累赘。
爆破后台3天无果,决定放弃爆破,转而从开发商下手。
图文无关
于是,我们深挖了他的源码开发商,经过一个半月的努力,最终实现了再次全面掌控的能力。
2. 通过开发商的演示站下手
简单的信息搜集后,找到这个开发商的关键节点。
直接干掉后台进去拿shell,一把梭。
不累赘,小意思。
翻D盘找到目标系统,下载回来分析。
源码架构asp.net
3.直接进行源码审计
在这里交给大家一个小技巧
最让我感兴趣的是找上传的接口的地方,这样一把梭直接搞下服务器权限也爽快。
直接翻看后台控制页面
直奔上传控制组件页面
碰到这种直接ILSpy 打开DLL看源码。
发现上传的方法在这里被调用
但通过比对发现
看他这个请求是没有对用户上传前进行鉴权的,所以我们直接去构造这个包。
应该就能实现创建文档的结果
xxx.ashx?action=file
然后紧接着看他call的来源
可以看以下函数调用链:
ProcessRequest-> UploadFile()-> FileSave()->Upload::FileSaveAs()-> CheckFileExt()
UploadFile()
文件写入类
关键的文件校验类
我们跟进 CheckFileExt() 这个方法
最后发现是把一些常用的可以解析webshell的名字加入了黑名单
不过细心的我们并发现
在IIS下面能解析的cer文件并没有加入黑名单豪华套餐。
(此处做下伏笔)
发现SQL注入
中间踩了很多坑,发现代码写的还是听严谨的
基本的数据控制都使用了双因子校验。
最后看到这里,发现他对请求并没有进行SQL注入检查,我们跟一下这个Request.GetString()
可以看下上面的GetString函数的具体代码,下图所示
在这里结合上下文几张图,发现timeScript变量没有进行SQL注入检查(注意看elsf部分)
当然这应该是当时开发为了方便专门进行SQL语句查询而省去了SQL注入检查。
下面是 SQL注入检查 函数 GetFormString 函数
也就是说我们可以直接引入查询语句
导致出现SQL注入漏洞
图文无关
#验证
不多说了,把代码copy到vs里,进行一步一步跟,去拼接SQL语句。
由于目标数据库是SQLServer.
所以在注入时可以使用Stack Queries 技术。
由于之前我看过他们管理员加密方式,所以我只用把管理员的hash和salt update一下就Ok了。
核心代码:
******.ashx?action=Sites&timeScript=2019-02-26,2019-02-26';update **_manager set password = '************' where user_name = 'admin';--
把管理员的hash和Salt update一下,然后拿着密码就能登录了。
图文无关
然后登录后台,在后台处允许上传处添加cer。
然后构造表单,用第一部分的漏洞上传cer. Get到webshell。
就不进行下一步操作了。就不一一上图了。
在这样里提示下,cer的webshell是什么样的?应该怎么编写?
完美上传,getshell!
不用提权,直接system,美滋滋。
图文无关
#总结
编辑的文笔太笨,写不出前线干活兄弟们的辛酸和苦闷。
很多东西涌在笔头却不得舒展,因为从事的工作很多是没办法一一拆开讲明的。
但有一点大家都知道,有人负重前行,为了很多人的岁月静好。
分享一点我们团队总结的一些理论性的东西吧。
#高级渗透实战人员的五大能力
善收集 精工具 能挖洞 潜内网 保成果
-
善于信息搜集
APT本质就是发现
就是比谁知道的多 然后才能拥有更多的入口 谁就拥有先发优势
-
精工具就是要把手上的工具用透用骚
你真的会用sqlmap吗?那怎么碰到waf就歇菜了?
真的会用burp吗?人家公开插件,玩分块传输你才会喊个666?
真的会用cs吗?shellcode的怎么玩?
只有工具用精了才可以把探测出来的漏洞化腐朽为神奇 从而撕开口子。
-
能挖洞
我为什么不说是精于挖洞?
而是说挖洞是基于手中没有办法的情况下的一种附加能力。
有洞就用洞,没洞就找洞,创造条件也要上。
但实在玩不动,耽误进度的也要果断丢弃,找新目标,或者交给专业挖洞选手。
-
潜伏内网
摸排拓扑,制定计划。等待最后的胜利
这个推荐看下咱们公众号的文章
-
保成果
就是指在合适或者突发的情况下 如权限不保的时候抓紧时间拖DB或拿QB
这是最后一关 保证团队没日没夜努力的收益结果
而且要能拖也能还原 熟练玩转各种大型数据库 如DB2 oracle等
欢迎在 “人人大佬计划” 和 “铸剑四期学员群” 中留言回复!
-
关于圈子社区:
圈子社区是一个非盈利,封闭的白帽子技术交流社区。目前成员已有近2000人,拥有业内首个自主研发的实战化靶场,体系化学习和燃爆的交流气氛带你成为真正的大佬,社区专注实战,崇尚技术,如果你也是实战派,请关注我们。
社区地址:(请使用https访问)
https://www.secquan.org
本文始发于微信公众号(Secquan圈子社区):APT供应链打击实战--硬挖.net开发商源码0day
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论