2010年1月24日日曜日

辞書攻撃(Dictionary Attack)
辞書ファイルを持っていて、順番に試行する
総当り攻撃(Brute Force Attack)
全ての可能性を順番に試行する


辞書攻撃にも、単純に試すだけではなく、辞書のデータを前後逆にしたり、記号を付加したり...など高機能のものもある。



UnSecure
ver1.0
Windows で動作する既知のユーザ名に対するブルートフォース攻撃、辞書攻撃をします。

デフォルトの辞書は、解凍して出来た unsdic.txt というファイルがそれ(英語圏用だろう)。

リモート専用のツールのようだ。
クラック可能なサービスを限定していないようだ。

しかも、結構速い。

ただし、ユーザ名の逆さとか、そういうインテリジェンスはないようだ。

ver1.2
FTP 専用のようです



Packet Stormです。





L0phtCrack ver2.5
NT についてはあまりに有名。
ローカル、リモートの両方をターゲットにできる。
ネットワーク上を流れる SMB パケットを元に解析もできるらしい。

まだ、試していない。
辞書として、インストールディレクトリに words-english というファイルが出来るが、英語圏用だな。

ターゲットを直接レジストリから取得できる機能は Goo!

100$ だってさ。


ANTExp ver1.0
NT 用パスワード回復ツール。
現在、試用中の段階だからか、パスワード文字列が5文字以下に制限されている。

使い方は、
インストールする。
インストールディレクトリにある、passdump.exe を実行して、ハッシュファイル? を作る。
passdump.exe > ファイル
のようにリダイレクトすれば、ファイルに保存される。
Password Hashes file にそのファイルを指定する。
対象とするユーザを選択する。
実行する。


感覚して、総当り解析は、L0phtcrack より速いような気がする。

辞書として、インストールディレクトリに english.dic というファイルが出来るが、英語圏用だな。

「project」-「Quit」で終了する。

シェアです。 本家


Brutus
リモートに対してのパスワード解析ツールですね。
本家から、version aet2(2001/06/20,2003/08/26)をダウンロードして解凍すると出てくる exe を実行して設定をいじって「Start」ボタンを押すだけ。
GUI でーす。

{brutus-aet2.zip : 338,947byte}

users.txt がオマケのアカウントリストファイルで、words.txt がオマケのパスワードリストファイル

最上段
ターゲット、プロトコル(FTP,HTTP基本認証,HTTPカスタマイズ(Form),POP3,Telnet,SMB,NetBus,その他{カスタム})
Connection Options
接続に関する設定(ポート番号やタイムアウト、接続スレッド数、プロキシーの有無とプロキシーの種類)を決定
プロトコル Options
ターゲットのプロトコルによって画面が異なる。
リトライの回数や、各プロトコルごとの詳細な設定をする。
「Modify sequence」では、プロトコルの認証手順などを細かく設定できる(これだけでもTCP/IP の勉強になるでしょう)。
Authentication Options
パスワード解析の設定をする。
アカウント名を使う使わない。アカウント名は、ユーザファイルから取得するのか、一つのアカウント名 解析するのか。
パスワードに関しては、総当りなのか、辞書を使うのか、アカウント名とパスワードとのコンビネーションを考えて使うのか(Combo List)
Positive Authenbtication Results
丈夫に処理結果が、下部には経過情報が表示される


感想:
すごいです。
認証手順を TCP/IP プロトコルレベルまでカスタマイズできるのは脱帽。

プロトコルタイプで、カスタマイズを選択して、Modify Sequence できちんと設定すれば、認証を行う任意のプロトコルの解析が可能となるでしょうね。
当然、TCP/IP とターゲットプロトコルの詳細な知識が必要だけどね。
このサンプルとして、NetBus 用に NetBus.bad がある。

解析自体は、結構速いという印象。
ユーザ名の逆さとか辞書リストのインテリジェンスな機能はないようだ。

「Tools」-「Wordlist Generation」にて、パスワードファイルをいろいろと整形できる。
Convert list (LFボタンを押して追加しないとダメよ)。
Create new list for user
上記の複数ユーザ(ユーザリストから)版


AutoSave 機能もあるようで、autosave.bru がその保存ファイル



John the Ripper for WIN32
UNIX 系では有名のパスワード・クラッカー

