Urlcrazy

Kalilinux
この記事は約5分で読めます。

urlcrazy は、正規サイトに似せた偽ドメインを調査するための OSINT(公開情報を利用した情報収集)ツールです。

フィッシングサイトやタイポスクワッティングの調査に利用できます。

基本機能

まずはターゲットURLによく似た紛らわしいURLを作成します。

そして作成した紛らわしいURLが実在するかどうかを調べます。

ヘルプ

kali ー 01-Reconnaissance ー Web Scanning ー urlcrazy

でヘルプが開きます。

urlcrazy
urlcrazy -n

ヘルプ画面の中段にはどのような偽URL(紛らわしいURL)を作成出来るかが記載されています。

変形手法意味例
Character omission文字の省略google.com → gogle.com
Character repeat文字の重複google.com → gooogle.com
Adjacent character swap隣接する文字の入れ替えgoogle.com → goolge.comAdjacent
Adjacent character replacement隣接キーなどを利用した文字の置換キーボード上で近い文字への置換
Double character replacement同じ文字の重複などに関連する変形実際の候補は生成結果で確認
Adjacent character insertion文字の間への追加google.com → googgle.comMissing
Missing dotドットの省略www.google.com → wwwgoogle.com
Strip dashesハイフンの削除my-site.com → mysite.comInsert
Insert dashハイフンの挿入google.com → goo-gle.com
Singular or pluralise単数形・複数形の変形単語末尾への s の追加など
Common misspellingsよくあるスペルミス正規の綴りに似た誤記
Vowel swaps母音の入れ替えa と eなどの置換
Homophones同音異義語などを利用した変形発音が似ている単語への置換
Bit flipping文字のビットを変えた変形文字コード上のビット変化
Homoglyphs見た目が似た文字への置換ラテン文字と類似する別文字の利用
Wrong top level domainTLDの変更.com → .net
Wrong second level domainドメインの第2レベル部分の変形登録可能なドメイン名の変更

オプション

ヘルプに記載されたオプションです。

オプション機能使用例
-k 配列キーボード配列を指定
[qwerty (default), azerty, qwertz, dvorak]
urlcrazy -k qwerty example.com
-pGoogleを利用してドメインの人気度を調査urlcrazy -p example.com
–rDNS名前解決を行わない(DNS問合せを省略)
*ネットワークにかかる負荷が減少するので、このオプションは推奨されます
urlcrazy -r example.com
-i無効なドメイン名も表示urlcrazy -i example.com
-f 出力形式出力形式を指定
[ human readable (default), JSON, CSV ]
urlcrazy -f CSV example.com
-o ファイル名結果をファイルに保存urlcrazy -o result.txt example.com
-n色付き表示を無効化urlcrazy -n example.com
-dデバッグ情報を表示urlcrazy -d example.com
-hヘルプを表示urlcrazy -h
-vバージョンを表示urlcrazy -v

実行

まずは、架空のURL候補を作成します。

“-r” オプションを付加することにより、実在するかどうかに関係なく紛らわしいURLを生成してみます。

ここでは例として “example.com” をターゲットとしています。

結果解釈

9行目に2065の候補を生成したとあります。

この下に2065個の生成された紛らわしいURLが表示されます。

この2065個のURLは、ここで勝手に作っただけで、実在するかどうかはこの時点では不明です。

実在するかどうかを調べるには、 “-r” オプションを外してDNS問合せを行い、IPアドレスの実在を確認します。

“-r” オプションを外して実行すると、2分ほどで結果が出ました。

urlcrazy

IPアドレスなどのDNSサーバ情報を調べるだけで、実際にそのIPに接続しに行ってるわけではないようです。

まとめ

urlcrazyはターゲットのURLと紛らわしいURLを自動生成するツールです。

パスワードなどの候補単語を自動的に集めてきて辞書を作成するツールがありますが(Cewl, Crunch)それに近いです。

でも実際にDNS名前解決まで行う所が違います。

参考:ファイルディスクリプタの上限数について

ヘルプや実行結果の最上段にファイルディスプリプタの数が不足する可能性についての警告があります。

limit of descriptor

ファイルディスクリプタ

ある1つのプロセスが開くファイル/ソケットへの接続経路に付与される通し番号です。

デフォルトでは0番は標準入力、1番は標準出力、2番は標準エラー出力に最初から割り当てられています(変更も可能)

それ以後の番号は別なファイル/ソケットにアクセスする度に順次割り振られていきます。

そしてその数の上限はデフォルトでは1024です。

デフォルトの上限数の確認方法

ulimit -a

デフォルトではファイルディスクリプタは1024に設定されていますが(8行目)、プロセスによっては数多くのDNSに問い合わせする関係で、それでは足りない可能性があります。

"ulimit” は、ユーザーやプロセスが使用できるシステムリソース(同時オープンファイル数やメモリ、CPUなど)の上限を確認・設定するためのコマンドです。
暴走したプロセスによるリソース枯渇を防ぐ役割があります。

上限数の変更

以下の方法でファイルディスクリプタの上限数を変更することができます。

下の例では10000に変更しています。

ulimit -n

この変更操作はそのシェル(ターミナルウインドウ)に限定されます。

(別のシェルではデフォルトの1024のままです)

ulimit

コメント

タイトルとURLをコピーしました