PDF

どんな小さな穴も見逃さない
Penetration
ペネトレーション(貫通 )
コンピューターやネットワークのセキュリ
ティ上の 弱点( 脆 弱 性 ) を攻 撃 するのが
Penetration。 対 象となる脆 弱 性や攻 撃
方 法 が モ ジュール 化 さ れ た Metasploit
Framework をはじめ、脆弱性のデータベー
スなど幅広い視点から紹介しよう。
文 =zou 団
脆弱性調査自動化のフロントエンド
Fast Track
脆弱性調査
http://www.thepentest.com/
Fast Track は、後述する SET(Social Engineer
ing Toolkit)も作成している、David Kennedy 氏
る脆弱性調査
(Metasploit)を自動で行ってくれる。
また、アップデートについては、Metasploit、
による Python ベースの脆弱性調査の自動化ツー
SET、SQLMap、Kismet などに対応しており、ファ
ルである。
「Autopwn Automation」
「Microsoft
イルダウンロードからコンパイルまで自動実行し
SQL Injection」
「Mass Client-Side Attack」
「SQL
てくれる。すべてのアップデートを 1 つの操作で
Pwnage」など、簡単な操作で自動的に脆弱性
実行することができるため、脆弱性調査の自動化
の調査や対応ソフトウェアのアップデートなどが
だけではなく、アップデート機能も非常に強力で
可能だ。
ある。
実行方法は、Web インターフェイス、コマンド
BackTrack4 ではすぐに利用できる環境が整っ
ライン、対話式コマンドラインから選択でき、利
ており、試してみてほしい(p156 でも Fast Track
用しやすいものを選択しよう。脆弱性調査の自動
を解説している)。
化については、
「Autopwn Automation」であれ
ダウンロードか
らコンパイルま
で自動で行って
く れ る、Fast
Trackの アップ
デート機能
ば、ターゲットの IP アドレスとペイロード(Bind
or Reverse)を選択するだけで、ターゲットのポー
トスキャン(Nmap)からオープンポートに対応す
msf > sessions -l
Active sessions
===============
Id
-1
Type
---shell
Information Connection
----------- ---------192.168.0.200:20590 -> 192.168.0.1:44714
ssions -i <id> to jump into a shell", then you were unsuccessful. Simply type
se
[*] exec: echo "If it states No sessions, then you were unsuccessful. Simply
type sessions -i <id> to jump into a shell"
If it states No sessions, then you were unsuccessful. Simply type sessions -i
<id> to jump into a shell
sessions -l コマンドで現在接続しているセッションが確認できる
70
電子メールや偽 Web サイトでユーザーを騙す !?
Social-Engineer Toolkit
ソーシャルエンジニアリング
http://www.social-engineer.org/
ソーシャル・エンジニアリングとは、
「人間の心
・悪意のある PDF ファイルを電子メールで送信し
理・行動の隙を突くことで、情報を不正に取得す
て、不用意にファイルを開いたユーザーに…
る手段の総称」である。コンピューターを利用し
・ターゲットとなる人間を、罠を仕込んだ偽サイ
たソーシャル・エンジニアリングでは、ユーザー
トに誘導して…
を偽 Web サイトに誘導して、アカウント情報や
・CD や DVD の自動実行機能を悪用して…
クレジットカード会員番号などの個人情報を入力
といった行為を簡単に行うことが可能となる。も
させ入手する「フィッシング」が有名である。ま
ちろん悪用は厳禁だ。自己防衛のための知識向
た、メール差出人を信頼されるような身分に詐称
上や、利用者教育の一環としてのみ利用するよう
し、ユーザーに悪意のあるファイルを開かせて不
にほしい。
正に情報を取得するといった手段もある。
SET は、 バックエ ンド に「Metasploit Frame
電子メール・Web サイト・外部メディアを利用
work」を使用しているので、通常は別途 準備・
したソーシャル・エンジニアリングを簡単に行う
設定する必要があるが、BackTrack では何も考え
ための支援ツールが「Social Engineer Toolkit」
ずに使用することが可能となっている。使い方は非
(以下 SET)である。国内の雑誌や書籍・ブログ
常に簡単で、行いたい攻撃を対話式のメニューから
などではあまり話題に取り上げられていないマイ
選択していくだけである。ツールの詳細について
ナーなツールだが、非常に面白い機能を持って
は、公式サイトにデモ動画とチュートリアル※ 1 が
いる。
あるので、そちらを見ていただきたい。
攻撃用 PDF から Web サイトアタックまで!
1
Select from the menu on what you would like to
do:
1.
2.
3.
4.
5.
6.
7.
Automatic E-Mail Attacks(UPDATED)
Website Java Applet Attack(UPDATED)
Update Metasploit
Update SET
Create a Payload and Listener
Help
Exit the Toolkit
Enter your choice:
3
SET 起動画面。
初回実行時は、
「3. Update Metasploit」
「
、4.
Update SET」を実行して、ツールのアップデートをしよう。
そうしないと、SET で新しく追加されている機能が使用で
きない
2
[!] Website Attack Vectors [!]
1.
2.
3.
4.
Web Templates
Site Cloner
Custom Import
Return to main menu
Enter number(1-4): 2
Select the file format exploit you want.
The default is the PDF embedded EXE.
********** PAYLOADS **********
1. Adobe Collab.collectEmailInfo Buffer Overflow
2. Adobe Collab.getIcon Buffer Overflow
3. Adobe JBIG2Decode Memory Corruption Exploit
4. Adobe PDF Embedded EXE Social Engineering
5. Adobe util.printf()Buffer Overflow
6. Custom EXE to VBA(sent via RAR)(RAR required)
7. Adobe U3D CLODProgressiveMeshDeclaration Array
Overrun
Enter what type of attack you would like to
utilize.
The Java Applet attack will spoof a Java
Certificate and
deliver a metasploit based payload.
The Metasploit browser exploit method will
Web サイトでの攻撃方法として、
「Java アプレットを
利用する方法」
、
「Web ブラウザーの脆弱性を悪用する方
法」
、
「偽のログインフォームに入力されたユーザー名・
パスワードを奪取する方法」が用意されている
電子メールに添付する攻撃用 PDF の作成画面。いろい
ろな脆弱性に対応している
71
いろいろな機能を搭載したペネトレーション用ツールキットだが…
Inguma
脆弱性調査・侵入テスト
http://inguma.sourceforge.net/
「Inguma」は Python で書かれた脆弱性調査・
情報を入力後、機能ごと(情報収集、Exploit の実行、
侵入テストを行うためのツールキットである。最新
ブルートフォース攻撃など)に提供されているモ
バージョンは「0.1.1」であるが、BackTrack4 Final
ジュールを実行する。自動的にターゲットを調査
には「0.0.9.1」が収録されている。ターミナル上で
コマンド操作を行う「inguma」と、PyQt ベース
してくれる「autoscan」モードも用意されている
ので、面倒な人はこの機能を使うというのも手だ。
の GUI 画面で操作を行う「ingumagui」が用意さ
Python で作られたネットワークツール 「Scapy ※ 2」
れている。しかし、
「ingumagui」については、筆
者の環境では正常に動作しなかった(モジュール
を使用しているモジュールがあるので、コマンドモー
ド画面から直接使用することも可能となっている。
実行時に「segmentation fault」で終了してしま
う)。2010 年 5 月にリリースされた「BackTrack 4
ただ、2008 年 12 月からツールのバージョンアッ
プは行われておらず、公式サイトも更新されていな
R1 Dev」でも同様の事象が発生するため、この問
題はまだ修正されていないようである。
い。筆者の個人的な感想としては、いまいち使い
勝手が悪く、同様もしくはそれ以上のことが行える
「inguma」 を 実 行 する と、
「Metasploit Frame
work」の「msfconsole」のようなコマンドモード画
面になる。 使用方法は、 ターゲットとなるサーバー
ツールが多々存在するため、今後積極的に使用す
る機会は少ないと考えられる。
多彩な攻撃手法を持つ脆弱性発見ツール
1
ヘルプ画面。
「show」コマンドで各カテゴリのモジュール
が表示される。Exploit も用意されているが、数は少なめと
inguma> help
|-------------------------------------------------- |
| load kb
| Load the knowledge base
|
| save kb
| Save the knowledge base
|
| clear kb
| Clear the knowledge base's data |
| report
| Generate a report
|
|------------------------------------------------- |
| show discover | Show discover modules
|
| show gather
| Show gather modules
|
| show rce
| Show RCE modules
|
| show fuzzers | Show fuzzing modules
|
| show exploits | Show available exploits
|
| show brute
| Show brute force modules
|
| show options | Show options
|
| payload
| Show the supported OS types
and payloads
|
| info <exploit> | Show additional information
about an exploit
|
inguma> target = "192.168.1.100"
inguma> port = 80
inguma> identify
Port 80 : Apache/2.2.15(Unix)PHP/5.3.2
inguma> tcpscan
Scanning port 17004(417/417)
Open ports
---------Port 80/www is open
Port 22/ssh is open
inguma>
72
3
なっている
inguma> help(scapy.sniff)
Help on function sniff in module scapy:
2
sniff(count=0, store=1, offline=None, prn=None,
lfilter=None, L2socket=None, timeout=None, *arg,
**karg)
Sniff packets
sniff([count=0,] [prn=None,] [store=1,]
[offline=None,] [lfilter=None,] + L2ListenSocket
args)-> list of packets
count: number of packets to capture. 0
means infinity
store: wether to store sniffed packets or
discard them
prn: function to apply to each packet. If
something is returned,
it is displayed. Ex:
ex: prn = lambda x: x.summary()
lfilter: python function applied to each
packet to determine
if further action may be done
強力なネットワークツール「Scapy」もコマンドモード
画面上から実行することが可能である
必要となるターゲットサーバーの情報を入力後、使用したい
モジュールを実行する
脆弱性調査ツールのスタンダード
Metasploit Framework 2&3
脆弱性調査
http://www.metasploit.com/
紹介するまでもないと思われるほどメジャーな
脆弱性調査ツールが、Metasploit Framework で
ある。多くのプラットフォーム(Windows、Linux、
BSD など)
に対応している。執筆時点では「v3.4.0」
もリリースされており、今後ますます成長が楽し
みなツールである(p144 に関連記事あり)。
BackTrack4 では、
GUI メニューから「v2.8-dev」
「v3.3.4-dev」の 2 つのバージョンが起動できる。
2 つのバージョンの Exploit を比較してみたとこ
ろ、
「edirectory̲imonitor2」「solaris̲snmpxd
mid」 な ど マイ ナ ー と 思 わ れ る 14 個 ほ ど の
Exploit が、v3 系 で は サ ポートさ れて い な い。
Perl で作成されていた v2.8 以前の Exploit につ
いて配慮したものと考えられるが、通常は v3 系
を利用することで十分である。
v2.8 の「edirectory̲imonitor2」情報と、v3.3 の「edire
ctory」の検索結果
過去の Exploit コードをローカルディスク上で管理
ExploitDB
データベース
---------------------------
「Offensive Security」が運営している「Exploit
手法など)にカテゴライズされて保存されている。
Database ※ 3」で公開されているコードを、ロー
ファイルの一覧が「files.csv」として作成されるの
カル ディスク上で 管 理 するた め のツールで あ
で、このファイルを活用して必要となるコードを
る。 使 い 方 は 簡 単 で、 メニ ュー か ら「Update
検索しよう。
Exploitdb」を選択するだけで、
自動的にコードのアップデート
処理が行われる。
なお、アップデートにはバー
ジョン 管 理 シ ス テム「Subver
sion」が 使 用されているので、
社内ネットワークなどの外部へ
の接続が制限されている環境で
は注意が必要となる。
Exploit デ ー タ ベ ー ス は「/
pentest/exploits/exploitdb/」
配下に、プラットフォームごと
(OS、アプリケーション、攻撃
id;file;description;date;author;platform;type;port
1;platforms/windows/remote/1.c;"MS Windows
WebDAV(ntdll.dll)Remote Exploit";2003-0323;kralor;windows;remote;80
2;platforms/windows/remote/2.c;"MS Windows
WebDAV Remote PoC Exploit";2003-0324;RoMaNSoFt;windows;remote;80
3;platforms/linux/local/3.c;"Linux Kernel 2.2.x
- 2.4.x ptrace/kmod Local Root Exploit";2003-0330;"Wojciech Purczynski";linux;local;
4;platforms/solaris/local/4.c;"Sun SUNWlldap
Library Hostname Buffer Overflow Exploit";2003-0401;andi;solaris;local;
5;platforms/windows/remote/5.c;"MS Windows RPC
Locator Service Remote Exploit";2003-04-03;"Marcin
保存された「files.csv」の内容。2010 年に公開された Exploit コードについては、
まだダウンロードできないようだ
73