아메바시큐리티

윈도우 인증 본문

윈도우 보안

윈도우 인증

am2ba 2021. 4. 20. 22:03

윈도우 인증 구성 요소

(1) Local Security Authority = LSA

모든 계정의 로그인에 대한 검증 및 시스템 자원(파일)에 대한 접근 권한을 검사한다.

여기에 해당되는 로그인에는 로컬로그인 뿐만 아니라 원격로그인 역시 포함된다.

계정명과 SID를 매칭하여 SRM이 생성한 감사 로그를 기록한다.

NT 보안의 중심 서비스이며 Security Subsystem이라고 불린다. 

 

(2) Security Account Manager = SAM

사용자/그룹 계정 정보에 대한 데이터베이스를 관리한다. 사용자 로그인 정보와 SAM 파일에 저장된 사용자 패스워드 정보를 비교해 인증 여부를 결정한다. 

* SAM 파일은 사용자, 그룹 계정 및 암호화된 패스워드 정보를 저장하고 있는 데이터베이스이다. 

윈도우가 설치된 디렉터리에서 확인할 수 있다. 

 

일반적으로 SAM파일은 C:\Windows\system32\config 하위에 위치하여있다. 

SAM 파일

해당 폴더에는 SAM외에도, SYSTEM파일과 SECURITY 파일 등 윈도우의 레지스트르 정보를 저장하고 있는 파일들이 존재한다. 레지스트리를 분석할 일이 있어서 레지스트리를 추출할 때 해당 경로에서 추출하면 된다. 

이 외에 NTUSER라는 USER와 관련된 레지스트리 파일이 존재하는데, 해당 레지스트리 파일은 각 유저의 home 폴더에 위치해있다. 

이들을 이용해서 REGA 등과 같은 도구를 이용하면 레지스트리 파일을 분석할 수 있다. 

 

(3) Service Referene Monitor = SMR

인증된 사용자에게 SID를 부여주는 역할을 한다. 또한 부여된 SID를 통해, 파일이나 디렉터리에 대한 접근을 허용할지 여부를 결정하고 이에 대한 로그를 생성한다. 

 

 

로컬 인증

로컬 환경에서 윈도우에 로그인할 때 사용되는 인증과정이다.

(1) 윈도우 부팅 후 로그인 창에서 ID와 패스워드 입력

(2) LSA 서브시스템이 인증 정보를 받아 NTML 모듈에 넘겨준다.

(3) 이를 다시 SAM이 받아 로그인을 처리한다. 

 

 

NTLM이란?

Windows NT 제품의 모든 구성원이 사용하는 인증 절차이다. 기존의 LanMAn에서는 아이디와 패스워드를 전달하여 인증하는 방식을 사용했다. 이런 경우 정보 노출 및 패스워드 재사용 공격에 매우 취약하기 때문에, 이를 보완하여 암호를 전송하지 않고 이를 위해, challenge/reponse 방법을 사용하기 시작했다. 

절차는 다음과 같다.

(1) 클라이언트가 서버로 사용자 이름을 전송한다.

(2) 서버는 이에 대한 요청값(challenge)를 생성해 클라이언트로 전송한다.

(3) 클라이언트는 이 요청값을 사용자 암호로 암호화하여 서버로 응답(reponse)를 전송한다.

(4) 서버는 사용자가 전달한 Response값을 확인하여, Access Token을 발급하고 세션을 맺는다.

 

원격(도메인) 인증

로컬 환경이 아닌 원격 접속시 사용되는 인증 과정이다.

(1) 윈도우 부팅 후 로그인 화면에서 아이디와 패스워드를 입력한다.

(2) LSA 서브시스템이 인증 정보를 받아 로컬 인증용인지, 도메인 인증용인지 확인한다.

(3) Kerberos 프로토콜을 이용해 "도메인 컨트롤러"에 인증을 요청한다.

(4) 도메인 컨트롤러는 인증 정보를 확인하여 접속하고자하는 사용자에게 접근 토큰을 부여하고, 해당 권한으로 프로세스를 실행한다.

 

인증 암호 알고리즘

LM(Lan Manager) 해시 : 윈도우 2000, XP의 기본 알고리즘으로 구조적으로 취약한 알고리즘

    - 윈도우 비스타 이후 버전부터는 LM을 기본적으로 사용할 수 없게 한다.

NTLM 해시 : LM 해시에 MD4 해시가 추가된 형태

NTLMv2 해시 : 윈도우 비스타 이후 윈도우 시스템의 기본 인증 프로토콜로 기존인증 알고리즘과는 전혀 다른 알고리즘으로 해시값을 생성하며 현재까지 복잡도가 충분해 크래킹이 어렵다. 

 

REAG를 통해 확인한 NThash

Windows10을 사용하고 있는 서버의 계정 정보를 확인한 결과이다. LM해시는 사용하지 않고, NT해시만을 사용하고 있는 것을 볼 수 있다. 하지만 이러한 NThash도 현재 많이 분석이 되어 길이가 짧은 경우 크래킹이 가능하다. 

 

CrackStation - Online Password Hash Cracking - MD5, SHA1, Linux, Rainbow Tables, etc.

CrackStation - Online Password Hash Cracking - MD5, SHA1, Linux, Rainbow Tables, etc.

 

CrackStation - Online Password Hash Cracking - MD5, SHA1, Linux, Rainbow Tables, etc.

Free Password Hash Cracker Enter up to 20 non-salted hashes, one per line: Supports: LM, NTLM, md2, md4, md5, md5(md5_hex), md5-half, sha1, sha224, sha256, sha384, sha512, ripeMD160, whirlpool, MySQL 4.1+ (sha1(sha1_bin)), QubesV3.1BackupDefaults How Crack

crackstation.net

해당 링크에 접속해서 hacker라는 계정의 NT 해시값을 crack한 결과, hacker라는 비밀번호를 바로 알아 낼 수 있었다. 

Lan Manager

Lan Manager는 네트워크를 통한 파일 및 프린터 공유 등과 같은 작업 시 인증을 담당하는 서비스이다. 

Lan Manager 인증 수준 섲렁을 통해 네트워크 로그온에 사용할 Challenge/Respose 인증 프로토콜을 결정하면, 이 설정은 클라이언트가 사용하는 인증 프로토콜 수준, 협상된 세션 보안 수준 및 서버가 사용하는 인증 수준에 영향을 주기 때문에 보다 안전한 사용을 위해 NTLMv2 사용을 권장한다. 

 

'윈도우 보안' 카테고리의 다른 글

Security Identifier (SID)  (0) 2021.04.20