{
	"id": "fa795e22-0289-4cf6-a77c-e1707def62c6",
	"created_at": "2026-04-06T00:11:39.836186Z",
	"updated_at": "2026-04-10T03:29:58.253576Z",
	"deleted_at": null,
	"sha1_hash": "6880bb2fe97cb8de3aeb26b2479fc7464b8942b2",
	"title": "APT Group系列——Darkhotel之窃密与RAT篇 – 绿盟科技技术博客",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 957069,
	"plain_text": "APT Group系列——Darkhotel之窃密与RAT篇 – 绿盟科技技术博\r\n客\r\nBy Meet The Author\r\nPublished: 2020-09-08 · Archived: 2026-04-05 17:12:28 UTC\r\n阅读： 2,452\r\n一、手法简述\r\nDarkhotel使用过的RAT与窃密工具类型多种多样。作为攻击链的末端，这些程序复杂性不一，其通信协议\r\n随着时间推移变化较大，使用的通信加密算法方式也没有统一标准，迭代较快。有的组件的行为丰富多\r\n样，甚至不惜安装驱动来达到目的，而组件功能相对更简单，主要进行文件与执行相关操作。\r\n二、窃密组件Nemim\r\n2.1 功能性质\r\n2014年，Darkhotel使用了一类针对Windows XP用户的Nemim窃密组件，在搜集用户系统信息的同时，还\r\n会加载驱动以记录用户击键内容，写入本地文件。\r\n2.2 安装驱动\r\n若当前系统为Win9X、XP或2000，该组件会在当前目录下释放ndiskpro.inf文件以安装驱动。\r\n对于Vista及更高版的Windows，组件将释放键盘记录驱动至C:\\Windows\\system32\\drivers，并注册为系统\r\n级设备驱动：\r\nHKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Ndiskpro\r\n然而之后相关线程就退出了，无法搜集任何信息，故此次事件中针对的是较低Windows版本的使用者。\r\n2.3 收集系统信息\r\n该组件会在当前目录生成日志文件，来加密保存搜集的信息，文件后缀为tmp，名称为”ffffz”加上时间\r\n戳。每次写日志时，若当前时间距当前时间超过1小时，则以新的时间戳为名称创建新的日志文件。\r\n收集的信息分为两类，首先是只收集一次的内容，包括进程信息和用户正在操作的窗口信息。\r\n1.收集进程的模块路径、PID和所属用户名。\r\n2.访问下方注册表路径，以搜集安装程序的名称、版本号、发布者和安装目录：\r\nhttp://blog.nsfocus.net/darkhotel-3-0908/\r\nPage 1 of 18\n\nHKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\r\n搜集后信息在未加密时内容如下例所示：\r\n其次是持续收集的内容，包括击键信息和顶层窗口信息，并记录时间。\r\n首先是当前顶层窗口的标题、PID和模块路径，若顶层窗口为IE浏览器，则获取其输入栏文本，以记录用\r\n户浏览的网址。\r\n持续收集的内容还包括用户击键信息，通过安装的驱动组件收集。该组件首先向驱动设备发送控制码\r\n0x220004以清空驱动的击键信息内存，接着持续发送控制码0x220000来收集击键内容，解析后写入日志\r\n并加密。\r\n2.4 Rootkit收集击键内容\r\nDarkhotel的驱动组件设置了I/O读写断点，并Hook了int 0x1的中断处理回调和IofCallDriver，从而获取到\r\nPS/2键盘和USB键盘的击键信息。\r\n2.4.1 获得PS/2键盘击键内容\r\n该驱动则按CPU个数创建定时器，并设置DPC回调。\r\n在DPC回调中，该驱动将键盘读写端口0x60和0x64分别写入dr0和dr1寄存器，并将dr7的对应位改为二进\r\n制10，以设置I/O硬件读写断点。同时为了防止断点在任务切换时失效，驱动设置了dr7的GD位，使得任\r\n何访问或修改调试寄存器的操作都会触发1号中断。\r\nhttp://blog.nsfocus.net/darkhotel-3-0908/\r\nPage 2 of 18\n\n接着将1号中断处理函数改为自己的函数。当I/O读写命中硬件断点时，会触发单步调试异常，从而进入1\r\n号中断回调函数。\r\n在1号中断Hook函数中，检查当前异常是否由读写调试寄存器触发，若为写操作则重置调试寄存器为初始\r\n断点状态，防止I/O断点因任务切换而失效。\r\n若该函数由I/O断点触发而进入，则获取触发异常的I/O指令。由于含立即数和不含立即数的I/O指令长度\r\n不同，需减去对应长度来获取到I/O指令的首地址。\r\nhttp://blog.nsfocus.net/darkhotel-3-0908/\r\nPage 3 of 18\n\n设置回传的内容，包括：\r\n1. 键盘码或状态码\r\n2. I/O指令第一个字节\r\n3. I/O端口号\r\n4. 读写标志，0代表读端口，1代表写端口\r\n5. I/O指令汇编字符串（其OUT指令写法存在错误）\r\nhttp://blog.nsfocus.net/darkhotel-3-0908/\r\nPage 4 of 18\n\n2.4.2 获得Hid-USB键盘击键内容\r\n驱动对IofCallDriver做了内联Hook，先调用Hook函数，再调用原始IofCallDriver。在Hook函数中，过滤出\r\n所属驱动名为”\\Driver\\usbhub”的USB设备，并将新遇到的Hid-USB设备保存在列表中。\r\n同时，驱动开启一个线程，持续遍历加入列表的所有设备，通过函数is_keyboard_report_des_exist判断该\r\n设备是否为USB键盘设备，若是则设置其USB标志为1。\r\nhttp://blog.nsfocus.net/darkhotel-3-0908/\r\nPage 5 of 18\n\n对于列表中的每个设备，该驱动特制一个内部IRP并传入URB来获得USB接口的报告描述，以检查该设备\r\n是否属于USB键盘。内部IRP为IRP_MJ_INTERNAL_DEVICE_CONTROL，功能码为\r\nIOCTL_INTERNAL_USB_SUBMIT_URB。Hook的IofCallDriver遇到该内部自制IRP会率先返回，把数据\r\n交给原始IofCallDriver去处理。\r\n驱动为列表中的当前设备创建内部IRP，而IofCallDriver的Hook函数则会过滤驱动名称并检查自制IRP：\r\nhttp://blog.nsfocus.net/darkhotel-3-0908/\r\nPage 6 of 18\n\n接着程序检查获得的报告描述是否为键盘相关：\r\n此后，当Hook的IofCallDriver函数再次遇到某USB设备时，则在列表中查找其属性，\r\n若为Hid-USB键盘，则设置自己的完成过程函数，并在函数中将获取的击键信息回传至用户层组件。\r\n驱动在MJ_DEVICE_CONTROL回调中接收用户态组件下发的控制码。如前文所述，若控制码为\r\n0x220000，则将收集的击键信息回传至用户态组件。若控制码为0x220004，则清空对应缓存。\r\n三、凭据窃密组件\r\n3.1 功能\r\n该组件由WinRar SFX自解压文件释放并运行，会窃取知名浏览器、本地邮件客户端、通讯工具的凭据，\r\n回传到C\u0026C。\r\n3.2 收集系统基本信息\r\n收集计算机名称、用户名、本机IP、MAC地址及其Hash。\r\n访问注册表，收集CPU信息、计算机语言和操作系统名称版本。\r\n这里的收集方式与Karba下载器非常相似。\r\nHKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0\\\r\nProcessorNameString\r\nIdentifier\r\nHKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Nls\\Language\\InstallLanguage\r\nHKEY_LOCAL_MACHINE\\SOFTWARE\\MICROSOFT\\WINDOWS NT\\CurrentVersion\\\r\nCSDVersion\r\nProductName\r\nCurrentVersion\r\n这些信息随后被格式并进行加密和Base64编码。\r\nhttp://blog.nsfocus.net/darkhotel-3-0908/\r\nPage 7 of 18\n\n3.3 盗窃各类凭据\r\n以版本为7及以上的IE浏览器为例，该组件使用COM组件的IUrlHistoryStg2接口获得其浏览器历史记录中\r\n各个域名。\r\n之后访问如下注册表路径：\r\nHKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\IntelliForms\\Storage2\r\n此处加密保存了自动填写的网站口令，需要借助对应URL来解密。\r\n考虑到用户可能删除历史记录，导致当前历史记录中缺少某些URL，故该组件在获取当前历史记录的同\r\n时，还自备了一批网站列表，如下所示：\r\nhttp://twitter.com\r\nhttp://facebook.com\r\nhttp://passport.yandex.ru/passport\r\nhttp://www.yandex.ru\r\nhttp://qip.ru\r\nhttp://mail.qip.ru\r\nhttps://login.nifty.com/service/login\r\nhttp://e.mail.ru/cgi-bin/login\r\nhttp://mail.ru\r\nhttp://mail.126.com\r\nhttp://blog.nsfocus.net/darkhotel-3-0908/\r\nPage 8 of 18\n\nhttp://secure.zapak.com/mail/zapakmail.php\r\nhttps://lavabit.com/apps/webmail/src/login.php\r\nhttp://www.bigstring.com\r\nhttp://www.gmx.com\r\nhttp://passport.sohu.com/indexaction.action\r\nhttp://www.sohu.com\r\nhttps://www.zoho.com/login.html\r\nhttp://mail.sina.com.cn\r\nhttp://members.sina.com/index.php\r\nhttp://www.care2.com/passport/login.html\r\nhttp://www.mail.com/int\r\nhttps://fastmail.fm/mail\r\nhttps://www.inbox.com/login.aspx\r\nhttp://www.gawab.com\r\nhttp://mail.163.com\r\nhttp://registration.lycos.com/login.php\r\nhttp://www.mail.lycos.com\r\nhttps://my.screenname.aol.com/_cqr/login/login.psp\r\nhttps://edit.bjs.yahoo.com/config/login\r\nhttps://login.yahoo.co.jp/config/login\r\nhttps://login.yahoo.com/config/login_verify2\r\nhttps://login.live.com/login.srf\r\nhttps://www.google.com/accounts/servicelogin\r\n可见，其中除了一些国际知名网站外，还包括国内的网易、搜狐和新浪相关站点，可见其攻击目标包含\r\n中国。\r\n对于谷歌浏览器，该组件首先访问目录…\\AppData\\Local\\Google\\Chrome\\Application，在该目录下找到如\r\n下图所示目录来确定版本号。\r\nhttp://blog.nsfocus.net/darkhotel-3-0908/\r\nPage 9 of 18\n\n该组件根据不同版本访问谷歌浏览器的sqlite数据库，解密得到自动登录账号。\r\n6.0及其以上 \\Google\\Chrome\\User Data\\Default\\Login Data\r\n6.0以下 \\Google\\Chrome\\User Data\\Default\\Web Data\r\n此外，该组件还收集以下客户端的凭据：\r\n火狐浏览器\r\nOutlook\r\nWindows Mail\r\nWindows Live Mail\r\nMSN\r\nGmail\r\nGoogle Desktop\r\nGoogle Talk\r\n3.4 收集近期文件和安装软件信息\r\n该组件会遍历Windows Recent目录和C:\\Program Files目录，以收集用户近期处理文件和常用软件信息。组\r\n件对自制的命令行进行解析，其中ddir便代表遍历目录。\r\n获取的内容包括命令行、当前时间、文件创建时间、文件大小和文件名。\r\nhttp://blog.nsfocus.net/darkhotel-3-0908/\r\nPage 10 of 18\n\n此外，该组件还收集主机上的文档文件，并在通信第二阶段上传到C\u0026C。涉及类型包括：\r\ndoc, docx, xls, xlsx, ppt, pptx, gul, eml, pdf, ktx, ifa, if3, rtf\r\n3.5 与C\u0026C的通信\r\n组件连接C\u0026C，将收集的信息发回C\u0026C，分两个阶段。\r\n第一阶段，向C\u0026C回传收集的系统版本信息，使用分号分割。第二阶段，回传之前获得的最近文件、软\r\n件目录和窃取的凭据内容，均经过加密和编码。\r\n格式如下：\r\nhttp://blog.nsfocus.net/darkhotel-3-0908/\r\nPage 11 of 18\n\n之后连接C\u0026C回传数据，返回的HTTP内容需包含字符串“minmei”方可有效，否则继续连接C\u0026C。对每个\r\nC\u0026C发起最多3次连接，若均失败则更换新的C\u0026C。\r\n四、RAT 2015\r\n4.1 功能性质\r\n该RAT组件与C\u0026C通信，并根据C\u0026C指令执行信息搜集、文件、进程等操作。\r\n4.2 环境检测\r\n2015年的Darkhotel最终载荷显示出极强的针对性，会检测用户名，若为以下用户，则不会执行后续流\r\n程：\r\nantonie\r\nAntony\r\njanettedoe\r\nmakrorechner\r\nDave\r\nHanuele Baser\r\nAdministrator\r\nUser\r\n4.3 C\u0026C指令\r\n该组件与C\u0026C的通信指令如下：\r\nhttp://blog.nsfocus.net/darkhotel-3-0908/\r\nPage 12 of 18\n\n值得一提的是，以上通讯均通过Dropbox Api完成，与APT37的组件类似。C\u0026C下发内容均经过LZNT1压\r\n缩并使用3DES加密。数据上传前同样经过LZNT1压缩，与xor加密。\r\n此外，该组件会下载执行升级版或其他程序。\r\n五、RAT kbxxxxUpd.dll\r\n5.1 功能性质\r\n该DLL由攻击者使用的lnk社工文件释放的下载器下载得来，属于最终阶段RAT程序，会与C\u0026C进行加密\r\n通信，并根据C\u0026C指令执行文件、进程、注册表操作。\r\n该RAT与前文所述2015年的RAT有相似之处，但通信协议变化较大。\r\n5.2 初始化\r\n该dll程序的主要运行参数通过读取解密配置信息得到。配置信息可能保存在程序二进制文件的\r\n0x1DCC8~0x1E270位置处，或是程序运行目录下长度为0x5A8的文件内（可由dll程序与C\u0026C通信获\r\n得）。\r\n配置信息内容包括：\r\nC\u0026C域名和请求路径\r\n缓存文件保存位置\r\n二进制文件保存名称\r\n加密后的通信键等\r\n随后，程序使用异或算法，对配置信息再次解密后从中中获取C\u0026C地址并尝试连接：\r\n5.3 加密通信\r\n木马通过使用windows api与自制的包结构实现与C\u0026C的加密通信。\r\n原始流量包使用异或加密，异或键为首字节：\r\n异或解密后，使用数据部分的指定参数进行第二次解密：\r\nhttp://blog.nsfocus.net/darkhotel-3-0908/\r\nPage 13 of 18\n\n第二次解密流程如下：\r\n1. 使用sha1算法，将8字节硬编码数值07 8F 63 D4 60 39 74 EB转换为hashkey;\r\n2. 使用3DES算法，由hashkey生成第一个解密键dec_key_1st;\r\n3. 使用RSA算法和解密键dec_key_1st，将600字节原始数据（由[encrypt type]指定来源）解密后得到\r\n第二个解密键dec_key_2nd;\r\n4. 使用RSA算法和解密键dec_key_2nd，将加密流量中140字节[encrypt key]解密后得到最终的解密键\r\ndec_key_final;\r\n5. 使用[encrypt type]指定的算法、[encrypt  IV]指定的IV值和解密键dec_key_final，对[encrypt data]进\r\n行解密。\r\n[encrypt type]字段的值与含义如下：\r\n第二次解密完毕后，程序缓存解密后信息，根据命令的不同可能保存在三个位置：\r\n配置文件指定的目录\r\n命令指定的目录\r\n程序原始目录\r\n5.4 C\u0026C指令\r\n程序读取解密后[encrypt data]中的值，执行其所代表的命令。\r\n每一条命令都分为两个部分，cmdcode与cmdbuf，对应的各指令作用如下：\r\n[主指令]-cmdcode\r\n当cmdcode满足001??00的二进制序列形式时，程序进一步将cmdbuf解析为cmdkey-content的字典序列，通\r\n过cmdkey的值执行对应的扩展功能：\r\n[扩展指令]-cmdkey\r\nhttp://blog.nsfocus.net/darkhotel-3-0908/\r\nPage 14 of 18\n\n六、RAT 2018\r\n2018年，Darkhotel使用RAT针对我国贸易高管展开定向攻击。\r\n6.1 持久性\r\nRAT首先将自身复制至以下路径：\r\nC:\\Users\\%USER%\\AppData\\Roaming\\Microsoft\\Windows\\Templates\\mscleaner.exe\r\n之后通过powershell命令设置定时任务，启动复制后的样本。\r\nhttp://blog.nsfocus.net/darkhotel-3-0908/\r\nPage 15 of 18\n\n样本启动后，注册定时器并在定时事件的回调函数中实现与C2的通信功能，通过触发定时事件调用事件\r\n回调函数实现与C2的定期通信。\r\n6.2 C\u0026C通信与指令\r\n步骤1，该RAT向C\u0026C发送命令请求，使用HTTP协议向C2发送请求，方法为GET, URL为/maro[数\r\n字]/article//[MAC地址]/article_service.html。\r\nhttp://blog.nsfocus.net/darkhotel-3-0908/\r\nPage 16 of 18\n\n步骤2，RAT向C\u0026C发送握手信息。方法为POST，URL为/maro[数字]/live[数字].php，内容为\r\ntitle=111\u0026dirname=[MAC地址的base64编码]\r\n步骤3，之后接收并解析C2下发的命令，命令格式如下：\r\n??[命令]##[参数1]\u0026\u0026[参数2]%%[参数3]@@\r\n指令种类如下：\r\n步骤四，命令执行完成后，使用与同样方法再次向C2发送握手信息。\r\n在捕获到的变种中，在执行完原版的通信步骤之外，样本会继续向C2发送消息。其格式与步骤2、4类\r\n似，在’title’与’dirname’的字段基础上，新增加了‘value’字段；该字段使用统一的公钥加密。\r\n七、总结\r\nDarkhotel的窃密组件与RAT工具经过攻击链层层下载和释放得到，手法已经非常成熟老练。某些工具对操\r\n作系统版本或用户名有着特殊要求，有着明显的定向性。这些工具不断在通信、加密、行为上不断迭代\r\n更新，几乎每一年都会出现新版本或完全迥异的版本，反映出Darkhotel在满足自身需求和提升组织识别\r\n难度方面一直在不断地挥力，对安全从业人员提出了新的要求。\r\nhttp://blog.nsfocus.net/darkhotel-3-0908/\r\nPage 17 of 18\n\nSource: http://blog.nsfocus.net/darkhotel-3-0908/\r\nhttp://blog.nsfocus.net/darkhotel-3-0908/\r\nPage 18 of 18",
	"extraction_quality": 1,
	"language": "ZH",
	"sources": [
		"Malpedia"
	],
	"references": [
		"http://blog.nsfocus.net/darkhotel-3-0908/"
	],
	"report_names": [
		"darkhotel-3-0908"
	],
	"threat_actors": [
		{
			"id": "1dadf04e-d725-426f-9f6c-08c5be7da159",
			"created_at": "2022-10-25T15:50:23.624538Z",
			"updated_at": "2026-04-10T02:00:05.286895Z",
			"deleted_at": null,
			"main_name": "Darkhotel",
			"aliases": [
				"Darkhotel",
				"DUBNIUM",
				"Zigzag Hail"
			],
			"source_name": "MITRE:Darkhotel",
			"tools": null,
			"source_id": "MITRE",
			"reports": null
		},
		{
			"id": "6f30fd35-b1c9-43c4-9137-2f61cd5f031e",
			"created_at": "2025-08-07T02:03:25.082908Z",
			"updated_at": "2026-04-10T02:00:03.744649Z",
			"deleted_at": null,
			"main_name": "NICKEL FOXCROFT",
			"aliases": [
				"APT37 ",
				"ATK4 ",
				"Group 123 ",
				"InkySquid ",
				"Moldy Pisces ",
				"Operation Daybreak ",
				"Operaton Erebus ",
				"RICOCHET CHOLLIMA ",
				"Reaper ",
				"ScarCruft ",
				"TA-RedAnt ",
				"Venus 121 "
			],
			"source_name": "Secureworks:NICKEL FOXCROFT",
			"tools": [
				"Bluelight",
				"Chinotto",
				"GOLDBACKDOOR",
				"KevDroid",
				"KoSpy",
				"PoorWeb",
				"ROKRAT",
				"final1stpy"
			],
			"source_id": "Secureworks",
			"reports": null
		},
		{
			"id": "bbe36874-34b7-4bfb-b38b-84a00b07042e",
			"created_at": "2022-10-25T15:50:23.375277Z",
			"updated_at": "2026-04-10T02:00:05.327922Z",
			"deleted_at": null,
			"main_name": "APT37",
			"aliases": [
				"APT37",
				"InkySquid",
				"ScarCruft",
				"Group123",
				"TEMP.Reaper",
				"Ricochet Chollima"
			],
			"source_name": "MITRE:APT37",
			"tools": [
				"BLUELIGHT",
				"CORALDECK",
				"KARAE",
				"SLOWDRIFT",
				"ROKRAT",
				"SHUTTERSPEED",
				"POORAIM",
				"HAPPYWORK",
				"Final1stspy",
				"Cobalt Strike",
				"NavRAT",
				"DOGCALL",
				"WINERACK"
			],
			"source_id": "MITRE",
			"reports": null
		},
		{
			"id": "552ff939-52c3-421b-b6c9-749cbc21a794",
			"created_at": "2023-01-06T13:46:38.742547Z",
			"updated_at": "2026-04-10T02:00:03.08515Z",
			"deleted_at": null,
			"main_name": "APT37",
			"aliases": [
				"Operation Daybreak",
				"Red Eyes",
				"ScarCruft",
				"G0067",
				"Group123",
				"Reaper Group",
				"Ricochet Chollima",
				"ATK4",
				"APT 37",
				"Operation Erebus",
				"Moldy Pisces",
				"APT-C-28",
				"Group 123",
				"InkySquid",
				"Venus 121"
			],
			"source_name": "MISPGALAXY:APT37",
			"tools": [],
			"source_id": "MISPGALAXY",
			"reports": null
		},
		{
			"id": "b13c19d6-247d-47ba-86ba-15a94accc179",
			"created_at": "2024-05-01T02:03:08.149923Z",
			"updated_at": "2026-04-10T02:00:03.763147Z",
			"deleted_at": null,
			"main_name": "TUNGSTEN BRIDGE",
			"aliases": [
				"APT-C-06 ",
				"ATK52 ",
				"CTG-1948 ",
				"DUBNIUM ",
				"DarkHotel ",
				"Fallout Team ",
				"Shadow Crane ",
				"Zigzag Hail "
			],
			"source_name": "Secureworks:TUNGSTEN BRIDGE",
			"tools": [
				"Nemim",
				"Tapaoux"
			],
			"source_id": "Secureworks",
			"reports": null
		},
		{
			"id": "2b4eec94-7672-4bee-acb2-b857d0d26d12",
			"created_at": "2023-01-06T13:46:38.272109Z",
			"updated_at": "2026-04-10T02:00:02.906089Z",
			"deleted_at": null,
			"main_name": "DarkHotel",
			"aliases": [
				"T-APT-02",
				"Nemim",
				"Nemin",
				"Shadow Crane",
				"G0012",
				"DUBNIUM",
				"Karba",
				"APT-C-06",
				"SIG25",
				"TUNGSTEN BRIDGE",
				"Zigzag Hail",
				"Fallout Team",
				"Luder",
				"Tapaoux",
				"ATK52"
			],
			"source_name": "MISPGALAXY:DarkHotel",
			"tools": [],
			"source_id": "MISPGALAXY",
			"reports": null
		},
		{
			"id": "c0cedde3-5a9b-430f-9b77-e6568307205e",
			"created_at": "2022-10-25T16:07:23.528994Z",
			"updated_at": "2026-04-10T02:00:04.642473Z",
			"deleted_at": null,
			"main_name": "DarkHotel",
			"aliases": [
				"APT-C-06",
				"ATK 52",
				"CTG-1948",
				"Dubnium",
				"Fallout Team",
				"G0012",
				"G0126",
				"Higaisa",
				"Luder",
				"Operation DarkHotel",
				"Operation Daybreak",
				"Operation Inexsmar",
				"Operation PowerFall",
				"Operation The Gh0st Remains the Same",
				"Purple Pygmy",
				"SIG25",
				"Shadow Crane",
				"T-APT-02",
				"TieOnJoe",
				"Tungsten Bridge",
				"Zigzag Hail"
			],
			"source_name": "ETDA:DarkHotel",
			"tools": [
				"Asruex",
				"DarkHotel",
				"DmaUp3.exe",
				"GreezeBackdoor",
				"Karba",
				"Nemain",
				"Nemim",
				"Ramsay",
				"Retro",
				"Tapaoux",
				"Trojan.Win32.Karba.e",
				"Virus.Win32.Pioneer.dx",
				"igfxext.exe",
				"msieckc.exe"
			],
			"source_id": "ETDA",
			"reports": null
		}
	],
	"ts_created_at": 1775434299,
	"ts_updated_at": 1775791798,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/6880bb2fe97cb8de3aeb26b2479fc7464b8942b2.pdf",
		"text": "https://archive.orkl.eu/6880bb2fe97cb8de3aeb26b2479fc7464b8942b2.txt",
		"img": "https://archive.orkl.eu/6880bb2fe97cb8de3aeb26b2479fc7464b8942b2.jpg"
	}
}