ハッキングにも作業フローがあります。対象に対してより効率的に情報収集や作業を進めるためにはこの作業フローが役に立ちます。今回はこのフローについて順を追ってみていきたいと思います。
・ハッキングのフロー
・事前準備
・攻撃
・後処理
・例外
・まとめ
・ハッキングのフロー
ハッキングはどのような行動であれ対象の情報収集なしで進めることは非常に効率が悪くなります。悪事を目的とした場合、証拠を残しては逮捕される可能性もあります。そのため、一般的なハッキングにおいては以下の手順で進めることになります。
・事前準備フェーズ
偵察 → スキャニング → 列挙
・攻撃フェーズ
アクセス権取得 → 権限昇格
・後処理フェース
アクセス維持 → 痕跡消去

・事前準備
事前準備とは、攻撃対象に関する情報の収集とそれらの整理を行うことです。どんなに小さな事であってもとにかく情報を集めます。そして、集めた情報を整理していくのです。ポイントは例え情報収集が目的であったとしても、それがハッキングとみられることもあるので注意が必要です。
・偵察(Reconnaissance)※公開情報収集
それではまず、「偵察」についてその行動を確認していきます。このフローでは、対象となる相手の公開されている情報を中心に情報を収集します。ほとんどの場合法に触れることはありません。また、利用しているネットワークによっては公開しなければいけない情報もあります。
・スキャニング(Scanning)※対象サーバ情報収集
偵察によって得られた情報を、対象ネットワークもしくはサーバにアクセスして情報を収集します。ここから対象側にとっては「攻撃を受けている」と感じることがあります。
・列挙(Enumeration)※情報整理・脆弱性確認
収集した情報を整理し、攻撃に利用できそうなものを集めます。ここで情報として足りない部分があれば再度情報収集を行います。そして、集めた情報から脆弱性に関する情報を確認しどのように攻撃するかを探ります。
・攻撃
この段階で対象に対するアクセス権の取得と、できれば管理者権限の奪取を試みます。
・アクセス権取得(Gaining Access)※脆弱性をつく・パスワードクラックetc
事前に調査した脆弱性などを利用して実際に攻撃を行います。
・権限昇格(Privilege Elevation)※権限奪取・内部情報収集
権限昇格に利用できる脆弱性を特定して、管理者権限の奪取を試みます。ここでの成功がのちの処理に大きな影響を与えます。
・後処理
後処理は、ハッキングの痕跡を消すとともに、対象を自身の所有物にできるようにします。
・アクセスの維持(Maintaining Access)※バックドア作成・マルウェアインストールetc
いつでもアクセス可能となるようにバックドアを設置します。また、目的に応じたアプリケーションのインストールを実行することもあります。
・痕跡消去(Clearinig Tracks)※バックドア隠蔽・各種ログの部分削除
仕込んだバックドアやアプリケーションが見つからないよう隠蔽します。またこれまでの行動の痕跡を消去します。この最後の処理まで実行されてしまうと、発見は困難になります。
・例外
攻撃者によっては、一般的なフローには沿わない行動をとることがあります。フローに沿うことができない、もしくはフロー通りに動く必要がない場合とがあります。
・例外になる攻撃例
・DOS攻撃
→DOS攻撃は殆どの場合後処理を実行しません。
・Webアプリケーションに対する攻撃
→対象がサーバではなくアプリケーションであるため、サーバに対しての侵入は困難です。そのため後処理することができないことになります。
・ソーシャルエンジニアリング
→ソーシャルエンジニアリングの場合、事前準備は同様に行いますが情報を人伝に収集することで効率が高まります。通常フローと合わせて実行することで、より効率的に情報収集ができます。
・まとめ
ハッキングと一言で言っても、実際にはフローが存在しそれにそって実行することで効率的かつ成功率の高い行動をとれるということが何となくわかったと思います。
また、フローに沿わない攻撃についても知識として持ち合わせる必要があります。
セキュリティとは、色々な観点で対象を見ていかないと思わぬ落とし穴が存在したりするので時には攻撃者の視点に立って考えることも重要ではないでしょうか。