관리자(Administrator) 암호 알아내기
게시일: 2006/02/11 | 글쓴이: doa | 49536 번 | 프린트 | 메일


네이버의 주된 사용자 층은 지식인 서비스와 펌로그로 유명한 블로그 이다. 그러나 필자의 경우 네이버의 지식인을 검색해서 답을 찾은 경우는 단 한번도 없다. 그 이유는 간단하다. 첫번째는 똑 같은 글(1. 디스크 검사, 2. 조각 모음, 3. 시스템 복구)을 복사, 붙여넣기로 답을 달아도 채택율이 80%에 이를 정도로 질문의 수준이 낮으며, 답변 또한 마찬가지이기 때문이다. 두번째로는 관리자의 암호를 알아내는 방법에 F8을 누르고 안전모드로 들어가서 변경하라는 식의 잘못된 답변이 많기때문이다.

OS를 설치한 사람이 관리자의 암호를 설정하지 않았다면 당연히 F8을 누르고 들어가서 암호를 변경하는 것이 가능하다. 그러나 시스템 설치시 관리자의 암호를 설정했다면 F8을 누르고 안전 모드로 진입할 수 없는 것은 당연하며, 심지어는 복구 콘솔로도 진입할 수 없다. 그런데 F8을 누르고 안전 모드로 부팅하거나 복구 콘솔로 들어가서 SAM 파일을 지우라는 답변이 관리자의 암호를 복원하는 정답처럼 되어 있는 곳이 지식인이다.

사실 관리자의 암호를 잊어버린 경우 최선의 방법은 필자의 강좌, NT 시스템(NT/2K/XP)에서 관리자 암호 복원하기이다. NT 시스템(NT/2K/XP)에서 관리자 암호 복원하기에서 알 수 있듯이 이 방법을 사용해서 관리자의 암호를 새로 설정할 수 있지만 관리자의 암호를 알아낼 수는 없다.

그 이유는 간단하다. 시스템에서 사용되는 암호는 일반적으로 단방향 암호화 기법을 사용하기 때문이다. 단방향 암호화란 평문으로 암호문을 만들 수는 있어도 암호문으로 평문을 복원할 수는 없는 비가역적 암호화를 말하며 보다 자세한 사항은 단방향 암호화를 참조하기 바란다.

그러나 사실 불가능한 것처럼 보이는 것도 생각만 조금 바꾸면 아주 쉽게 해결할 수 있는 경우가 많다. 그 이유는 간단하다. 대부분의 사람들은 복잡한 것을 싫어하며 따라서 암호는 가급적 동일한 암호를 사용하려고 한다. 착안점은 바로 여기이다.

단방향 암호화로 암호화되는 시스템 관리자의 암호는 알 수 없지만 이 시스템 관리자가 사용하는 암호중 양방향 암호하를 사용하는 암호는 알아 낼 수 있다는 점이다. 즉, 시스템 관리자가 시스템 암호와 넷트웍 암호를 분리해서 사용한다면 시스템 암호를 알아 낼 수 없지만 시스템에 로그인하는 암호와 메일 계정처럼 양방향 암호화를 사용하는 넷트웍 암호가 동일하다면 얼마든지 알아낼 수 있다는 점이다.

  1. 준비물
  2. 다운 받은 파일을 관리자가 없을 때 관리자 계정에서 실행한다.


다음 그림은 암호를 알아낼 관리자 계정에서 Mail PassView를 실행한 결과이다. 그림에서 알 수 있듯이 시스템 관리자의 모든 OE 계정 암호가 노출되는 것을 알 수 있다.



