跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

第71篇:某银行外网打点到内网核心区红队评估复盘

精选回复

发布于

## 第1 部分前言

大家好,我的名字是ABC_123。本期分享一篇ABC_123曾经为某银行做的红队评估项目的文章。历时两周,十分艰难,但最终还是到达了银行的核心业务领域。今天我就来回顾一下整个过程。希望红队和蓝队都能得到一些启发。这也是“未知的攻击,如何防御”的道理。

建议大家将公众号“西潭实验室”设为star,否则可能看不到!因为公众号现在可以显示大图推送,只有经常阅读和加星标的公众号。操作方法:点击右上角【.】,然后点击【设为星标】。209a27fc1478919525b59d4227b07282.png

## Part2 具体流程回顾

首先,将发布ABC_123绘制的有关此红队评估项目的流程图。接下来,根据这个流程图,详细讲解整个红队考核流程。808b97c47e3b57c89d8ffce097d18be4.png

### 外部网络管理流程

一般来说,对于银行项目来说,不使用0day是很难渗透的。在本次红队评估项目中,外网管理付出的代价是两个0day的使用:1、通过日志信息泄露定位某供应链系统,经代码审核发现0day漏洞,为上传漏洞; 2、某文档在线预览系统存在命令注入漏洞。

内网横向流程中利用了两个漏洞:1、某业务端口存在Java反序列化漏洞; 2、Websphere中间件多个端口存在Java反序列化漏洞。58713a141bad5271ab316f8e2af8cd69.png

####上传供应链系统漏洞

首先,通过扫描目录,发现了一个/logs路径,里面包含了一些来自Web应用程序的错误信息,并发现了一个不寻常的jar包类名。9beff4dc5d477060d5a1c5252458a2d1.png

接下来我们利用上述关键词通过各种百度、谷歌、Github进行搜索,找到了系统的开发者,然后通过一系列的方法获取了源代码。源码目录结构和网站几乎一样。基本证明是同一个源代码。随后通过Java代码审计发现了一个上传漏洞。不幸的是,您需要登录后端才能使用它。绝望之际,我查看了源码中的初始化sql文件,发现系统在启动过程中会执行这些sql文件,并且会默认添加一个测试账户。于是我就用这个测试账号登录后台获取webshell。后续主要的内网横向连接都是通过这个入口进行的。

#### ColdFusion 反序列化

其网站存在Coldfusion反序列化漏洞。这个漏洞在我之前的文章《coldfusion反序列化过waf改exp拿靶标的艰难过程》中有详细介绍。接下来我利用这个系统的代码执行漏洞获取了第二个Webshell权限。这里需要指出的是,对于coldfusion漏洞的利用,建议使用可以直接执行命令的在线方法。尽量不要在Internet 之外使用JRMPClient 方法。这种方法很容易导致coldfusion网站在发送多个包后停止响应。具体原因不明。这是我以前经历过的一个陷阱。6ff3cf50646df5aceee6f25ea5889f61.png

从这个系统来看,内部网络是横向实现的,但是阻力非常高,网络隔离性很好。基本上只能ping通内网的其他IP地址,但是端口被屏蔽了,所以只能重新管理外网。

####某文档在线预览系统命令注入

该漏洞是一种常见的命令注入漏洞。它直接获取参数并将其导入运行时执行。这是一个非常简单的命令注入漏洞。但系统放在云端,资产很少。配置文件中未找到阿里云AK/SK等密钥。最后可以查询部分员工的姓名和用户名列表。

####网盘信息泄露

通过网盘搜索方式,检索出各种敏感关键词,并找到一个员工辞职交接文件压缩包。解压后1G多。其中包含了大量的网络拓扑图和地址簿信息,对于穿透后理解网络架构有很大帮助。

注意:网盘搜索需要根据具体情况进行。对于那些经历过多轮攻防赛和红队评测赛的目标来说,通过网盘搜索很难找到有价值的信息。在早期,这种方法可以获得很多有价值的信息。efdf59563c8ca55d12843513c5c77771.png

###内网横向流程

该银行的内网资产有大量的Websphere中间件和Oracle数据库,因此内网横向流程主要在以下两个方向展开:

1.Websphere中间件漏洞。 Websphere中间件在8880、2809、9100、11006等端口存在java反序列化漏洞,可获取权限。

