永続化ハント① 自動実行の棚卸し
Pro会員限定上級約48分8レッスン
侵害された後に残る「自動実行」の仕掛けを、cron・systemd のユニットとタイマーから網羅的に洗い出し、無効化と削除まで行います。初動対応の次に行う、再侵入を断つためのハントと是正の手順を身につけます。
対象者: 初動対応はできるが、攻撃者が仕込んだ永続化を取りこぼしなく探し、確実に取り除きたい方
前提知識: セキュリティ中級(インシデント初動・フォレンジック)修了程度
この教材を終えると、できるようになること
- /etc/cron.d を一覧し、外部へ通信する不審な cron を特定できるようになる。
- サービスアカウントの crontab を読み、Web シェルを置き直す永続化を特定できるようになる。
- systemctl list-unit-files でサービスを棚卸しし、見慣れない enabled なユニットを特定できるようになる。
- systemctl cat でユニットファイルを読み、ExecStart と User から永続化を確証できるようになる。
- systemctl list-timers でタイマーを棚卸しし、定期実行の全体像を把握できるようになる。
- systemd の永続化を、止める・無効化する・消す・読み直すの順で取り除き、止まったことを確かめられるようになる。
…ほか 1 項目(レッスン一覧をご覧ください)
修了後の姿: 攻撃を痕跡から理解し、検知・防御・ハードニングを設計して、インシデントを根本原因から再発防止まで導けるセキュリティエンジニアへ。
Chapter 1自動実行を棚卸しする
cron と systemd の自動実行を一つずつ確認し、見覚えのない実行を特定して取り除きます。
- cron.d を棚卸しするシステム用 cron の置き場所から不審な定期実行を見つける約6分(有料会員限定)
- 利用者ごとの crontab を見るサービスアカウントの crontab に @reboot の仕掛けがないか約6分(有料会員限定)
- systemd のユニットを棚卸しするenabled なサービスの一覧から見覚えのないものを探す約6分(有料会員限定)
- 疑わしいユニットの中身を読むExecStart が何を、どの権限で起動するかを確認する約6分(有料会員限定)
- timer も棚卸しするcron から移行された定期実行は timer にある約5分(有料会員限定)
- 不審なサービスを止めて取り除くdisable --now・ユニットの削除・daemon-reload の順で永続化を断つ約7分(有料会員限定)
- cron の仕掛けを取り除くcron.d の断片と www-data の crontab を消し、正規の断片は残す約7分(有料会員限定)
- 確認クイズ: 自動実行の棚卸しcron・ユニット・timer の永続化を見分けて取り除く約5分(有料会員限定)