网站首页 包含标签 web安全 的所有文章

  • 记一次某年代久远的某云漏洞到获得cnvd证书

    一、前言 去年在做云安全运维时,忙的都没有空挖漏洞。为了弥补去年一年cnvd证书的空缺,某一天晚上我打开了FOFA搜索关键字"系统",找到了某个系统网站进行测试。 二、思路历程 找到该系统时,首先用插件看了下网站接口是否存在未授权访问。 看了圈都是下载相关的页面,接着就用dirsearch进行目录扫描。 其中在检查扫描到的目录/login.php时,访问该网页时跳出 然后一堆代码一闪而过后,跳转到如下页面 看到上面的情形我猜测网站环境可能是不支持php的,php源码会直接打印出来 接着抓包访问/login.php,果不其然登录页面源码出现了: 在登录的源码中,最有利用价值的莫过于是数据库的账号密码、数据库名称,但是3306端口不一定就是开在公网上的 于是我把FOFA上所有的该系统都扒下来,放进goby中只检测开放了3306端口的系统 在企查查发现该系统的开发商注册资产超过5000万,漏洞目标又有10+,满足申请cnvd证书的条件 已知数据库为KDM3ADB,账号为root,密码为kdc 直接使用sqlmap对数据库进行注入: python3 sqlmap.py -d "mysql://root:kdc@X.X.X.X:3306/KDM3ADB" --tables 这样一张证书就到手了。 验证是dba的权限,以为能一把梭得到源码再审计一波 不过这个注入的地方虽然是dba的权限,但是却没有文件上传的权限,所以无法getshell   拿到数据库了,可以再测试一波弱口令 翻了下密码是这样的,很抽象应该是自己写了加密 回到之前login.php源码泄露里面,其中在登录时有对密码进行解密的源码,看着很头疼,想起了学密码学时候那些交换变换的算法 // 密码加密函数 function EncryptStr($strSo ...

    2023-11-09 280
  • 漏洞分析 | WordPress 插件权限提升漏洞(CVE-2023-32243)

    漏洞概述 Essential Addonsfor Elementor是一款功能强大、易于使用的WordPress插件,为使用Elementor建立网站的用户提供了众多额外的功能和组件,使得用户能够更轻松地创建各种网站元素,并且还提供了许多预设计样式和高级功能,使得用户能够更好地管理和定制网站。此外,通过WordPress官方统计(https://api.wordpress.org/plugins/info/1.0/essential-addons-for-elementor-lite.json)可知,它的安装量超过百万。 近期,其密码重置功能存在授权问题,允许未经认证的远程攻击者实现权限提升。 受影响版本 受影响版本:5.4.0 <= Essential Addons for Elementor <= 5.7.1 漏洞分析 问题关键在于Essential Addons for Elementor的密码重置功能没有验证密码重置密钥,就直接改变了指定用户的密码,也就是说攻击者只需知道用户名,就有可能进行密码重置,并获得对应账户的权限。 这里我们采用打补丁前的最新版本(5.7.1)进行分析,具体链接如下:https://downloads.wordpress.org/plugin/essential-addons-for-elementor-lite.5.7.1.zip 先从includes/Classes/Bootstrap.php看起,这段代码是在WordPress中添加一个动作,当网站初始化时触发该动作,调用login_or_register_user() 该函数位于includes/Traits/Login_Registration.php 它的作用是处理登录和注册表单的提交数据,并根据提交的数据调用相应的方法。正如漏洞概述所说,问题关键在于密码重置,所以我们继续跟进reset_password(),它做的第一步操作就是检查page_id和widget_id是否为空,若为空则返回”xxx ID is missing”,用作后续的错误处理,所以我们首先要做的就是给这两个id赋值: 接着代码就会检查eael-resetpassword-nonce的值是否为空,若不为空则通过wp_verify_nonce()进行验证。 那么问题来了,nonce是什么?如何获取? 在 WordPress 中,nonce 是一个随机字符串,用于防止恶意攻击和跨站请求伪造(CSRF)攻击,它通常与表单一起使用,在表单提交时添加一个随机值,以确保表单只能被特定的用户或请求使用。而关于nonce如何获取,wp_create_nonce()可以做到这一点。 function wp_create_nonce( $action = -1 ) { $user = wp_get_current_user(); $uid = (int) $user->ID; if ( ! $uid ) { /** This filter is documented in wp-includes/pluggable.php */ $uid = apply_filters( 'nonce_user_logged_out', $uid, $action ); } $token = wp_get_session_token( $action ); $i = wp_nonce_tick( $action ); return substr( wp_hash( $i . '|' . $action . '|' . $uid . '|' . $token, 'nonce' ), -12, 10 ); } 但需要注意的是,攻击者无法通过本地生成的 nonce 绕过受害者站点的wp_verify_nonce() 验证,因为他们不能在本地生成与受害者站点相同的 nonce。不过还有一种方法来获取nonce,直接访问主页即可在localize里找到它。 至于原因,则是它被includes/Classes/Asset_Builder.php::load_commnon_asset()设置在localize_object内: 跟踪localize_object不难发现,它被两个函数调用过: 先看add_inline_js(),它用于加载内联js代码和变量。在前端页面加载时,浏览器将加载该代码,并在js中创建名为 localize 的变量,该变量的值就是localize_objects 数组经wp_json_encode()转换的json字符串。 显然,我们刚才直接访问主页发现的localize就是以json格式呈现的。再看frontend_asset_load(),它用于加载前端资源。 最终上述两个函数都会被init_hook()调用,add_inline_js() 被添加到 wp_footer 中,优先级为100,以便在 WordPress 前端页面的页脚中加载内联js代码和变量。而frontend_asset_load() 被添加到 wp_enqueue_scripts 中,优先级为100,以便在 WordPress 前端页面加载时加载所需的前端资源。 之后就是给eael-pass1、eael-pass2赋值,设置新密码了: 当我们满足了上述前提条件以后,再通过rp_login设置想要攻击的用户即可。此时,代码就会借助get_user_by() function get_user_by( $field, $value ) { $userdata = WP_User::get_data_by( $field, $value ); if ( ! $userdata ) { return false; } $user = new WP_User(); $user->init( $userdata ); return $user; } 按我们给定的字段,也就是用户名去检索用户信息: 如果这是真实存在的用户,就调用reset_password() 进行密码重置操作: 漏洞复现 通过以上分析,我们仅需知道用户名以及nonce值,再向受害站点发送满足漏洞触发条件的请求体,即可进行漏洞利用。 当然,之前也提到了受影响的版本,所以漏洞利用之前,需要优先进行版本探测,有两个方法: 第一,由于frontend_asset_load()调用了wp_enqueue_style()来加载css文件,WordPress就会自动将版本号添加到url中,这是为了确保浏览器能够正确缓存css文件,以便在文件更新时将旧文件替换为新文件: function wp_enqueue_style( $handle, $src = '', $deps = array(), $ver = false, $media = 'all' ) { _wp_scripts_maybe_doing_it_wrong( __FUNCTION__, $handle ); $wp_styles = wp_styles(); if ( $src ) { $_handle = explode( '?', $handle ); $wp_styles->add( $_handle[0], $src, $deps, $ver, $media ); } $wp_styles->enqueue( $handle ); } 第四个参数即代表指定样式表的版本号的字符串,如果它有的话,它将作为一个查询字符串添加到URL中,以达到破坏缓存的目的。如果版本号被设置为false,则会自动添加一个与当前安装的WordPress版本相同的版本号。如果设置为null,则不添加版本号。最终生成这样一条url:https://example.com/front-end/css/view/general.min.css?ver=x.x.x 第二,我们也可以通过/wp-content/plugins/essential-addons-for-elementor-lite/readme.txt进行版本探测。 确认受影响的版本以后,就是搜寻真实用户名。同样有多种方式进行探测: 使用 WordPress 的 rss feed 来提取用户名。这是一种用于发布和传递 WordPress 内容的标准格式,包含了站点的最新文章、页面、评论等内容,以及发布时间、作者、分类、标签等相关信息。这些信息可以被其他站点或应用程序订阅和使用,增加当前站点的曝光度。而其中dc:creator标签就包含了作者名称; 使用 WordPress 的 rest api 来获取用户名; 使用了 Yoast 插件提供的站点图来获取用户名。它较于第一种方法的优势在于只能获取到站点中已发布文章的作者信息。如果站点中还有其他用户没有发布文章,那么这些用户的信息是不会被获取的。 除此之外,WordPress也存在默认用户名(admin),这也是该漏洞最常利用的用户名之一。 做完上述信息收集以后,构造报文即可成功重置任意用户密码: 修复方案 在Essential Addons for Elementor(5.7.2)中,进行reset_password()操作之前,先去做了rp_key的校验。补丁如下:   ...

    2023-10-16 248
  • 以“溯源”为诱饵反钓鱼蓝队,攻击队这波上大分

    2023年攻防演练活动圆满收官,各位七夕节还在疯狂打HW的红蓝队师傅们辛苦了。上次分享了一些蓝队方面的想法,“攻防演练之给蓝队防守方的11个忠告”,感兴趣的师傅们可以在FreeBuf网站查看。这篇文章分享一下2023年攻防演练中红队的一些个人想法,希望和大家一起交流交流。如有不对之处,还请师傅们多多指教。 回顾2023年攻防演练行动,发生了很多非常有意思的事情,攻击队的整体表现令业界眼前一亮,给不少蓝队成员上了难忘的一课。例如在攻防演练行动刚刚开始时,就传出某某通信领域的单位被攻击队直接打穿;某某攻击队已经杀疯了等多种版本的传闻。由于事件的敏感性和保密性,导致很多消息难以百分百实锤,但也从侧面反映出2023年攻击队之强悍,战法之新颖,武器之犀利等。 最最令人感到不可思议的是,某个攻击队竟然想出一个“以溯源反制”为诱饵,引诱蓝队防守成员进入恶意环境,成功钓鱼蓝队的方法,在网络安全领域展示了一波什么才是真正的对抗,以及孙子兵法如何活灵活现应用至攻防演练行动中。 正是因为有如此出人意料的攻击方式的存在,才让攻防演练行动变得更加有意义。在攻防演练中发现问题,解决问题,真正提升企业安全防护能力,从而提升我国网络空间整体安全等级,才是攻防演练的最终目的和真正意义。 为2023年攻防演练行动中攻击队的优异表现点赞。但在攻防演练圆满收官的时候,攻击队这边也曝出舞蹈生滥竽充数的案例,其令网安行业震惊的程度不亚于上述新颖的攻击战法,甚至是有过之而无不及,可以预见,在2024年的攻防演练行动中,新人面试攻击成员将会遭遇前所未有的难度。 接下来,我会一一分享个人总结的2023年攻防演练观点,欢迎评论区留言讨论。 签了保密协议就认真履行 2023年攻防演练行动最后一天最大的瓜莫过于“苕皮哥了”。这位“苕皮哥”是某蓝队防守方成员,攻防演练的最后一天在红书发文:“暑假12天挣了3万多,奖励自己吃苕皮”,一时间引起轩然大波,迅速在整个网安圈子里流传,更是震惊了一众圈外打工人,纷纷在社交平台上惊呼“网安人搞钱太容易了。” 据说“苕皮哥”并非专业的网安人,而是一名在校舞蹈生,经过三个月的学习后以在校生的身份参加了2023年攻防演练行动,单日收入2700元。说实话这个工资已经吊打许多网安毕业生了。 不知道是觉得钱拿的过于容易,还是为了炫耀,“苕皮哥”干了一件很无脑的事情——直接公布了攻防演练进场合同,上面明确写了进场工资1800元,工作12小时以上工资上浮1.5倍,也就是2700元。 打过HW的师傅们都知道,一般这类合同都有保密协议,就这样不打码直接将进场合同发在社交平台上,对于厂商、甲方、第三方来说都是一种巨大的伤害。传闻“苕皮哥”事件传开后,厂商已经在琢磨起诉事宜,后续等待“苕皮哥”的也是会是更重的处罚。 最最糟糕的是这件事情将会给攻防演练行动的外聘人员带来严重的负面影响,很有可能以后在校大学生在面试hw时会面临更严格的要求,价格肯定也会迎来一波跳水,甚至有可能引发相关部门对于攻防演练外聘人员的整顿。“苕皮哥”行为出发点也许就是单纯的炫一波,但是最终的结果却是把网安吃饭的桌子都给掀了。 当然,从长远来看,这件事情也许会让攻防演练行动变得越来越规范,一些行业乱象将会被整改。这里强调一下,签了保密合同就要认真履行保密协议,真的别不当回事,当法院传票发来的那一刻,对于个人来说将会面临非常严重的后果。 攻击队上演“三十六计” 2023年另外一件令我大开眼界的事情,就是攻击队在攻防演练中上演了一波精彩的网安三十六计。整个攻击过程异常丝滑犹如行云流水,攻击方心思缜密层层设局,洞悉防守方的内心,一步步将防守方成员引入陷阱之中,将三十六计是玩的明明白白,实在是令人拍案叫绝,该狠狠上一波大分。 通常来说,蓝队防守方利用蜜罐来钓鱼攻击方是非常常见的手法,也是蓝队溯源反制必不可少的措施,蜜罐用的好,攻防演练的成绩基本也不会差到哪里去。但是红队以“溯源反制”为诱饵,反过来钓鱼蓝队这就不常见了。事实上这一次反钓鱼的效果非常好,蓝队成员大多中了圈套,后面结果如何已经不需要多说。 具体操作思路如下:红队故意发起攻击是蓝队进行溯源反制,在这个过程中诱导蓝队访问器搭建的恶意服务,钓鱼公告后红队再次对蓝队主机进行攻击反制,从而顺利获得防守方的内网权限。整个攻击方法不仅仅体现在技术高超,更多的是利用了规则——即没有多少蓝队能够抵得住“溯源反制”的诱惑,从而反钓鱼蓝队拿下权限。 2023年的这个案例充分说明了,网络攻防演练不是套路化的演习,而是实打实的攻守双方的激烈对抗,真正的攻击方不会和你讲任何的经验与套路,只会不断掏出新的攻击方法持续碾压你们。该案例也从侧面说明了攻防演练的实质,演习即实战,在攻防演练行动中,防守方必须时刻牢记,自己面对的是一群不论技术还是理念都十分先进的对手,千万不可放松警惕。如果我是本次攻防演练的裁判,那么我会给攻击方更多的分数,正是因为有这样持续进化的攻击方,我们的网络安全防护体系才能持续不断发展、优化。 旧的攻击方法依旧很好用 他山之石可以攻玉。在攻防演练行动开始之前,攻击队应该提前收集各类优秀的攻击方法和案例,总结学习其中的优秀思路和手法, 在攻防演练中,攻击方会利用各种技术手段和方法,如网络渗透、漏洞利用等,来尝试入侵防守方的系统或获取敏感信息。他们的目标是发现潜在的漏洞和弱点,并评估防守方对这些攻击的应对能力。红队常见的攻击方法可以分为以下八类: 互联网边界渗透。几乎所有企业都有部分开放于互联网的设备或系统,比如邮件、官网等。红队会以这些设备或系统的开放性特点,将其作为入侵的切入点。 通用产品组件漏洞利用。信息化产品虽然提高了企业的运行效率,但其自身的安全漏洞也给企业带来了很多潜在隐患。红队在攻防演练中就经常通过利用产品组件的漏洞来达成攻击目标,比如:OA漏洞、中间件漏洞、数据库漏洞等。 0day攻击。在攻防演练中,0day攻击已成为常态,由于0day漏洞能够穿透现有基于 ...

    2023-10-09 209
  • 记一次众测的两个洞

    这两个洞是公众号的,以下是我利用Charles+burp进行抓包,Charles的配置。 测公众号的话,可以用浏览器打开,以下主要是可以进行微信小程序的测试。不用下载什么模拟器,pc端完全可以。但是找小程序包的逆向看源码,我发现有一个相同的小程序,模拟器里面的包有主包和分包。PC端的只有一个主包。进行查看,分包里面的内容也没有什么可用的,但是有的小程序PC端也会发现分包。真机的话,已经在root的手机没有在小程序包的目录发现。 还有小程序在模拟器找小程序包的话,要root,用雷神的话,文件管理器会赋予root权限,可以进行根目录的查看。要是真机或者mumu的话需要下载一个Root Explorer,才可以查看根目录。当然可以用adb进入shell,在导出wxapkg包也完全可以。 首先安装证书 之后跟着走就安装好了 接着需要配置https。 最后配置连接到bu ...

    2023-10-08 204
  • 服务器端漏洞篇之文件上传漏洞专题

    今天是之前梨子从来没发过的文件上传专题。 声明 该系列共三篇,26个专题(截止2023.8.10),其中有21个专题的大部分内容已于2021年7-9月首发于安全客,由于某些原因,该系列后续更新部分梨子打算转投Freebuf社区(下称"社区")。因后续更新部分的部分内容为这21个专题中的,故在转投社区时会将更新部分一并加入对应的专题中,所以会与发布于安全客的版本略有出入,会更完整,望周知。 本系列介绍 PortSwigger是信息安全从业者必备工具burpsuite的发行商,作为网络空间安全的领导者,他们为信息安全初学者提供了一个在线的网络安全学院(也称练兵场),在讲解相关漏洞的同时还配套了相关的在线靶场供初学者练习,本系列旨在以梨子这个初学者视角出发对学习该学院内容及靶场练习进行全程记录并为其他初学者提供学习参考,希望能对初学者们有所帮助。 梨子有话说 梨子也算是Web安全初学者,所以本系列文章中难免出现各种各样的低级错误,还请各位见谅,梨子创作本系列文章的初衷是觉得现在大部分的材料对漏洞原理的讲解都是模棱两可的,很多初学者看了很久依然是一知半解的,故希望本系列能够帮助初学者快速地掌握漏洞原理。 服务器端漏洞篇介绍 burp官方说他们建议初学者先看服务器漏洞篇,因为初学者只需要了解服务器端发生了什么就可以了 服务器端漏洞篇 - 文件上传漏洞专题 什么是文件上传漏洞? 文件上传漏洞就是在未经充分验证像文件名、类型、内容或大小时允许用户上传文件到文件系统。这就导致会有用户在一个简单的图片上传功能点在没有严格限制的情况下上传任意具有潜在危险的文件,甚至包括含有rce操作的脚本文件。 文件上传漏洞有什么影响? 文件上传漏洞的影响通常取决于以下两个因素: 网站未验证文件的哪个方面,比如大小、类型、内容等等 文件上传成功后有那些限制 最坏的情况就是,网站未验证文件的类型,并且允许将这类文件(如.jsp或.php)作为代码执行。这种情况下,攻击者可以悄悄地上传一个作为webshell功能的代码文件,从而授予它们服务器完全的控制权。如果网站未验证文件名,就可导致攻击者通过上传同名文件的方式轻而易举地覆盖关键文件。如果站点还存在目录穿越漏洞,攻击者甚至可以覆盖服务器上任意位置的任意文件。如果网站没有保证文件大小在阈值范围内,攻击者可发动DOS攻击并借此填满磁盘。 文件上传漏洞是如何产生的? 正常来讲,开发者不会对上传不进行任何限制,但是他们只是做了他们认为很强的限制。例如,开发者将危险的文件类型设置进黑名单,但是在检测文件扩展名的时候却忽略了解析差异。即使设置了黑名单,其实还是会忽略到很多危险的未知文件类型。有的情况下,站点仅通过验证属性的方式检测文件类型,这很容易通过burp抓包修改。这就产生了主机与目录之间的差异,从而被利用。 web服务器(中间件)是如何处理静态文件的请求的? 早些年,网站是完全由静态文件构成的,请求的路径与服务器上的文件目录是1:1对应的。但是随着技术的发展,网站越来越动态,用户请求的路径通常与文件系统没有直接关系,并且网站也在同时处理一些静态文件,如图表、图像之类的。网站处理静态文件的过程都是大致相同的,用户请求即返回对应的静态文件。有时候站点通过解析请求中的路径识别文件的扩展名。站点通常是通过将扩展名与MIME类型之间的预配置列表进行对比的方式确定文件的类型。后面会发生什么取决于文件类型和服务器的配置。 如果文件类型是不可执行的,如图像或html文件,服务器则只会在http响应中返回文件内容给客户端。 如果文件类型是可执行的,如php文件,并且服务器被配置为允许执行这种类型的文件,服务器会先根据请求中的头和参数分配变量,然后带入脚本运行,然后再将输出通过http响应发送给客户端。 如果文件类型是可执行的,但是服务器被配置为不执行这类文件,服务器一般会返回报错。不过有时候这些可执行文件的内容会以纯文本的形式发送给客户端,这就可能存在如泄漏源代码或其他敏感信息之类的风险。 利用不受限制的文件上传来部署webshell 从安全的角度看,最糟糕的情况就是网站允许用户上传动态脚本文件,如php、java或python文件并且还配置为将它们作为代码执行。这样我们部署webshell就非常容易了。如果成功上传了webshell,我们就可能完全控制服务器。这就意味着你可以读写任意文件、泄漏敏感数据,甚至可以利用服务器对内部基础设施及其他服务器发起攻击。例如,下面这行php代码可用于从服务器中读取任意文件: <?php echo file_get_contents('/path/to/target/file'); ?> 上传后,就会在响应中接收到目标文件的内容。一个更加通用的webshell可能长这样: <?php echo system($_GET['command']); ?> 然后我们通过传入不同的请求参数就可以执行任意命令: GET /example/exploit.php?command=id HTTP/1.1 配套靶场:通过上传webshell的rce 题目说有一个存在漏洞的图片上传点,并且它不会对上传的文件做任何限制。上传图片的功能点要用给的账号登进去。 我们发现它并没有限制上传文件的类型,所以我们直接上传一个txt,然后修改文件的内容,并且修改扩展名和文件类型。 <?php echo file_get_contents('/home/carlos/secret'); ?> 然后我们通过访问头像即可触发执行我们上传的php脚本,从而看到/home/carlos/secret中的答案 成功解题! 利用有缺陷的验证机制的文件上传 有缺陷的文件类型验证 当我们提交HTML表单时,浏览器通常会在一个content-type为application/x-www-form-url-encoded的POST请求中发送提供的数据。这种方式适用于发送如姓名、地址等简单文本,而不适合发送大量二进制数据,如图像文件或pdf文档。这种情况下,content-type为multipart/form-data就成为了首选。我们设想一个包含上传的图像、图像描述还有用户名字段的表单,它的请求包可能长这样: POST /images HTTP/1.1 Host: normal-website.com Content-Length: 12345 Content-Type: multipart/form-data; boundary=---------------- ...

    2023-08-28 232
  • 响尾蛇组织近一年攻击组件汇总分析报告

    1 APT组织相关背景介绍 1.1 响尾蛇组织相关背景介绍 响尾蛇组织, 又称Sidewinder、APT-C-17、T-APT-04,是一个来自于南亚地区的境外APT组织。该组织主要针对中国、巴基斯坦、尼泊尔、斯里兰卡等亚洲地区国家进行网络间谍活动,主要针对高校,新闻,金融,媒体,政府和电信公司进行攻击,以窃取敏感信息为主要目标。该组织的相关攻击活动最早可以追溯到2012年,至今还非常活跃,大多数行动是对巴基斯坦进行攻击,窃取机密信息。 1.2 响尾蛇组织攻击过程 该组织将攻击过程分解成多个阶段,有多次网络下载过程,且连接的C2会检查访问IP所属国家,只允许本次的攻击目标所属国家的IP进行访问,另一方面,为了躲避安全软件的查杀,关键的恶意程序只在内存中执行,最终的远控程序落地为加密数据的形式,需要加载器解密后才执行。 另外响尾蛇组织也会使用开源工具进行攻击活动,在C2的网络特征,域名构造方式有很大的关联性,整体攻击过程比较简单,最终用DLL侧加载的方式在内存中解密执行Cobalt Strike的beacon载荷,实现对用户机器的控制。 此外响尾蛇组织还对Android手机用户进行攻击,通过Google Play散发恶意apk安装包,窃取目标手机中的隐私信息和机密文件。 1.3 响尾蛇组织打点技巧 在响尾蛇组织的相关攻击活动中,该组织伪造发件人邮箱,通过伪造正常的“学院通知”、“政府通知文件”、“热点事件”、“新奇事情(如:暗网数据泄露)”等相关邮件,诱导目标点击其投递的恶意链接或恶意附件,或者伪造政府邮箱登录页面,盗取合法邮箱发送钓鱼邮件。 2 涉及组件详细分析 2.1 DocxDownloader钓鱼组件 响尾蛇组织最常用的鱼叉式钓鱼组件,以抓眼的标题和相关单位的官方文件,在用户打开文档后,机器在不知不觉中被入侵。捕获的部分钓鱼文件如下表: 组件md5 名称 URL 首次上传到VT时间 056d1dc3032d04d7638c02056d5146c9 Circular 31082022.docx https://mo***gov.com/5724/1/3268/2/0/0/0/m/files-11e30891/file.rtf 2022-09-15 10:35:46 UTC b7e63b7247be18cdfb36c1f3200c1dba Product.docx https://cst***.dowmload.net/14668/1/1228/2/0/0/0/m/files-403a1120/file.rtf 2023-03-10 05:14:05 UTC 5efddbdcf40ba01f1571140bad72dccb Leakage of Sensitive Data on Dark Web.docx https://mt***south.org/5974/1/8682/2/0/0/0/m/files-b2dff0ca/file.rtf 2023-03-10 05:21:10 UTC 该组件中会包含一个RTF远程模板的链接,在文档打开时,会自动下载并执行该RTF模板。 打开时会闪过正在下载界面。 2.2 RtfDropper释放器组件 在响尾蛇的历史攻击事件中,rtfdropper组件的使用率非常高,通常文件名为file.rtf,做为docx钓鱼文档的第二阶段载荷,该组件利用office的公式编辑器漏洞CVE-2017-11882,执行释放的javascript脚本文件。 描述 详细信息 名称 file.rtf 文件大小 73294 bytes 文件类型 Rtf 文件功能 Downloader 编译时间 / 开发平台及语言 office Pdb / 是否加壳 否 VT首次上传时间 2022-05-26 18:02:22 UTC md5 54b1157ce8045f2e83340dc5d756f412 sha256 8b4259cb1619bcbf3f6760f0982d0a1d3c67aa26738a3d6f6788bf6c2a5410e5 通过rtfdump分析,可以发现该组件中嵌入了一个1.a文件(javascript脚本文件,文件名是响尾蛇组织固定使用的)和一个Equation.3结构(用于触发公式编辑器漏洞)。 该组件被执行后,公式编辑器在解析Equation.3时,在漏洞函数sub_41160F中数据复制时发生栈溢出,从而导致该函数的返回地址被改写,去执行响尾蛇组织的shellcode。 在shellcode中使用GetCommandLine,然后修改其返回指针指向的内容 解密出一段js脚本并覆盖GetCommandLine返回指针指向的内容。 最后加载mshtml和获取RunHTMLApplication的地址,调用RunHTMLApplication。 RunHTMLApplication给予4个0作为参数,触发RunHTMLApplication去调用GetCommandLine。 因为第一次调用GetCommandLine会从peb中复制一个命令行参数字符串存储在另一个空间中,在这之后GetCommandLine管理这个空间,由于第一次调用是修改了内容,覆盖为js脚本,所以在RunHTMLApplication中的GetCommandLine会得到这个脚本,又因为RunHTMLApplication的流程会去解析这个字符串,被“javascript:”引导去执行js脚本,最后调用CHTMLApp::Run执行js。而这一小段js脚本的作用就是执行1.a脚本文件。 2.3 LnkDownloader钓鱼组件 LnkDownloader是响尾蛇组织最常用的鱼叉式钓鱼攻击的组件之一,经过改进,从利用lnk文件属性中的显示bug隐藏实际的mshta调用,最后变为复制系统的mshta重命名为随机字符再去执行下载。 描述 详细信息 名称 BGI-14.pdf.lnk 文件大小 2217 bytes 文件类型 LNK 文件功能 Downloader 编译时间 / 开发平台及语言 / Pdb / 是否加壳 否 VT首次上传时间 2021-01-02 03:07:30 UTC md5 fa10f48243ea40298e0fa07787e4156c sha256 29022eab3963a624ae886a6f17f94834cb3e55377e0d32a4ad365af83bf74d74 当sLinkFilags中的HasExpString为1时,执行LNK文件会去检查EnviromentVariableDataBlock下的TargetUnicode的文件是否存在,不存在就去检查LinkTargetIDList指向的文件是否存在,存在就执行。LinkTargetIDList的最后一个sIDList中的PrimaryName被设置为hsmta.exe是为了维持HasExpString值不变,因为在检查出EnviromentVariableDataBlock中的TargetUnicode指向的文件不存在时被设置为0。 最后的效果是显示为hsmta.exe来误导用户。   描述 详细信息 名称 ***关于11月22日起工作安排调整的通知.docx.lnk 文件大小 1055 bytes 文件类型 LNK 文件功能 Downloader 编译时间 / 开发平台及语言 / Pdb / 是否加壳 否 VT首次上传时间 2022-11-24 16:42:12 UTC md5 5356a1193252b4fb2265fc8ac10327a1 sha256 f946663a780806693ea3fb034215bd6da25971eb07d28fe9c209594c90ec3225 改进后的lnk文件不再利用显示bug,是将mshta.exe复制并重命名为随机字符.exe,然后就下载执行远程HTA脚本文件。 2.4 DonetLoader加载器组件 响尾蛇组织经典的.net程序加载器,是魔改的开源项目CACTUSTORCH,用于在内存中加载后续的.net DLL程序,该组件分别作为rtf释放的1.a javascript脚本和lnk文件下载的hta文件。 组件md5 名称 文件大小 VT首次提交时间 a9dbf0cbc46dfe0202b534c63bd52a4a 1.a 900000 bytes 2019-08-13 13:49:59 UTC da8d3934fa1ddaf713ec32071eeb2987 file.hta 330170 bytes   db9562258c4a8518e0c6c43cdc0f0151 1.a 4953600 bytes 2022-01-14 07:30:57 UTC 该组织大致经过1年就会对组件进行升级改造,主要是字符串解密模块的修改。从标准base64编码->异或+自定义base64编码->字符反转+多个key异或。 2019:标准base64编码(相关文件md5:a9dbf0cbc46dfe0202b534c63bd52a4a)。 2020:异或+自定义base64编码(相关文件md5:da8d3934fa1ddaf713ec32071eeb2987)。 2021:字符反转+多个key异或(相关文件md5:db9562258c4a8518e0c6c43cdc0f0151)。 后续的加载过程都保留开源项目CACTUSTORCH的加载过程,解密后在内存加载,获取DLL的类对象“App.Program”,提供4个参数,并调用work方法。 2.5 AppDownloader下载器组件分析 在2022年之后,响尾蛇整合了早期的两个组件,开发了AppDownloader组件,通过Donetloader加载调用work方法,根据提供的参数,完成诱饵文件释放和后续载荷下载,并在内存中执行载荷,其真实文件名为App.dll,所以命名为AppDownloader。 名称 组件加载器 加载器md5 首次上传到VT时间 App.dll 1.a b1e0108df9a12d43fdf78e99d3528707 2022-01-14 07:30:57 UTC   描述 详细信息 名称 App.dll 文件大小 2200 bytes 文件类型 DLL 文件功能 Downloader 编译时间 \ 开发平台及语言 .NET Pdb \ 是否加壳 否 VT首次上传时间 2022-01-14 07:30:57 UTC md5 384CF4940E9B819CE8492FCD16EBEA6D Sha256 B8CAB453F7190514DC9F10FF6E549A715E69A2A53ECACBDC0CF0975B56C4E828 该组件是由donetloader加载并调用work方法和传递参数,当第四个参数不为空,则将该参数作为文件名,第三个参数为文件内容,在%temp%目录下释放诱饵文件,并使用mshta.exe打开该诱饵文件。 下载的数据前32位作为异或密钥解密后续的数据,然后再内存中加载。 2.6 ModuleInstaller下载器组件分析 该组件在不断改进中已经演变为一款比较成熟的恶意软件,会对前面阶段产生的痕迹进行清理,还会对不同的杀毒软件执行不同的操作,也采用了免杀效果不错的进程启动方式,使用其文件名ModuleInstaller做为组件名称。 描述 详细信息 名称 ModuleInstaller.dll 文件大小 46080 bytes 文件类型 exe 文件功能 loader 编译时间 2055-09-29 14:31:33 开发平台及语言 .NET pdb \ 是否加壳 否 VT首次上传时间 \ md5 05C1D2FD7F8E5970406B75C01DC6E949 Sha256 8B21AD911DCC66BBA525C95F1B9F9489E96BD2AADD2B7B0CFD2D53531B51231B 该组件的构造函数接收杀毒软件信息,并检测卡巴斯基、avast、avg、360杀毒这4款杀毒软件的存在。 然后根据配置信息“0100S-ABCD”中的第二或者第三个值是否为“1”,清除前面阶段的文件。 首先是清除%temp%\1.a文件,将文件内容改写为“//FFFF”,该1.a文件为前文所提到的donetloader加载器组件。 通过遍历1-4096已打开的文件句柄,获取文件绝对路径,检测路径中是否有"Microsoft\\Windows\\INetCache\\Content.Word"字符串,该路径下的文件为网络下载过程中的缓存文件,响尾蛇组织利用这个处理方式来消除其网络下载过程中产生的缓存文件。 获取系统信息:用户名、机器名,系统位数等系统基础信息。 将获取到的数据使用标准base64解码后,拼接到url的data参数中,随后使用拼接成的url下载配置数据。 将下载后的数据,使用前32位字节作为异或密钥解密后续数据,以相同的操作解密两次后得到配置数据。配置数据中包含后续载荷文件路径、下阶段载荷url,白+黑侧加载组合(control.exe和propsys.dll)。 根据url下载数据并异或解密后,将数据写入配置文件指定的文件中,将系统中的control.exe复制到相同目录下,最终该目录下存在文件:control.exe、control.exe.config、propsys.dll、[随机字符串].[随机字符串]文件,随着后续远控程序的加载可能会多出一些文件。 遇到卡巴斯基在配置字符的控制下,会使用wmi启动mshta执行js脚本去启动control.exe,以及直接向注册表run目录注册开机启动项,启动control.exe。 检测到360杀毒,直接使用process类启动隐藏窗口的control.exe。并创建快捷方式,放置在开机启动目录下。 检测到avast和avg时,注册两个计划任务,分别是延后2分钟执行control.exe和延后2分钟执行向注册表run目录添加开机启动项。 当没有检测目标杀毒软件时,就使用wmi执行schtask.exe添加计划任务,和直接向注册表RUN目录写入开机启动项。 2.7 DLLloader加载器组件分析 该组件作为白+黑 DLL侧加载利用中的恶意DLL,用来在内存中加载响尾蛇组织的关键载荷SystemAppRAT组件,功能单一,会跟据使用的白+黑利用方式变更文件名。 描述 详细信息 名称 Duser.dll,propsys.dll 文件大小 9728 bytes 文件类型 DLL 文件功能 Loader 编译时间 2021-02-09 18:16:50 开发平台及语言 .NET pdb \ 是否加壳 否 VT首次上传时间 \ md5 E4E2C1259EEA903A2953A1601E49797A Sha256 9B2C9C4FCD0BD591A58BDA2CFB8AF1C2E619FBE402CD2D9ACD0643EBB6E84D09 当DLL被加载后,会先进行Amsi绕过,Amsi可以检测.NET程序中调用的方法名,命名空间等信息来检测恶意的.NET程序,通过修改AmsiScanBuffer的前几个字节使得函数直接返回无可疑操作,达成绕过的效果。 随后读取同目录下使用随机字符命名的文件,使用其前32个字节作为异或密钥解密后续数据,解密后的数据为SystemAppRAT组件,用来进行远程控制,最后在内存中加载该组件。 2.8 SystemAppRAT远控分析 响尾蛇组织最常用的远控组件,以加密数据的形式落地为文件,被DLLloader组件加载后在内存中执行,通过自身的网络传输和机密文件收集功能,来控制被入侵的机器,窃取重要信息。   详细信息 名称 SystemApp.dll 文件大小 637952 bytes 文件类型 DLL 文件功能 RAT 编译时间 2064-02-17 19:06:49 开发平台及语言 .NET pdb \ 是否加壳 否 VT首次上传时间 \ md5 D308484A9EFA669979BD1004F8E5D748 Sha256 5CAD4B71A6A99B34FB2F4D60FA8BB5DB6A6F6DABE5468D9B3341CBC04492AAAB 首先从资源中加载配置信息。 解密后的配置信息如下,加密的方式是二进制文件的前32个字符作为key,循环与后续文件内容进行异或得到结果。配置文件中指定C2通信地址,和窃取的目标文件后缀.doc .docx .xls .xlsx .pdf .ppt .pptx。 解析完配置后,注册定时函数TreeRestoreAccessorInstance,每5秒与C2通信一次,并对C2返回的数据做出响应。 执行的命令如下: 命令 内容 1 收集系统信息,信息保存在.sif文件 2 收集文件信息 3 .docx .doc .xls .xlsx .pdf .ppt .pptx .rar .zip路径保存,信息保存在.fls文件 4 将收集到指定文件的路径保存在配置文件中 5 更新c2地址 6 更新是否上传指定文件参数 7 重置指定文件类型 8 设置文件大小限制 9 上传指定文件 10 保存配置 2.9 HtaDownloader组件 在2023年捕获到响尾蛇组织新的下载器组件,负责下载诱饵文档和恶意DLL,将恶意DLL放置到OneDrive目录下,实现侧加载。 描述 详细信息 名称 something.hta 文件大小 680 bytes 文件类型 HTA 文件功能 Downloader 编译时间 / 开发平台及语言 / 是否加壳 否 VT首次上传时间 / md5 2BCE7A8E34E4751C8E421BAA4C4A0ADA Sha256 F0CB23D26AF39BBFAE450F37BC7642B59D30EE346020485FECC5CD8C33D2190A 下载version.dll放置在本地Onedrive目录(%LOCALAPPDATA%\Microsoft\OneDrive\ ),当本地64位的Onedrive.exe和OneDriveStandaloneUpdater.exe执行时会被劫持以加载恶意version.dll,定时执行OneDriveStandaloneUpdater.exe更新Onedrive的计划任务也会变成响尾蛇组织的常驻项。   另外从巴基斯坦的内阁部门官方网站(cabinet.gov.pk)下载“Advisory No. 16”网络安全咨询16号文件,对应钓鱼文件中提及的内容。 2.10 CSloader组件 该组件为HtaDownloader组件下载的恶意DLL,被同目录下的OneDrive加载。 描述 详细信息 名称 version.dll 文件大小 275456 bytes 文件类型 DLL 文件功能 RAT 编译时间 / 开发平台及语言 / 是否加壳 否 VT首次上传时间 / md5 F2974B8D6B0B2774F49642D53BDEE8A4 Sha256 37E3465D6FCCFAE6E1C29526AA015A766F8FC26CC61ED821F3E0B44D794C99EC 其导出函数GetFileInfoSize和GetFileVersionInfoSizeW指向同一个偏移量,是Onedrive.exe导入DLL后会调用的函数。 GetFileInfoSize和GetFileVersionInfoSizeW函数中会调用函数FUN_180001120解密执行后续的载荷。 函数中先读取系统目录下的ntdll中的.text段替换掉当前进程加载的ntdll中的.text,解除函数挂钩,如果有安全软件通过在ntdll中设置钩子实现对进程行为的监控,那么该恶意文件的操作会让这种类型的监控方式失效。 通过计算硬编码16字节的数据的SHA256值,作为AES-256解密的密钥,解密出shellcode,最后执行。 执行的shellcode会反射加载一个Cobalt Strike的beacon,连接攻击者C2:35.175.135.236,实现远程控制。 2.11 ApkDownloader下载器组件分析 响尾蛇组织针对Android手机开发的恶意程序,最早在2020年由趋势科技披露相关技术细节,主要在Google Play上进行传播,该组件主要功能是下载下阶段载荷,最终在入侵手机中窃取WeChat、Outlook、Twitter、Yahoo Mail、Facebook、Gmail和Chrome等数据。目前以披露的部分恶意安装包如下: 组件md5 名称 文件大小 VT首次提交时间 07b41f9c81915c3adad6b3690ab7a99e 226617.apk 10763432 bytes 2023-03-23 09:34:02 UTC 17ccf24c4e09b1bc7ce5c0eb637a4edd Secure VPN_3.9_apkcombo.com.apk 14744189 bytes 2022-06-02 08:06:59 UTC 3DF009405C2226FA5047DE4CAFF3B927 com.securedata.vpn_v3.2.apk 6072227 bytes 2022-06-02 02:28:33 UTC   描述 详细信息 名称 226617.apk 文件大小 10763432 bytes 文件类型 Apk 文件功能 Downloader 编译时间   开发平台及语言 Android pdb \ 是否加壳 否 VT首次上传时间 2023-03-23 09:34:02 UTC md5 07b41f9c81915c3adad6b3690ab7a99e Sha256 7d237d0c62fb14391d40d8875534135a7a73b8ef47956405f4e600918d583f14 该组件先进行字符串解密,将头部的“zzzza”去除后传入函数。 将字符串使用base64解码后,先读取4字节数据,代表AES密钥长度,随后读取32字节的密钥,最后是AES加密的数据,并且该AES密钥也是网络通信数据的AES解密密钥。 根据分析结果得到AES密钥(7e 51 73 44 54 49 ac a1 fe 99 25 f3 25 29 58 e3 5a 45 7c cd 89 d4 87 78 34 3f b2 df c2 60 2c 21),使用AES-256 ECB模式解密数据后得到下阶段载荷的URL。 随后发送网络请求下载下阶段载荷。 该载荷会落地为文件保存为/data/data/<package_name>/files/fex/permFex/8496eac3cc33769687848de8fa6384c3。 最后通过DexClassLoader类加载该DEX文件,执行恶意代码,根据趋势科技报告中提到的信息,后续载荷是对手机信息的窃取。 最后注册计划任务,每10分钟去触发上文的下载执行下阶段载荷的过程。 注册开机广播,检测到开机事件会启动服务,也就是上文提到的下载下阶段DEX载荷和执行载荷。 该组件有多种获取C2的方式。 方法一:如上文的样本(07b41f9c81915c3adad6b3690ab7a99e)将C2硬编码在程序中。 方法二:在样本(17CCF24C4E09B1BC7CE5C0EB637A4EDD)中使用托管在Google Cloud上的Firebase服务提供C2。 方法三:在样本(3DF009405C2226FA5047DE4CAFF3B927)中使用Google Play的Install Referrer 服务获取数据,解密后得到C2。 3 基础设施分析 该组织会运营大量域名来针对东南亚各个地区进行攻击,并且带有访问控制,钓鱼C2上会检测请求IP所属国家,限制非目标国家IP的访问。 3.1 域名构造特征分析 从收集和整理的响尾蛇历史攻击中使用的域名,可以发现该组织比较偏向于使用攻击目标相关的机构官方域名的关键字符串来构造域名。如“*[mod/mofa]-gov*”,“*navy-gov*”,“mail[navy/mod/mofa]*”以伪装成军队和政府单位相关的域名,还有用字符错位、藏字符等方式构造域名,如“*donwloaded.com”,“*downlod.net”,“*downlod.com”。 3.2 URL特征分析 根据狩猎到的所有响尾蛇样本进行分析发现响尾蛇组织的第二阶段载荷下载URL具有明显的特点:固定的分段字符,特定的字符串“/2/0/0/”和”files-[8个随机字符]“,例如: https://[域名]/3679/1/55554/2/0/0/0/m/files-94c98cfb/hta https://[域名]/5974/1/8682/2/0/0/0/m/files-b2dff0ca/file.rtf https://[域名]/669/1/1970/2/0/0/1764305594/2X1R9Tw7c5eSvLpCCwnl0X7C0zhfHLA6RJzJ0ADS/files-82dfc144/appxed 3.3 C2网络特征分析 目前响尾蛇组织的C2有比较明显的特征是jarm="3fd3fd0003fd3fd21c3fd3fd3fd3fd703dc1bf20eb9604decefea997eabff7"和jarm="40d40d40d00040d1dc40d40d40d40de9ab649921aa9add8c37a8978aa3ea88"。且直接访问响尾蛇组织的C2地址,会直接返回404 Not Found,而且该组织多用“nginx”服务器,返回长度多数为“555”和“153”。 4 总结 响尾蛇组织常使用鱼叉攻击对目标进行打点攻击,攻击频率较高,具有一定的危险性。主要针对政府机构和军事单位等行业进行攻击,窃取该类单位的高新技术研究资料或规划信息等,相关行业及单位需要警惕并加强网络防御。另外该组织也常用DLL侧加载和无文件攻击,将关键代码隐藏在正常进程中秘密执行,安全公司应加强相关技术的检测。 5 ATT&CK模型 战术(Tactic) 技术(Technique) 过程(Procedure) TA0043-目标侦查(Reconnaissance) / / 资源开发(Resource Development) T1587.001(构建自定义恶意软件) 响尾蛇组织自定义开发了下载器、文件窃密组件等   T1588.001(获取恶意软件) 响尾蛇组织使用开源DONET加载器进行攻击。 初始访问(Init Access) T1566.001(鱼叉攻击,恶意附件) 响尾蛇组织向目标投递携带恶意附件的邮件。 代码执行(Execute) T1204.002(用户执行恶意鱼叉附件) 用户直接执行响尾蛇组织投递的恶意文件   T1203(针对客户端执行的攻击) 响尾蛇组织利用CVE-2017-11882 持久化(Persistence) T1547.001(Run注册项/启动文件目录自启动) 响尾蛇组织使用的恶意文件使用注册表自启动项实现持久化 T1053.005(计划任务) 响尾蛇组织使用的恶意文件创建计划任务实现持久化 权限提升(Privilege Escalation) / / 防御规避(Dfense Evasion) T1027.009(混淆文件或信息:嵌入式有效负载) 响尾蛇组织使用多种加载器加载恶意载荷 T1574.002(劫持执行流程:DLL侧加载) 响尾蛇组织使用DLL侧加载,在正常软件中加载远控程序。 T1218.005(系统二进制代理执行:mshta) 响尾蛇组织使用系统白文件执行远程hta脚本文件。 T1036.007(扩展名伪装) 响尾蛇组织使用pdf结合lnk的后缀名将恶意文件伪装成pdf文档文件 凭证访问(Credential Access) / / 发现(Discovery) T1518.001(安全软件发现) 响尾蛇组织使用Windows服务 winmgmts:\.\root\SecurityCenter2 检查已安装的防病毒产品。 横向移动(Lateral Movement) / / 信息收集(Collection) T1074.002(数据阶段:本地数据暂存) 响尾蛇组织将收集到信息保存在.sif、.flc、.fls等文件中。 T1005(本地系统数据) 响尾蛇组织使用组件SystemAppRAT等窃取office文档及txt文件等 命令与控制(Command and Control) T1071.001(使用现有web协议进行命令传输) 响尾蛇组织常使用HTTPS进行通信 T1132.001(数据编码/标准编码) 响尾蛇组织常使用base64对通信数据进行编码 数据渗出(Exfiltration) T1041(通过C2通道) 响尾蛇组织使用C2通道渗出数据 影响(Impact) / / 6 参考链接 https://www.group-ib.com/blog/hunting-sidewinder/ https://www.group-ib.com/blog/sidewinder-antibot/ https://mp.weixin.qq.com/s/LaWE4R24D7og-d7sWvsGyg https://www.trendmicro.com/en_us/research/20/a/first-active-attack-exploiting-cve-2019-2215-found-on-google-play-linked-to-sidewinder-apt-group.html https://mp.weixin.qq.com/s/WzmRtSt20musYWOgAEUT1Q https://mp.weixin.qq.com/s/MZadlpXbpCfQAv41rtVm3A https://mp.weixin.qq.com/s/YOyfe4a0PcKET5YiLObW7g ...

    2023-08-20 303
  • 攻防演练 | 记一次打穿某车企全过程

    0x00 前言 本文介绍了笔者在某次攻防演练中,如何从外网渗透到某车企的内网的详细过程(为了保护敏感信息,所有数据都已经脱敏,有些截图也不完整,请见谅)。 这次网络攻防演练分为两个阶段一共十四天,前七天是私有资源阶段,后七天是公共资源池阶段。共有12支队伍参与比赛,我们公司全程只有两名选手参赛。由于公司从不提供一些辅助工具和人力资源,并且我俩近期连续参加了多场比赛,导致每次比赛后我俩都很内耗。 0x01 信息收集 裁判只给出了目标企业的名称,让我们自行寻找其他的信息,这是对我们资源差的队伍是一种考验。 幸运的是,笔者之前编写了一套信息收集的辅助脚本,现在可以派上大用场了。 首先,使用子公司收集脚本来搜索一级子公司。该脚本根据特定的条件和规则进行搜索,以获取与一级公司有50%的控股关系的子公司。然后,我们对这些一级子公司再次使用脚本进行搜索,以找到与它们有50%的控股关系的子公司。这个过程不断循环,直到没有符合条件的子公司为止,所以你看到下面最深达到了四级公司。 接下来,再用资产收集脚本对子公司收集脚本的ICP结果进行一系列的操作,该脚本包括子域名匹配、端口扫描、web路径搜索、服务识别等,最终结果会到了以下三个文件,其中ip文件可以交给灯塔去进行信息收集、url文件可以交给poc扫描器、详情文件可以在扫描poc的时候手工去寻找一些POC扫描器里面没有的漏洞(如弱口令,手动狗头)。 0x02 web打点 我先用poc扫描器(xray青春版,poc-bomber等开源作品)对资产收集的结果进行了一番扫描,结果没有发现一个可利用漏洞(人少公司也不提供些打点资源,怎么搞嘛,狗头保命)。没办法,只能老老实实手动地一个个分析哪些URL可能有惊喜了。在翻了一大堆无聊的页面后,我目光锁定在了一个url上,这url的title是XXConfluence当发现这个网站使用的是Confluence时,我想很多师傅们都知道该怎么做了。我立刻检测它是否存在RCE,经过一番尝试后,发现这个版本确实存在RCE,并且确认了服务器的操作系统是Linux。 接下来就把shell反弹到服务器上,发现已经拿到了无限制的shell访问权限。马上做了一个远程控制马并上传到目标服务器。MSF上线后我就查了一下网卡,发现这个服务器有个172.32.0.30的网卡,接着上传代理工具。 ...

    2023-08-14 273
  • 关于近期国内航空航天领域面临APT窃密攻击风险分析

    自2023年年初,深信服深瞻情报实验室监测到大量来自南亚地区的APT组织针对我国科研院所开展定向窃密攻击,其中航空航天领域成为其攻击核心,国内有关科研单位和高校相继受到攻击。通过深度参与事件调查,我们逐渐可以揭示出本轮攻击的模式与特征,以及潜藏在攻击活动背后的野心。 航空航天领域高速发展引来知识产权窃密风险 我国的航空航天事业自新中国成立以来就始终保持着高速发展的态势。近年来随着C919大飞机、天宫空间站、歼-20、神舟十六号载人航天等项目的顺利运行,我国在航空航天技术领域取得巨大突破,逐渐走在了世界前沿。然而高速发展带来的不止是荣誉,也伴随着一些负面问题,在竞争激烈的时代,窃取知识产权成为一种较低成本的快速追赶手段。 基于此,源自南亚地区的SideWinder(响尾蛇)、Bitter(蔓灵花)、Patchwork(白象)、Donot(肚脑虫)、CNC等APT组织闻风而动,开始在网络空间大肆活跃。为获取政策情报、军事秘密、科研进展、知识产权等数据,上述组织近年来持续对我国及南亚部分国家开展攻击,攻击范围包括政府部门、国防军工单位、科研院所等。 西工大遭受网络攻击以来,科研院所一直是APT攻击的重要目标,据监测,2023上半年受攻击的相关单位至少包括5所高级院校以及1所高级科研单位。 其中最引人注意的是CNC组织针对某学校的攻击事件。此次攻击自23年1月起筹划,定向针对某重点实验室实施窃密攻击。据历史披露,CNC组织2021年6月,就曾在我国神舟十二号载人飞船成功点火升空,与天和号核心舱对接之际,针对我国航空航天领域相关单位发起集中攻击。 本轮攻击的模式与特征 (一)伪装境外学术期刊钓鱼 历年来我们对印度APT组织的印象是广泛使用钓鱼邮件作为攻击入口,这些钓鱼邮件通常会蹭当下社会新闻热点,例如疫情话题,招聘话题等。而在近期CNC组织针对某学校的攻击活动中,攻击者结合目标的特点,使用了更加定向的投递方式,即仅向近期即将发表论文的作者发送“论文校对”或“论文确认”邮件,邮件内容除链接外,均与真实邮件完全相同。该特征在不同目标中多次出现,具有稳定性,攻击成功率极高。 具体来说,推测攻击者首先通过其他渠道,获得多个研究人员个人邮箱,监控其中的论文投递情况,当出现近期投递的论文,攻击者在适当的时间,模拟期刊方,仅向几位文章作者发送“论文校对”邮件,邮件包含该论文的编号、投递时间、在线发表地址等信息。 由于论文作者都密切关注其论文投递后的状态变更,且发件人刻意模仿期刊方,文章编号等这类保密信息真实,作者通常会无防备的点击该邮件中的链接,如下图红框所示,哪怕恶意超链接以明文形式展示,也会有受害者点击。同时,由于发送的校对邮件极真实,不排除国际上多个航空航天相关期刊的邮箱也遭到窃取,攻击者从此处获得某期刊论文校对邮件模板。 在CNC组织针对另一学校的攻击中,我们看到以“论文确认”为主题的钓鱼邮件,该论文同样为受害者近期在投的文章。 调查中,由于攻击者配置错误,我们在攻击者托管下阶段恶意样本分发的服务器中看到了其他期刊的相关载荷,如下表,充分印证了攻击者正积极采用这种手法进行攻击。 名称 组织 组织网站 Journalx_kjdb 科技导报 kjdb.org aippublishing 美国物理联合会出版社 publishing.aip.org aipscitation 美国物理联合会出版社 publishing.aip.org apcats2023 航空航天技术与科学亚太会议 apcats2023.org eg2.novatechset Nova Techset电子出版 novatechset.com hindawicentral Hindawi出版社 hindawi.com Journalx_yhxb 宇航学报 yhxb.org.cn sciencedirect sciencedirect期刊 sciencedirect.com asmesociety 美国机械工程师学会 asme.org sprintnature 施普林格·自然出版社 springernature.com   (二)伪装境外业内大牛钓鱼 除了“论文”主题外,攻击者还模仿领域内某位韩国知名教授,向航空航天相关专业的老师发送会议邀请函。邀请函正文从某个真正受到邀请的老师邮箱中获得,收到邮件的老师都熟识该教授,部分老师出于信任点击了恶意链接。 由于攻击者对邮件内容非常自信,攻击者近乎嚣张地与多名老师进行了近十轮的邮件交流而未被识破,交流中攻击者以“核对参会人信息”等方式,十分自然地发送携带恶意链接或附件的邮件使受害者中招。 (三)跨网段的U盘传播模式 攻击手段除安装各类文档窃密程序外,还投递了可通过U盘进行大范围传播的恶意样本,此类恶意样本通过不间断地监控目标主机是否有新的移动设备或存储设备接入,当检测到新的设备接入时,将自身复制到新设备中并进行伪装。此类样本不仅具有跨网段传播的功能,还下载后续阶段的其他样本进行驻留。这种意图跨越隔离网络,多种传播方式共用的方式,充分契合高校科研实验室网络架构。 恶意样本将自身复制到U盘后,伪装成图片,并取名为“私人图片.png”,引诱其他使用该U盘的受害者点击。在事件调查过程中,已经多次提醒注意不打开未知文件的情况下,仍有受害者出于好奇打开“私人图片”,使样本在内网进一步传播。   (四)高度定制化木马,明确的窃密目标 CNC组织针对高校的攻击手法如下图,经过多阶段的恶意程序下载释放,最终主机中会落地文档窃取程序。 攻击者通过钓鱼邮件成功攻陷主机后进行信息收集,后续对文档窃取程序进行定制化开发,窃取攻击者感兴趣的目标,例如在某校发现的样本中存在硬编码的最近文档路径,在另一发现的样本中存在硬编码的微信聊天文件路径和杂项路径。 攻击中使用的基础设施分析 对本轮针对航空航天领域攻击中使用的IP基础设施所属地理位置进行分析,其使用的C2地理位置集中在欧洲地区。 攻击者在后阶段样本中多次使用第三方平台github作为载荷和C2托管平台,“59degf”、“xerox211”、“kkrightjack”等账号接替出现。 “59degf”于2022年5月26日加入github,并且活跃到2022年8月,不排除后续继续使用。 其首先创建“stylefonts”仓库,并上传一份pip9.0.3的安装包进行伪装,接着上传多个文件,并将加密C2信息存储于其中。 其还会在该仓库中存放使用base64编码的载荷文件“jquery-img.css”,通过分析该载荷为GRAT2开源远控,且被用于历史活动。 其他的C2更新信息如下表。 时间 文件名 数据 2022.7.4 CustomLogktr56632404 menu-items#8080@Ulzc7AnSIBk7shxMu7bc+Z8PGYo= 2022.7.5 CustomLogktr56632404 background-color@8080:eJGipVAZxpwarQ4Rt+vXyg== 2022.7.5 CustomLogktr56632404 menu-items#8080@eJGipVAZxpwarQ4Rt+vXyg== 2022.7.5 CustomLog menu-items#8080@eJGipVAZxpwarQ4Rt+vXyg== 2022.7.5 CustomLog menu-items#8080@MoTyR1NbFGeJ7G7lhgos 2022.7.5 CustomLog1 menu-items#8080@MoTyR1NbFGeJ7G7lhgos 2022.8.4 License-rtm.txt 6ZBsOoSsfGBn4RVOdh49BhEBvX5tc18=(解密为https://94.140.115.232/) 2022.8.5 License-rtm.txt 6ZBsOoSsfGBv7AlRcxwiGRgDvX1seV/KybQNFZTCOGIm6JPNkdnI8Tl6Zv7A(解密为https://192.121.87.128/gtjuik75743.php?huyice) 另外,在分析的样本“e1d12807f017c8f827fe586a19b91f1f0903d0acbb693901762adfaab638f619”中提取出其通信的github URL为“https://raw.githubusercontent.com/59degf/charsets/main/fonts-store.txt”,并未发现其使用的charsets仓库,需持续观察。 “xerox211”于2022年9月28日加入github,并创建了仓库“service”,使用github存放加密的C2数据,当未获取到对应样本时无法对该数据解密。 2022年9月29日上传数据“21/3/231/347”(该数据格式暂不清楚)。 接着在2022年10月12日多次更新该数据。 将上述数据更新为"262/347/28/256”(该数据格式暂时不清楚),期间进行过多次格式调整。 接着在2022年11月4日将数据再次更新为“0x41,0x51,0x8d,0x3e,0x5e,0x70,0x21,0xc4,0x40,0xe5,0x7d,0xd6,0x7b,0x04,0x95,0x31,0xf0,0xc7,0xef”。 最终再次进行格式调整,将数据更新为“41518d3e5e7021c440e57dd67b049531f0c7ef”。 “kkrightjack”于2022年8月23日加入github,于2022年8月24日快速上传config.json文件后又在短时间内删除“msecnd-tray!8080$vH71iikBrM0YKkmpvugwHA==”。 2022年9月23日重新更新该数据为“msecnd-tray!8080$v5w0/D/EvtqeYBANF9Rrmg==”   附录:IoC IOC类型 IOC MD5 bffa445f8f99a05384c3a61b9eaabc2f ca7276e10fcf08ec118b7cdd4e191ae8 390f9430d01e499719e9a36af5489808 869d595bbc42335fcf27321b60421582 6c65f3eea8c6b85cfae319a85d39eb55 0d5554ffd44fb843e0f41dce571c78d5 9bba6c6eb20046e40e4c6bedff370614 3af8b5681908426e817f906ff0d08b6e ce3b254fc75fe4210aa509581ca42848 774f5270c753a8651e81a2886130908f 29bbb78c7a9873836d7e76198f9e1f6c 63944ca21aee1ea6f5cfed011c7173b0 040c572499115880acf1704cdf0c4aec f75ac8caca2e3b8f1becd26c7d6542d7 d3d227719260091b7bb58111f0b219fa 88b2e156b43b650705d895b595d59087 018bb9c176732dfc7879a6c3bca8e0aa 3a79ef175d63e504eb9442e64af12661 b1e792da3e146ebabc76219ffe2385a4 337899dc4fe9e74935678cf6fd067c31 ef6e329c6fb3eb2a93cabadd6798cd20 32fdd60c5366c924b3cceb95dadc4c2e 70f134f39ef48ea6f8be96bd05d299a2   ...

    2023-08-13 189

联系我们

在线咨询:点击这里给我发消息

QQ交流群:KirinBlog

工作日:8:00-23:00,节假日休息

扫码关注