サーバーのCPUが非常に高く、その理由はgrep "A"
コマンドであることに気付きました
よく調べたところ、アクティブなインターネット接続のリスト(netstat -tupn
)で見つかりました
tcp 0 0 138.xxx.140.xxx:60752 198.1.158.134:80 ESTABLISHED 1583/grep "A"
私はSudo kill -9 1583
を呼び出してタスクを強制終了し、同じIPアドレスが別のコマンドで次の接続を確立しました
tcp 0 0 138.xxx.140.xxx:32956 198.1.158.134:8000 ESTABLISHED 13139/id
lsof
を呼び出すと、次の行でプロセス名がbkhcdgfdv
であることがわかりました
bkhcdgfdv 14771 14825 root 5r REG 253,1 4516064 57220 /usr/sbin/php-fpm7.1
bkhcdgfdv 14771 14826 root cwd DIR 253,1 4096 2 /
bkhcdgfdv 14771 14826 root rtd DIR 253,1 4096 2 /
bkhcdgfdv 14771 14826 root txt REG 253,1 625878 2100 /usr/bin/bkhcdgfdva
bkhcdgfdv 14771 14826 root 0u CHR 1,3 0t0 6 /dev/null
bkhcdgfdv 14771 14826 root 1u CHR 1,3 0t0 6 /dev/null
bkhcdgfdv 14771 14826 root 2u CHR 1,3 0t0 6 /dev/null
bkhcdgfdv 14771 14826 root 3u IPv4 309207 0t0 TCP MY_HOSTNAME:32982->198.1.158.134:8000 (ESTABLISHED)
質問:これはどのような攻撃であり、どのようにしてそれを阻止するのですか?
限られた詳細にのみ基づくこれは、grepコマンドを装ったビットコインマイナーである可能性があるようです。これは単なるペイロードであるため、削除または強制終了しても役に立ちません。
Apacheのアクセスログやsshログなどを見て、攻撃者がシステムに侵入した方法(パッチされていない脆弱性?デフォルトのパスワード?)を突き止め、そのギャップを埋める必要があります。また、攻撃者はすでにどのバックドアまたはWebシェルまたはリバースシェルを置き去りにしていますか?それらを見つけることができない場合、攻撃者はおそらく戻って、それを最初からやり直すでしょう。
ロギングが不十分であるか、これがどのようにまたはいつ起こったかの手掛かりがない場合、最も安全な賭けは、システムを再構築し、すべてにパッチが適用され、すべてのデフォルトのパスワードが変更されていることを確認することです。