本家

Win32 版
john-16w.zip : 781,010Byte
K6 版と MMX 版が同梱されている。
Source
john-1.6.tar.gz : 497,341Byte


UNIX 版としては、
# gzip -d john-1.6.tar.gz
# tar xvf john-1.6.tar
# cd john-1.6/src
# make linux-x86-any-elf
(一般的)
# make linux-x86-mmx-elf
(MMX 版)
# make linux-x86-k6-elf
(K6 版)

Windows 版としては、
使い方は、簡単で、本家から DL して解凍すると CUI 形式の exe が出てくる。

解凍して、 run ディレクトリ下の password.lst がオマケの辞書ファイル。

john.ini が設定ファイルだなぁ。

cygwin1.dll があるという事は、....GNU on Win32 という事かな。

とりあえず、自分の LINUX からパスワードファイルをコピーしてきてから、
john.exe shadow
だけで実行してくれる。

john.exe -show shadow
は、shadow ファイルを画面に出すだけ。(type コマンドそのものだな)

引数
引数 意味
-wordfile:ファイル 辞書ファイルを元に解析
-rules オプションがない場合、ファイルにある文字列のみしか検査しない
-rules john.ini 内の [List.Rules:Wordlist] を元に辞書攻撃を実施
-single john.ini 内の [List.Rules:Single] を元に辞書攻撃を実施
-test テストと、スピードを比べる(MMX 版と K6 版のどちらが速いかテストできるでしょう)


パスワード攻撃のルール
crack & John the Ripper
参考リンク :
日経ネットワーク・セキュリティ Vol.1




MDcrack
ハッシュ値の元の値を推測
使用感などはここ



apc
UNIX/LINUX の /etc/passwd,/etc/shadow へのパスワード・リカバリ・ツール

辞書攻撃のみ。

Packet Stormです。



基本的には、コンパイルするだけ。

# gcc -O -o apc -lcrypt apc.c
# ./apc /etc/shadow 辞書ファイル



apoc-crack
UNIX/LINUX の /etc/passwd,/etc/shadow へのパスワード・リカバリ・ツール

総当り攻撃のみ。

Packet Stormです。

{2003/08 現在 : apoc-crack.c 6,347byte}

基本的には、コンパイルするだけ。

# gcc -O -o apoc-crack -lcrypt apoc-crack.c
# ./apoc-crack /etc/shadow

使われる文字は、ASCII 7bit コード

2 文字から、チェックが行われる。



ASMCrack
UNIX/LINUX の /etc/passwd,/etc/shadow へのパスワード・リカバリ・ツール

総当り攻撃のみ。

Packet Stormです。



MS-DOS 版だけど、Windows 側に UNIX のパスワード・ファイルをコピーして行う。

詳細は、同梱されている HTML ファイルを参照。

辞書なども作れるようだけど、ようわからん。



qrack
UNIX/LINUX の /etc/passwd,/etc/shadow へのパスワード・リカバリ・ツール

辞書攻撃のみ。

Packet Stormです。

{2003/08 現在 ver1.0 qrack-1.0.tgz : 9,187byte}

解凍すれば、バイナリがでてくる。

# gzip -d qrack-1.0.tgz
# tar xvf qrack-1.0.tar
# cd qrack-1.0
# ./qrack パスワードファイル 辞書ファイル



nutcracker
UNIX/LINUX の /etc/passwd,/etc/shadow へのパスワード・リカバリ・ツール

辞書攻撃のみ。

Packet Stormです。

{2003/08 現在 ver1.5 nutcracker-1.5.tar.gz : 17,007byte}

解凍すれば、バイナリがでてくる。

# gzip -d nutcracker-1.5.tar.gz
# tar xvf nutcracker-1.5.tar
# cd nutcracker-1.5

その中にある Screen.pm を Perl のモジュール群にコピーしておく。
(または、nutcracker のあるディレクトリに「Term」というディレクトリを作ってそこにコピー)

# ./nutcracker パスワードファイル 辞書ファイル

# ./nutcracker パスワードファイル 辞書ファイル -n
とすると対話モード
「s」キーで START/STOP
「q」キーで終了
# ./nutcracker パスワードファイル 辞書ファイル -n -s
とすると「-s」なしと一緒だけと起動後にすぐに処理を実行する



