날짜: 2002-12-31 | 글쓴이: 도아 | 58707 번 | 프린트 | 메일로보내기

NT 시스템(NT/2K/XP)에서 관리자 암호 복원하기 - 계속


근본적으로 이 강좌는 pnordahl가 개발한 Offline NT Password & Registry Editor 를 기초로 작성되었다.

I. 프로그램 다운 받기 관리자의 암호를 복원하기위해서는 pnordahl가 개발한 Offline NT Password & Registry Editor 가 있어야 한다. 다음 URL을 참조해서 필요한 파일을 먼저 다운 받기바란다. 다운로드 링크가 끊어진 경우 Bootdisk 에서 다운받기 바란다.

프로그램 URL
bd050303.zip 부팅 이미지: Offline NT Password & Registry Editor 의 핵심으로 리눅스를 기반으로한 부팅 이미지 이다.
sc050303.zip SCSI 드라이버: 스카시 장치가 있는 경우 사용한다. 스카시 장치 드라이버들를 모아놓은 파일이며, 필요한 모듈만 scsi 폴더에 복사해서 사용할 수 있다. 이 파일에서 지원하지않는 스카시 장치에서는 이 유틸리티를 사용할 수 없다.
cd050303.zip CD용 부팅이미지: 부팅 이미지와 SCSI 창치 드라이버는 화일 크기가 크기때문에 하나의 플로피에 저장할 수 없다. CD-RW가 있는 경우 이 파일을 이용해서 부팅 CD를 만든 후 작업하면 된다.
winima61.exe WinImage: 부팅 이미지로 부팅 플로피를 만들때 사용되는 프로그램이다. 이 프로그램외에 부팅 이미지를 처리할 수 있는 다른 여러가지 프로그램이 있으며, 이러한 프로그램을 사용해도된다.

주의: 이 유틸리티는 USB 키보드에서는 정상적으로 동작하지않는다. 주의: 이 유틸리티는 NT 시스템의 디스크 관리자로 RAID(미러링/스트리핑)를 적용한 경우 정상적으로 동작하지않는다.

II. 부팅 플로피 만들기 CD-RW로 부팅 CD를 만들어 두는 것이 사용하기에는 훨씬 효율적이지만 이 강좌에서는 부팅 플로피를 사용하는 것으로 한다.

  1. 플로피 드라이브에 빈 플로피 디스크를 삽입한다주1.
  2. 다운 받은 winima61.exe 를 설치한다.
  3. Winimage를 실행한다.
  4. 파일/열기 메뉴를 클릭한다.
  5. 파일 형식모든 파일로 변경한다.
  6. bd021213.zip 파일을 저장한 폴더로 이동한 후, bd021213.zip 를 두번 클릭한다주2.
  7. 디스크/디스크 쓰기를 클릭한다.
  8. 작업 확인 창에서 를 클릭한다주3.
  9. SCSI 장치가 있는 경우 sc021213.zip 를 다른 플로피에 압축해제한다(폴더 구조를 유지해야 한다).