2.Oracle数据库权限。通过读取Web应用的配置文件,解密加密密码,然后连接Oracle数据库,通过Oracle提权漏洞获取服务器权限。aeddeba22477587b24b29886b9e7508d.png

### 外网其他漏洞

除了处理0day漏洞外,网上还发现了很多Web应用级漏洞,包括SQL注入漏洞、短信炸弹、APP客户端漏洞、密码重置、Nginx解析漏洞、遍历交易记录、爆破弱密码等。通过这些漏洞获取了一些敏感信息,对后期渗透有很大帮助。接下来我会选择几个比较有代表性的漏洞来谈谈。4fa15528c8e6703bc48c3e9641cab32b.png

####训练系统上传漏洞,html页面可以上传

如下图所示,可以直接上传html文件。如果在html文件中插入XSS攻击代码,相当于变相创建了一个存储型XSS漏洞,也可以上传钓鱼页面,作为水坑攻击。以下截图是原生虚拟机的效果图。333290b512ec38a91d0861a6e3887e03.png

#### DOM类型XSS漏洞

DOM型XSS由于其特殊的机制,可以绕过所有WAF拦截。

https://www.xxx.com/xxx/include/resources/reload.html#vbscript:msgbox(1) 65d6bb41239f466a50b780a81f9f0d89.png

#### 任意文件读取漏洞

这是外网的系统,可以读取任意文件。绕过waf的方法如下:b83e7ba389ea25bbdec7d6ce2add32a9.png

#### 宽字节吃转义字符导致XSS

这里不管你怎么操作,xxs的payload都会落在双引号内,被当成字符串,无法执行。这时候可以尝试用宽字节的方法吃掉相邻的转义字符反斜杠来继续XSS。如下图箭头所示,图片被分割显示,说明xss代码已经被解析并执行。b66f11a6ff3bd8794915ef57f2c4c2ce.png

#### 短信炸弹绕过限制

这个短信炸弹很有趣。它限制一个手机号码在一分钟内可以发送的短信数量。不过,可以通过在手机号码后连续叠加%20(空格的url编码)来绕过。通过Burpsuite的入侵者模块添加N次%20,造成短信轰炸。56ef26e6ba18caa19f58a78bef08d95a.png

####删除sign参数绕过验证

有时你会遇到以下情况。使用burpsuite抓包后,重放数据包会提示MAC验证失败。这种情况很难处理。此时尝试删除sign字段,就不会提示“MAC验证失败”。745735b2e7be85df5ad95a5b47aa7137.png

####使用Frida解决APP参数加密b80c590c4b568c1f716077b04eddef2f.png

d5d502ac49a03c028d0b8e38ea784171.png

b88ffb382f815eb5f26e4ab3ebd3b629.png

####审计JS代码,解决Web传输加密问题

在JS代码的登录事件断点处,发现数据包是通过函数$.jCryption.encrypt(tempS, ***, ***)进行加密的,其中加密密钥为固定值,直接使用$.jCryption.decrypt(***, password);即可解密数据包。解密数据包后,发现多个逻辑漏洞和未授权访问漏洞。47217c8c4e3159ef685a47a6e1bca140.png

16f657db2945143b9b94d415969a5229.png

#### 其他Web 应用程序漏洞

另外,还有一些在外网发现的Web应用漏洞,都是比较常见的漏洞。然而,详细描述总结如下:

1、下载Springboot框架的heapdump文件,从中可以找到账号密码,并且Springboot的/env地址泄露了内网IP地址,方便后续渗透定位内网IP。

2、公众号上有一个第三方网站的链接,实际上存在nginx解析漏洞。拿到shell后发现没什么用。这是一个孤立的服务器。除了一个mysql数据库之外,并没有太多有价值的信息。

3、外网存在多个SQL注入漏洞。我不会详细介绍这一点。它们都是Mysql数据库并且具有非root权限,使得进一步的利用变得非常困难。最终获得了该员工的姓名、手机号码、工号,这对于后续渗透有价值。

4、Github源代码泄露,在Github上找到了部分源代码和邮件地址。

5、对于外网业务系统的逻辑漏洞,不会贴出原报告的截图,因为很容易漏掉逻辑漏洞的截图和编码。基本上都是一些未经授权的交易记录查询、账单余额未经授权的查询、还款计划未经授权的查询等等,方法无一例外都是更改各个参数的值,看看是否存在未经授权的漏洞。

