CIA泄露资料分析(黑客工具&技术)—Windows篇

背景

近期,维基解密曝光了一系列据称来自美国中央情报局(CIA)网络攻击活动的秘密文件,代号为“Vault 7”,被泄露文件的第一部分名为“Year Zero”,共有8761个文件,包含7818个网页和943份附件。

一、情报简介

Year Zero暴露了CIA全球窃听计划的方向和规模,还包括一个庞大的黑客工具库,该库包含的代码量过亿,赶超大型软件开发公司。这些黑客工具既有CIA自行开发的软件,也有据称是得到英国MI5(军情五处)协助开发的间谍程序,其中包括恶意软件、病毒、特洛伊木马、武器化的‘0day漏洞’、恶意软件远程控制系统及其相关文件等。网络攻击入侵活动对象包括微软、安卓、苹果iOS、OS X和Linux等操作系统和三星智能电视,甚至还包括车载智能系统和路由器等网络节点单元和智能设备。

本文重点剖析Windows平台下的攻击行为。

二、Windows平台下黑客技术与工具分析

Windows平台下的攻击技术与工具主要分为8种,分别为数据搜集、数据销毁、服务劫持、权限升级、内存隐藏、对抗分析、取证搜查以及其他杂项,架构如下:

(请右键另存上图,放大查看。)

它们借鉴当前比较流行的木马样本,旨在提供可以快速组合各种功能的解决方案,致力于开发简单且有效的攻击组合。

1.数据搜集(Data Collection Component)

a) Internet Explorer Password(浏览器密码)

通过直接读取用户注册表项下的关键值,获取IE密码相关信息。

b) 基于MicroSoft DirectX接口的键盘记录

通过调用包含DirectInput接口的dxd9.dll,用于获取键盘状态。

c) 基于MicroSoft API接口的键盘记录

通过SetWindowsHookEx函数注册一个关于WH_KEYBOARD&WH_KEYBOARD_LL的回调,并使用函数GetRawInputData、GetKeyboardState、GetAsynckeyboardState,获取用户输入的键盘指纹。

d) 摄像头监控

采用COM接口下DirectShow 和VFW(video for Windows)组件,获取设备数据流信息。

2.数据销毁(Data Destruction Component)

a) 木马采用来自一家叫Eldos的公司的正规适用程式签名驱动,产品名称为RawDisk,该产品的签名驱动允许激活分区的磁盘可写,使磁盘文件在锁定状态下也可以被删除,从而造成一定的恶劣影响。

3. 服务劫持(Persistent Component)

a) Image File Execution Optio(映像劫持),通过建立或者改写注册表键位Image File Execution Options有关执行文件的键值,从而导致程序在执行时发生异常行为。

b) OCI.DLL Service Persistence(OCI.dll服务),通过替换系统同名dll,使得系统在启动时加载恶意dll,并启动OCI网络服务,得到系统权限,但此服务停留于NetWork Service权限,可以访问网络资源。

c) Windows FAXdll注入,系统启动后,explorer主动加载此系统目录fxsst.dll,同名替换并使用LoadLibrary增加引用计数后,可以防止有效卸载,并以此可以过掉UAC。

d) TLS表,修改Windows PE文件,添加TLS表,在回调表中加载其他DLL代码,可以有效实施其他恶意行为。

4. 权限升级(Privilege Escalation Component)

a) Elevated COM Object UAC ByPass,采用COM对象接口获取高权限的Explorer进程,编写DLL代码,实现创建com对象接口执行文件删除操作,并注入到所有explorer进程中,判断删除操作是否成功,由此判定当前进程是否为高权限。

b) Sticky Key Process Launch(劫持粘连键),使用映像劫持的方法,替换启动粘连键的热键程序。

c) Sysprep UAC,基于白名单的方式,复制恶意DLL至sysprep目录中,并启动sysprep程序,加载恶意DLL获得高权限。

d) Windows File Protection ByPass Using SFC,使用SFC组件过掉Windows文件保护机制,通用系统目录下的sfc_oc.dll的函数接口暂时禁用文件保护系统,允许直接替换系统文件,从而实施恶意操作。

5.内存隐藏(Stealth Component)

a) Remote DLL Injection via Reflection(DLL反射注入),通过DLL反射机制,将特制的DLL插入到远程线程中,并使其自行加载,实施恶意行为。

b) Process Hollowing Implementation(进程替换),以挂起线程的方式启动程序,并在线程恢复前替换可执行文件的内容空间。

c) Process Injection Using SetWindowsLong,使用此函数的回调函数创建远程线程,实现DLL注入。

d) Dll Memory Loading With Exception Support,内存加载DLL,加载一个DLL到当前进程中,并将新DLL加入反转函数表以支持SHE异常处理,并在此过程中实现恶意行为。

e) Code Injection using ZwContinue, 挂钩进程中的此函数,在线程获得执行权限前实现DLL注入。