xcrack
Perl の UNIX/LINUX の /etc/passwd,/etc/shadow へのパスワード・リカバリ・ツール

辞書攻撃のみ。

Packet Stormです。

解凍すれば、バイナリがでてくる。

# perl xcrack.pl パスワードファイル 辞書ファイル



saltine-cracker & scrack & keds
UNIX/LINUX の /etc/passwd,/etc/shadow と NT の NTHash へのパスワード・リカバリ・ツール

総当り攻撃のみ。

keds というサーバを通して、scrack というクライアントが処理をする。
つまり分散解析を行える。
keds の待ち受けポートは、tcp/1984

UNIX 版と Windows 版がある。

Packet Stormです。

{2003/08 現在 ver1.5 scrack15.zip : 234,300byte}
{2003/08 現在 ver1.05.00 saltine-cracker-1.05.00.tar.gz : 24,051byte}

Windows 版は動いたけど、UNIX 版はコンパイルできず。
errno など変数宣言していない部分が多すぎ....(ちゃんとコーディングして欲しいものです)

(小林さんから、errno.h をインクルードすれば、コンパイルが通るという情報を頂きました)

使い方は
c:\> keds ハッシュ値
で、1984/tcp で待機

後は、クライアント側で
c:\> scrack IPアドレス



FTP-Bruteforcer
Perl の FTP サーバへのリモート・パスワード・クラッキング

辞書攻撃のみ。

必要なモジュールは、
Net::FTP
Net::Ping
Text::Tabs


Packet Stormです。



ユーザ名リストは、「users」というファイルで、辞書が「pass」が付いているけど、「users」には、「administrator」と「admin」を追加しておこう。

普通に実行するだけ
# perl ./fhb-1.2.2.pl

ホスト名と、ポート番号が問い合わせられるので、答えるだけ。

ログファイルが環境変数「$HOME」のディレクトリにできるらしい。



Hydra
THC のパスワード・クラッカー。

基本的には
# hydra オプション 対象ホスト 対象サービス名 対象サービスごとのモジュールのオプション


「対象サービス名」として
Samba
FTP
# hydra -e sn -L ファイル -P ファイル 対象ホスト ftp
POP3
# hydra -e sn -L ファイル -P ファイル 対象ホスト pop3
IMAP
Telnet
# hydra -e sn -L ファイル -P ファイル 対象ホスト telnet
HTTP Auth
# hydra -e sn -L ファイル -P ファイル 対象ホスト http URL
LDAP
NNTP
MySQL
# hydra -e sn -L ファイル -P ファイル 対象ホスト mysql
VNC
ICQ
Socks5
PCNFS
Cisco


一般的なオプションは、
-e n ヌル・パスワードを試す
-e s ジョー・パスワードを試す
-e ns -e n -e s の事
-l ユーザ名 ユーザ名を指定する
-L ファイル ユーザ名の書かれたファイルを指定する
-p パスワード パスワードを指定する
-P ファイル パスワードの書かれたファイルを指定する
-C ファイル 「ユーザ名:パスワード」の組のファイルを指定する
-S SSL を使う
-s ポート デフォルト以外のポートの時に指定する
-o ファイル 結果を保存する
-f 一個リカバリができたら終了する
-t 数 スレッド数
デフォルト=4
-g 数 スレッド数のようですが、-t との違いが不明
-w 秒 タイムアウト




インストール方法は、解凍して make

# gzip -d hydra-2.4.tar.gz
# tar xvf hydra-2.4.tar
# cd hydra-2.4
# ./configure
# make
# make install

って感じですが、hydra-mysql.c の 299 行目で、関数の途中で extra 変数を宣言しているのが、私のコンパイラには気に食わないようでしたので、その部分だけソースコードを修正



FTP_Crack
Telnet_Crack
Perl の FTP/Telnet サーバへのリモート・パスワード・クラッキング

辞書攻撃のみ。

必要なモジュールは、
strict
Getopt::Std
Net::FTP
Net::Telnet


Packet Stormです。

{2003/08 現在 Ftp_crack.tar.gz : 66,893byte}
{2003/08 現在 Telnet_crack.tar.gz : 33,137byte}

