「ブラッディ・マンデイ」の藤丸がもってるUSBメモリの作り方

2008年12月20日

Filed under: Linux,VirtualPC,backtrack,crack,hack — admin @ 10:22 PM

ブラッディ・マンデイ、ついに最終回が終わりましたね。
今回はブラッディ・マンデイの主人公、高木藤丸がもっているUSBメモリ(的な)の作り方を。
(※自己責任でつくってねん。ちなみに不正侵入は犯罪だよ!ダメ!絶対!)

このUSBメモリの中身を作るにあたって、参考にしたサイトは下記の通りです。
高校生サーバー管理者の考察日誌
ブラッディ・マンデイが始まってから『「ブラッディ・マンデイ」を考察する』というブログを書き始められたのですが、
このブログを書いてるのはなんと高校生!脱帽です。
【BackTrack 3】:Royal Windows
今回のUSBメモリ作成にあたって選んだOS『backtrack3』について記事を書かれているatc-500 さんのブログ。
今回の作成方法もここを丸パクりと言っていほど参考にしています。

高木藤丸仕様ですが、USBメモリ内にUSBブート可能なOSを入れて、
そいつをもろもろカスタマイズして使ってるんではないかと。
という訳で、USBブート可能なLinuxを使います。
ubuntuでも良いし、USBブートできるFedoraでも良いし、OSは何でも良いです。
今回僕はペネトレーションテスト用OS、『backtrack3』を使います。
(backtrackについては自分で調べてくださいね。)

ちなみに、ざっくりとした作り方はこちら

▼準備するもの
[1] ubuntu Linux (LiveCD) or VMware版 ubuntu Linux
※ubuntuはUSBメモリのパーティションを分割するために使います。
※パーティション分割できればOKなので、OSはubuntuじゃなくても可。
[2] USBメモリ(4GB以上がオススメ)

とりあえず上記があればつくれます。あとUSBブートできるパソコンも必要ね!
[3]backtrack3final (ペネトレーション用OS)
[4]ophcrack (windowsパスワードクラッカー)

要は、[2]に[3]と[4]をぶっこむというわけです。(完成!?w)

まずはUSBメモリを分割します。
fdiskを使って分割していきましょう。

CODE:
  1. root@ubuntu-vm:~# fdisk /dev/sdb
  2. Command (m for help): p
  3.  
  4. Disk /dev/sdb: 4009 MB, 4009754624 bytes
  5. 5 heads, 32 sectors/track, 48947 cylinders
  6. Units = cylinders of 160 * 512 = 81920 bytes
  7. Disk identifier: 0x9fe248cd
  8.  
  9.    Device Boot      Start         End      Blocks   Id  System

まず、fdiskのpコマンドで、USBメモリ内にパーティションがないことを確認。
通常は、パーティションが何かしらあると思うので、dコマンドでパーティションを削除しておくこと。

では、パーティションがないという前提ですすめていく。

CODE:
  1. Command (m for help): n
  2. Command action
  3.    e   extended
  4.    p   primary partition (1-4)
  5. p
  6. Partition number (1-4): 1
  7. First cylinder (1-48947, default 1):
  8. Using default value 1
  9. Last cylinder or +size or +sizeM or +sizeK (1-48947, default 48947): 24473

fdiskのnコマンドでプライマリパーティションを切っていく。
まず一つ目。シリンダーサイズが48947となっているので、半分(24473)のところでパーティションをぶち切る。
そして、ファーストパーティションはwindows形式(FAT32)にする。

CODE:
  1. Command (m for help): t
  2. Selected partition 1
  3. Hex code (type L to list codes): b
  4. Changed system type of partition 1 to b (W95 FAT32)
  5.  
  6. Command (m for help): p
  7.  
  8. Disk /dev/sdb: 4009 MB, 4009754624 bytes
  9. 5 heads, 32 sectors/track, 48947 cylinders
  10. Units = cylinders of 160 * 512 = 81920 bytes
  11. Disk identifier: 0x9fe248cd
  12.  
  13.    Device Boot      Start         End      Blocks   Id  System
  14. /dev/sdb1               1       24473     1957824    b  W95 FAT32

tコマンドで、b を選ぶとファイルシステムがwindows形式(FAT32)になった。

同じ要領でセカンドパーティションを作っていく。

