(1) 윈도우 인증과정

1) 인증 구성요소 ⭐
1. LSA(Local Security Authority)
- NT보안의 중심서비스로 모든 계정의 로그인에 대한 검증 및 접근권한 검사와 계정명과 SID를 매칭하여 SRM이 생성한 감사로그를 기록함
2. SAM(Security Account Manager)
- 사용지/그룹 계정 정보에 대한 DataBase관리하고, 로그인된 정보와 SAM에 저장된 정보를 비교하여 인증여부 결정
(C:\Winnt 또는 C:\Windows에 위치함)
- SAM 파일 접근 통제 설정
접근 통제의 이유
SAM의 파일은 사용자/그룹 계정의 PWD를 관리하고 LSA를 통한 인증을 제공하는 중요한 파일 이므로 적절한 접근 통제가 필요함
설정
- abministrators 및 System 그룹 외에는 SAM 파일에 대한 접근제한
- 불필요한 그룹/계정에 대해서는 권한 제한
3. SRM(Security Referance Monitor)
- 인증된 사용자에게 SID를 부여하고 이를 기반으로 파일 혹은 Dir 에 대한 접근의 허용 여부를 결정함 또한 이에 대한 감사 메시지를 생성
4. NTLM(NT LAN Manager)
- 사용자 신원 인증 활동의 무결성과 기밀성을 보호하기 위한 Microsoft에서 제공하는 보안 프로토콜 모음
2) 로컬 인증

순서 설명
- 윈도우 부팅후 ID와 PWD를 입력하여 로그인
- LSA서브 시스템이 인증정보를 받아 NTLM모듈로 넘김
- 이를 다시 SAM이 받아 토큰을 부여함
- 해당 권한으로 프로세스 실행함
3) 원격(domain) 인증

순서 설명
- 윈도우 부팅후 ID와 PWD를 입력하여 로그인
- LSA 서브시스템이 인증정보를 로컬인증용인지 도메인 인증용인지 확인
- 커버로스 프로토콜을 이용하여 도메인 컨트롤러(DC)에 인증 요청
- DC는 인증정보를 확인하고 사용자에게 토큰을 부여
- 해당 권한으로 프로세스를 실행함
(2) 윈도우 보안식별자
1) 개요 (SID : Security Identifier)
특징
- 사용자 및 그룹에 부여되는 고유한 식별번호
- 사용자가 로그인 수행 시 접근(access) 토큰이 생성됨
접근 토큰: 로그인한 사용자와 사용자가 속한 모든 작업 그룹에 대한 SID정보가 담겨있음
- 사용자에 의해 시작된 모든 프로세스에는 접근 토큰의 사본이 할당됨
SID 실습
실습

SID 설명
- S-1 : 윈도우 시스템
- 5-21 : 시스템이 도메인컨트롤러 혹은 단독 시스템임을 의미
- 가려진 부분 : 시스템만의 고유한 식별자 (윈도우를 재설치해도 동일한 값을 가지지 않음)
- 500 : administrator 식별자
- 501 : Guest 식별자
- 1001 : 일반 사용자 식별자
(3) 윈도우 인증 구조

1) 개요
윈도우가 “Challenge & Response 방식”의 인증 구조를 사용하는 이유
단순히 정보를 전달하여 인증하는 방식은 정보의 노출과 PWD 재사용 공격에 취약하므로 높은 수준의 인증이 필요한 경우에는 적절치 않기 때문
단계별 동작 방식
- 인증 요청 : 인증하고자 하는 사용자가 윈도우 시스템에 인증 요청
- Challenge 값 생성 : 인증 요청을 받은 서버는 특정 규칙 또는 랜덤한 Challenge 값을 생성
- Challenge 값 전송 : Challenge 값 사용자에게 전달
- Rseponse 값 생성 : 전달받은 Challenge 값과 사용자 PWD를 이용하여 Response 값을 생성
- Rseponse 값 전송 : Response 값 서버에 전달
- Rseponse 값 확인 : 사용자에게 전달 받은 Response 값을 확인
- 인증 성공 : 인증 여부 전달
2) 인증 암호 알고리즘
1. LM(LAN Manager) 해시
- 윈도우 2000, XP 의 기본 알고리즘 (구조적으로 취약함 사용 X)
2. NTLN 해시
3. NTLMv2 해시(사용 권장)
- 기존 인증 알고리즘과는 전혀 다른 알고리즘으로 해시값을 생성하며 , 복잡도가 충분해 현재까지도 크래킹이 어려움
3) LAN Manager 인증 수준
LM은 네트워크를 통한 파일 및 프린터 공유 등과 같은 작업 시 인증을 담당하는 서비스
로컬 보안 정책 설정을 통해 LAN Manager 인증 수준을 어떻게 결정하느냐에 따라 클라이언트가 사용하는 인증 프로토콜 수준, 협상된 세션 보안 수준 및 서버가 사용하는 인증 수준에 영향을 준다
4) 패스워드 크래킹
1. 사전 공격/사전 대입 공격(Dictionary Attack)
🔥 패스워드로 자주 사용되는 사전에 있는 단어, 키보드 자판의 일련순, 주민등록번호, 이름 등으로 미리 사전 파일로 만든 후 이를 하나 씩 대입하여 일치 여부를 확인하는 크래킹
2. 무차별 공격/무차별 대입 공격(Brute Force Attack)
🔥 패스워드에 사용될 수 있는 문자열의 범위를 정하여 범위 내에서 생성 가능한 모든 패스워드를 대입하여 일치 여부를 확인하는 크래킹
3. 혼합 공격(Hybrid Attack)
🔥 사전 대입 공격과 무차별 대입 공격을 혼합한 방식으로 사전파일에 있는 문자열에 문자, 숫자 등을 추가로 무작위 대입하여 일치 여부를 확인하는 크래킹
4. 레인보우 테이블(Rainbow Table)
🔥 1. 하나의 패스워드에서 시작하여 특정한 변이 함수를 이용해 여러 형태의 패스워드를 생성함 각 변이된 패스워드의 해시를 고리 처럼 연결하여 일정 수의 패스워드와 해시로 이루어진 체인을 무수히 만들어놓은 테이블
2. 해시 테이블과 Reduction 함수의 반복 수행을 통해 일치하는 해시값을 통해 패스워드를 크래킹