반응형


원문 : http://blog.pages.kr/518

/etc/shadow

username:passwd:lastchg:min:max:warn:inactive:expire

1) username : 2자에서 8자의 문자로 구성되며 숫자와 조합할 수 있다. 주의 할것은 username에는 underline 과 space 문자는 사용될 수 없다.
2) passwd :  암호는 암호화 되어 들어간다.
3) lastchg : 1970년 1월 1일 부터 마지막으로 암호를 수정한 날짜까지의 날수
4) min : 암호의 수정을 해야 하는 가장 적은 날 수 범위
5) max : 암호의 수정을 해야 하는 가장 많은 날 수 범위
6) warm : 암호를 바꿔야 한다는 경고 메시지를 몇일 전에 user에게 알려 주는 날수의 범위
7) inactive : 사용자 계정이 닫히기 전 활성화 할 수 있는 날 수 
8) expire : 사용자 계정이 만료될 때까지의 정확한 날짜 수


여기서 max와 wam 필드에 알맞은 수를 넣으면..
ex)  user1:password:11254:1:2:1:::
이러면 암호는 1일 전에 바꿀 수 없으며 반듯이 2일 전에는 바꿔야 한다는 뜻이고 1일 전부터 2일 까지 경고 메시지를 user에게 보내주라는 뜻입니다.
메시지에 대한 내용은
- 로그인을 하면 
     Your password will expore in 2 days"
- 패스워드를 1일 전에 바꾸려고 하면
     "Passwd(SYSTEM):Sorry:less than 1 day since the last change (권한이 거부됨)
- 2일이 지나서 로그인을 하면
     "Choose a new password"
     "Enterlogin password"
     "new password"


- 존더리퍼 - 

존더리퍼는 Solar Designer가 개발한 Unix 계열 password crack tool 이다..
무료 도구이며, UNIX 계열 크래킹 도구 이지만 DOS, Win9x,nt 200 등의 플랫폼도 지원한다.

속도를 높이기 위해 Intel MMX 기술이나 AMD K6 프로세서의 특수기능들을 이용한 최적화된 코드를 집어 넣기도 하였다.

http://www.openwall.com/john/ 에서 개발버전, 안정버전 , linux용 windows 용 등을 다운 받을 수 있다고한다.


2. 패스워드 파일

존더리퍼를 이용하려면 리눅스의 /etc/shadow 와 같은 패스워드 파일이 있어야 한다. 
/etc/shadow 파일의 일부를 보면 다음과 같이 생겼음을 알 수 있다.

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
(해커스쿨 레벨8의 레벨9의 패스워드)

콜론(:)으로 각 필드를 구별해주며 색칠된 부분이 레벨9의 패스워드가 암호화된 부분이다.
바로 이부분을 존더리퍼가 해독하여 패스워드를 보여주는것이다.

3. 크래킹 과정( win 용)

리눅스에서 얻어낸 shadow 파일을 윈도우즈로 복사해 존더 리퍼의 압축을 해제한 폴더 안의 run에 넣는다.
command창을 실행 시킨 후 shadow 파일을 윈도우즈로 복사해 존더리퍼의 압축을 해제한 폴더 안의 run 폴 
 더에 넣는다. 

ex)
c:\jojn1701\run> john-mmx pass.txt
c:\jojn1701\run> john-mmx -showpass.txt

-------------------------------------------------------------------------------------------

 출처 : http://tmdgus.tistory.com/143

 

 

-------------------------------------------------------------------------------------------

아주아주 유명한 Password Crack Tool을 소개하겠다.

 

바로 "존 더 리퍼(John the Ripper  Copyright (c) 1996-98 by Solar Designer)" 다.

 

존 더 리퍼는 Unix 계열의 시스템에서 사용자 계정의 Password를 암호화하여 저장한 "Shadow" 파일을 크랙하는데 주로 이용되었는데, 요즘에는 Windows 계열의 사용자 계정 Password를 크랙 하는데도 이용한다.

 

