강좌
클라우드/리눅스에 관한 강좌입니다.
해킹&보안 분류

패스워드 크랙툴 : WWWHACK

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

제목 : 패스워드 크랙툴 : WWWHACK



 

wwwcrack 패스워드사전을 이용하여 사전공격(Dictionary Attack)이라고 하는 방법으로   웹서버의 로그인 ID 패스워드, 접속계정의 ID 패스워드, FTP ID 패스워드 그리고  POP ID 패스워드를  크랙하는 도구 입니다.

해커들에 의해서 해킹도구로 많이 사용되고 있지만 필자가 여기서 강좌로 만든 목적은 자기가 관리하고 있는 서버의 패스워드취약점을 분석하여 헛점과 취약점을 확인한후에 서버보안을 강화하기 위한 목적입니다. 필자 툴의 악용으로 인한 모든 문제들에 대해 책임지지 않습니다.

파일의 다운로드와 설치방법은 강좌에서 생략하도록 하겠습니다.
참고로 크랙툴을 구한후에 설치나 실행을 해보시면 대부분 update 하라고 나오거나 또는 사용기간이 지났기 때문에 실행되지않는다라는 메시지가 나온후에 곧바로 실행이 종료되는 경우가 많은 것입니다.

이때에는 편법으로 자신의 PC날짜를 몇년전으로 설정한 후에 실행하면 바로 실행이 됩니다.

, 그럼,,, 다운과 설치에 대해서는 이쯤하고 툴을 하여 웹서버, FTP서버, POP서버등에 대한 계정과 패스워드의 크랙방법에 대해서 알아보도록 하겠습니다.


2. WWWhack
메인

이제 도구를 이용하는 방법에 대해서 알아보도록 하겠습니다.
먼저, WWWhack 실행시키면 아래 화면과 같이 간단한 창이 하나 뜹니다.
간단해 보이지만 창이 WWWhack 메인창입니다.


  

c437ca611387344814940cb4f97d09ce_1646641920_9374.png



 

3. POP3 서버 크랙하기 (POP3 email acc)

먼저 POP3서버의 특정계정에 대한 패스워드를 크랙해 보도록 하겠습니다.

POP3
서버는 흔히 "아웃룩 익스프레스(Outlook Express)"라는 메일클라이언트 프로그램을 이용하여 메일서버와 메일을 주고 받을 사용하는 서버를 일컫는 것이며, 이때 아웃룩에서 메일을 가져오기 위해서 메일서버에서 메일을 처리를 위해 실행되는 메일데몬이 POP3입니다.

정리하자면,  "POP3 계정 패스워드 크랙"이란  아웃룩에서 사용하는 특정계정에 대한 패스워드를 모를때 이를 크랙하기 위한 방법에 대한 설명입니다.

그럼, 먼저 [Access -> POP3 email acc:] 클릭합니다. (또는 Ctrl+3 으로 단축키를 사용해도 무방함)


c437ca611387344814940cb4f97d09ce_1646641954_4515.png
 


그러면 아래와 같은 창이 뜨게 됩니다.

여기서 크랙하고자 하는 서버명, ID, 패스워드에 대해서 적당한 정보를 입력하여 아래쪽에 있는 "OK"버튼을 클릭하여 실행하면 패스워드크랙을 실행합니다.

여기서 중요한 것은 무조건 적당한 설정값을 주고 크랙을 하는 것이 아니라 크랙의 가능성이 높은 설정값을 주어서 크랙완료시간을 줄이는 것이 중요합니다.

그런 의미에서 실제 크랙을 실행하기 전에 여기서 설정하는 값들의 의미와 방법에 대해서 알아보도록 하겠습니다.


 

c437ca611387344814940cb4f97d09ce_1646641979_5401.png
 

 

크랙대상 Host 입력

위의 창에서 "Host"라는 탭에는 크랙대상이 되는 서버의 IP주소, 또는 도메인명을 입력합니다.
아래의 예는 도메인명을 입력한 것입니다.
도메인명 대신에 "192.168.0.111" 같이 IP주소를 직접 입력해도 무방합니다.