f) DLL Hide(DLL隐藏),复制DLL数据,减少计数引用,释放DLL的内存空间,重新申请原地址空间并复制DLL数据至此,从而实现DLL隐藏。

6.对抗分析(PSP/Debugger/RE Avoidance Component)

a) Anti-Sanboxing,对抗沙盒检测,等待用户鼠标点击事件的发生

b) APIObfuscation Using Hash,使用函数名称加密字符串静态解密函数地址,匹配每一个导出函数名称。

c) Disable System Tray Popups,禁用系统托盘的重绘消息,用于阻止其他程序弹出的提示。

7.调查分析(Survey Component)

a) NetBIOS MAC Enumeration,找到每一个适配器的MAC地址。

b) File/Registry Change Notification,监控文件与注册表的修改。

8.其他杂项(Miscellaneous)

a) Blind File Handle Enumeration,文件句柄的暴力枚举,测试每一个可能的文件句柄值,判断是否为Windows 文件句柄,并标示其是否为有效映射且进程可以被注入。

三、安全建议

随着CIA数据的逐步泄露,越来越多的黑客工具和技术将被坏人利用,各种新型木马病毒将会逐步面世,IT安全建议大家:

1. 不要从小网站下载软件

小网站是黑客传播恶意软件的最大渠道,各种破解软件、注册机都是木马病毒的温床,一旦下载运行就会导致机器感染木马病毒, 最终导致数据泄露。

为防止公司和个人的敏感数据泄露,请到正规网站下载软件!

2. 不要打开来历不明的外网邮件(Internet mail)

钓鱼邮件是坏人入侵内网的常用途径,IT安全团队一直奋斗在对抗恶意邮件的第一线,每日屏蔽来自外网的恶意邮件10w+封,恶意邮件拦截率达到99.9%+。

为防止漏拦截恶意邮件进入内网,造成PC感染木马病毒,请大家不要打开来历不明的邮件,如无法确认邮件安全性,请联系8000协助。

3. 不要访问安全性不明的网站

网站挂马是黑客常用的伎俩,黑客入侵安全防护措施不足的网站系统,将各类下载链接替换为木马病毒,当用户访问网站时,会误把木马病毒下载到本地并运行。

为了保护公司和个人的信息安全,请勿访问安全性不明的网站,当出现“IT安全提醒:此网站禁止访问”或“电脑管家提醒:此网站存在风险”,请及时终止访问!

参考资料

https://wikileaks.org/ciav7p1/cms/page_2621753.html#

相关推荐

一篇文章带你看懂Cloudflare信息泄露事件

MySQL成勒索新目标,数据服务基线安全问题迫在眉睫

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

徐耀的专栏

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏liuchengxu

用 Parity 发送 ERC20 Token

Parity 是以太坊的 Rust 实现,它也内置了一个钱包。用过 Parity 的人都知道,用它发送 ETH 非常简单,点几下就行。但是可能不少人还不知道如何...

1024
来自专栏区块链入门

【链安科技】无限授权转账漏洞

Lightcoin 合约的 transferFrom() 函数,即授权转账函数,在执行完转账后本该修改授权金额,减去已转出部分金额。但这一步骤中把这授权账户地址...

562
来自专栏深入浅出区块链技术

如何搭建以太坊私有链

在开发以太坊时,很多时候需要搭建一条以太坊私有链,通过本文一起看看如何在Mac上进行搭建。

973
来自专栏醒者呆

【精解】EOS智能合约演练

EOS,智能合约,abi,wasm,cleos,eosiocpp,开发调试,钱包,账户,签名权限 热身 本文旨在针对EOS智能合约进行一个完整的实操演练,...

6516
来自专栏华仔的技术笔记

部署一个私链以太坊的智能合约

3883
来自专栏区块链

从"什么是区块链"到一个小时内构建区块链

区块链是记录的数字账本, 以称作区块的块状数据排列. 这些区块随后通过称为哈希函数的加密验证相互链接.这些区块连在一起形成一个连续的链 - 区块链.

44610
来自专栏比原链

Bytom资产发行与部署合约教程

Gitee地址:https://gitee.com/BytomBlockchain/bytom

1404
来自专栏区块链大本营

千万别惹牛人!小哥被盗22元后,整出了这篇以太坊钱包安全攻略,黑客看完得哭了...

对于区块链动辄几十万行的代码量,安全漏洞时不时就冒出来。敏锐的黑客们,虎视眈眈地盯着漏洞的闸门,一旦看见开闸,便以迅雷不及掩耳的速度展开偷袭。

922
来自专栏区块链技术专栏

EOS Cleos 命令使用指南

cleos包含所有命令的文档。有关cleos已知的所有命令的列表,只需简单地运行它,不带任何参数:

1.8K10
来自专栏CDA数据分析师

你的第一个智能合约「Hello World」,好像也不是很智能

在看过 我花了 99 个以太坊(Ethereum)来学智能合约开发(http://davidfnck.com/blockchain/ethereum-smart...

1132

扫码关注云+社区