SlideShare a Scribd company logo
辞書攻撃をする人は何をど
う使っているのか
1
123456
12345
password
password1
123456789
12345678
1234567890
abc123
computer
tigger
1234
qwerty
money
carmen
mickey
secret
summer
internet
a1b2c3
123
service
canada
hello
ranger
辞書攻撃 (@ozuma5119)
2013/10/6 すみだITセキュリティ勉強会 @ozuma5119
自己紹介
• @ozuma5119
• ネット企業でセキュリティサービスを
やっているエンジニア
• http://d.hatena.ne.jp/ozuma/
• 科学写真家(と名乗っている)
辞書攻撃 (@ozuma5119) 2
はじめに
• パスワード、流行ってますよね
– よそのサイトのを使い回すなとか
– 短すぎるのを使うなとか
– 定期変更しようとか、いやそれ意味ないとか
– 安易なパスワードをやめようとか
– 辞書に載っているのをやめようとか
• 辞書って何? 広辞苑? 岩波国語辞典?
辞書攻撃 (@ozuma5119) 3
辞書とパスワード
• 辞書に載っているパスワードは良くな
い、の根拠は?
– 辞書攻撃されるから使わない方が良い
– じゃぁその攻撃に使われている辞書を見た方
が早い
• 広辞苑や岩波国語辞典でパスワード攻撃
する人はたぶんいない
– そもそも海外からだから。
辞書攻撃 (@ozuma5119) 4
辞書その1 passwdの
辞書攻撃 (@ozuma5119) 5
辞書その1 passwdの
• 最近のLinuxのpasswdコマンドは、裏で
cracklibを使って辞書チェックをしている
– /etc/pam.d/passwd を覗いてみましょう
– /usr/share/dict/linux.words
– もう少し正確に言うとここからcreate-cracklib-
dictしてる
• 48万単語、5MBほど
辞書攻撃 (@ozuma5119) 6
辞書その2OpenWallの
辞書攻撃 (@ozuma5119) 7
辞書その2OpenWallの
辞書攻撃 (@ozuma5119) 8
• OpenWall
– 古典的な /etc/passwd クラックツール、John
the ripperの開発元
– 有償版と無償版のパスワード辞書
• http://download.openwall.net/pub/wordlists/
– まずは password.gz がオススメ (John the ripper
にも同梱されている)
password.gz
辞書攻撃 (@ozuma5119) 9
• よく使われるパ
スワードがラン
ク順に載ってい
る
• 3500個ほどと手
頃で使いやすい
• 有償版はデカす
ぎてむしろ使い
にくい(残念)
123456
12345
password
password1
123456789
12345678
1234567890
abc123
computer
tigger
1234
qwerty
money
carmen
mickey
secret
summer
internet
a1b2c3
123
service
canada
hello
ranger
shadow
baseball
donald
harley
辞書その3 BackTrackやKaliに付
属のもの
辞書攻撃 (@ozuma5119) 10
• BackTrack Linux
– ペネトレーションテスト(侵入テスト)に用い
られるLinuxディストリビューション
– でも悪い人たちも使ってるけど。
– 後継が Kali Linux 、今後はこっちが主流
• BackTrackなら /pentest/passwords/wordlists/
• Kali Linuxなら /usr/share/wordlists
• どっちもオフライン攻撃用でデカすぎる
ので割愛(数百万単語以上もある)
辞書が手に入ったので
辞書攻撃 (@ozuma5119) 11
• さっそく辞書攻撃してみよう
– ただし、絶対に、インターネット上の他人の
サーバにはしないでください。
– VirtualBoxなどローカルのVMでやりましょう
• 他人のサーバにパスワードアタックをし
て不正ログインすることは、マナー違反
というレベルではなく犯罪です。
• 不正アクセス禁止法
– 3年以下の懲役又は100万円以下の罰金
もう一回注意
辞書攻撃 (@ozuma5119) 12
• 他人のサーバにはしないこと。
• では何故ここでツールを使ってみるのか
– 攻撃してくる人がどんなことをしてくるの
か、セキュリティをやる上で学ぶことは必要
– 敵の動き・作戦を知らずして城を守ることは
できない
– 攻撃ツールが分かれば、それを守りに生かす
ことができる
辞書攻撃ツール
辞書攻撃 (@ozuma5119) 13
• 業界では以下2種類が人気かつ有名です
• THC-Hydra
– http://www.thc.org/thc-hydra/
– 単にhydraとも呼ばれる
• Medusa
– http://foofus.net/goons/jmk/medusa/medusa.html
– hydraの対抗。名前からしてパロディ的になっ
てますね(どちらもギリシア神話から)
hydraの使い方
辞書攻撃 (@ozuma5119) 14
• adminというログインIDを、password.lstで辞
書攻撃する
– lとpオプションでIDとパスワード指定
– lとpオプションは大文字LとPでファイルを指定
• 宛先の指定のしかた
– [対象IPアドレス] [プロトコル]
– プロトコルは色々対応
(telnet, POP3, ftp, smb, http, vnc, mysql, ssh, ....など
など)
$ hydra –l admin –P password.lst ¥
192.168.2.1 ssh2
hydraでWebのBASIC認証をア
タック
辞書攻撃 (@ozuma5119) 15
• ここではWebのBASIC認証をやってみます
– 他のプロトコルに比べて手軽で利用されてい
る場所も多い
– httpという性質上、アタックもとても早い
• はじめて使うときは安全のため、LANケー
ブルを抜いてから試すこと
BASIC認証をアタック
辞書攻撃 (@ozuma5119) 16
• http://localhost/~ozuma/pass/
– id: guest
– pass: ??????
• URLの指定のしかた
– [IPアドレス] [メソッド] [パス]
– 回りくどい書き方なのは、マルチプロトコル対応
だから。(ssh, ftp, etc...)
– これは古い書き方で、最近のhydraは普通に
http://..../と書けるそうだ。
$ hydra –l guest –P password.lst localhost ¥
http-get '/~ozuma/pass/'
実演
• BASIC認証をhydraでアタック
辞書攻撃 (@ozuma5119) 17
HTTPは攻撃しやすい
• 元々、多数から大量にアクセスがあるプ
ロトコルだから。
• sshもブルートフォースは多いけど、ア
タックごとのTAT(TurnArroundTime)が比較
的大きいのでやりにくい
– でも攻撃は来まくるのでsshも気を抜いてはい
けない
辞書攻撃 (@ozuma5119) 18
sshをアタック
辞書攻撃 (@ozuma5119) 19
• localhost に ssh
– id: guest
– pass: ??????
$ hydra –l guest –P password.lst localhost ¥
ssh2
辞書攻撃はわかった
• 守りに生かそう
辞書攻撃 (@ozuma5119) 20
攻撃される側が辞書を生かす
• たとえば:Webアプリでパスワードを設定
する際、辞書を参照する
– 辞書にあるパスワードは設定拒否する
– ただし、辞書が「強すぎ」ると何を入れても
登録できない! とユーザ脱落が増える
• すでにTwitterでは、「password」というパ
スワードは設定できません
辞書攻撃 (@ozuma5119) 21
Twitterは、もうやってる
辞書攻撃 (@ozuma5119) 22
Twitterは、もうやってる2
辞書攻撃 (@ozuma5119) 23
Joeアカウント
辞書攻撃 (@ozuma5119) 24
• ログインIDと同じパスワード
– Joeアカウント
– ユーザIDと同じパスワードのこと
• 攻撃者が真っ先に試すので、そもそも登
録できないようにした方がいい
– 脆弱なパスワードを設定させない、のはサー
ビス側にもユーザ側にも嬉しい
Joeアカウントをhydraで
辞書攻撃 (@ozuma5119) 25
• hydraで –e ns するのはジョーシキ
– マジで。(悪い人たちの間では)。
– -e nはnull password(空のパスワード)
– -e sはIDとパスが同一(Joe アカウント)
$ hydra –l guest –P password.lst –e ns
localhost ssh2
まとめ
• 普段言われるセキュリティ対策、自分で
攻撃してみるとよく理解できる
– 安易なパスワード付けるなとか
– 辞書に載っているのを付けるなとか
• セキュリティ勉強会を通して、悪い人が
「攻撃しにくい」方法を学びあえたらい
いな
辞書攻撃 (@ozuma5119) 26

