-
윈도우 사용자 계정 비밀번호 찾기Linux 2020. 7. 3. 16:41반응형
준비물: 백트랙 or 칼리리눅스로 부팅할수 있는 usb
일단 윈도우의 보안은 2가지로 되어있다.
비밀번호의 HASH값은 최대 14자리 까지만 인식을 하고, 한문자당 7자리씩이다.
그리고 윈도우의 계정의 사용자 비밀번호는 SAM이라는 파일안에 보관되어있는데 이 SAM 파일은
C\Windows\System32\config안에 들어있다.
그리고 윈도우가 실행되어있는동안 절대로 파일을 수정, 열람 복사 등을 할수 없게 되어있다.
이렇게 된다면 윈도우의 비밀번호를 알수 없냐? 아니다.
역으로 생각해본다면 윈도우가 실행되어있지 않는다면 SAM파일을 볼수 있다는 것이다.
윈도우가 실행되어있지 않은데 어떻게 SAM파일을 볼수있어?
라고 말할수 있지만 컴퓨터 안에 WINDOWS가 깔려있고 다른 운영체제로 실행하게 된다면 그 운영체제를 이용해서 잠들어있는 Windows운영체제의 폴더 안에 있는 SAM파일을 보면 된다.
물론 SAM파일안에 있는 암호는 HASH화 되어있으니 이것도 풀어줘야되지만;자 일단 윈도우가 깔려있는 컴퓨터의 전원을 끈다.
그리고 다시 킨뒤 BIOS 화면으로 들어간다.
____________________________________________________________________________________________
BIOS란?: 컴퓨터를 킬때
이런 화면을 본적이 있는가?
이 화면이 BIOS화면이다.
컴퓨터의 기본적인 설정(소프트웨어가 하드웨어를 제어할수 있게 설정해주는 창)이다.
______________________________________________________________________________________
이 화면에서 부팅시 제일먼저 어느것(하드나 usb등)에 있는 파일을 부팅시에 사용할것인가를 묻는 페이지(boot)로 가게되면 Hard Drive = 하드디스크 가 제일 상단에 올라와있는것을 볼수가 있다.
즉 이 컴퓨터는 부팅을 할때 하드디스크에 있는 운영체제를 제일먼저 스캔 한뒤 그 운영체제를 이용해서 실행하게 되는것이다.
우리는 USB를 이용해서 부팅할것이므로 USB를 최상단으로 올려주자
그뒤 컴퓨터를 끈뒤 다시 킨다.
백트랙으로 부팅이 된다면
root
toor 로 로그인을 한뒤
enter를 눌러서 백트랙으로 부팅을 한다.
그뒤에 startx로 우리가 작업하기 쉽게 그래픽 화면으로 바꿔준다.
왼쪽 상단을 보면 콘솔창을 열수있는 검은색 박스가 있을것이다.
콘솔창을 연뒤 window에 있는 SAM파일을 가져오기 위해 폴더를 하나 만든다.
mkdir /winpass(임의로 설정)
그리고 파티션을 확인해본다.
fdisk -l 이것을 치게 되면 파티션의 정보가 나올것이다.
파티션에 대해선 밑에서 설명하겠다.
그뒤에 windows랑 연결해주기 위해 mount를 해준다.
mount /dev/sd** winpass => sd**은 윈도우가 깔려있는 하드디스크를 넣는다. **안에 자기에 맞는 것을 입력해주면된다.
그뒤 winpass폴더로 이동하자
cd /winpass
winpass랑 window랑 연결이 되어있는지 확인하고 어떤 폴더가 있는지 한번 확인해보기 위해 ls 명령어를 이용하자.
그다음 SAM파일이 들어있는 폴더로 들어가자
cd System32/config
그뒤에 숨겨져있는 파일을 전부 확인해보자
ls -a(숨겨져있는 폴더 전부 확인) SAM파일이 있을것이다.
SAM이 있는것을 확인했으니 HASH값을 풀기위해 도구를 불러오자
bkhive SYSTEM passkey.txt(임의파일)
SAM파일을 덤프하기 위해서 samdump2를 이용한다.
samdump2 SAM passkey.txt >> samkey.txt
그리고 넣은파일을 확인해보자
cat samkey.txt
그러면 window의 사용자 정보들이 나온다. 사용자는 500번대에서 시작하기 때문에 500번부터 시작한 정보가 나올것이다.
이제 samkey를 백트랙에 가져와서 작업을 하자(안가져와도 상관없지만 편하게 하기 위해)
cp(복사) samkey.txt /root
그뒤에 window의 HASH를 풀기위한 파일이 들어있는 폴더로 들어가자
cd /pentest/passwords/john
그리고 john파일을 이용해서 samkey를 풀어주자.
./john /root/samkey.txt
그러면 어떤것을 이용해서 HASH값을 푸는것이 좋을것 같다고 알려줄 것이다.
그럼 이제 알려준걸 이용해서 HASH값을 풀어보자
./john /root/samkey.txt --format=nt
그러면 window의 계정 비밀번호와 계정 이름이 나올것이다.
이제 백트랙을 끄고 다시 BIOS화면으로 들어가서 부팅 순서를 하드디스크로 바꾼뒤 다시 부팅을 하고 윈도우 비밀번호를 입력하자
---------------------------------------------------------------------------------------------------
부가적인 설명들
---------------------------------------------------------------------------------------------------
1)
물론 백트랙 없이 윈도우 계정 비밀번호를 알수있는 방법이 있겠지만
백트랙에서 작업한것들은 메모리상에서만 작업을 하므로 기록이 남지 않는다.
즉 윈도우에서는 백트랙에서 무엇을 작업했는지 알수가 없다.
2)
사용자가 500번대에서 시작하기 때문에 예를들면 700의 사용자가 있으면 700-500 200개의 사용자가 있다는것을 알수있다. 그러므로 사용자 계정을 생성할때 랜덤한 사용자 번호를 주어서 설정해두면 몇명의 사용자가 있는지 쉽게 알수가 없다.
3)
pentest : 뚫다.
4)
초록색 파일들은 전부 실행파일이다.
5)
첫번째 플로피 디스크 드라이브는 /dev/fd0
두번째 플로피 디스크 드라이브는 /dev/fd1
첫번째 발견한 하드디스크의 이름은 /dev/sda
두번째 발견한 하드디스크의 이름은 /dev/sdb
첫번째 SCSI CD-ROM은 /dev/scd0이라고 하고, /dev/sr0이라고도 한다.
드라이브의 파티션 이름은 디스크 이름 뒤에 숫자를 붙인다.
sd1,sd2 이렇게
반응형'Linux' 카테고리의 다른 글
ARP (0) 2020.07.23 promiscuous mode (0) 2020.07.16 아주 기초적인 서버 만들기 (0) 2020.07.13 작업 예약 (0) 2020.07.09 VNC (0) 2020.07.08