III. 관리자 암호 복원하기

  1. 플로피 부팅 플로피 디스크로 부팅한다. 플로피 디스크로 부팅하면 잠깐동안 이 유틸리티에대한 정보가 출력되며 부팅에 필요한 장치를 읽어 들이게 된다. 최종적으로 다음 화면과 같이 키 입력을 요구하는 화면이 나타나며 이때 엔터키를 누른다.

  2. 스카시 장치 검사 잠시후 스카시 드라이브를 검사할 것인지를 묻는 화면이 나타난다. 스카시 제어기가 없는 경우 엔터키를 누르며 스카시 제어기가 있는 경우 y를 입력하고 엔터키를 친다주4.

    y를 입력하면 드라이버 검사를 수행한다. 일단 드라이버 검사가 완료되면 컨트롤러가 초기화된다. 읽어들일 모듈을 묻는 화면에서 y 또는 n를 입력한다. SCSI 카드에 직접 접근하려면 프롬프트에서 드라이버의 모듈명을 입력하고 이 드라이버에대한 옵션을 입력한다. 이 절차는 n를 입력할 때까지 반복되며 따라서 필요한 경우 하나 이상의 SCSI 드라이버를 읽어들일 수 있다.

  3. 파티션 선택 다음 그림 처럼 모든 디스크의 모든 파티션이 출력되며, 이어서 NTFS 파티션이 출력된다. 기본적으로 선택된 파티션이 XP의 파티션이 맞는 경우 엔터를 입력하며 아닌 경우 /dev/hda1/dev/sda1와같은 형식으로 실제 XP의 부트 파티션을 지정한 후 엔터를 누른다주5.

  4. 작업 선택 다음과 같이 암호의 변경레지스트리 편집중 원하는 작업을 선택하는 화면이 나타난다. 이 유틸리티는 암호와 레지스트리를 변경 수 있다. 이 유틸리티의 이름이 Offline NT Password & Registry Editor라는 것을 상기하기바란다. 원하는 작업을 선택하고 엔터키를 누른다. 이 강좌의 목적이 분실한 관리자 암호를 다시 설정하는 것이므로 여기에서는 1를 선택하는 것으로 한다.

  5. 레지스트리 경로 선택 다음으로 실제 시스템 레지스트리가 저장된 완전한 경로(파티션에 상대적인)를 묻는 화면이 다음과 같이 나타난다. 일반적으로 시스템 레지스트리가 저장되는 완전한 경로는 %SystemRoot%\System32\Config이지만 이 유틸리티의 기반 시스템이 리눅스 이므로 역슬래쉬(\)슬래쉬(/)로 표현되었다. 기본 경로가 맞다면 엔터키를 입력하고 틀리다면 적당한 경로를 지정한 후 엔터를 누른다.

  6. 하이브 선택 시스템 레지스트 폴더의 내용이 출력되며, 편집할 하이브룰 묻는 다음과 같은 화면이 나타난다. 기본적으로 sam, system, security 하이브가 선택된다. 하이브와 하이브의 구분은 공백으로 한다. 세가지의 하이브를 모두 편집하기위해서는 엔터키를 누르면 된다. 이들중 특정 하이브만 편집하려는 경우 해당 하이브의 이름만 입력하면 된다. 일반적으로 암호 변경의 경우 sam만 필요하지만 모두 선택하는 것으로 한다주6, 주7.

  7. SYSKEY 선택 SYSKEY를 disable할 것인지를 묻는 다음과 같은 화면이 나타난다. NT 4.0의 경우 disable하는 것이 좋으며 2K/XP의 경우 enalbe하는 것이 좋다. 즉, NT 4.0의 경우 y를 2K/XP의 경우 엔터를 누른다.

  8. 사용자 선택 암호를 변경할 사용자의 목록이 RID, 사용자 이름과 함께 나타난다. 이들중 변경할 사용자의 이름을 입력하거나 RID를 16진수 형식으로 입력(예: 0x03eb)하고 엔터키를 누른다.

  9. 새 암호 입력 새로 지정할 암호를 입력하고 엔터를 누른다. 입력한 암호는 화면에 출력되며, 공백 암호를 사용하기위해서는 *를, 암호를 변경하지않으려면 엔터를 입력한다.

  10. 암호 변경 확인 암호를 변경할 것인지를 묻는 다음과 같은 화면에서 y를 입력하고 엔터 키를 누른다주8.

  11. 다른 사용자 암호 변경 암호를 변경할 모든 사용자에대해 9~11단계를 반복한다. 모두 변경했으면 !를 입력하고 엔터를 누른다.

  12. 하이브 저장 변경된 하이브의 목록이 출력되며 하이브를 저장할 것인지를 묻는 화면이 나타난다. 이때 y를 입력하고 엔터를 누른다주8.

  13. 시스템 하이브 저장 전단계에서 저장한 하이브를 실제 시스템 하이브에 기록할 것인지를 묻는 화면에서 y를 입력하고 엔터 키를 누른다주9.

  14. 시스템 재 기동 마지막으로 다음과 같은 리눅스 쉘 프롬프트(#)가 나타난다. 기본적인 리눅스/유닉스 명령을 사용할 수 있으므로 심심한 사람은 사용해보기바란다. 결과가 궁금한 사람은 당연히 플로피를 제거하고 컴퓨터의 리셋 버튼을 눌러 시스템을 재기동한다.

IV. 문제점 많은 것이 잘못될 수 있지만 이러한 문제가 발생해도 사용자의 파일 시스템을 손상하지는 않는다.

가장 위험한 부분은 레지스트리 파일을 NTFS에 다시 기록할 때이다. 이때 시스템 레지스트리가 손상될 수 있으며, 사용자의 시스템이 제대로 부팅하지 못할 수도 있다. SAM 하이브가 손상된 첫번째 징후는 Netlogon 서비스의 기동 실패이다. 이 Netlogon 서비스의 기동에 실패하면 사용자는 로그인 할 수 없게된다. 그렇지 않으면 시스템은 계속해서 리부팅된다.

스크립트로 작업하는 것에 실패한 경우 쉘에서 직접 작업할 수 있다주10.

V. 결론 이상으로 관리자 암호를 복원하는 방법을 알아 보았다. 대부분의 경우 이 방법을 통해 관리자 암호를 재설정할 수 있지만 몇몇 시스템에서는 예기치않은 오류가 발생할 수 있다.

사실 관리자 암호를 복원하는 이 방법은 편법에 불과하며, NT 시스템의 보안 취약점을 드러내는 부분이라할 수 있다. 가장 좋은 보안은 설사 관리자의 암호를 잊어버렸을 지라도 절대 재설정할 수 없어야 한다. 즉, 관리자 암호의 분실은 관리자가 책임져야 한다는 것이다.

노파심에서 한가지 더 얘기하자면 NT 시스템은 9x 시스템과는 설계 철학부터가 다르다. 이 말은 OS의 기본부터가 다르며, 사용하는 방법 역시 기본부터 다르다는 얘기이다.

따라서 이러한 편법에 의존하기보다는 암호관리를 보다 철저히 하는 것이 관리자 암호를 복구하는 최선책이라는 것을 명심하기바란다.

VI. 관련 팁 및 강좌

VII. 관련 링크

주의
1반드시 빈 플로피가 아니어도 된다.
2.zip 파일이지만 Winimage에서 .zip 파일을 지원하므로 별도로 압축을 풀 필요는 없다.
3빈 플로피인 경우 나타나지 않는다.
4필자의 컴퓨터에는 SCSI가 없어서 시험해 보지못했다. SCSI가 있는 사용자는 직접 시험한 후 그림과 절차를 알려주면 좋겠다.
5리눅스에서 하드 디스크에 이름을 부여하는 방법은 다음과 같다.
SCSI	 sdDP	->	D=디스크 a b c d 등, P=파티션 번호 1 2 3 4 등
IDE	hdDP	 ->	D=a 또는 b (주 IDE), c 또는 d (부 IDE), P=파티션 번호
6SAM은 암호 데이타 베이스를 저장하는 하이브이며, System은 syskey에대한 몇몇 정보를 포함하는 하이브이다. 아울러 Security 하이브 역시 syskey에대한 추가 정보를 저장하고 있다.
7이 단계에서 시스템 하이브에 해당되는 파일이 램디스크로 복사되며, 램디스크로 복사된 파일을 이용해서 편집을 수행하게된다.
8암호 변경을 선택해도 실제 시스템 암호는 변경되지않는다. 그 이유는 주7에서 언급한 것처럼 사본을 가지고 작업하기때문이다.
9주7에서 언급한 것처럼 이전 단계에서 저장한 하이브는 실제 시스템 하이브가 아니라 램디스크로 복사된 하이브이며, 이 단계에서 실제 시스템 하이브에 저장된다. 따라서 이 단계가 시스템 변경을 취소할 마지만 단계이며, 여기서 y를 선택한 경우 복원할 방법이 없다는 것을 주의하기바란다.
10쉘 전환 키는 모든 리눅스 시스템과 마찬가지로 TTY1~TTY4(Alt-F1 ~ Alt-F4)이다


다음글: XP 자동 종료 문제 해결 방법 (77015)2003-01-16
이전글: STOP 0x0000000A의 원인과 대책 (34661)2002-12-16
<< 이전페이지 (1/2)

세상사는 이야기



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