ロード・トゥ・ザ・ホワイトハッカー

ホワイトハッカーはじめました

Wi-Fiのセキュリティ(準備編)

Wi-Fiのハッキング

CEHのセミナー動画で、講師がaircrack-ngと別付けのWi-Fiアダプタを使用して、WEPのキーをクラッキングするデモがあった。

自分でも試してみたいと思い、実施してみた。

前提条件

Wi-Fiアダプタについてはモニターモード/インジェクションの機能が必要となる

・aircrack-ngは、Windows版もあるが、自分でコンパイルする必要がある

・Kaliにaircrack-ngがインストールされているが、Wi-Fiアダプタとの相性がある

 

Kaliでaircrack-ngを使う場合、特定のチップセットが内臓されたWi-Fiアダプタが必要になる。

 

こちらを参考にさせていただきました。

qiita.com


www.wirelesshack.org

 

AmazonでALFA AWUS036AC AC1200が、6,000円くらいで購入できた。

上記のサイトの情報では、仮想環境ですぐにWi-Fiが認識されていますが、USBをさしてもKaliでWi-Fiアダプターを認識してくれない。

Kaliの設定

環境:Kali 2021.1、VMware Player16

 

USBを仮想マシンへ接続

f:id:chikuwamaruX:20220402121914p:plain

 

この時点で、ifconfigやiwconfigをしても、ネットワークのインターフェイスが表示されない。lsusbでは、USBデバイスとして認識されている。

f:id:chikuwamaruX:20220402122132p:plain

 

Kaliのフォーラムでそれらしい記事を見つけたので、試してみる。

forums.kali.org

 

Kaliで以下のコマンドを一通り叩く。

apt remove realtek-rtl88xxau-dkms && apt purge realtek-rtl88xxau-dkms

apt update && apt upgrade
apt autoremove && apt autoclean
reboot

apt-get dist-upgrade

reboot

git clone https://github.com/aircrack-ng/rtl8812au
cd rtl8812au
make && make install
reboot

途中エラーになったり、それなりに時間かかったりしましたが、完了。

エラーになって、apt --fix-broken installを叩いたり、

make && make installがうまく動かず、

mkdir /lib/modules/5.10.0-kali3-amd64/build 

sudo apt install dkms

apt install bc linux-headers-$(uname -r)

など、良く分からないままに叩いたりしています。

 

なんとかKaliで無事にWi-Fiアダプタが認識された。

f:id:chikuwamaruX:20220402123847p:plain

 

これで

OS:Kali

Wi-Fiアダプタ:ALFA AWUS036AC

ツール:aircrack-ng

という環境が整いました。

 

つ・づ・く

 

ECEの更新

CEH資格の維持

CEHの資格を持っています、というためには、

・80ドル/年 支払い

・ECE120ポイント/3年 獲得

という条件がある。

 

今回初めて年会費80ドルを納める。

f:id:chikuwamaruX:20220326103807p:plain

6月までに納めれば良いのだが、忘れてしまいそうだし、円安だし、ということで手続きを検討。

 

改めて、ECEのメンバーの特典を調べてみた。

 

ECE登録時のメールを確認すると、

・Free Member Resources

とのことで以下のページが紹介されていた。

www.eccouncil.org

特にメンバーに限らず、誰でも閲覧できるようです。

 

Communityの参加、という話もあるようです。

f:id:chikuwamaruX:20220326104306j:plain

こちらも、ECEメンバーだから、というよりも、SNS発信のようです。

 

それ以外では、ECEのサイトから、AnnouncementsやEventの案内が見られる。

f:id:chikuwamaruX:20220326104523p:plain

 

こちらも、一般のイベントでメンバーしか参加できない、という縛りはないようです。

 

80ドルは、まさに資格の維持のためだけ、のように思えます。

ですが、せっかく取得した資格なので、80ドルを支払う。

 

ECEのサイトから支払いボタンを押すと、以下に飛ばされて、支払いを済ます。

store.eccouncil.org

 