CODE:
  1. Command (m for help): n
  2. Command action
  3.    e   extended
  4.    p   primary partition (1-4)
  5. p
  6. Partition number (1-4): 2
  7. First cylinder (24474-48947, default 24474):
  8. Using default value 24474
  9. Last cylinder or +size or +sizeM or +sizeK (24474-48947, default 48947):
  10. Using default value 48947
  11.  
  12. Command (m for help): t
  13. Partition number (1-4): 2
  14. Hex code (type L to list codes): 83
  15.  
  16. Command (m for help): p
  17.  
  18. Disk /dev/sdb: 4009 MB, 4009754624 bytes
  19. 5 heads, 32 sectors/track, 48947 cylinders
  20. Units = cylinders of 160 * 512 = 81920 bytes
  21. Disk identifier: 0x9fe248cd
  22.  
  23.    Device Boot      Start         End      Blocks   Id  System
  24. /dev/sdb1               1       24473     1957824    b  W95 FAT32
  25. /dev/sdb2           24474       48947     1957920   83  Linux

セカンドパーティションはファイルシステムをLinuxにした。
セカンドパーティションは設定データなどを保存するためのディスクになる。

ここまでできたら、fdisk の w コマンドで設定を保存し終了する。
fdiskを抜けたら、ふたつのパーティションをフォーマットする。

もしマウントされていたら、umountコマンドでアンマウントしておくこと。

CODE:
  1. root@ubuntu-vm:~# mkfs.vfat /dev/sdb1
  2. root@ubuntu-vm:~# mkfs.ext2 /dev/sdb2

次に、データ保存用の"changes"フォルダをつくる。

CODE:
  1. root@ubuntu-vm:~# mount /dev/sdb2 /media/disk
  2. root@ubuntu-vm:~# cd /media/disk/
  3. root@ubuntu-vm:/media/disk# ls
  4. lost+found
  5. root@ubuntu-vm:/media/disk# mkdir changes
  6. root@ubuntu-vm:/media/disk# ls
  7. changes  lost+found

上記例では、/media/disk にUSBメモリのセカンドパーティションをマウントして、
mkdir で "changes"フォルダを作っている。

ここまでで、USBメモリ側の準備はできた。

さて、これからが本番である。
backtrack本体とophcrackをUSBメモリにつっこんでいく。
MBRはbacktrack3のものを使う。そして、backtrack3とophcrackのカーネルを共存させる。

ここからはwindowsでもmacでもLinuxでも作業方法は何でも良い。
ここではwindowsをベースに説明していく。(ここからは超簡単。)

まずはダウンロードしてきたbacktrackを解凍する。
すると中に、

/boot
/BT3

というフォルダがあるので、こいつらをUSBメモリのファーストパーティションにコピーする。
そしたら次にダウンロードしたophcrackを解凍して中身を確認する。

/boot
/ophcrack

というフォルダが確認できるだろう。
そしたら、"/ophcrack"フォルダだけ、USBメモリにコピーする。
(レインボーテーブルもダウンロードした人はレインボーテーブルも。)

ここまでできたら、次にUSBメモリ内に移動する。
そして、"/boot" フォルダ内に "oph"というフォルダをつくる。

#ここまでのUSBメモリ内
/boot
/boot/oph
/ophcrack
/BT3

※他にもフォルダやファイルはあるが、割愛する。

ここまでできたら、"/boot/oph" フォルダ内に、ophcrackのカーネルイメージを入れる。

#ophcrackを解凍した際にできた"/boot"フォルダ内から、
"vmlinuz" と "initrd.gz" をUSBメモリ内の"/boot/oph" にコピーする。

これでUSBメモリ内に必要なファイルはすべて揃った。

次にブートメニューをいじっていく。
USBメモリ内にある、"/boot/syslinux" フォルダ内の"syslinux.cfg" をカスタマイズする。
このファイルがブートメニューの設定ファイルである。

必要なものは下記の3つあたりだろう。
ちなみに下記は僕がすでにカスタマイズしたあとです。
ポイントは"changes=/dev/sdb2" ←こいつ。
セカンドパーティションが設定やらのデータ保存領域になります。

CODE:
  1. #backtrack3 グラフィックモード
  2. LABEL pchanges
  3. MENU LABEL BackTrack3
  4. KERNEL /boot/vmlinuz
  5. APPEND initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw changes=/dev/sdb2 autoexec=xconf;kdm
  6.  
  7. #backtrack3 テキストモード
  8. LABEL BT3
  9. MENU LABEL BackTrack3 text_mode
  10. KERNEL /boot/vmlinuz
  11. APPEND initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw changes=/dev/sdb2
  12.  
  13. #ophcrack グラフィックモード
  14. LABEL oph
  15. MENU LABEL Ophcrack
  16. KERNEL /boot/oph/vmlinuz
  17. APPEND initrd=/boot/oph/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;startx changes=/slax/

これですべての準備は整いましたね。
最後に、下記のファイルを実行して、USBブートを可能にする。

CODE:
  1. #USBメモリ内の、下記ファイルを実行。※必ずUSBメモリ内で実行してください!
  2. #windowsのローカル上で実行するとwindowsがぶっこわれる可能性が。
  3.  
  4. /boot/bootinst.bat