Unix 계열 시스템의 shadow 파일을 살짝 들여다 보면 아래와 같은 문자들이 나열되어 있다.

 


root:EMrs1Kz5cQ0/A:12405::::::
daemon:NP:6445::::::
listen:*LK*:::::::
nobody:NP:6445::::::
noaccess:NP:6445::::::
nobody4:NP:6445::::::
YeChan:6J8Cp/wjud.Ws:12405::::::
webservd:*LK*:::::::
ywson:*LK*:::::::
iscan:*LK*:::::::
weblogic:V0.N.LSc7E1B6:12611::::::


 

각 필드의 구분은 콜론(:)으로 되어 있고 계정이름, UID, PID, Password, Home Directory 등등.. 맨 앞의 영문이 계정이름(ID)이고 바로 다음에 나오는 요상한 문자열이 암호화된 Password 다. John은 바로 이 암호화된 스트링(문자열)을 해독하여 Password가 무엇인지를 보여준다.

 

Unix에서는 Shadow 파일을 이용하기 때문에 그냥 john 명령어만 사용하면 끝이다. 그런데 윈도우시스템은 조금 다르다. Shadow 파일같은 그런게 없다.

 

Windows 시스템은 PWDump 라는 프로그램을 이용하여 Unix의 Shadow 파일과 같은 형식으로 만들어줘야 한다.

 

사용법은 아주 간단하다.

 


C:\>pwdump3  211.xxx.xxx.xxx


 

이게 끝이다. 그러면 위의 그림과 같은 메시지가 뜨면서 Unix의 Shadow 파일 형식으로 가져온다.

 

명령어 끝에 리다이렉션 ">" 을 사용하여 원하는 파일명으로 만들어주면 훨씬 편하겠다.

 


C:\>pwdump3  211.xxx.xxx.xxx  >  PWD.txt


 

PWDump 프로그램을 이용하여 만든 파일을 열어보면 아래와 같은 문자열이 보인다.

 


GuaRDiaN:500:NO PASSWORD*********************:F1E37A8123F967125C3A8CE7E382AC0E:::
Guest:501:NO PASSWORD*********************:NO PASSWORD*********************:::
TEST:1006:B757BF5C0D87772FAAD3B435B51404EE:7CE21F17C0AEE7FB9CEBA532D0546AD6:::


 

자세히 보면 Unix의 Shadow 파일과 같은 형식이다. 콜론(:)으로 구분되어 있다.

역시 맨 앞이 계정이름(ID)이고 그다음이 UID, 그리고 암호화된 Password 이다.

 

그런데 암호화된 Password가 상당히 길다. 앞에 32자, 뒤에 32자로 총 64글자로 되어 있다.

 


TEST:1006:B757BF5C0D87772FAAD3B435B51404EE:7CE21F17C0AEE7FB9CEBA532D0546AD6:::


 

Unix는 8글자의 계정암호를 기본으로 제공하고, Windows 는 14글자의 계정암호를 제공한다.

(그런데 테스트를 해 본 결과, Windows에서는 암호 길이가 제한되어 있지 않았다!! 필자는 96글자의 암호를 사용했었다-_-; 아마도 암호화할 수 있는 길이가 14글자인가 보다..음)

 

아무튼 그건 그렇고. 여기서 주목해야 할것이 두가지가 있다.

 

먼저, 위의 암호화된 문자열을 보자. 콜론으로 구분해서 두 그룹이 있는데 그중에 앞의 그룹을 잘보면, 17번째 ~ 32번째 문자가 AAD3B435B51404EE 이렇게 되어 있다.

 

만일 이렇게 17번째 ~ 32번째 문자가 위와 같이 나와있다면, 그 계정의 암호길이는 8글자 이하라는 뜻이다!!

 

또한 "NO PASSWORD" 는 물론 암호가 없다는 뜻이다. 그런데 잼있는것이 있다.

 