支払いとCECの会員情報の紐づけが出来ていない気もするが、2営業日で更新されるとのこと。

 

ECEポイントは現在46ポイント。

改めてECEについて調べなおしていると、アンケートに回答すれば20ポイント貰えたらしい。ダメ元でアンケートに回答。

f:id:chikuwamaruX:20220326105405p:plain

セミナーの受講だけでなく、別の方法でECEポイントを取得したいものです。

コンテナのセキュリティ

コンテナアーキテクチャ

KubernetesやOpenshiftなどのコンテナ技術に普及は進んでいるようで、それに伴い、コンテナに対する攻撃もある。

xtech.nikkei.com

 

コンテナ環境を標的にした「kinsing」というマルウェアもあるようです。

atmarkit.itmedia.co.jp

 

一般的なベストプラクティスとして、コンテナのセキュリティについてNISTのドキュメントをIPAが翻訳して公開している。

https://www.ipa.go.jp/files/000085279.pdf

 

マルウェア対策ならウイルス対策ソフトをインストール、と思うがコンテナ環境でのウイルス対策ソフトってあるのか?という疑問。

 

こちらのブログで回答が得られる。

note.com

このあたり、もう少しクラウド側で、あらかじめ組み込まれていると有難いのですが。

 

コンテナのスキャン

CEHのテキストでは、19章クラウドコンピューティングで、技術的な説明から対策などが説明されていた。

Dcokerに対してはTrivy,Dadga,Clairで、KubernetesにはSysdigでスキャンを、という感じだった。

 

スキャナーについて、以下で詳しく説明されています。

qiita.com

ビルドのプロセス時に、脆弱性スキャンを実施して、脆弱性が見つかれば、
ビルドを停止させることで、脆弱性を含むコンテナを稼働させない方法がとられることが多いようです。

 

Trivyはシンプルで使いやすいようです。

github.com

まとめ

・ベストプラクティスの適用

アンチウイルス対策

・スキャン

という多層防御がコンテナのセキュリティ対策でしょうか。

 

 

Googleのやられサイト

やられサイトまとめ

敢えて脆弱性を持ったWebアプリケーションで、脆弱性検査(ハッキング)のスキルを向上させる、やられサイト。

 

OWASPだと、

  • OWASP JUICE SHOP

ソースコード版からDocker版まである。

Juice Shop - Insecure Web Application for Training | OWASP

オンラインでも公開されている。

OWASP Juice Shop (juice-shop.herokuapp.com)

 

  • Web Security Academy

Burp Suiteを使っていれば、Web Security Academyで、カテゴリ別に学べるサイトが準備されている。

Web Security Academy: Free Online Training from PortSwigger

 

  • Acunetix 

ツールのテスト用サイトとして,以下のようなものもある。

Acunetix Web Vulnerability Scanner - Test websites

 

以前、hackmeというのがありましたが、今はアクセスできないようになっています。

似たようなサイトに、

 

  • hack the box

Hack The Box: Hacking Training For The Best | Individuals & Companies

 

  • TryHackMe

TryHackMe | Cyber Security Training

などがある。

 

オンラインのメリットは、手軽に試せる点ですが、防御も学ぶ必要がある場合、ソースコードやサーバーの設定を触れる必要がある。

そのような観点から「OWASP JUICE SHOP」は有難い。

 

Google gruyere

グーグル グリュイエール、はGoogleのやられサイト。

google-gruyere.appspot.com

グリュイエールは、「スイスの女王様」と言われる由緒正しいチーズ、らしいです。

 

オンライン上で稼働していて、ソースコードもオンラインから見ることができる。

ダウンロードして、自分のサーバーで稼働させることも可能。

Web Security Academyほどのボリュームは無いが、その分、シンプルで一通り練習するには最適な教材と思う。

 

CTF的なものから、ツールに特化したものまで、学ぶ機会は多く提供されている。

OWASP Dependency-Check

ライブラリのスキャン

