ユーザー名とパスワードをクラックする
- 公開日 : 2013年7月24日
- カテゴリ : PC
このような日頃使わない知識は次回必要とした時には必ず忘れているので、備忘録として書いておこう。
これは多くの一般ユーザーが必要とするような知識でもないので、細かい部分まで解説しないのはご容赦ください。
また、間違っている部分がありましたら、指摘していただけると幸いです。
まずpasswdファイルとshadowファイルを手に入れておく。
Webサーバーで一般的に使われているUNIX系OSの場合、etcディレクトリに格納されている。
つまり/etc/passwd
と/etc/shadow
だ。
/etc/passwd
で見れない場合は/etc/master.passwd
かもしれない。
このあたりはUNIX系OSの種類によって少しずつファイル名が違うようなので調べる必要がある。
今回はこちらのサイト(だらだらセキュリティ様)からお借りしたpasswdファイルとshadowファイルを使用します。
passwdファイル
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh proxy:x:13:13:proxy:/bin:/bin/sh www-data:x:33:33:www-data:/var/www:/bin/sh backup:x:34:34:backup:/var/backups:/bin/sh list:x:38:38:Mailing List Manager:/var/list:/bin/sh irc:x:39:39:ircd:/var/run/ircd:/bin/sh gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh nobody:x:65534:65534:nobody:/nonexistent:/bin/sh libuuid:x:100:101::/var/lib/libuuid:/bin/sh dhcp:x:101:102::/nonexistent:/bin/false syslog:x:102:103::/home/syslog:/bin/false klog:x:103:104::/home/klog:/bin/false sshd:x:104:65534::/var/run/sshd:/usr/sbin/nologin msfadmin:x:1000:1000:msfadmin,,,:/home/msfadmin:/bin/bash bind:x:105:113::/var/cache/bind:/bin/false postfix:x:106:115::/var/spool/postfix:/bin/false ftp:x:107:65534::/home/ftp:/bin/false postgres:x:108:117:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash mysql:x:109:118:MySQL Server,,,:/var/lib/mysql:/bin/false tomcat55:x:110:65534::/usr/share/tomcat5.5:/bin/false distccd:x:111:65534::/:/bin/false user:x:1001:1001:just a user,111,,:/home/user:/bin/bash service:x:1002:1002:,,,:/home/service:/bin/bash telnetd:x:112:120::/nonexistent:/bin/false proftpd:x:113:65534::/var/run/proftpd:/bin/false statd:x:114:65534::/var/lib/nfs:/bin/false snmp:x:115:65534::/var/lib/snmp:/bin/false
shadowファイル
root:$1$/avpfBJ1$x0z8w5UF9Iv./DR9E9Lid.:14747:0:99999:7::: daemon:*:14684:0:99999:7::: bin:*:14684:0:99999:7::: sys:$1$fUX6BPOt$Miyc3UpOzQJqz4s5wFD9l0:14742:0:99999:7::: sync:*:14684:0:99999:7::: games:*:14684:0:99999:7::: man:*:14684:0:99999:7::: lp:*:14684:0:99999:7::: mail:*:14684:0:99999:7::: news:*:14684:0:99999:7::: uucp:*:14684:0:99999:7::: proxy:*:14684:0:99999:7::: www-data:*:14684:0:99999:7::: backup:*:14684:0:99999:7::: list:*:14684:0:99999:7::: irc:*:14684:0:99999:7::: gnats:*:14684:0:99999:7::: nobody:*:14684:0:99999:7::: libuuid:!:14684:0:99999:7::: dhcp:*:14684:0:99999:7::: syslog:*:14684:0:99999:7::: klog:$1$f2ZVMS4K$R9XkI.CmLdHhdUE3X9jqP0:14742:0:99999:7::: sshd:*:14684:0:99999:7::: msfadmin:$1$XN10Zj2c$Rt/zzCW3mLtUWA.ihZjA5/:14684:0:99999:7::: bind:*:14685:0:99999:7::: postfix:*:14685:0:99999:7::: ftp:*:14685:0:99999:7::: postgres:$1$Rw35ik.x$MgQgZUuO5pAoUvfJhfcYe/:14685:0:99999:7::: mysql:!:14685:0:99999:7::: tomcat55:*:14691:0:99999:7::: distccd:*:14698:0:99999:7::: user:$1$HESu9xrH$k.o3G93DGoXIiQKkPmUgZ0:14699:0:99999:7::: service:$1$kR3ue7JZ$7GxELDupr5Ohp6cjZ3Bu//:14715:0:99999:7::: telnetd:*:14715:0:99999:7::: proftpd:!:14727:0:99999:7::: statd:*:15474:0:99999:7::: snmp:*:15480:0:99999:7:::
John the Ripperをダウンロード
今回、解析には「John the Ripper」というソフトを使用するので、こちら(http://www.openwall.com/john/)からダウンロードをする。
現在の最新バージョンは1.7.9らしい。
Windowsで使用する場合はzipファイルのものをダウンロードすればOKだ。
インストールは必要なく、解凍するだけで使用できる。(解凍後のフォルダ名:john179w2)
そして解凍するとdocフォルダとrunフォルダがある。
このrunフォルダの中に先ほどのpasswdファイルとshadowファイルを入れておく。
コマンドプロンプトでの作業手順
次に、コマンドプロンプトを起動する。
コマンドプロンプトはスタートメニュー内の「すべてのプログラム」の中にショートカットがあるが、「ファイル名を指定して実行」からcmdと入力すれば一発で起動できる。
以下の画像がコマンドプロンプトだ。
まずは前述のrunフォルダにcdコマンドで移動しておく。
例えばWindows7のデスクトップにjohn179w2フォルダがあるとするなら、
cd C:\Users\ユーザー名\Desktop\john179w2\john179\run
となる。
そして次にpasswdファイルとshadowファイルを結合する。
結合にはrunフォルダの中にあるunshadow.exeを使う。
今回は結合したファイルをpassfileというファイル名として出力することにするので、コマンドは、
unshadow passwd shadow > passfile
となる。
これでrunフォルダの中にpassfileが生成されているはずだ。
解析モードは3つあり、今回はもっとも単純な解析モードであるシングルモードを使用して解析するとします。
その場合のコマンドは、
john --single passfile
つまりIDがklogの人のパスワードは123456789、IDがsysの人のパスワードはbatmanということがわかる。