참고 : 필자가 예로든 "www.manualand.com" 에서 소유하고 있는 도메인으로서 테스트를 위해 직접 설정해 것입니다.


c437ca611387344814940cb4f97d09ce_1646641999_1971.png



입력방법의

-
도메인명 : www.manualand.com
- IP
주소 : 192.168.0.111

Username 선택

이제 "Host"에서 지정한 서버에 접속계정정보를 입력해야합니다.
만약 서버의 접속계정정보를 모르신다면 아래의 탭에서 "Use this file" 선택하시면 됩니다.
이것을 선택하면 입력된 패스워드파일(흔히 "크랙용 사전파일") 존재하는 모든 ID 가지고 접속테스트를 하게 됩니다.

 

c437ca611387344814940cb4f97d09ce_1646642021_7902.png
 


흔해 크랙에서 가장 중요한 것은 얼마나 좋은 "크랙용 사전파일" 가지고 있는가 하는 것입니다.
따라서 여러분들께서 크랙용 사전파일을 보유하고 계신다면 오른쪽에 있는 "Browse" 클릭하여 사전파일을 직접 선택해주면 됩니다

그러면 선택된 사전파일로 ID 클랙하게 됩니다.
"Browse"
탭을 클릭했을 나타나는 사전파일 선택창입니다.

사전파일을 사용하는 것은 ID명을 모를 경우에 사용하도록 하십시요.
하지만, 대부분 실제 해킹이나 크랙에서는 사용하는 계정정보는 알고 있는 경우가 대부분 입니다.



c437ca611387344814940cb4f97d09ce_1646642043_1857.png
 


만약 경우처럼 특정계정명을 알고 있을 경우에는  사전파일을 선택하지 마시고 위에서 선택한 것과 같이 "Always use this username" 계정을 직접 입력하도록 하십시요.

여기서는 설명의 편의성을 패스워드의 크랙대상이 되는 계정을 "bible"이라고 하겠습니다.
실제로 필자는 강좌의 신뢰성을 위하여 www.manualand.com bible이라는 계정을 만들어 두고 패스워드를 입력해 두었습니다.

 

크랙용 패스워드 사전파일 또는 Password 입력

, 어떤 사전파일을 이용하여 패스워드를 크랙할 것인가를 선택합니다.
크랙에 있어 거의 대부분은 패스워드를 알고 있는 경우가 아니므로 아래의 예처럼 "Browse"탭을 클릭하여 사전파일을 직접 선택해 주셔야합니다.


 

c437ca611387344814940cb4f97d09ce_1646646367_6917.png
 


아래의 예는 "Browse" 클릭한 후에 사전파일을 선택한 것입니다.

경력이 많은 크래커나 해커의 경우에는 일반인이 상상하기 어려울 정도의 "사전파일" 보유하고 있습니다
이말의 의미는 패스워드크랙에 있어 사전파일이 절대적인 성공여부를 지니고 있기 때문입니다.

해킹동호회 사이트등에서는 영어, 일어, 한국어, 중국어등과 같이 언어별 사전파일과 사과, 포도, 배등과 같은 과일이름으로만 구성된 사전파일등, 사전파일을 분류별로 제공하는 곳이 많이 있습니다.

필요하신 분들은 해킹동호회등에서 찾아보시면 쉽게 찾을 있을 것입니다.


  

c437ca611387344814940cb4f97d09ce_1646646388_6913.png
 


위의 예는 예를들기 위하여 "dict.txt"라는 사전파일을 선택하였습니다.
위의 창은 "Use this file:"탭에서 "Browse" 클릭하여 dict.txt파일을 선택한 예입니다.
파일을 선택하게 되면 WWWhack bible이라는 POP3계정사용자의 패스워드를 알기 위하여 dict.txt라는 사전파일을 참조하여 패스워드를 크랙할 것입니다.

POP3서버 실제 크랙실행

이제 POP3계정사용자의 패스워드크랙을 위하여 크랙을 하도록 하겠습니다.


  

c437ca611387344814940cb4f97d09ce_1646646409_046.png
 