More Related Content

PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
 
PPTX
backlogsでもCI/CDする夢を見る
Takeru Maehara
 
PDF
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
VMware Tanzu Korea
 
PDF
徳丸本ができるまで
Hiroshi Tokumaru
 
PDF
DynamoDB設計のちょっとした技
Yoichi Toyota
 
PDF
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
matsu_chara
 
PDF
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
 
PDF
webエンジニアのためのはじめてのredis
nasa9084
 
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
 
backlogsでもCI/CDする夢を見る
Takeru Maehara
 
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
VMware Tanzu Korea
 
徳丸本ができるまで
Hiroshi Tokumaru
 
DynamoDB設計のちょっとした技
Yoichi Toyota
 
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
matsu_chara
 
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
 
webエンジニアのためのはじめてのredis
nasa9084
 

What's hot (20)

PPTX
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
Hiroshi Tokumaru
 
PPTX
マイクロサービスにおける 結果整合性との戦い
ota42y
 
PPTX
[BurpSuiteJapan]HTTP基礎入門
Burp Suite Japan User Group
 
PDF
SPA時代のOGPとの戦い方
Yoichi Toyota
 
PDF
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
Takakiyo Tanaka
 
PDF
Rust と Wasmの現実
ShogoTagami1
 
PPTX
Akka actorを何故使うのか?
Nyle Inc.(ナイル株式会社)
 
