현상
IDC에 있는 오래된 서버를 AWS에 백업을 하려고 하는데 계속 백업 중간에 실패가 났다.
이것저것 진단을 하다가 평상시에도 CPU 점유율이 높다는 점이 이상하여
CPU를 가장 많이 차지하는 프로세스를 조회해보았다.
ps aux --sort=-%cpu | head -10
결과 중 CPU 점유율 1위를 잡아먹고 있는 프로세스는 바로 이것
[root@lion user]# ps aux --sort=-%cpu | head -10
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
dcos 38763 1599 13.1 6130220 4294892 ? Ssl 2022 26521848:55 /tmp/kdevtmpfsi
...
저 dcos라는 USER의 kdevtmpfsi라는 것은 현재 제공 중인 서비스와 무관한 코인 채굴 목적으로 Linux 환경을 노리는 malware이다.
제거
우선 프로세스를 찾아서 다 kill 해준다.
ps -aux | grep kdevtmpfsi
kill -9 31593
ps -aux | grep kinsing
ps -aux | grep dbused
kinsing과 dbused라는 말웨어도 돌고 있었다. 무섭...
꺼진 불도 다시 보자. 다시 위 명령어를 반복 실행해서 좀비처럼 살아났는지 본다.
만약 다시 살아났다면 저 말웨어가 /tmp에 기생하고 있으니 우선 실행 권한부터 없앤다.
/tmp의 실행권한부터 조회해보자.
cd /
ls -l | grep tmp
역시나 모든 권한을 가지고 있다.
chmod 0444 /tmp
혹은 0666으로 바꿔도 된다. 읽기 쓰기는 상관없고 실행권한만 안 주면 된다.
그리고 다시 kill로 프로세스를 죽인다.
이제 root 계정에서 crontab에 설정되어 있는 것이 있는지 본다.
crontab -l
# 원하지 않는 것이 있다면 삭제 후 재실행
service crond restart
다행히 여긴 crontab에는 아무것도 없었다.
그리고 마지막으로 malware script와 file도 삭제해준다.
> find / -iname kdevtmpfsi -exec rm -fv {} \;
removed `/dev/shm/kdevtmpfsi'
> find / -iname kinsing -exec rm -fv {} \;