먼저, "Stop after finding one password" 지정된 계정사용자( : bible) 패스워드를 1회만 확인되었을 경우에 크랙실행을 멈추도록 하는 설정입니다선택을 하도록 하십시요.

그리고 "Skip to next usename after finding the password" 다수계정사용자의 패스워드를 동시에 크랙할 경우에 1개의 계정에 대해서 패스워드 크랙이 완료되었다면 다음 계정의 크랙으로 넘어가기위한 설정입니다. 또한 선택하도록 하십시요.

결국 위의 선택사항은 불필요하게 많은 크랙을 행하지 않고 계정에 대해서 패스워드를 확인하였다면 계정에 대한 패스워드 크랙은 멈추겠다는 것입니다.

, 이제 모든 설정값들의 입력과 설정이 끝났으므로 아래에 있는 "OK" 클릭하시면 설정한 대로 크랙이 실행이 됩니다.

, 예에서는 www.manualand.com서버의 bible이라는 POP3계정사용자의 패스워드를 dict.txt 라는 사전파일을 참조하여 크랙을 하게 됩니다.


아래는 www.manualand.com 서버에 pop3계정사용자인 bible 패스워드를 확인하기 위하여  WWWhack 크랙을 행하고 있는 장면입니다.


 

c437ca611387344814940cb4f97d09ce_1646646429_6781.png
 


위와 같이 POP3계정을 크랙하게 되면 실제로 www.manualand.com 서버에서는 다음과 같은 로그파일들이 수없이 기록이 됩니다.

먼저, /var/log/maillog 기록되는 로그내용입니다.


  

c437ca611387344814940cb4f97d09ce_1646646453_4626.png
 


다음은  /var/log/messages 기록되는 로그내용입니다.


 

c437ca611387344814940cb4f97d09ce_1646646478_7465.png
 


위의 로그파일의 예와 같이 누군가 자기 서버를 크랙했는가를 확인하려고 한다면 반드시 위의 2가지 로그파일을 확인하시기 바랍니다.

크랙행위로 기록되는 로그내용과  정상적인 사용으로 남겨지는 로그내용의 차이점에 대한 자세한 것은 여러분들이 생각해 보시기 바랍니다크랙을 하게 되면 수없이 많은 동일한 곳에서 동일한 계정에 대한 접속기록이 있을 것이므로 POP3 로그인 횟수에 있다고 있습니다.


, 이제 아래의 결과를 보십시요.
결과를 보시면 bible이라는 계정의 패스워드가 "111111"이라는 것을 확인한 것입니다.

물론, 크랙작업시간을 단축하기 위하여 bible 대한 패스워드를 "111111" 같이 쉬운 것으로 필자가 직접 바꾸어서 테스트한 것입니다

실제로 크랙작업을 해보시면 아시겠지만, 크랙작업 시간은 보통 3~4시간 이상되는 것이 기본입니다.
심지어는 몇일이상 크랙작업을 계속하는 경우도 있습니다.

그래서 크랙작업을 단순작업이라고 하는지 모르겠습니다.


  

c437ca611387344814940cb4f97d09ce_1646646497_1137.png
 

 

아래의 결과는 bible 패스워드를 크랙완료했다고 알리는 창입니다.


 

c437ca611387344814940cb4f97d09ce_1646646514_6651.png
 

이제 아웃룩으로 ID 패스워드를 입력하여 메일을 확인하실 있습니다.
다시한번 말씀드리지만 강좌는 서버의 취약점을 확인하고 분석하기 위한 학습목적의 강좌이며, 강좌를 악의적인 해킹목적으로 사용하시면 법적인 책임이 따른다는 것을 분명히 기억하시기 바랍니다.
필자 툴과 강좌를 악용한 어떠한 결과에도 책임지지 않습니다.

 


4.  FTP
서버 크랙하기 (Access -> FTP server)

, 그럼 이번에는 FTP서버의 계정을 크랙해 보도록 하겠습니다.
FTP
서버를 크랙하기 위해서는 [Access] -> [FTP server] 클릭하시기 바랍니다.
그러면 아래와 같이 FTP서버를 크랙하기 위한 정보입력창이 뜹니다.


 