PDF
Design patterns for microservice architecture
The Software House
 
PDF
Redis at LINE
LINE Corporation
 
PDF
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
sasezaki
 
PDF
FridaによるAndroidアプリの動的解析とフッキングの基礎
ken_kitahara
 
PDF
[OKKYCON] 정진욱 - 테스트하기 쉬운 코드로 개발하기
OKKY
 
PPTX
Redisの特徴と活用方法について
Yuji Otani
 
PDF
AWSのログ管理ベストプラクティス
Akihiro Kuwano
 
PDF
Rest web services
Paulo Gandra de Sousa
 
PDF
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
NHN FORWARD
 
PDF
Drools 6.0 (Red Hat Summit)
Mark Proctor
 
KEY
Introduction to memcached
Jurriaan Persyn
 
PDF
VM과 컨테이너 상에서 Apache & Tomcat 설치, 실행 그리고 배포 데모
Opennaru, inc.
 
PDF
Event Storming and Saga
Araf Karsh Hamid
 
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
Hiroshi Tokumaru
 
マイクロサービスにおける 結果整合性との戦い
ota42y
 
[BurpSuiteJapan]HTTP基礎入門
Burp Suite Japan User Group
 
SPA時代のOGPとの戦い方
Yoichi Toyota
 
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
Takakiyo Tanaka
 
Rust と Wasmの現実
ShogoTagami1
 
Akka actorを何故使うのか?
Nyle Inc.(ナイル株式会社)
 
Design patterns for microservice architecture
The Software House
 
Redis at LINE
LINE Corporation
 
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
sasezaki
 
FridaによるAndroidアプリの動的解析とフッキングの基礎
ken_kitahara
 
[OKKYCON] 정진욱 - 테스트하기 쉬운 코드로 개발하기
OKKY
 
Redisの特徴と活用方法について
Yuji Otani
 
AWSのログ管理ベストプラクティス
Akihiro Kuwano
 
Rest web services
Paulo Gandra de Sousa
 
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
NHN FORWARD
 
Drools 6.0 (Red Hat Summit)
Mark Proctor
 
Introduction to memcached
Jurriaan Persyn
 
VM과 컨테이너 상에서 Apache & Tomcat 설치, 실행 그리고 배포 데모
Opennaru, inc.
 
Event Storming and Saga
Araf Karsh Hamid
 
Ad

辞書攻撃をする人は何をどう使っているのか