概述

exe2hex 将可执行二进制文件编码为 ASCII 文本格式。然后,将结果传输到目标计算机(回显 ASCII 文件比回显二进制数据容易得多)。执行exe2hex的输出文件后,使用或PowerShell(默认情况下在Windows上预安装)还原原始程序。可以使用exe2hex中的内置 TelnetWinEXE 选项自动将文件传输到目标计算机。
Binary EXE -> ASCII Text -> *Transfer* -> Binary EXE

快速开始

-x 使用文件或 STDIN ( /path/to/binary-program.exe-s)
-b 输出到 BATch /或 PoSH (-b file.bat-p powershell.cmd)

用法示例

创建 BATch & PowerShell 文件:
这里我随便写了一个exe程序

exe2hex -x chao.exe


可以看到,exe2hex将exe文件转变成了cmdbat文件。

在创建 BATch 文件之前压缩文件

exe2hex -x chao.exe -b nc.txt -cc
[*] exe2hex v1.5.1
[i] Attempting to clone and compress
[i] Creating temporary file /tmp/tmp509bq1bl
[+] Compression (strip) was successful! (0.0% saved)
upx: /tmp/tmp509bq1bl: NotCompressibleException
[+] Compression (UPX) was successful! (0.0% saved)
[+] Successfully wrote (BATch) /root/桌面/nc.txt

帮助

-h,--help  #显示帮助信息并退出
-x EXE   #EXE二进制文件转换
-s   #从STDIN读取
-b BAT #BAT输出文件(DEBUG.exe方法-x86)
-p POSH #PoSh输出文件(PowerShell方法-x86 / x64)
-e  #URL编码输出
-r TEXT #pRefix-在每行命令之前添加的文本
-f TEXT  #suFfix-在每行命令后添加的文本
-l INT #每行最大十六进制值
-c #在转换之前克隆并压缩文件(使用-cc进行更高压缩)
-t #创建一个Expect文件,以自动进行Telnet会话。
-w #创建一个Expect文件,以自动执行WinEXE会话。
-v #启用详细模式    

主要用途:

  • 将二进制程序转换为ASCII十六进制文件,可以使用内置的操作系统程序进行还原。
  • 在旧版和新版本的 Windows 上工作,无需预安装任何第三方程序。
  • 支持 x86 和 x64 操作系统。
  • 可以使用 DEBUG.exe 或 PowerShell 来还原文件。
  • 能够在转换之前压缩文件。
  • 对输出进行 URL 编码。
  • 向每行添加前缀和后缀文本的选项。
  • 能够设置每行的最大十六进制长度。
  • 可以使用标准输入 () 中的二进制文件或管道。STDIN
  • 通过 Telnet 和/或 WinEXE 自动传输。

    Telnet登录

    exe2hex.py -x chao.exe -b chao.bat -t


    这时会生成一个/chao-bat-telnet的文件,用来远程连接。
    格式如下:
    ./klogger-bat-telnet

    ./chao-bat-telnet 192.168.123.1 admin admin
    Welcome to Microsoft Telnet Service
    
    login: winxp
    password:
    
    *===============================================================
    Welcome to Microsoft Telnet Server.
    *===============================================================
    C:\Documents and Settings\winxp>cd %TEMP%
    C:\DOCUME~1\winxp\LOCALS~1\Temp>echo 418671.0>klogger.bat
    418671.0E~1\winxp\LOCALS~1\Temp>type klogger.bat
    
    C:\DOCUME~1\winxp\LOCALS~1\Temp>

    后记

    exe2hex其实是将我们常用的程序或者脚本,编写成txt cmd bat等批处理文件。由于部分机器的WAF会限制文件上传/下载exe。于是提出了一种使用exe2hex绕过这些防御机制的方法。将其转变为编码形式,最后再次构造 exe 并执行它。

最后修改:2023 年 08 月 04 日
如果觉得我的文章对你有用,请随意赞赏