c437ca611387344814940cb4f97d09ce_1646646533_8199.png
 

여기에 입력하는 정보는 앞에서 설명한 "POP3"서버 크랙의 정보입력창의 내용과 동일하므로 구체적인 설명은 앞의 "POP3"서버크랙부분을 참조하시기 바랍니다.

대상서버, 계정, 사전파일의 설정이 끝났다면 지정된 FTP서버(www.manualand.com) 크랙하기 위하여 아래에 있는 "OK" 클릭하시기 바랍니다.

그러면 아래와 같이 크랙을 시작합니다.
아래는 실제 크랙하고 있는 화면을 그대로 나타낸 것입니다.


  

c437ca611387344814940cb4f97d09ce_1646646551_3477.png
 



크랙이 완료되고 나면 아래와 같이 크랙된 결과를 나타냅니다.

결과를 보시면
FTP
서버의 계정명 : bible
FTP
서버의 bible계정의 패스워드 : 111111

위와 같은 결과를 확인할 있습니다.


c437ca611387344814940cb4f97d09ce_1646646569_1195.png
 

이제 결과를 가지고 실제로 FTP서버로 접속을 해보도록 하겠습니다.

윈도우에서 [시작] -> [실행] 클릭하시고 "command"라고 입력하시면 아래와 같이 도스창이 열립니다.
여기서

"ftp www.manualand.com"
이라고 입력하시면 ftp서버로 접속하기 위한 ID 패스워드를 입력하라는 메시지가 나옵니다.

여기서 위의 크랙결과에서 확인한 ID 패스워드, "bible/111111 " 입력하시면 FTP서버의 bible계정으로 접속이 되는 것을 확인하실 수있습니다.


c437ca611387344814940cb4f97d09ce_1646646608_015.jpg
 


접속한 후에 파일들을 확인하고 get이라는 ftp명령어를 이용하여 "aaa.txt"라는 파일을 가져온 것을 확인하실 있습니다

이것으로 FTP서버 크랙을 마치고 다음은 웹크랙에 대해서 설명을 드리겠습니다.

 


5. 웹페이지 폼문서 크랙하기(Access -> Web page(HTML Form) )

이제 웹페이지의 login창과 같은 폼문서의 ID 패스워드를 크랙하는 방법에 대해서 알아보겠습니다.
흔히 특정 페이지로 들어가기 위해서는 ID 패스워드를 입력해야합니다.

아래 예를 참고하시기 바랍니다.


c437ca611387344814940cb4f97d09ce_1646646632_8463.png
 

 위의 로그인창은 흔히 볼수 있는 관리자 페이지입니다. 

관리자페이지 인증창은 여러가지로 구현할 수가 있습니다.

자바 스크립트로 구현할 수도 있으며,
Mysql
이나 MS-SQL 같은 DB 이용하여 PHP또는 ASP에서 로그인인증을 구현할 수도 있으며
아파치에서 제공하는 htpasswd유틸리티를 이용한 인증창을 만들 수도 있습니다. (htpasswd  구현한 인증창의 크랙은 다음절에서 설명하고 있습니다. )


, 이제 웹의 인증창에 입력해야하는 ID 패스워드를 크랙해 보겠습니다.

먼저 [Access] -> [Web page(HTML form)] 클릭하십시요.

그러면 아래와 같이 로그인인증창의 URL 입력할 있는 창이 뜹니다.


 


c437ca611387344814940cb4f97d09ce_1646646662_4764.png
 

위의 창에서 "Enter URL of the LOGIN page"라는 입력창에 위의 관리자 인증창의 URL 입력합니다.

그리고 아래와 같이 아래에 있는 "Click here to automatically get info" 클릭하십시요.
그러면 아래와 같이 몇가지 정보를 가져와서 자동 입력해 줍니다.


  

c437ca611387344814940cb4f97d09ce_1646646680_5697.png
 



이것은 인증을 통과하여 크랙하기 위한 필드명과 인증을 하는 프로그램파일의 위치, 그리고 전송방식(GET, POST) 자동선택하기 위한 것입니다.

