-
-
[翻译]EmbedExeLnk - 在LNK内嵌入EXE并自动执行
-
发表于:
2022-2-10 11:00
6108
-
[翻译]EmbedExeLnk - 在LNK内嵌入EXE并自动执行
翻译
原文地址:https://www.x86matthew.com/view_post?id=embed_exe_lnk
功能:在LNK内嵌入EXE并自动执行
我已经在自然环境下看到了各种恶意的LNK文件。这些链接文件通常执行一个脚本(Powershell、VBScript等),下载一个外部payload。
我给自己设定的挑战是创建一个内嵌EXE文件的LNK文件,而不需要外部下载。
这是通过创建一个LNK文件来实现的,EXE文件被附加到最后。LNK文件执行一些Powershell命令,从LNK的末尾读取EXE的内容,将其复制到%TEMP%文件夹中的一个文件,并执行它。
我开发了一个程序,从目标EXE文件中创建一个LNK。
这种方法遇到一些问题:
1. 找到LNK文件的文件名。
当执行Powershell命令从LNK中提取EXE时,我们不知道已经执行的LNK文件的文件名。我们可以对文件名进行硬编码,但这不是一个可靠的解决方案。通过在Powershell命令中存储LNK文件的总大小,并检查当前目录中的所有*.LNK文件,以找到一个具有匹配文件大小的文件来解决这个问题。
2. 找到LNK中EXE数据的偏移量。
这一点通过在Powershell命令中存储原始LNK文件的长度(不包括附加的EXE数据)来解决。
3. 在查看LNK文件的 "属性 "时,Powershell命令是可见的。
这一点通过在目标字段前加上512个空格字符得到了解决。这使 "属性 "对话框中的文本字段溢出,只显示空格。
4. LNK文件有一个可执行文件的图标。
通过将图标位置(使用HasIconLocation标志)设置为"%windir%\system32\notepad.exe "来解决这个问题。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)