我不确定我是否被黑客攻击了。
我尝试通过 SSH 登录,但它不接受我的密码。root 登录已被禁用,所以我去救援并打开 root 登录,然后能够以 root 身份登录。以 root 身份,我尝试使用之前尝试登录的相同密码更改受影响帐户的密码,passwd
回复“密码未更改”。然后我将密码更改为其他密码并能够登录,然后将密码改回原始密码,我再次能够登录。
我检查了auth.log
密码更改但没有发现任何有用的信息。
我还扫描了病毒和 rootkit,服务器返回了以下信息:
ClamAV:
"/bin/busybox Unix.Trojan.Mirai-5607459-1 FOUND"
RKHunter:
"/usr/bin/lwp-request Warning: The command '/usr/bin/lwp-request' has been replaced by a script: /usr/bin/lwp-request: a /usr/bin/perl -w script, ASCII text executable
Warning: Suspicious file types found in /dev:"
需要注意的是,我的服务器并不广为人知。我还更改了 SSH 端口并启用了两步验证。
我担心我被黑客入侵并且有人试图欺骗我,“一切都很好,不用担心”。
答案1
和 J Rock 一样,我认为这是误报。我也有同样的经历。
我在短时间内收到了来自 6 个不同、分散、地理位置分散的服务器的警报。其中 4 个服务器仅存在于私有网络中。它们唯一的共同点是最近对 daily.cld 进行了更新。
因此,在检查了该木马的一些典型启发式方法但未成功后,我使用已知的干净基线启动了一个 vagrant box,并运行了 freshclam。这抓取了
“daily.cld 已更新(版本:22950、sigs:1465879、f 级别:63、构建器:neo)”
随后clamav /bin/busybox
在原始服务器上返回了相同的“/bin/busybox Unix.Trojan.Mirai-5607459-1 FOUND”警报。
最后,为了保险起见,我还从 Ubuntu 的官方盒子并且也得到了相同的“/bin/busybox Unix.Trojan.Mirai-5607459-1 FOUND”(注意,我必须将这个 vagrant box 的内存从默认的 512MB 增加,否则 clamscan 会失败并显示“killed”)
来自全新 Ubuntu 14.04.5 vagrant box 的完整输出。
root@vagrant-ubuntu-trusty-64:~# freshclam
ClamAV update process started at Fri Jan 27 03:28:30 2017
main.cvd is up to date (version: 57, sigs: 4218790, f-level: 60, builder: amishhammer)
daily.cvd is up to date (version: 22950, sigs: 1465879, f-level: 63, builder: neo)
bytecode.cvd is up to date (version: 290, sigs: 55, f-level: 63, builder: neo)
root@vagrant-ubuntu-trusty-64:~# clamscan /bin/busybox
/bin/busybox: Unix.Trojan.Mirai-5607459-1 FOUND
----------- SCAN SUMMARY -----------
Known viruses: 5679215
Engine version: 0.99.2
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 1.84 MB
Data read: 1.83 MB (ratio 1.01:1)
Time: 7.556 sec (0 m 7 s)
root@vagrant-ubuntu-trusty-64:~#
所以,我也相信这很可能是假阳性。
我会说,rkhunter 做到了不是给我:“/usr/bin/lwp-request 警告”参考,所以也许 PhysiOS Quantum 有多个问题。
编辑:刚刚注意到我从未明确说过所有这些服务器都是 Ubuntu 14.04。其他版本可能会有所不同?
答案2
Unix.Trojan.Mirai-5607459-1 的 ClamAV 签名显然过于宽泛,因此很可能是误报,正如 J Rock 和 cayleaf 所指出的那样。
例如,任何具有以下所有属性的文件都将与签名匹配:
- 它是一个 ELF 文件;
- 它包含字符串“watchdog”恰好两次;
- 它至少包含一次字符串“/proc/self”;
- 它至少包含一次字符串“busybox”。
(整个签名稍微复杂一些,但是上述条件足以匹配。)
例如,你可以使用以下命令创建这样的文件:
$ echo 'main() {printf("watchdog watchdog /proc/self busybox");}' > innocent.c
$ gcc -o innocent innocent.c
$ clamscan --no-summary innocent
innocent: Unix.Trojan.Mirai-5607459-1 FOUND
任何 busybox 构建(在 Linux 上)通常都会符合我上面列出的四个属性。它显然是一个 ELF 文件,并且肯定会多次包含字符串“busybox”。它执行“/proc/self/exe”运行某些小程序。最后,“watchdog”出现了两次:一次是小程序名称,一次在字符串“/var/run/watchdog.pid”中。
答案3
今天,在我使用 ClamAV 扫描 /bin/busybox 时也出现了这个问题。我想知道更新后的数据库是否有错误。
答案4
我尝试通过 SSH 登录,但它不接受我的密码。root 登录已被禁用,因此我去救援并打开 root 登录,然后能够以 root 身份登录。以 root 身份,我尝试使用之前尝试登录的相同密码更改受影响帐户的密码,passwd 回复“密码未更改”。然后我将密码更改为其他密码并能够登录,然后将密码改回原始密码,我再次能够登录。
这听起来像是密码过期了。通过 root 设置密码(成功)会重置密码过期时钟。你可以检查 /var/log/secure(或任何 Ubuntu 等效文件)并找出密码被拒绝的原因。