前回の『サイバーセキュリティ レッドチーム実践ガイド その1』の続きです。
今回は「第4章」と「生涯学習」の部分のメモ書きです。
「生涯学習」の部分ではこの本を読み終えた後、次に何をすべきなのか、ということについて書かれており、次のレベルへステップアップするための9つのアイデアが紹介されています。
第4章 ドライブ ネットワークへの侵入
第4章が全体の中で一番ページ数の多い(87ページ)章です。
内容としては、ネットワークに侵入し、マシン間での移動(ピボッティング)、権限の昇格を行い、システム全体を乗っ取るという一連の流れを体験することができます。
章の大部分はWindowsの話で、後半にLinuxの話が出てきます。
Windows
セットアップ
ライセンスの関係でVMファイルとしてダウンロードできないため、自分で環境をセットアップする必要があります。
この本で紹介されている理想的なテストラボは
- ドメインコントローラサーバ
- Webサーバ (IIS)
- クライアントマシン (Win10 x 3, Win7 x 2)
これらをひとつのマシン上でVMとして立ち上げるために、最低でも16GBのRAM、500GBのストレージが必要だそうです・・・
私の貧弱なMacboob Pro (RAM 8GB)では到底再現できそうものなく、Windowに関する知識もないため、以下簡単なメモ書き。
シチュエーションとしては、オフィスに侵入し、ネットワークにドロップボックス(小型のコンピュータ)を接続した後に、自宅からドロップボックスにアクセスして攻撃を始めるというものです。
ネットワークに接続
Responderを使うことでネットワークのリッスン、プロキシーサーバとしてデータの転送などを行うことができます。
NTLMv2ハッシュを取得することができれば、高性能なクラッキングマシンを使ってパスワードクラッキングすることもできますし、ForceWpadAuthとBasic認証を使ってログインプロンプトを表示させ、ユーザ名とパスワードを入力させることもできます。
引用元 マイクロソフトコミュニティ
日頃から注意していないとこのようなボップアップが出てきた場合に入力してしまい、入力した情報は平文で送信されます。
ネットワーク接続後
ドロップボックスを使ってアクセスがネットワークからアクセスできるようになった後にすることとしては、アクセスしたマシンの状態確認、ネットワーク確認があります。
netstatコマンドでネットワーク状況の確認、tasklistでプロセス列挙、sysinfoでホスト情報の確認、powershellを使って共有ドライブ情報の確認など。
多くのコマンドとオプションを使いこなす必要がありますが、全てを覚える必要はなく、rtfmというpythonスクリプトを使うことで必要なコマンドを検索し、利用することができます。
./rtfm.py -t enumeration | more
その他
権限の昇格に関するページでは、Mimikatz、Mimikittenzについても書かれています。
それ以外にもDCOM(Distributed Component Object Model)を使ったラテラルムーブメント、Pass-the-Hash、RDPを使ったラテラルムーブメントなど紹介されています。
Linux
Linuxの部分ではVMが提供され、ラテラルムーブメントを体験することができます。
内容としては、内部ネットワークにApache Strutsサーバ、Jenkinsサーバ、データベースサーバがあり、まずApache Strutsサーバを脆弱性をついて乗っ取り、DirtyCowで権限の昇格、SSHで他のサーバ(Jenkinsサーバ、データベースサーバ)を攻略していくというシナリオです。
Apach StrutsサーバへはMetasploitのペイロードにdnscat2マルウェアを組み込み、シェルを開きます。
その後、wgetでDirtyCowのコードをダウンロードして、コンパイルして実行することでrootに権限の昇格をすることができます。
自分の環境に合わせて書かれているコマンドを叩くことで再現することができます。
しかし、動作確認はできますが、なぜこうなるかまではあまり書かれていないので自分で調べて理解する必要があります。
生涯学習
本の最後に「生涯学習」という章がありますので先に紹介します。
この本を読んだ後どうすればいいですか、という読者からの声に対する筆者の回答が書かれています。
ここでは9つのアイデアが紹介されています。
9つのアイデア
- ブログを立ち上げ、GitHubアカウントを作成する
- GitHubアカウントを経歴にする
- ローカルカンファレンスで登壇する
- バグバウンティ
- CTFコンテスト
- 友人を誘ってラボを構築する
- 悪いやつらから学ぶ
- The Hacker Playbookを購読する
- トレーニング
重要なポイントとしては
最初は小さなプロジェクトから始めて、セキュリティコミュニティに貢献することです
最初は小さくてもいいからアウトプットする習慣とコミュニティから情報を受け取るだけじゃなくて貢献することが大切なようです。
最後に
rtfmなどの便利ツールを使うことで細かいコマンドやオプションまでは正確に覚える必要はありませんが、どういう流れで攻略するのか、どういう脆弱性がこれまであって悪用できそうか、など経験がないと手が動かない部分が多くあると感じました。
この本をやり終えたらHack The Boxに再挑戦しよう・・・
続き
サイバーセキュリティテスト完全ガイド ~Kali Linuxによるペネトレーションテスト~
Twitter (@security_index) | Twitter