"Additional form data to pass [optional]"
에는 로그인창의 URL부분에서 추가적으로 입력해야하는 것이 있다면 직접입력하시면 됩니다. 하지만 부분도 대부분 자동입력값을 그대로 사용하시면 무리없이 진행됩니다.


자동선택된 부분이 혹시 잘못되었다면 직접 입력하여 수정할 수도 있습니다.

하지만 대부분 수정하실 필요는 없습니다.

이제 자동입력된 정보창에서 "OK" 클릭합니다.

그러면 아래와 같이 HTML FORM문서를 크랙하기 위한 창이 뜨게 됩니다.

POP3
서버크랙에서 설명드렸던 부분과 거의 유사합니다.

단지, 아래의 예에서 "Username"부분에 "Always use this username:란을 선택하여  "admin"이라고 입력한 것은대부분의 관리자 ID admin이란 것에 착안하여 크랙을  쉽게 하기 위한 선택입니다.
이부분은 여러분들께서 임의대로 입력을 하여도 됩니다.

만약 전혀 예측하기 어려운 ID라고 생각이 되신다면 "Use thie file"란에서 사전파일을 선택하시면 됩니다.

그리고 아래의 "Password"탭에서는 POP3서버 크랙단계에서 했던 것과 마찬가지로 password.txt라는  사전파일을 사용했습니다.


 

c437ca611387344814940cb4f97d09ce_1646646702_0547.png



이제 모든 준비가 끝났다면 "OK" 클릭하십시요.
그러면 앞서 설명드렸던 "POP3서버크랙" "FTP 서버크랙"에서 보았던 방식으로 크랙을 실행하게 됩니다.

 


6. 웹페이지 크랙하기 (Access -> Web page (HTTP Basic) )

, 이제 마지막으로 흔히 볼수 있는 htpasswd 인증창을 걸어둔 페이지의 ID 패스워드를 크랙해 보도로 하겠습니다.

여기서는 ID 패스워드를 모두 모르고 있다는 것을 가정으로 하고 ID 패스워드를 크랙할 것입니다.
아래의 예는 아파치에서 제공하는 인증유틸리티인 htpasswd 이용하여 패스워드를 걸어둔 인증창을 로딩한 것입니다.

이제 인증창의 ID 패스워드를 확인해 보도록 하겠습니다.  



c437ca611387344814940cb4f97d09ce_1646646724_7056.png
 



메뉴에서 [Access] -> [Web page(HTTP Basic)] 클릭하면 아래와 같은 "HTTP Basic Authorization"창이 뜹니다앞에서 해왔던 식으로 각각의 입력창에 적당한 값을 입력해야 정확한 크랙을 수가 있습니다.



c437ca611387344814940cb4f97d09ce_1646646744_3854.png
 



URL 

위에서 보이는 인증창의 URL 입력합니다. 크랙하고자하는 인증창의 URL 확인한 후에 그대로 입력을 해주시면 됩니다.

Username

탭에서는 위의 인증창부분에 있는 "사용자이름(U)"란에 입력할 ID 크랙하기 위한 설정으로 여기서는 ID 모르고 있으므로 "Use this file"탭에서 "Browse" 클릭하여 사전파일을 선택합니다.

사전파일은 ID 사용될만한 단어들로만 두성된 것이 있다면 파일을 선택하시면 됩니다. 앞에서도 설명을 드렸지만 사전파일은 인터넷의 해킹자료실이나 해킹동호회등에서 구할 있습니다. 여기서 사전파일을 제공한다는 것은 교육차원을 넘는 것이므로 사전파일은 여러분들께서 직접 구해보시기 바랍니다.

만약 인증창에 입력할 ID 알고 있거나 비슷한 ID 알고 있다면 "Always use this file" ID 입력하시기 바랍니다. 여기서는 ID 모르고 있다고 가정하기 때문에 사전파일을 이용한 것입니다.

Password

탭에서는 인증창의 "암호(P)" 입력할 패스워드를 크랙하기 위한 설정입니다. 암호를 알고 있지 않기 때문에 역시 사전파일을 이용하기 위한 설정으로 사전파일을 선택해 것입니다.

