shellnoob包装说明

写作的shellcodes一直是超级好玩的,但是有一些部分是非常枯燥而且容易出错。只注重有趣的部分,并使用ShellNoob!

产品特点:

  • 转换不同的格式和信号源之间的shellcode。目前支持的格式:ASM,斌,六角,OBJ,EXE,C,Python和Ruby,漂亮,safeasm,completec,shellstorm。 (以下简称“格式描述”部分中的所有细节。)
  • 交互式汇编到操作码的转换(反之亦然)模式。这时候,你不能在shellcode的使用特定字节,你要搞清楚,如果一个特定的汇编指令会产生问题是非常有用的。
  • 为AT&T与英特尔的语法支持。检查-Intel开关。
  • 对于32位和64位(x86_64的机器上玩的时候)的支持。检查-64开关。
  • 解决系统调用号,常量和错误号(现在已经实现了真正的!:-))。
  • 便携且易于配置(只/依赖于gcc作为/ objdump的和Python)。这仅仅是一个自包含的Python脚本,它同时支持Python2.7 +和Python3 +。
  • 就地开发:你直接在目标体系结构上运行ShellNoob!
  • 内置用于Linux / x86上,Linux的/ x86_64的,Linux的/ ARM,FreeBSD的/ 86,FreeBSD的/ x86_64的支持。
  • “前面加上断点”选项。检查-c开关。
  • 从标准输入读取/写入stdout支持(用“ - ”作为文件名)
  • 超级便宜的调试:检查-to-strace的和-to-GDB的选择!
  • 使用ShellNoob作为脚本的Python模块!选中“ShellNoob作为一个库”部分。
  • 详细模式显示了低级别步骤的转换:有用的调试/理解/学习!
  • 额外的插件:二进制补丁轻松使用-file补丁,-vm补丁,-fork-nopper选择! (下面的所有详情)

资料来源:https://github.com/reyammer/shellnoob
ShellNoob首页 | 卡利ShellNoob回购

  • 作者:Yanick Fratantonio
  • 许可:MIT

包含在shellnoob包工具

shellnoob - shellcode的写作工具包
[email protected]:~# shellnoob -h
shellnoob.py [--from-INPUT] (input_file_path | - ) [--to-OUTPUT] [output_file_path | - ]
shellnoob.py -c (prepend a breakpoint (Warning: only few platforms/OS are supported!)
shellnoob.py --64 (64 bits mode, default: 32 bits)
shellnoob.py --intel (intel syntax mode, default: att)
shellnoob.py -q (quite mode)
shellnoob.py -v (or -vv, -vvv)
shellnoob.py --to-strace (compiles it & run strace)
shellnoob.py --to-gdb (compiles it & run gdb & set breakpoint on entrypoint)

Standalone "plugins"
shellnoob.py -i [--to-asm | --to-opcode ] (for interactive mode)
shellnoob.py --get-const <const>
shellnoob.py --get-sysnum <sysnum>
shellnoob.py --get-strerror <errno>
shellnoob.py --file-patch <exe_fp> <file_offset> <data> (in hex). (Warning: tested only on x86/x86_64)
shellnoob.py --vm-patch <exe_fp> <vm_address> <data> (in hex). (Warning: tested only on x86/x86_64)
shellnoob.py --fork-nopper <exe_fp> (this nops out the calls to fork(). Warning: tested only on x86/x86_64)

"Installation"
shellnoob.py --install [--force] (this just copies the script in a convinient position)
shellnoob.py --uninstall [--force]

Supported INPUT format: asm, obj, bin, hex, c, shellstorm
Supported OUTPUT format: asm, obj, exe, bin, hex, c, completec, python, bash, ruby, pretty, safeasm
All combinations from INPUT to OUTPUT are supported!

Check out the README file for more info.

shellnoob用法示例

开始在ASM操作码模式(-to-操作码)交互模式(-i):

[email protected]:~# shellnoob -i --to-opcode
asm_to_opcode selected (type "quit" or ^C to end)
>> xchg %eax, %esp
xchg %eax, %esp ~> 94
>> ret
ret ~> c3
>>