exe2hex食用教程

2022-04-11 15:59:11 浏览数 (1)

exe2hexbat是一个 Python 脚本,用于将 Windows PE 可执行文件转换为批处理文件,反之亦然。

概述

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程序

代码语言:javascript复制
exe2hex -x chao.exe

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

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

代码语言:javascript复制
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

帮助

代码语言:javascript复制
-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登录

代码语言:javascript复制
exe2hex.py -x chao.exe -b chao.bat -t

这时会生成一个/chao-bat-telnet的文件,用来远程连接。

格式如下:

./klogger-bat-telnet <ip> <username> <password>

代码语言:javascript复制
./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 Settingswinxp>cd %TEMP%
C:DOCUME~1winxpLOCALS~1Temp>echo 418671.0>klogger.bat
418671.0E~1winxpLOCALS~1Temp>type klogger.bat

C:DOCUME~1winxpLOCALS~1Temp>

后记

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

版权属于:逍遥子大表哥

本文链接:https://cloud.tencent.com/developer/article/1977370

按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。

0 人点赞