解决思路
- 使用top查看高占用进程
- 该进程所执行的程序的实际路径,看一眼rizbhBVLmJ/xmrig便得知是xmrig挖矿木马
- 通过
journalctl -xe
发现有个叫xdp的用户使用的是root权限,不信可以看/etc/passwd
- 继续排查问题,找到病毒目录文件分析得到可能是通过我常用的普通用户过来的,我普通用户密码就是ss,user加密了不知道是什么用户,不过应该就是我的ss用户,ss密码也是ss
- 更改密码
- 直接删除xdp用户删不掉

原因:xdp模仿了root用户的权限
0: 用户标识符(UID),此处显示为0,这通常是root用户的标识符,意味着这个黑客创建的xdp用户具有root级别的权限。
0: 组标识符(GID),也是0,同理表示该用户属于root组,同样具有最高权限。
所以删的话会提示存在进程,当然存在的进程都是root的正常进程
所以vi /etc/passwd
修改ID,改成下方所示
1
| xdp:x:1001:1001::/home/:/bin/false
|
删除病毒
上方已经知道了是xmrig病毒,并且xmrig都是一个单独的可执行文件,那么查找所有的xmrig并删除即可
快速删除
1
| sudo find / -name xmrig -exec rm -rf {} +
|
top查看木马进程PID并删除
但是在后续服务器运行的过程中,病毒仍会持续运行,并且发现如果删除/etc/passwd中的xdp用户后,/root/.viminfo会自动创建出来xdp,如果删除.vimfo,还是会被自动创建
第二次处理
使用审计服务排查
1
| auditctl -w /root/ -p wa -k root-dir-create
|
-w /root/
: 这个选项指定要监控的文件或目录路径,这里是 /root/,即根用户的主目录。
-p wa
: 这个选项指定了要监控的操作权限标志位。wa 表示监控 write (写) 和 attribute change (属性更改) 操作。在 auditctl 中,w 通常代表所有类型的写操作,包括修改文件内容;而 a 通常表示访问模式、所有权、链接数以及其他元数据属性的更改。
-k root-dir-create
: 这个选项用来设置一个关键字(key)或者标签,用于在日志中标识这条规则,便于后期审计日志分析时快速查找相关事件。root-dir-create 可以理解为对这条规则的描述或注释,表明这条规则关注的是根目录下的创建活动。
综上所述,这条命令的作用是设置一个审计规则,用于监控 /root/ 目录下发生的任何写操作以及文件或目录属性的更改,并将这些事件标记为“root-dir-create”,以便在审计日志中追踪涉及根目录的所有创建或属性更改行为。
查到以下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| ---- time->Wed Mar 13 11:38:05 2024 type=PROCTITLE msg=audit(1710329885.308:164): proctitle=6370002F7573722F62696E2F73797374656D2F636F6E6669672E6A736F6E002F726F6F742F2E753163544D47643077492F type=PATH msg=audit(1710329885.308:164): item=1 name="/root/.u1cTMGd0wI/config.json" inode=26345519 dev=fd:00 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=CREATE cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0 type=PATH msg=audit(1710329885.308:164): item=0 name="/root/.u1cTMGd0wI/" inode=26345518 dev=fd:00 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0 type=CWD msg=audit(1710329885.308:164): cwd="/" type=SYSCALL msg=audit(1710329885.308:164): arch=c000003e syscall=257 success=yes exit=4 a0=ffffff9c a1=5574f326a2d0 a2=c1 a3=1ff items=2 ppid=1616635 pid=2225435 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="cp" exe="/usr/bin/cp" subj=unconfined key="root-dir-create" ---- time->Wed Mar 13 11:38:05 2024 type=PROCTITLE msg=audit(1710329885.324:165): proctitle=6C6E002D73002F726F6F742F2E753163544D47643077492F786D726967002F726F6F742F2E753163544D47643077492F3873465A4B686D496A36 type=PATH msg=audit(1710329885.324:165): item=2 name="/root/.u1cTMGd0wI/8sFZKhmIj6" inode=26345520 dev=fd:00 mode=0120777 ouid=0 ogid=0 rdev=00:00 nametype=CREATE cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0 type=PATH msg=audit(1710329885.324:165): item=1 name="/root/.u1cTMGd0wI/xmrig" nametype=UNKNOWN cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0 type=PATH msg=audit(1710329885.324:165): item=0 name="/root/.u1cTMGd0wI/" inode=26345518 dev=fd:00 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0 type=CWD msg=audit(1710329885.324:165): cwd="/" type=SYSCALL msg=audit(1710329885.324:165): arch=c000003e syscall=266 success=yes exit=0 a0=7fff07defedd a1=ffffff9c a2=7fff07defef5 a3=559135798340 items=3 ppid=1616635 pid=2225440 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="ln" exe="/usr/bin/ln" subj=unconfined key="root-dir-create"
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| root@ss:~# **lsof -p 1616635** COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME system 1616635 root cwd DIR 253,0 4096 2 / system 1616635 root rtd DIR 253,0 4096 2 / system 1616635 root txt REG 253,0 1396520 16384501 /usr/bin/bash system 1616635 root mem REG 253,0 27002 16393656 /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache system 1616635 root mem REG 253,0 3048928 16398150 /usr/lib/locale/locale-archive system 1616635 root mem REG 253,0 2220400 16387080 /usr/lib/x86_64-linux-gnu/libc.so.6 system 1616635 root mem REG 253,0 200136 16395316 /usr/lib/x86_64-linux-gnu/libtinfo.so.6.3 system 1616635 root mem REG 253,0 240936 16387064 /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 system 1616635 root 0r CHR 1,3 0t0 5 /dev/null system 1616635 root 1u unix 0xffff8e296a73dd80 0t0 8372765 type=STREAM system 1616635 root 2u unix 0xffff8e296a73dd80 0t0 8372765 type=STREAM system 1616635 root 255r REG 253,0 2433 16777903 /usr/bin/system/system (deleted) root@ss:~#
|
可以发现,上面的最后一行 不是正常的系统文件。
问题一.root目录下那些乱码文件夹的生成都是xmrig的隐藏目录,查到他原程序在哪,把那些原程序删除之后,他就没法再生成新的程序了
问题二.另一个问题是自动创建xdp用户,是另一个程序去创建的,当时是审计的/etc/passwd这个文件,审计是谁谁动这个文件,后来查到是service附属的一个服务动的,然后就直接去查service。
auto_script.service是提权的服务,对应的执行文件是/usr/bin/sshd, 对比了下正常的电脑,是不存在这个文件的,这个是伪装的文件
审计/root/查PID只能查到这个复制的源文件,system.service是病毒执行文件,负责复制并生成病毒