普通に実行するだけ
# perl ./Ftp_Crack.pl -h ホスト名 -U ユーザ名ファイル -P パスワードファイル
# perl ./Telnet_Crack.pl -h ホスト名 -U ユーザ名ファイル -P パスワードファイル

カレント・ディレクトリにログができる。



authforce
Web サーバへのリモート・パスワード・クラッキング

辞書攻撃のみ。
レジューム機能あり

Packet Stormです。

本家

まずは、cURL というライブラリが必要なので、それをインストールする。
cURL インストール・メモ

あとは、普通にコンパイルといけばラッキー。
# gzip -d authforce-0.9.6.tar.gz
# tar xvf authforce-0.9.6.tar
# cd authforce-0.9.6
# ./configure
(メッセージを見ておく)
(CURL がないよ。という WARNING! があったら...make する時に curl 関連のヘッダをインクルードできないかもね)
(# md curl)
(# cp /usr/local/include/curl/* curl)
# make
# make install
# rehash
# authforce -V

として 0.9.6 と出ればインストール終了だけど、curl とリンクしていないと、パケットをネットワークに流さないので、LAN アナライザなどで、パケットを流しているかをチェックすること。

基本的には
# authforce 「URL」
です。

パスワードファイルなどは、
/usr/local/share/authforce/data 以下にあるよ。

入力ファイルなどの検索パスは、 /usr/local/share/authforce/data → ./data → ./ です。
(configure で変更可能)

ログイン可能なユーザ名/パスワードの組を見つけてしまうと、しばらくはその状態を保持してしまって、ログインできない組でもログイン可能と表示してしまう場合がある
--password-delay オプションでゆっくりやればいいのかもしれない。
(あまり関係ないらしい)



tforce
Web サーバへのリモート・パスワード・クラッキング

辞書攻撃のみ。
レジューム機能あり

Packet Stormです。

{2003/08 現在 ver1.0.0 tforce-1.0.0.tgz : 11,163byte}

あとは、普通にコンパイル
# gzip -d tforce-1.0.0.tgz
# tar xvf tforce-1.0.0.tar
# cd tforce-1.0.0
# make
# ./tforce

として 1.0.0 と出ればインストール終了

基本的には
# tforce -h ホスト -r パス -u ユーザ名 -l パスワードファイル

ホストには、IP アドレスはダメ

IIS の基本認証に対しては、レルムがおかしいと言ってくるので、結局、実験してな~い



WebCracker
Web サーバへのリモート・パスワード・クラッキング

辞書攻撃のみかな。
パスワードファイル中のデータを全部大文字にしたりなど、結構高機能。

広告がでるけど、フリーウェアらしい。

Packet Stormです。

本家らしい


解凍したインストーラを実行して、インストール処理をする。

処理画面などは、GUI なので省略



wwwhack
Web サーバへのリモート・パスワード・クラッキング

辞書攻撃/総当り攻撃
結構高機能。

フリーウェアではない!?

Packet Stormです。

本家らしい

{2003/08 現在 ver1.946 build103 Roentgen2 wwwhack.zip : 440,948byte}

解凍したインストーラを実行して、インストール処理をする。

処理画面などは、GUI なので省略



wbrute
Coranto Brute Forcer
クエリー文字列が、
URL?uname=....&pword=....&action=login
となっているものに対しての辞書攻撃を実施

とは言っても、Coranto という Web サイト専用なのかも~...

Packet Stormです。

ユーザ名辞書は、wbrute.users
パスワード辞書は、wbrute.pass

-s をつけると、ジョー・アカウントを調べる

クエリー文字列の交換ができればいいのに...



Cain
ローカルがメイン(リモートもできそうだけど)のパスワード・リカパリ・ツール

Packet Stormです。






Win9x 系のログイン・パスワード(*PWL)
ログイン中のユーザ名
スクリーン・セーバのパスワード
ダイアルアップのパスワード
Microsoft ネットワークのパスワード
etc


などがリカバリできる。
一応、お手軽。



Cain
ローカルだけのパスワード・リカパリ・ツール

Packet Stormです。

{2003/08 現在 e-pwdcache.zip : 91,464byte}




お手軽だけど、Windows がキャッシュしているパスワードなどがリカバリの対象だけど、すぐ落ちたり、エラー処理/例外処理のプログラミングが完成な模様。