그리고 "OK" 클릭하시면 아래와 같이 지정된 사전파일을 이용하여  ID 패스워드의 크랙을 시작합니다.



c437ca611387344814940cb4f97d09ce_1646646763_8889.png
 


이제 아래 결과를 확인해 보시기 바랍니다.
ID
패스워드 크랙에 성공을 하게되면 크랙작업은 멈추게 됩니다. (위의 설정중 "Stop after finding one password" 설정으로 인하여)

아래 결과에서 ID "admin" 찾았으며 패스워드로는 "222222"이라는 것을 있습니다.


 

c437ca611387344814940cb4f97d09ce_1646646780_5085.png



이제 위에서 보았던 인증창에 방금 크랙한 ID 패스워드를 입력하면 인증에 성공할 있습니다. 아래는 예입니다.


c437ca611387344814940cb4f97d09ce_1646646799_2882.png
 

 

7. 마무리

크랙의 설명을 위하여 지금까지의 예로 들었던 www.manualand.com 또는 http://210.114.223.226/~manual 모두 소유사이트이며 필자가 테스트하기 위하여 임시로 만든 사이트였습니다.

사실 실제로 크랙을 해보시면 아시겠지만 간단히 몇분안에 완료되는 경우도 있지만 몇일씩 걸리는 경우도 있습ㄴ다.

그리고 크랙작업에 있어서 중요한 것은 WWWHack 같은 도구보다도 정확하고 확실한 사전파일의 보유유무입니다대부분의 해커들은 자신만의 사전파일을 보유하고 있습니다, 크랙도구의 사용법보다는 어떤사전파일을 사용하느냐에 따라서 크랙의 성공여부가 결정이 된다는 의미입니다.

지금까지 WWWhack 강좌를 위하여 필자가  예로든 크랙작업의 대부분이 성공을 하였지만 사실은 성공하는 크랙작업은 20%정도도 되지 않습니다. 몇일씩 지속적으로 크랙작업을 했던 것이 실패가 되는 경우도 허다합니다. 크랙도구를 너무 믿어서는 안된다는 의미입니다.

강좌의 마지막 부분에 와서 이런 말씀을 드린다는 것이 쑥스럽지만 공부와 학습에 있어서 현실적인 부분과 실무적인 부분이 없다면 무용지물이 되기 때문입니다현실을 알고 계셔야하기 때문에 말씀드린 것입니다.

사실 크랙이라고는 하지만 단순무식한 대조작업입니다.
, 지정된 사전파일의 단어 하나하나를 대입하여 ID 또는 패스워드가 맞는가를 확인하는 작업입니다.

예를 들어 ID 패스워드의 각각의 사전파일에 100 200개씩의 단어가 존재한다면

ID
사전에 있는 단어 하나에 패스워드사전에 있는 단어 200개를 모두 입력하여 맞는가를 확인하고,
다음 ID사전의 단어 하나를 패스워드사전에 있는 단어 200개를 모두 입력하여 맞는가를 확인하고,
그다음....
그다음...
그리고 마지막 ID사전의 100번째 단어하나에 패스워드사전에 있는 200개를 모두 입력하여 맞는가를 확인합니다.

따라서 ID 패스워드가 맞는가를 확인하기 위한 크랙작업은 100*200 = 20000번의 확인작업을 하는 샘이되는 것입니다.

거듭 당부드리지만,

회원여러분들께서 타인의 사이트를 함부로 크랙하시면 법적인 책임이 따른다는 것을 정확하게 인지하고 계실 것이라 필자는 믿고 있으며 또한 불법적인 행위는 하지않을 것이라 믿습니다.

단지, 보다 견고하고 튼튼한 서버보안을 위하여 해킹이 어떻게 이루어지는가를 알아야하기 때문에 서버관리자여러분들께서는 강좌의 의도를 정확하게 이해해 주실 것이라 믿습니다.


 


 




  




 



  


  







 




 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,034 명
  • 현재 강좌수 :  35,791 개
  • 현재 접속자 :  234 명