개요
phrasendrescher (p|d)는 플러그인을 이용한 모듈과 멀티 프로세싱을 이용한 패스워드 크래킹(Pass Phrase Cracking) 도구 이다. 기본적인 플로그인이 포함되어 있지만, 간단한 플러그인 API는 쉽게 새로 개발할 수 있다고 한다.
특징은 아래와 같다.
- 플러그인을 이용한 모듈화
- 멀티 프레싱(Multi processing)
- 치환(permutations) 유무에 관계 없이 사전 공격 (Dictionary attack) : 대문자, 소문자, L33T등
- 증분/증가 무차별 공격 (Incremental brute force attack)
- 사용자 정의 문자열 지원
- FreeBSD, NetBSD, OpenBSD, MacOS, Linux에서 사용 가능
* L33T란? 리트(l33t, leet, 1337)는 컴퓨터 문서상에서 알파벳을 다른 기호로 치환해서 적는 방법으로, 주로 인터넷 상에서 사용한다. 최초의 탄생에는 여러가지 설이 있으나 Elite라는 단어에서 유래되었다는 설이 가장 설득력 있다. 해커들 사이에서 자신들만의 언어수단을 간구하던 중에 나타난 것이라는 설로, leet라는 단어 자체는 리트식으로 1337, l33t, l33+ 등으로 표기된다.
검색 엔진 가운데 구글은 검색 인터페이스에서 “해커어”라는 언어를 지원하고 있는데, 이 해커어가 리트를 의미한다. 출처 : 위키백과 http://ko.wikipedia.org/wiki/리트_(인터넷) L33T 예시를 확인 하고 싶다면 위 출처 URL을 확인 하면 된다.
|
현재 기본적으로 포함되어 있는 플러그인은 아래와 같다.
- pkey
RSA-DSA 개인 키 패스워드를 크래킹할 때 사용
- mssql
MS-SQL 2000 / 2005 SHA-1 해시를 크랙할 때 사용
- ssh
원격 호스트의 SSH 서비스를 공격하여, 로그인 아이디나 패스워드를 알아낼 때 사용
- http-raw
raw HTTP 요청에 대한 간단한 플러그인으로, 요청은 인증서로 전달 된 파일에서 읽는다. 대상 호스트는 HTTP 요청 헤더에 HOST 필드로 부터 취득한다.
- enc-file
GnuPG를 이용한, 대칭 암호로 암호화된 파일을 크랙할 때 사용
(3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH)
테스트 환경
운영 체제 (OS) : Kali Linux 1.0 테스트에 사용된 도구 버전 : v1.2.2 |
상세 분석
phrasendrescher를 사용하기 위해서는 도구명을 전부 입력하는 것이 아니라, pd 만 입력하면 바로 사용할 수 있다. phrasendrescher 도구가 어떤 옵션을 사용하는지 확인 하고자 한다면 [pd -h]를 입력하면 사용 가능한 모듈과 옵션 정보를 아래와 같이 확인 할 수 있다.
옵션 (General Options) | 설명 |
h | Help |
v | 자세히 모드 (verbose mode) |
i from[:to] | 증분/증가 모드 (incremental mode)에 사용하는 패스워드 길이 지정 from(최소 길이) : to(최대 길이) ex) 패스워드의 길이가 최소 2자리에서 최대 5자리인 경우 2:5 패스워드의 길이가 3자리인 경우 3 |
d file | 사전 공격 모드에 사용되는 파일 지정 |
w number | 스레드(threads) 수 지정. 기본 : 1 |
r rules | 사전 모드에 사용되는 규칙 지정 |
A : 모든 문자를 대문자로 | |
F : 첫 번째 문자만 대문자로 | |
L : 마지막 문자만 대문자로 | |
W : 각 단어의 첫 문자를 대문자로 | |
a : 모든 문자를 소문자로 | |
f : 첫 번째 문자만 소문자로 | |
l : 마지막 문자만 소문자로 | |
w : 각 단어의 첫 문자를 소문자로 | |
D : prepend digit | |
d : append digit | |
e : 1337 문자 (L33T 문자) | |
x : 모든 룰 적용 |
환경 변수 (Environment Variables) | 설 명 |
PD_PLUGINS | 플러그인이 존재하는 경로 지정 기본 경로 : /usr/lib/phrasendrescher |
PD_CHARMAP | 증분/증가 모드에서 사용될 문자열을 정의 |
root@kali:~# export PD_PLUGINS=”경로 지정” |
root@kali:~# export PD_PLUGINS=”/root/plugins/” |
root@kali:~# export PD_CHARMAP="사용하고자 하는 문자열" |
root@kali:~# export PD_CHARMAP="zyxwvutsrqponmlkjihgfedcba" |
root@kali:~# pd mssql -v -H 0x0100FBE4C16F0ED526885801C23B366965586A43D3DEAC6 DD3FD phrasen|drescher 1.2.2 - the passphrase cracker Copyright (C) 2008 Nico Leidecker; http://www.leidecker.info
[mssql] MS SQL Version: 2005 [mssql] Character set: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789_.,+:;!"$%^&*()[]{}@#~'?/\<>| [mssql] Version: 0100 [mssql] Salt: FBE4C16F [mssql] Mixed-case SHA1: 0ED526885801C23B366965586A43D3DEAC6DD3FD [mssql] MSSQL plugin by Mark Lowe (mrl@portcullis-security.com)
plugin mssql loaded. Running now (1 workers)...
이하 생략 |
root@kali:~# pd pkey -h phrasen|drescher 1.2.2 - the passphrase cracker Copyright (C) 2008 Nico Leidecker; http://www.leidecker.info
Usage: pd plugin [options]
Plugin 'pkey' loaded! Version: 1.0 Author: Nico Leidecker
Plugin Specific Options: K key/directory : key file or a directory containing multiple key files. Keys must be in PEM format. |
root@kali:~# pd pkey -d /root/pass.txt -K /root/ssl/Boanproject.pem phrasen|drescher 1.2.2 - the passphrase cracker Copyright (C) 2008 Nico Leidecker; http://www.leidecker.info
password for /root/ssl/Boanproject.pem: boan finished! bye, bye... |
root@kali:~# pd pkey -K /root/ssl/Boanproject.pem phrasen|drescher 1.2.2 - the passphrase cracker Copyright (C) 2008 Nico Leidecker; http://www.leidecker.info
source not explicitely specified; assuming incremental from 1 to 8. password for /root/ssl/Boanproject.pem: boan finished! bye, bye... |
root@kali:~# pd ssh -h phrasen|drescher 1.2.2 - the passphrase cracker Copyright (C) 2008 Nico Leidecker; http://www.leidecker.info
Usage: pd plugin [options]
Plugin 'ssh' loaded! Version: 1.1 Author: Nico Leidecker
Plugin Specific Options: u user : the name of the user (default user is `root') U user-file : user names file P port : port to connect to (default is 22) t host : target host T host-file : target host file p : enforce password authentication n : enforce keyboard interactive authentication k : enforce key based authentication (keys must be stored in the dictinary file) e n|s|ns : try empty passwords ('n') and/or usernames as password ('s')
The authentication mechanism is chosen automatically if not enforced with -p, -k or -s. The choice depends on the servers configuration in the order password and keyboard-interactive. |
옵 션 | 설 명 |
u user | 단일 유저 네임, 기본값 : root |
U user-file | 유저 네임 파일 |
P port | SSH 포트, 기본값 : 22 |
t host | 단일 SSH 시스템 IP |
T host-file | SSH 시스템 IP 목록 파일 |
p | 암호 인증 적용 |
n | 키보드 대화형 인증 적용 |
k | 키 기반 인증 적용 |
e n|s|ns | n : 빈 암호 사용 s : 유저 네임과 패스워드 동일하게 사용 ns : n옵션 과 s 옵션 동시 적용 |
-암호 인증 (Passwordauthentication)
패스워드 기반인증 방식
- 키보드 대화형 인증 (Keyboardinteractive authentication)
키보드로 직접입력하여 인증하는 방식
- 키 기반 인증(Key basedauthentication)
공개 키 기반 인증 방식root@kali:~# pd ssh -v -u boan -d /root/pass.txt -t 192.168.119.149 phrasen|drescher 1.2.2 - the passphrase cracker Copyright (C) 2008 Nico Leidecker; http://www.leidecker.info
[ssh] Trying host 192.168.119.149:22... [ssh] Fingerprint: 17 75 07 A9 69 45 B7 CF F3 A4 72 28 F5 A8 63 4A [ssh] Authentication mechanisms: publickey,password (using: password) [ssh] Complete List of targets: [ssh] 192.168.119.149:22 [ssh] Users: [ssh] boan
plugin ssh loaded. Running now (1 workers)... -------------------------------------------------- mode: dictionary (/root/pass.txt) password for 'boan' on 192.168.119.149: project bye, bye... |
root@kali:~# pd ssh -v -u boan -i 7 -t 192.168.119.149 phrasen|drescher 1.2.2 - the passphrase cracker Copyright (C) 2008 Nico Leidecker; http://www.leidecker.info
[ssh] Trying host 192.168.119.149:22... [ssh] Fingerprint: 17 75 07 A9 69 45 B7 CF F3 A4 72 28 F5 A8 63 4A [ssh] Authentication mechanisms: publickey,password (using: password) [ssh] Complete List of targets: [ssh] 192.168.119.149:22 [ssh] Users: [ssh] boan
plugin ssh loaded. Running now (1 workers)... -------------------------------------------------- mode: incremental from 7 to 7 password for 'boan' on 192.168.119.149: project bye, bye... |
root@kali:~# pd mssql -h phrasen|drescher 1.2.2 - the passphrase cracker Copyright (C) 2008 Nico Leidecker; http://www.leidecker.info
Usage: pd plugin [options]
Plugin 'mssql' loaded! Version: 1.0 Author: Mark Lowe
Plugin Specific Options: H : SHA-1 hash (mandatory)
The mssql plugin can crack password hashes from SQL Server 2000 and SQL Server 2005 For MSSQL 2000: Hash format:0x01006d75a401ba0a8bfc2beab5b86efc930300d1a2561a783aace62 37cf01f98b490ef56f57b2b8c0ed82b8675f9 SQL query: SELECT name, password from master..sysxlogins
For MSSQL 2005: Hash format: 0x01006d75a401ba0a8bfc2beab5b86efc930300d1a2561a783aac SQL query: SELECT name, password_hash FROM master.sys.sql_logins |
root@kali:~# pd mssql -v -d /root/pass.txt -H 0x01004086CEB6BF932BC4151A1AF1F13CD17301D70816A8886908 phrasen|drescher 1.2.2 - the passphrase cracker Copyright (C) 2008 Nico Leidecker; http://www.leidecker.info
[mssql] MS SQL Version: 2005 [mssql] Character set: abcdefghijklmnopqrstuvwxyz [mssql] Version: 0100 [mssql] Salt: 4086CEB6 [mssql] Mixed-case SHA1: BF932BC4151A1AF1F13CD17301D70816A8886908 [mssql] MSSQL plugin by Mark Lowe (mrl@portcullis-security.com)
plugin mssql loaded. Running now (1 workers)... -------------------------------------------------- mode: dictionary (/root/pass.txt) password for BF932BC4151A1AF1F13CD17301D70816A8886908: toto finished! bye, bye... |
root@kali:~# pd mssql -v -i 4 -H 0x01004086CEB6BF932BC4151A1AF1F13CD17301D70816A8886908 phrasen|drescher 1.2.2 - the passphrase cracker Copyright (C) 2008 Nico Leidecker; http://www.leidecker.info
[mssql] MS SQL Version: 2005 [mssql] Character set: abcdefghijklmnopqrstuvwxyz [mssql] Version: 0100 [mssql] Salt: 4086CEB6 [mssql] Mixed-case SHA1: BF932BC4151A1AF1F13CD17301D70816A8886908 [mssql] MSSQL plugin by Mark Lowe (mrl@portcullis-security.com)
plugin mssql loaded. Running now (1 workers)... -------------------------------------------------- using customized map: abcdefghijklmnopqrstuvwxyz mode: incremental from 4 to 4 password for BF932BC4151A1AF1F13CD17301D70816A8886908: toto finished! bye, bye... |
참고 URL 및 도서
- MSSQL 2005 SHA-1 해시값 (http://www.openwall.com/lists/john-users/2011/04/06/7)
- http://www.leidecker.info/projects/phrasendrescher
'Open Source > Kali Linux' 카테고리의 다른 글
Kali bleeding edge (0) | 2013.05.09 |
---|---|
Kali Linux Bug Tracker (0) | 2013.05.09 |
[Web Applications] WebSploit On Kali Linux (0) | 2013.04.16 |
[Web Applications - OSINT Analysis] Jigsaw On Kali Linux (0) | 2013.04.10 |
kali Linux 도구 목록 - System Services (0) | 2013.03.28 |