윈도우 계정 패스워드 보호 – pwddump Ophcarck

앞 SAM에서 애기하였지만 윈도우에서는 패스워드를 LM Hash와 NT Hash로 SAM파일에 보관하게 된다. 해당 정보는 윈도우를 실행하고 있는 상황에서는 일반적으로 확인할 수 없도록되어 있다.

여기서 해당 정보를 확인하고 계정의 패스워드를 확인하는 방법과 보호하는 방법을 알아보자.

만약 여러분이 계정의 패스워드를 잃어 버렸을 경우 가장 간편한 방법은 윈도우PE 시디를 이용하거나 다른 드라이브에 별도의 운영체제로 부팅을 통해 기존 드라이브의 %Systemroot%\system32\config\sam파일을 지우고 윈도우를 재시작하면 기본적인 계정 administrator와 guest(비활성화)를 패스워드가 없는 상태로 새로 생성하게 되어 부팅이 가능하다. 물론 패스워드를 변경할 수 있는 툴도 존재하므로 해당 부분을 찾아 진행하여도 된다.

여기서는 이부분 보다는 우리가 쉽게 습득할 수 있는 NThash, LMhash를 이용하여 계정의 기존 패스워드를 찾는 방법과 이에 대한 대안을 애기하고자 한다.

윈도우에서는 다양한 방법으로 계정의 패스워드 해쉬값을 습득할 수 있다.

콘솔에 직접 접근하거나, NTLM을 이용한 네트워크 통신 캡처, 파일 직접 접근 방법들이 있겠다.

그럼 여기서 Pwdump를 이용한 방법을 통해 확인해 보자.

Pwdump는 NT 패스워드 덤프에 가장 많이 사용되는 툴로써, 콘솔로 로그인 하였을시, 계정 해쉬정보를 쉽게 가져갈 수 있다

윈도우 계정 패스워드 보호 – pwddump Ophcarck

[그림]Pwdumpx를 통한 각 계정의 해쉬정보 습득

이렇게 수집한 해쉬값은 Ophcrack(http://ophcrack.sourceforge.net/)등과 같은 레인보우 테이블을 이용 쉽게 패스워드를 알아낼수 있게된다. Hash값을 이용한 패스워드 추출 툴은 다양하고 성능역시 테이블에 따라 다르지만 우수하다.

Ophcrack에서는 패스워드를 잃어버렸을 경우 제공하는 LiveCD로 부팅하여 SAM 조작해, 패스워드를 초기화 하거나, 크랙하는 툴도 함께 제공하므로, 패스워드 분실시 유용할 것이다.

[그림]Ophcarck를 이용해 해쉬값으로 패스워드를 분석

이외에도 보안 프로세스로 사용되는 Lsass의 프로세스를 덤프해 캐쉬된 도메인 계정의 패스워드를 볼 수 있다.

그럼 패스워드를 어떻게 보호할 수 있을까?

먼저 lsass에 저장되는 LMhash 저장하지 않도록 구성할 수 있다.

레지스트리에 HKLM\System\CurrentControlSet\Control\LSA 하위에 nolmhash라는 키를 확인후 값을 1로 조정하면 된다.

[그림] LM Hash 저장을 비활성화

그리고 마지막으로 SAM 파일을 윈도우에서 기본적으로 제공하는 Syskey툴을 통해 암호화 하면 SAM파일을 복사해 분석하는 것으로부터 보호 할 수 있다. 단 한번 활성화 하면 다시 비활성화 할수 없으니 주의하기 바란다.

[그림] Syskey를 이용해 암호화하여 사용중

마지막으로 가장 쉬으면서도 강력한 보호방법으로써, 복잡한 패스워드를 사용하여야 한다. 해쉬값을 이용한 패스워드 추출은 여러 단어를 조합하는 유추하는 방식이므로 패스워드 복잡도가 높을수록 기하급수적인 시간이 걸리기 때문이다.

Facebook Comments

Leave A Reply

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.