Log4Shellの通称で有名になっている脆弱性

Apacheプロジェクトの Log4jというオープンソースライブラリで、致命的な欠陥が見つかったと大騒ぎ。

脆弱性の深刻度を評価するCVSSのスコアでは、最大値となる10.0(緊急レベル)を記録。

 

Webアプリケーションを作成する場合、このような外部のライブラリを使用することは多い。最新を使用しておけば間違いないのでしょうが、開発者側からすると、バージョン変更により、アプリケーションのテストが必要になり、変更に消極的になり、放置されやすい。

OWASP Dependency-Check

OWASP Dependency-Checkを使うと、ある程度自動でやってくれる。

owasp.org

  • Command Line
  • Ant Task
  • Maven Plugin
  • Gradle Plugin
  • Mac Homebrew

という5つの形態で提供されている。

以下のプラグインもあるらしい。

手っ取り早く、Commnad Lineツールを試してみる。

Commnad Line

https://github.com/jeremylong/DependencyCheck/releases/download/v7.0.0/dependency-check-7.0.0-release.zip

からZipファイルをダウンロード。

Windowsの場合、binフォルダにある、dependency-check.batを実行。

いろいろパラメーターはあるが、

-s (スキャンしたいフォルダ)

を指定すれば、スキャンが開始される。

 

初回実行時は、NVDから脆弱性情報を取得する。

2002年から取得しています。

f:id:chikuwamaruX:20220305135056p:plain

dataフォルダにnvdcacheというフォルダがあり、そこに年度ごとにファイルが作成される。中を見ると、JSON形式で脆弱性情報が収集されている。

f:id:chikuwamaruX:20220305135130p:plain

データベースとして結合されているようです。

f:id:chikuwamaruX:20220305135421p:plain

1分ちょっとでレポートが出力されます。

f:id:chikuwamaruX:20220305135952j:plain

 

スクリプトを使用して、見やすいレポートです。

f:id:chikuwamaruX:20220305140958p:plain

 

ただ、偽陽性偽陰性はあるらしく、完全ではない、とのこと。

jeremylong.github.io

 

現在、Javaと.NETに関して対応しており、実験的にPython, Ruby, PHP (composer),Node.jsでも可、のようです。

 

使用しているライブラリが一覧になるだけでも十分に価値を感じてしまう。

 

 

 

 

Hacking Web Applications

CEHの復習

Webアプリケーションの脆弱性検査をするため、久々にCEHのテキストを見直す。

14章が「Hacking Web Applications」で300ページほどあり、20章のうちで、特にボリュームが多かったと記憶している。

改めて見直すと、基本的な理論からツールの紹介まで、幅広く網羅されている。

ツールについては、以下のカテゴリで列挙されていた。

  • Web application Analyze
  • Web application Vulnerability 
  • Web application Hacking
  • API Vulnerability 
  • Fuzz Testing
  • Web application Security Testing Tools

Burp SuiteかOWASP ZAPで網羅できそうなものですが、それらはWeb application Analyzeに分類されていたりします。

WebScarabというツールもWeb application Analyzeに分類されていましたが、もともとOWASPのプロジェクトでZAPに組み込まれたようで、CEHのテキストが古い情報でした。

ツールの分類の基準は良く分からないが、各カテゴリで3-6個のツールが紹介され、中にはサブカテゴリに分類され、それぞれでツールが紹介されている。

ツールでなんでも出来てしまう、という攻撃者の有利性を考えて、気分が悪くなったことを思い出しました。

 

IPAの情報

www.ipa.go.jp

IPAが公開している情報も、量的には多い。

公開日が記載してあるので、古い?、と思ってしまうが、網羅性という点ではCEHのテキストと比較しても十分な気がする。

Webの攻撃手法というのは、それほど変わっておらず、今も同様の脆弱性が存在していて、そこへの攻撃が継続されているのだと思う。

 

IPAはそれ以外にもツールを配布していたりする。

www.ipa.go.jp

ファジングの資料は、詳しく説明されています。。