위의 방법은 관리자의 암호를 알아낼 수 있는 쉬운 방법이기는 하지만 첫째 관리자가 시스템 암호와 넷트웍 암호를 동일하게 사용해야 하며, 둘째 관리자로 로그인 한 상태에서만 사용할 수 있다는 단점이 있다. 따라서 두번째로 사용할 수 있는 방법은 단방향 암호화에서 설명한 것처럼 사전 파일을 이용하는 방법이다. 사전 파일을 이용해서 관리자의 암호를 알아내는 방법은 다음과 같다.

  1. 준비물 이 작업을 하기위해서는 몇가지 추가적인 프로그램이 필요한다.
    1. Cracker Jack 프로그램: john-17w.zip 사전 파일에 등록된 암호를 저장된 암호와 비교해서 암호를 찾는 프로그램.
    2. 암호 덤프 프로그램: pwdump6-1.0.0.zip Unix의 경우 /etc/passwd 파일과 /etc/shadow 파일에의해 암호 파일을 바로 구할 수 있다. 그러나 NT의 경우 이러한 방법으로는 암호 파일을 구할 수 없으며, 암호를 덤프하는 프로그램을 이용해야 한다.
    3. 사전 파일: all.gz 단방향 암호화에서 얘기한 것처럼 크래커잭 류의 프로그램에서 가장 중요한 것은 사전 파일이다. 국가별로 자주 사용하는 암호가 다르기때문에 가급적 한국인의 성향을 반영한 사전 파일이 좋지만 아쉽게도 이러한 사전 파일을 찾을 수 없었다. 그러나 링크에서 제공하는 사전 파일은 상당히 잘 구성된 사전 파일이므로 다운받아 사용하기 바란다.
    일단 위의 모든 프로그램은 임의의 폴더(예: E:\Down\Imsi\run)에 모두 압축 해제하는 것으로 하겠다주1.

  2. 명령행 실행 시작/실행/cmd를 입력한 후 명령행에서 압축을 해제한 폴더로 이동한다.
    cd /d E:\Down\Imsi\run


  3. 덤프 파일 생성주2 다음 명령을 이용해서 암호의 덤프 파일을 생성한다. 사용자가 많은 경우 암호를 알아내는데 더 많은 시간이 소모되므로 덤프 파일이 생성되면 암호를 알아낼 사용자(예: doa)만 남겨두고 나머지는 삭제하는 것이 좋다. 명령행에서 다음 명령을 실행한다.
    PwDump.exe -o SaveFile ComputerName
    예: comp라는 컴퓨터의 암호를 passwd라는 파일에 저장하는 경우
    PwDump.exe -o passwd comp




  4. 암호 찾기 이제 남은 과정은 John the Ripper라는 크래커잭 류의 프로그램을 이용해서 암호를 찾는 것이다. 명령행에서 다음 명령을 실행한다.
    john --wordlist=DictionaryFile --rules PasswordFile
    예: all.lst라는 사전 파일을 이용해서 passwd라는 암호 덤프 파일을 사용하는 경우
    john-386 --wordlist=all.lst --rules passwd




그림에서 알 수 있듯이 총 6명의 사용자가 있지만 이들 중 bomnuri라는 사용자의 암호만 복구해냈다. bomnuri라는 사용자의 원 암호는 dungding인데 의외로 이 프로그램에의해 쉽게 노출되었다. 물론 다른 계정은 필자가 사용하는 관리자 계정이기때문에 찾지 못했지만 정상적인 단어가 아님에도 불구하고 찾아내는 것을 보면 이 방법이 상당히 효과가 있음을 알 수 있다.

한마디: 암호에 특수 문자가 하나만 포함되어 있어도 이러한 프로그램으로 암호를 알아내기는 힘들다.

여담: 필자의 시스템에서는 이러한 방법을 사용할 수 없다. 그 이유는 간단하다. 필자는 자리를 비울 때 습관적으로 -L을 눌러 시스템을 잠그는 습관이 있기 때문이다. 아울러 필자는 시스템 암호, 웹에서 사용하는 암호, 인터넷 뱅킹 사이트의 암호, 와레즈 사이트의 암호를 분리해서 사용한다. 따라서 설사 필자의 계정에서 Mail PassView와 같은 프로그램을 실행해도 시스템 암호와 메일 암호가 다르기때문에 시스템 암호는 보호된다.

마지막으로 그림에서 알 수 있듯이 필자가 사용하는 시스템 암호는 길이도 길거니와 암호내에 특수 문자가 포함되기 때문에 크래커잭 류의 프로그램으로 암호를 알아낼 수 있는 방법이 없다.


주1: pwdump6-1.0.0.zip 파일의 경우 PwDumpRelease 폴더의 내용을 압축 해제해야 한다.

주2: PwDump 명령을 실행하려면 관리자 권한이 있어야 한다.


배치파일로 특정 포트를 연 프로그램 종료하기 배치 파일이 가지고 있는 장점 중 하나... (10355) 2006-02-14
단방향 암호화 대부분 Unix에서 사용하는 DES 알고리즘이나 NT에서 사용하는 암호화 기... (14304)2006-02-11

QAOS.com에 게시된지 1년 이상된 자료와 관리자가 공개한 자료는 누구나 제한없이 읽을 수 있습니다.
그러나 QAOS.com의 자료를 퍼가는 것은 금지하고 있습니다.

이 정보가 유용하다고 생각되시면 QAOS.com과 많은 다른 사람들을 위해 퍼가기 보다는 링크로 알려주시기 바랍니다.

세상사는 이야기



RSS 구독 (익명 | 회원 | 강좌 | 포럼)
(C) 1996 ~ 2017 QAOS.com All rights reserved.