Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
shellen — :cherry_blossom: 交互式 shellcode 环境,可轻松制作 shellcode | Kitploit
工具/GitHubGitHub/konatabrk/shellen
漏洞利用逆向工程ShellcodeCTF二进制分析学习与教育Shellcode 生成Payload 开发
GitHubkonatabrk/shellen

shellen

🌸 交互式 shellcode 环境,可轻松制作 shellcode

查看仓库
90793705年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Shellen

概述

Shellen 是一个交互式 shellcode 编写环境。如果你需要一个方便的工具来编写 shellcode,那么 shellen 可能会成为你的朋友。Shellen 也可以用作汇编或反汇编工具。

keystone 和 capstone 引擎用于 shellen 的所有操作。

Shellen 仅适用于 python3。未来可能会支持 python2。

安装

首先,你应该安装 shellen 的依赖:

$ sudo apt-get install cmake python3-dev python3-setuptools

你可以使用 pip3 安装 shellen 的稳定版本:

$ sudo pip3 install shellen

或者,如果你已经拥有了所有必需的软件包(参见要求):

$ python3 setup.py install

如果你在安装 keystone-engine 时遇到任何问题,那么你应该编译 keystone-engine(参见 keystone 仓库中的 COMPILE.md 文件)

如何运行 Shellen

安装 shellen 及其必需的软件包后,你可以通过在终端中输入以下命令来运行 shellen:

$ shellen

你可以运行 shellen 的 help 命令来获取关于 shellen 用法的信息。

Shellen 的功能

Shellen 可以汇编和反汇编指令,因此有两种使用模式:分别是 asm 和 dsm。其他功能包括搜索系统调用表以及搜索常见 shellcode。

提示符

Shellen 有一个实用的提示符,显示当前模式、操作系统(用于系统调用的 OS)以及当前模式所选的架构。Shellen 的提示符如下所示:

L:asm:x86_32 >

你可以像在终端中一样编辑输入。此外,shellen 会记录你的命令历史(只需按上箭头即可查看之前的命令)。

L 是提示符中 Linux 的缩写。以下是所有其他操作系统的名称:

  • L 代表 Linux
  • W 代表 Windows
  • M 代表 MacOS

如果你想更改操作系统,请按如下方式输入 setos [linux/windows/macos]:

L:asm:x86_32 > setos windows

[+] OS changed to windows.

要更改当前模式,请在提示符中输入 asm 或 dsm。

L:dsm:arm32 > asm

[+] Changed to asm (assembly) mode

L:asm:x86_32 > dsm

[+] Changed to dsm (disassembly) mode

L:dsm:arm32 > 

基本命令

命令描述
clear清除终端屏幕。就像 Windows 上的 cls 或 *nix 系统上的 clear 一样。
help显示帮助信息。
quit,q,exit结束当前会话并退出

汇编

要汇编指令,请按如下所示输入它们并用分号分隔:

L:asm:x86_32 > mov edx, eax; xor eax, eax; inc edx; int 80;
   [+] Bytes count: 7
       Raw bytes:  "\x89\xc2\x31\xc0\x42\xcd\x50"
       Hex string: "89c231c042cd50"

如果你的汇编字节包含空字节,那么 shellen 会告诉你这一点。

反汇编

反汇编与汇编类似。只需要在提示符中输入你的字节,然后查看结果!

L:dsm:x86_32 > 89c231c042cd50
        0x00080000:     mov     edx, eax
        0x00080002:     xor     eax, eax
        0x00080004:     inc     edx
        0x00080005:     int     0x50

运行 shellcode

此外,你可以在子进程中运行你的 shellcode。请注意,这可能会损害你的系统!。跳转到子进程中的最后一段 shellcode。会出什么问题呢?' 请注意,你无法控制代码被加载到的基地址,并且这假定指令对你的 CPU 是有意义的。请参阅 shellen 中的 help 以了解如何使用它。

我计划在某个虚拟环境中执行子进程,以便更安全地运行潜在危险的 shellcode。

架构

asm 和 dsm 模式支持不同的架构。要查看 shellen 当前模式可用的架构列表,请键入以下命令:

L:dsm:x86_32 > archs
┌────────┬────────┬─────────┬─────────┬────────┐
│        │        │         │         │        │
│ arm32  │ mips32 │ sparc32 │ systemz │ x86_16 │
│ arm64  │ mips64 │ sparc64 │         │ x86_32 │
│ arm_tb │        │         │         │ x86_64 │
└────────┴────────┴─────────┴─────────┴────────┘

如果你想更改当前架构,请输入以下内容:

L:dsm:x86_32 > setarch arm32

[+] Architecture of dsm changed to arm32

系统调用

当你创建 shellcode 时,会需要系统调用。要使用 shellen 查找系统调用,请键入 sys 和你想要的系统调用的名称。Shellen 将会生成一个系统调用列表,其中可能包含你正在寻找的系统调用。

L:asm:x86_32 > sys open

┌────────┬───────┬──────────────────────┬──────────────────────┬──────────────┬──────────────┐
│ name   │ eax   │ ebx                  │ ecx                  │ edx          │ esi          │
├────────┼───────┼──────────────────────┼──────────────────────┼──────────────┼──────────────┤
│ open   │ 0x05  │ const char *filename │ int flags            │ umode_t mode │ -            │
│ openat │ 0x127 │ int dfd              │ const char *filename │ int flags    │ umode_t mode │
└────────┴───────┴──────────────────────┴──────────────────────┴──────────────┴──────────────┘

sys 会为提供的系统调用打印一份可能变体的列表。shellen 搜索的系统调用表取决于所选的架构和操作系统(OS)。在此例中,架构是 x86_32,操作系统是 Linux。

常见 Shellcode

Shellen 可以根据你的关键字为你显示常见 shellcode 的列表。Shellen 的关键字查找使用 shell-storm.org 的 API(感谢作者!),可以这样使用:

L:asm:x86_32 > shell <keyword> <count>

注意,count 参数不是必需的。图片部分有 shell <keyword> <count> 输出的图片。

支持的操作系统

目前,shellen 仅支持在 Linux 上运行。如果你想为 Windows 或 MacOS 添加功能,请提交一个 issue,我会添加支持。

如何报告问题或请求新功能

如果你发现问题/Bug 或其他情况,请针对该问题写一个 issue。此外,如果你认为某个功能对 shellen 来说是一个很好的补充,同样 -- 写一个 issue,我会尝试添加你请求的功能。

要求

  • keystone
  • capstone
  • colorama
  • termcolor
  • terminaltables

待办事项

  • 汇编
  • 反汇编
  • 系统调用列表
  • 常见 shellcode 数据库
  • 添加 ROP 构建器
  • 添加多行汇编代码编辑功能
  • 为 asm 和 dsm 模式提供不同的历史记录
  • 用于运行 shellcode 的虚拟环境

图片

只是一小堆图片。(由于添加了不同的功能,它们已经过时了)





下载工具