何を知り、何を使うべきか

Webアプリケーションの脆弱性に関する情報量は膨大で、それに関するツールも多い。

ツールの使い方を覚えることが目的ではなく、情報に振り回されないためにどうすべきか?

CWEが、すべての上位に存在するのかと思う。

CWE - Common Weakness Enumeration (mitre.org)

 

現在、CWEは、NISTのNVD、OWASPのTop Ten Projectや、いくつかのセキュリティベンダーなどで実際に活用されています。

 CWEにはCWE互換認定の制度があり、脆弱性検査ツールや脆弱性対策情報提供サービス等がCWE識別子の正確な表示、CWE識別子による情報の検索などの機能要件を満たし、MITRE社へ申請するとCWE互換認定が受けられます。CWE互換認定を受けると、MITRE社のウェブサイトで紹介される、CWEのロゴが使用できる等のメリットがあります。

共通脆弱性タイプ一覧CWE概説:IPA 独立行政法人 情報処理推進機構

 

CAPECとCWEは関連付けられている。CAPECから WASC Threat Classification 2.0、ATT&CK、OWASPへの関連付けがある。

f:id:chikuwamaruX:20220226103620p:plain

CAPEC - Common Attack Pattern Enumeration and Classification (CAPEC™) (mitre.org)

 

膨大なデータではあるものの、CWEを総本山として情報収集をすることが、結局は近道なのかと思う。

 

OWASP ZAPのスキャンの詳細

スキャンの詳細について

OWASP ZAPをセットアップして、スキャンの実行までは出来た。

chikuwamarux.hatenablog.com

 

実際、どんなスキャンが実施されているのか。

 

スキャンの結果から、以下のようなアラートが上がる。

f:id:chikuwamaruX:20220219082732p:plain

 

アラートが上がれば、そのリクエストの内容も確認できて、脆弱性があることが分かるが、それ以外にどんなことをしたのか。

f:id:chikuwamaruX:20220219082934p:plain

 

こちらにアラートの一覧の記載があった。

www.zaproxy.org

OWASP ZAPにリンクを貼ってくれても良さそうなものですが、合計で160種類のアラートがあがり、スキャン方法によって対象が異なる。

  • 78:パッシブスキャン
  • 74:アクティブスキャン
  •   8:WebSocket Passive

 

アラート表示の「ソース:」に記載された数字がIDのようです。

数字のあとがAlertの名称のようですが、ZAPでは翻訳されています。

f:id:chikuwamaruX:20220219083341p:plain

 

Web画面では、IDで絞り込みが可能。

f:id:chikuwamaruX:20220219083454p:plain

OWASP ZAP – ZAP Alert Details

 

IDまたはAlert名称のリンクをクリックすると詳細が表示される。

f:id:chikuwamaruX:20220219083654p:plain

CWEやOWASP TOP10などとの関連が把握できる。

しかも、Codeのリンクでは、実際のJavaのコードが見られるので、何をしたのか一目瞭然(プログラムを理解できれば、ですが。。。)。

 

WASCとは?

「WASC」って、なんだろう?

Web Application Security Consortium という団体があるらしく、Webサイトはこちらで良いのだろうか?HTTPSでもなく、大丈夫なのか?

www.webappsec.org

 
更なる深みへ

マーケットプレイスから、独自のアドオンを追加できるようです。
それ以外に、
Custom Payloadsで、自分が作成した検査を実装できる
Zest scriptで、操作を記憶させて自動化できる

などなど。

 

結局は、すべての機能はAdd-onという概念で括られているようです。

www.zaproxy.org

 

Desktop User Guideを見ると、Add-onsの下にアクティブスキャンルールがあり、詳細が記載されている。

f:id:chikuwamaruX:20220219091957p:plain

 

Add-onの開発方法などは以下から。

www.zaproxy.org

 

OWASP ZAPがプラットフォームとして機能して、様々なAdd-onが善意で開発されていると思うと、頭が下がる思いです。