これで完成です。長かったですね・・・。
あとは、USBメモリをブートすれば、藤丸仕様っぽいUSBメモリが完成です。
パスワードクラックでも、侵入テストでも何でもテキトーにやってみてください。
(自分のマシンを対象にやってねん。人のマシンはダメよ!)

ってな感じで以上です。
なんか間違ってる部分とかあったらご指摘くださいませ。(まだまだ勉強中です…。)

27件のコメント »

  1. ありがとうございます!

    コメント by 匿名 — 2008年12月21日 @ 12:35 AM

  2. こんにちは。
    今回このやり方でUSBを作ったのですが、Ophは起動すらせず、BackTrackは起動はするのですがテキストモードだけです。startxと打ってみても、エラーが出ます。
    どうすればいいのでしょうか。

    コメント by 匿名 — 2009年3月12日 @ 5:53 PM

  3. APPENDとKERNELのパスはあっているでしょうか?それと、OphCrack単体での起動(USBメモリにOphCrackのみインストールした状態で。)は確認できますか?

    環境によって完全な動作保証はできませんので、根気よくチャレンジしてみてください。

    コメント by 管理人 — 2009年3月13日 @ 12:37 PM

  4. パスを確認したのですが、あっていました。また、単体で起動しようとしても、途中で止まってしまいます。
    テスト環境はAspire oneです。
    このPCとの相性なのでしょうか。

    ちなみにエラーは3でした。

    コメント by eagle — 2009年3月13日 @ 4:41 PM

  5. なるほどなるほど、単体での起動の時点で止まってしまうとのことなので、OphCrackとBacktrack3がっちゃんこさせても動かないですね。

    相性とかではないと思うんですが…。
    ん~何でしょう。

    ちょっと検討つきませんね。

    コメント by 管理人 — 2009年3月14日 @ 12:52 AM

  6. こんにちわ&はじめまして

    順番にやっていって
    パーティションを区切るところまではできました!!

    で、そのあとなんですが
    セカンドパーティションをマウントしようとして
    root@ubuntu:~# mount /dev/sdb2 /media/disk
    とすると
    /media/diskが存在しませんを表示されます

    何が原因でしょうか
    そのせいで “changes”フォルダができません(´Д⊂ヽ

    アドバイスよろしくお願いします

    コメント by tomo(初心者) — 2009年4月1日 @ 11:21 PM

  7. tomoさん
    こんにちは!ubuntu使われてるんですか?(BT4?)

    mountする場所はどこでも良いので、/mnt/以下のどこかにマウンドすることってできないでしょうか?もしくは/media/以下のどこか他の空きディレクトリなど。

    /mnt/sdb2 などないでしょうか。

    コメント by hiroki ooiwa — 2009年4月21日 @ 12:59 AM

  8. 申し訳ないのですが詳しいやり方をyoutubeに載せてもらえないでしょうか?
    よろしくお願いします。

    コメント by k-dragon — 2009年8月22日 @ 10:05 AM

  9. ゝk-dragonさん

    時間があるときにでもつくれたらつくってアップしますね。
    (しかし時間が…。)

    コメント by hiroki ooiwa — 2009年9月2日 @ 12:36 AM

  10. ophcrack (windowsパスワードクラッカー)がどれをなのかわかりません

    コメント by ななし — 2009年9月21日 @ 3:18 PM

  11. 初めて質問させていただきます。
    ubuntu Linux (LiveCD) をサイトからダウンロードしたのですがその後ubuntu Linux (LiveCD) でfdiskのパーティションを分割する方法(コマンド?の出し方)が分かりません。isoファイルなのでマウントしたのですがインストール画面が出てきました。どのようにすればいいのでしょうか?
    本当に初歩的な質問で申し訳ありません。また質問は初めてなのでご無礼があったらお許しください。

    コメント by 匿名 — 2009年11月22日 @ 10:43 PM

  12. 返信大変遅くなりました…。

    ▽ななしさん
    >ophcrack (windowsパスワードクラッカー)がどれをなのかわかりません

    これがXP用
    http://downloads.sourceforge.net/ophcrack/ophcrack-xp-livecd-2.3.1.iso

    これがVista用
    http://downloads.sourceforge.net/ophcrack/ophcrack-vista-livecd-2.3.1.iso

    ってことでしょうかね。

    コメント by hiroki ooiwa — 2009年11月26日 @ 11:32 AM

  13. ▽匿名さん

    Linux自体が初めてということでしょうか。インストールはせずに、
    「コンピュータに変更を加えないでubuntuを使ってみる」を選択してください。

    そのあとにターミナル(端末)を立ち上げて

    $ sudo gparted

    か、

    $ sudo fdisk [対象ディスク]

    でパーティションを切ってください。

    コマンドラインでの操作が必要なので、もしLinuxコマンドがわからない場合は、ググって検索してみてください。

    よろしくお願いします。

    コメント by hiroki ooiwa — 2009年11月26日 @ 11:38 AM

  14. ありがとうございます!!

    コメント by 匿名 — 2009年11月26日 @ 9:15 PM

  15. ophcrackで、windowsのXPでもVistaでも使いたい場合はどうするのでしょうか?

    コメント by 匿名 — 2009年11月26日 @ 11:15 PM

  16. ▽匿名さん

    試してないのでなんとも言えないのですが、どちらか一つのカーネルを使って、ブートファイルをXP用、Vista用で用意し、Dualブートでやるしかないんじゃないかなと。

    WindowsXPとVistaはカーネルのバージョンも違うし、まったくの別物だと考えてください。ですので、同時に解析するのは難しいかと。

    コメント by hiroki ooiwa — 2009年11月27日 @ 1:04 AM

  17. ありがとうございます

    コメント by 匿名 — 2009年11月27日 @ 10:49 PM

  18. BackTrack開いたのですがどこからダウンロードするのですか?

    すいません簡単なのに・・・

    コメント by 超初心者 — 2009年11月28日 @ 1:18 PM

  19. すいません超度級素人なのですが
    あのコマンドをそのまま全部入力するのですか?
    それとも一番上の行だけターミナルで入力するのですか?
    1.
    root@ubuntu-vm:~# fdisk /dev/sdb
    2.
    Command (m for help): p
    3.

    4.
    Disk /dev/sdb: 4009 MB, 4009754624 bytes
    5.
    5 heads, 32 sectors/track, 48947 cylinders
    6.
    Units = cylinders of 160 * 512 = 81920 bytes
    7.
    Disk identifier: 0x9fe248cd
    8.

    9.
    Device Boot Start End Blocks Id System

    例えばこれならfdisk /dev/sdbだけを入力すればこのように画面に表示されるのですか?こんな質問ですが何卒宜しくお願いします

    コメント by debian — 2009年12月12日 @ 11:16 PM

  20. 一番最初の方の「パーティションはないと思うが、もしあったらdコマンドで削除」という部分で、dコマンドを押したら「領域(?)が設定されていません」となりました。どうすればいいでしょうか?

    コメント by 匿名 — 2009年12月24日 @ 1:46 AM

  21. GPartedというパーティション作成ソフトで新規パーティションの作成をおすと既存のパーティションが削除されます

    コメント by debian — 2010年1月4日 @ 12:31 PM

  22. 「シリンダ数が1039に設定されています」となるのですが、パーティション分割をする上ではシリンダというものは関係はないのでしょうか?初歩の質問で申し訳ありません

    コメント by 匿名 — 2010年1月6日 @ 8:21 PM

  23. パーティションの分割はできたのですがパーティションのフォーマットの仕方がわかりません。Gpartedを開こうとしたら「sdbを開けません」となってしまいます・・・
    あと、以前の質問も見たのですが、アンマウントの仕方が分かりません・・・教えて頂けますでしょうか?

    コメント by 匿名 — 2010年1月6日 @ 11:56 PM

  24. ありがとうございます!!パーティションの削除できました!

    コメント by 匿名 — 2010年1月7日 @ 9:53 AM

  25. 始めて投稿させていただくのですが
    中間の
    root@ubuntu-vm:~# mkfs.ext2 /dev/sdb2
    を入力すると

    mke2fs 1.40.8 (13-Mar-2008)
    Could not stat /dev/sdb2 --- No such file or directory

    The device apparently does not exist; did you specify it correctly?

    と出てきてしまい、
    仕方ないので飛ばして下のコマンドを入力すると

    root@ubuntu-vbox:~# mount /dev/sdb2 media/disk
    mount: mount point media/disk does not exist

    と出てきてしまい、やっぱりダメです
    初心者なのでよく分からないのですが何卒よろしくお願いします。

    コメント by 匿名01 — 2010年1月26日 @ 9:16 PM

  26. すいません。
    他の方法を試みたらうまくいきました。

    しかし、今回私はubuntuを入れたいと思っていたのですが
    isoファイルしかなくてどうしたら説明のように
    bootファイルがないのですが
    どうすればいいでしょうか?

    コメント by 匿名01 — 2010年1月26日 @ 10:09 PM

  27. こんな低レベルな質問ですいません。

    記事の最後に書いてある「パスワードクラック」は何のパスワードなんですか??

    コメント by みゃび★ — 2010年1月31日 @ 11:58 AM

この投稿へのコメントの RSS フィード。

コメントする