6、还有一个就是有一些废弃的上传功能,但是从网页的js来看,上传功能的地址仍然存在。构建上传包后发现上传漏洞,但只能上传html文件。在之前的案例中,已经获得了许可。

7、APP客户端漏洞。 APP弱加壳:这个是依靠Xpose来hook app,然后使用callMethod方法dump出hook的类,然后反编译。我不会在这里讨论太多细节。我对APP解包研究很少; IPA客户端某秘钥泄露:我使用IDA Pro反编译IPA客户端,查找硬代码,发现敏感信息泄露。

### 社会工程攻击

如下图所示,以下是社会工程攻击流程。总体来说不是很成功,因为银行对接入网络的规则有严格的限制。由于无法访问网络,针对客户服务系统的XSS 网络钓鱼和针对银行员工的电子邮件网络钓鱼均未得逞。a29c9dfc45ca30c11b72284c3bc6ac82.png

####通过微信聊天发送压缩包

通过前期信息收集,结合外部Web应用系统中发现的SQL注入漏洞、云数据库权限等,获取了手机号码列表。通过这些手机号码,一一添加微信聊天,发送带有压缩包的后门。然而,只有个人笔记本电脑才能上网。办公网络上的电脑是绝对不允许连接外网的,也无法登录微信,所以在微信上进行社会工程的想法很快就被叫停了。

#### 电子邮件伪造发件人地址攻击

通过对电子邮件系统的检测,发现该电子邮件系统存在伪造任意源电子邮件地址的漏洞。结合Kali Linux的swaks工具,可以以任何管理员身份发送钓鱼邮件,并且可以绕过反钓鱼邮件网关。在本次红队评估过程中,他们通过冒充银行信息部管理员([email protected])的身份成功发送钓鱼邮件,但最终没有一封上线。后来得知,员工登录邮箱环境被外网屏蔽。

通用命令如下: swaks --to [email protected] -f [email protected] --server mail.xxbank.com.cn -p 2525 -au--ehlo xxbank.com.cn --h-From \'XXX银行信息部\' --header \'Subject:XXX银行信息部\' --body \'您好,我已收到您的邮件。\' a8ee844d98ab81a515186205edec44fb.png

### 物理渗透阶段

得到客户授权后,我和几位同事开车去了总公司,绕了好几趟。看来我不太可能强行进入总部,所以我把注意力集中在wifi热点上。经过检测,发现有两个wifi热点,其中一个包含在主密钥中,可以直接连接到测试区域网段;第二个wifi热点需要密码,在内网文档中找到了,于是两个wifi热点都被下掉了,但是只能在测试区或者可以访问外网的Internet区域访问。f38759053228fd981ad85a70f41630a8.png

然后附近放了一台平板电脑,跳出了一个socks5代理,后来交给同事,对内网测试区进行横向渗透。不幸的是,测试区域布满了测试系统,网络隔离非常严格。测试区域与生产区域完全隔离,无法连接到总部的办公或业务网络。有时测试区系统上存在一些**业务系统的war包等敏感信息。

内网的横向漏洞比较常见。比如MS17-010漏洞获取Windows系统权限、Zabbix可执行命令、API网关管理员弱口令、移动办公系统的姓名和手机号码信息、商户管理系统的shiro反序列化等,这里不再赘述。

## 第四部分总结

1. 银行红队考核项目普遍难度很大。其中大多数依赖0day 和代码审核。如今,红队人员基本都是依靠供应链漏洞进入。供应链安全保护也是重中之重。

2、那些无法访问的外网漏洞,将为渗透后阶段提供良好的信息支持。 SQL注入和弱密码可以帮助红队成员了解业务系统用户名的命名方法。内网IP地址泄露可以在事后利用阶段快速定位IP段,因此这些中低危漏洞必须及时修复。

3. 物理渗透Wifi热点的安全问题也很常见。有时安装诸如主密钥之类的软件可能非常有效。

4、也可以尝试获取一些云系统的webshell,因为一些云系统的代码中包含阿里云、腾讯云等的AK/SK,如果遇到的话,可以立即获得一份服务器权限。

5.如果遇到参数加密,如果是手机App,可以试试Frida;如果是Web应用,可以尝试寻找javascript解密功能。

转载自公众号西潭实验室:https://mp.weixin.qq.com/s/qaZLga5ZHAUZnE-UV5A6fA

添加一名作者

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。