위의 계정들은 필자가 사용하는 컴퓨터의 계정들인데 GuaRDiaN 계정이 바로 최고관리자 계정, 즉 필자가 사용하는 계정이고 암호가 분명히 설정되어 있다! 그런데도 NO PASSWORD 라고 찍혀있다. 어찌된 걸까?

 

Windows 는 최대 14글자의 계정암호를 제공한다고 말했었다. 그러나 14글자가 넘어 버리면, 위와 같이 NO PASSWORD 라고 나온다. 때문에 John The Ripper는 아에 크랙을 시도하지도 않고 그냥 넘겨버린다. 보안상 아주 좋다. ㅎ.

 

암호는 양쪽 필드에 전부 NO PASSWORD 라고 되어 있어야만 실제로 암호가 없는 것이다.

 

이제 John The Ripper 를 돌려서 암호를 알아내보자.

 

역시 명령어도 아주 쉽다.

 


C:\>john  PWD.txt


 

뒤의 파일은 Unix의 Shadow 파일이나 Windows의 PWDump 파일을 입력하면 된다.

위의 명령어를 입력하면 그림처럼 아무것도 보이지는 않는다. 만일 암호 크랙이 어디까지 진행되는지 보고 싶다면 아무 키나 누르면 된다.

 

 

키를 누를때 마다 위의 메시지를 뿌려준다. trying: 이라는 부분이 문자열을 어디까지 조합하고 있는지 알려주는 부분이다.

 


C:\>john  -show  PWD.txt


 

-show 옵션은 현재까지 크랙된 Password를 보여주는 옵션이다. 역시 리다이렉션을 이용하여 파일로 저장하면 되겠다.

 


C:\>john  -show  PWD.txt  >  PWD_Crack.txt


 

 

위는 -show 옵션으로 크랙 결과를 본 것이다.

 

TEST 계정의 암호가 1234 라고 알려주고 있다. 뒤의 1006 은 위에서 말한 UID 이다. 헷갈리지 말자.

Guardian 계정은 NO PASSWORD라고 되어 있어서 아에 크랙을 시도하지도 않았다. Guardian 계정의 암호는 21글자이다.

 

 

암호가 길면 길수록, 특수문자 및 숫자 조합이 많으면 많을 수록 john The Ripper의 크랙 시간은 오래 걸린다. 그러나 언젠가는 크랙되기 때문에 안심할 수가 없다.

 

단 몇가지의 설정으로 크랙을 예방할 수 있다. Windows 에서는 특수문자를 반드시 포함시키고 15글자 이상의 암호를 사용하자. 자신이 좋아하는 노래가사의 일부분이나, 시 어구 등의 외우기 쉬운 문장을 암호로 사용하면 아주 좋다. 그리고 Windows 에서 PWDump 가 성공하려면 ADMIN$가 공유되어 있어야 하기 때문에 이 ADMIN$ 공유를 삭제해 주면 안전해진다. (공유 삭제 방법은 [Windows] - 폴더 공유 보안 설정 ① 을 참고하자.)

 

Unix에서는 Shadow 파일의 권한을 400 으로 하면 되겠다.

 

-------------------------------------------------------------------------------------------


출처 : http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=10302&docId=68400630&qb=66as64iF7IqkIHNoYWRvdw==&enc=utf8&section=kin&rank=1&search_sort=0&spq=0&pid=gmRkxz331xosssl1zRsssv--232164&sid=ThUR3ffpFE4AADJ-JLk

 /etc/shadow와 존더리퍼(John the Ripper)|작성자 길땡

반응형

'Private' 카테고리의 다른 글

2012 피셔 프라이스 뉴 러닝홈  (0) 2011.11.16
OPENSSL 패스워드 변경  (0) 2011.10.20
ssl crack  (0) 2011.09.27
Aircrack-ng is an 802.11 WEP and WPA/WPA2-PSK key cracking program.  (1) 2011.09.09
퇴직 연금  (0) 2011.01.11

+ Recent posts