【APT】Bitter APT组织针对巴基斯坦航空综合部门攻击活动分析
前言
蔓灵花(Bitter)是一个被广泛认为来自印度的APT组织,该组织长期针对我国及巴基斯坦的政府、军工、电力、核等部门发动网络攻击,窃取敏感数据,具有较强的政治背景。本次分享一个蔓灵花组织针对巴基斯坦“航空领域”的攻击活动样本。该样本使用名为“PAC Advisory Committee Report.doc”的诱饵文档进行攻击。并且使用一个处于失陷状态的巴基斯坦二手交易网站服务器来下发第二阶段载荷。
样本分析
初始样本是一个包含CVE-2018-0798漏洞的rtf文档,执行后会访问远程服务器并下载名为 “bd.msi” 的安装程序执行。远程服务器(sbss.com[.]pk)是一个巴基斯坦的二手交易网站,该网站疑似遭遇了入侵,属于失陷状态。
远程msi程序下载地址:“https://sbss[.]com.pk/gts/bd.msi”
msi程序执行后会根据安装路径释放一个名为 “Tlntslvclnt.exe” 的下载器:
样本执行后会首先从字符串资源中获取窗口名称(“NewProject_2.1”)与类名(“NEWPROJECT_21”),创建Windows窗口后通过自定义算法解密出回连C2(“subscribe.tomcruefrshsvc[.]com”)等字符串数据。
解密算法为异或运算:
创建工作目录:"C:\Users\admin\AppData\Local\Updates",如果当前目录下不存在 "systemlog" 文件,则表示当前是第一次运行。首次运行时样本会通过进程遍历检测是否存在 “avp” 和 “MsMp” 等杀软进程。
然后在系统启动菜单中创建 “update.lnk” 快捷方式文件,用于持久化。
该快捷方式最终会指向如下工作目录中的文件:“C:\Users\admin\AppData\Local\Updates\update.exe”
在工作目录中创建“systemlog”日志文件,写入字符串数据“aa”,然后将自身拷贝到工作目录重命名为“tmp.exe”,执行自拷贝文件后退出当前进程。
第二次执行:
获取系统名称、用户名、系统版本等敏感数据,按如下格式进行拼接:"计算机名&&user=用户名&&OsI=系统版本"
拷贝自身(“tmp.exe”)到工作目录(update.exe)用于持久化,然后循环获取C2对应IP地址,准备执行核心函数:
进入核心函数后首先与C2服务器进行通讯,URL参数中包含用户名、主机名、系统版本等信息。
URL:“/VcvNbtgRrPopqSD/SzWvcxuer/userlog.php”
检测服务器返回数据中是否包含由 “主机名+用户名” 组合而成的字符串。然后通过英文状态的单引号 '"' 从数据包中获取待下载后门程序的名称:
第二次回连C2服务器,获取后门程序。URL:“/VcvNbtgRrPopqSD/WqeC812CCvU/【后门名称】”
判断C2返回数据中是否包含 “ZxxZ” 字符串:
创建后门程序写入PE文件数据:
第三次回连C2服务器,返回成功标识。URL:“/VcvNbtgRrPopqSD/SzWvcxuer/sDeRcEwwQaAsSN.php?txt=DN-SZxxZ【后门名称】ZxxZ【主机名+用户名】”
第四次回连C2服务器, 根据后门程序执行状态,访问不同URL:“/VcvNbtgRrPopqSD/SzWvcxuer/sDeRcEwwQaAsSN.php?txt=SZxxZ【后门名称】ZxxZ【主机名+用户名】”
IOC
MD5:
bf1a905e11f4d44de8bd2e0a6f383ed5
2a8ebefc90feb991e3a1f31b0a61f265
cc7ddf9ed230ad4e060dfd0f32389efb
C2:
sbss.com[.]pk
http://sbss.com[.]pk/gts/bd.msi
https://sbss.com].]pk/gts/bd.msi
URL:
subscribe.tomcruefrshsvc[.]com
subscribe.tomcruefrshsvc[.]com/VcvNbtgRrPopqSD/SzWvcxuer/userlog.php
subscribe.tomcruefrshsvc[.]com/VcvNbtgRrPopqSD/WqeC812CCvU/【后门名称】
/VcvNbtgRrPopqSD/SzWvcxuer/sDeRcEwwQaAsSN.php?txt=DN-SZxxZ【后门名称】ZxxZ【主机名+用户名】
/VcvNbtgRrPopqSD/SzWvcxuer/sDeRcEwwQaAsSN.php?txt=SZxxZ【后门名称】ZxxZ【主机名+用户名】
/VcvNbtgRrPopqSD/SzWvcxuer/sDeRcEwwQaAsSN.php?txt=RN_EZxxZ【后门名称】ZxxZ【主机名+用户名】
【APT】Bitter APT组织针对巴基斯坦航空综合部门攻击活动分析的更多相关文章
- FireEye APT检测——APT业务占比过重,缺乏其他安全系统的查杀和修复功能
摘自:https://zhidao.baidu.com/question/1694626564301467468.html火眼,APT威胁下快速成长 FireEye的兴起开始于2012年,这时段正好迎 ...
- WAF——针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入、XSS跨站、Webshell上传、命令注入、非法HTTP协议请求、非授权文件访问等
核心概念 WAF Web应用防火墙(Web Application Firewall),简称WAF. Web攻击 针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入.XSS跨站.Websh ...
- 利用WPS 2012/2013 0day针对中国政府部门的定向攻击
今天早上,我们捕获到一个利用wps 2012/2013 0day针对中国政府部门的钓鱼邮件定向攻击事件. 邮件发件人以2014中国经济形势解析高层报告组委会 标题发出,附件为包含wps2012 0da ...
- 针对Web应用的【攻击模式篇】
攻击模式:主动攻击.被动攻击. 主动攻击是指攻击者通过直接访问Web应用,把攻击代码传入的攻击模式. 具有代表性的攻击:SQL注入攻击和OS命令注入攻击. 被动攻击是指利用圈套策略执行攻击代码的攻击模 ...
- 针对SSL/TLS的拒绝服务攻击以及使用ettercap进行DNS欺骗
一. thc-ssl-dos 1.简介 (1).SSL 协商加密对性能开销增加,大量握手请求会导致 DOS (2).利用 SSL secure Renegotiation 特性,在单一 TCP 连接中 ...
- 【转】针对Android上的ROP攻击剖析
引言 ROP(Return-oriented programming),即“返回导向编程技术”.其核心思想是在整个进程空间内现存的函数中寻找适合指令片断(gadget),并通过精心设计返回 ...
- 针对yarn的8088端口攻击
参考: https://www.wangbokun.com/%E8%BF%90%E7%BB%B4/2019/09/02/%E6%8C%96%E7%9F%BF%E7%97%85%E6%AF%92.htm ...
- [百家号]APT组织简介2019
5家新APT组织被披露,2019是“后起之秀”的天下? https://baijiahao.baidu.com/s?id=1621699899936470038&wfr=spider& ...
- APT组织跟踪与溯源
前言 在攻防演练中,高质量的蓝队报告往往需要溯源到攻击团队.国内黑产犯罪团伙.国外APT攻击. 红队现阶段对自己的信息保护的往往较好,根据以往溯源成功案例来看还是通过前端js获取用户ID信息.mysq ...
- 基于知识图谱的APT组织追踪治理
高级持续性威胁(APT)正日益成为针对政府和企业重要资产的不可忽视的网络空间重大威胁.由于APT攻击往往具有明确的攻击意图,并且其攻击手段具备极高的隐蔽性和潜伏性,传统的网络检测手段通常无法有效对其进 ...
随机推荐
- linux 安装简洁的 zsh
为什么要安装简洁的 zsh zsh 是 shell 中的佼佼者,但是网上配置 zsh的方案,千篇一律的都是配置的 oh-my-zsh,个人感觉非常臃肿,配置低的话,用起来还会非常卡. 安装 zsh 本 ...
- 00_learn_python
https://gitee.com/yooome/golang/tree/main 百度网盘资源搜索 http://www.panmeme.com/ You can use it to debug y ...
- [canvas]ncaught TypeError: Cannot read properties of null (reading 'getContext')
相信你和我一样是直接复制大佬的js代码(笑) ------------ 主要问题在于:js先加载完了,html才加载,导致js获取不了html的对象 解决办法: 把 <head /> ...
- Error:java: 无效的目标发行版: 9
今天碰到一个编译问题,起先以为是jdk版本问题,但是查看了下,发现版本没错. 顿时有一种怀疑人生的感觉. 然后网上找了许久,终于让我找到答案: 下面直接上解决方案: 将版本9改为8,保存,测试运行,可 ...
- 并发多线程学习(三)Java多线程入门类和接口
1 Thread类和Runnable接口 上一章我们了解了操作系统中多线程的基本概念.那么在Java中,我们是如何使用多线程的呢? 首先,我们需要有一个"线程"类.JDK提供了Th ...
- thirty-one
动态组件 动态切换组件的显示和隐藏 如何实现动态组件的渲染 vue提供了有一个内置的<component>组件,专门用来实现动态组件的渲染.示例代码如下: 使用keep-alive保持状态 ...
- yolo v7使用triton部署
https://github.com/WongKinYiu/yolov7/tree/main/deploy/triton-inference-server
- 远程过程调用失败0x800706be
今天用数据库突然发生了<远程过程调用失败0x800706be>,参考一下网站解决 https://www.cnblogs.com/guohenghai/p/3533091.html 今天在 ...
- uniapp 中获取微信小程序的原生导航栏高度
const custom = wx.getMenuButtonBoundingClientRect() // console.log(custom) that.yuansheng= custom.he ...
- Outlook怎么合并相同邮件?设置Outlook邮件为对话模式
选择View->勾选"Show as Conversations", 这样同一个标题的邮件就是叠在一块显示了. 不蟹,bro.