본문 바로가기

정보보안기사 실기

정보보안기사 _ 2일차 _ 시스템 기본 학습 _ 윈도우 기본학습

SECTION 01 시스템 기본 학습

01. 윈도우 기본 학습

02. UNIX / Linux 기본 학습

03. UNIX / Linux 시스템 관리

04. UNIX / Linux 서버보안

05. 시스템 해킹

 

1. SAM(Security Account Manager) 파일 접근 통제 설정

 

SAM 파일은 사용자와 그룹 계정의 패스워드를 관리하고 LSA를 통한 인증을 제공하는 중요한 파일

(사용자 계정, 그룹 계정 및 암호화된 패스워드 정보를 저장하고 있는 DB)

 

1) Everyone 에게 권한을 주는 일은 무조건 피한다

2) Administrator, System 그룹 외에는 SAM 파일의 접근을 제한한다.

 

2. SID (Security Identifier)

 

윈도우 보안 식별자(SID : Security Identifier)

1) 윈도우의 각 사용자나 그룹에 부여되는 고유한 식별번호

2) 사용자가 로그인 수행시 접근 토근(엑세스 토큰)이 생성되며,

   토큰에는 로그인한 사용자와 속한 모든 작업그룹에 대한 보안 식별자 정보가 담겨있다.

3) 접근 토큰의 사본은 그 사용자에 의해 시작된 모든 프로세스에게 할당된다

4) SAM 파일에 SID 정보가 저장되어있다.

 

SID 구조

S-1-5-21-4243233100-3174512425-4165118588-1001

S-1 : 윈도우 시스템임을 의미

5-21 : 해당 시스템이 도메인 컨트롤러 이거나 단독 시스템임을 의미

고유 식별자

 

맨 뒤 숫자

500 : 관리자(Administrator) 식별자

501 : 게스트(Guest) 식별자

1000 이상 : 일반 사용자 식별자

 

실습은 WMIC(Windows Management Instruction Console)을 통해

실행 > WMIC > useraccount list brief 라고 치면 컴퓨터에 존재하는 계정들과 SID가 나옴

 

3. 윈도우 인증 구조 (Challenge & Response방식 이라고 부름)

 1) 사용자가 인증을 위해 인증을 요청함

 2) 윈도우는 Challenge 값을 생성함

    * 인증 요청을 받은 서버가 특정 규칙 또는 랜덤한 Challenge 값을 생성한다고 함

 3) 윈도우가 Challenge 값을 사용자에게 전송함

 4) Response 값을 사용자가 생성함(Challenge + 비번이 Response값 이라고 함)

 5) 사용자가 Response 값을 윈도우에 전송함

 6) 윈도우가 Response값을 확인함

 7) 인증성공 짝짝짝

 

단순히 아이디와 패스워드를 전달하여 인증하는 방식은 정보노출 및 패스워드 재사용 공격에 매우 취약

(위험요소 : 패스워드 재사용 공격, 스니핑 위험 등등)

 

근데 여기서 Challenge & Response 값을 만드는 알고리즘이 있을 거 아냐.

그게 LM > NTLM > NTLMv2 순서로 발전하는 중인가봐.

1) LM(Lan Manager) 해시 : 윈도우 2000, XP 의 기본 알고리즘, 구조적 취약, 비스타 이후부터 사용할수 없게 함

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

3) NTLMv2 : 윈도우 비스타 이후 윈도우 시스템의 기본 인증 프로토콜

   기존 인증 알고리즘과 전혀 다른 알고리즘으로 해시값 생성, 현재까지 복잡도 충분

 

4. Lan Manager 인증수준(시스템 취약점 분석 평가 항목)

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

2) Lan Manager 인증수준 설정을 통해 네트워크 로그온에 사용할 Challenge & Respose 인증 프로토콜을 결정

   이 설정은 클라이언트가 사용하는 인증 프로토콜 수준, 협상된 세션 보안 수준, 서버가 사용하는 인증 수준에 영향 줌

   NTLMv2 응답만 보내기 로 사용 설정 권장

 

5. 패스워드 크래킹

1) 사전공격 / 사전 대입 공격

  패스워드로 자주 사용되는 사전에 있는 단어, 키보드 자판의 일련 순, 주민번호, 이름 등을 미리 딕셔너리 파일로 제작

  이후 이를 하나씩 대입하여 패스워드 일치 여부를 확인하는 방법

2) 무차별 공격 / 무작위 대입 공격

  패스워드에 사용될 수 있는 문자열의 범위를 정하고

  그 범위 내에서 생성 가능한 모든 패스워드를 생성하여 하나씩 대입, 패스워드 일치 여부를 확인하는 방법

3) 혼합 공격

 사전 대입 공격과 무작위 대입 공격의 혼합 방식

 딕셔너리 파일에 있는 문자열에 문자, 숫자 등을 추가로 무작위 대입해 패스워드 일치여부 확인

 일반적으로 사전에 나오는 단어 뒤에 숫자나 문자 추가하는 형태가 많이 사용 되는 것을 악용

4) 레인보우 테이블을 이용한 공격

 하나의 패스워드에서 시작해 특정한 변이 함수를 이용해 여러 변이된 형태의 패스워드 생성

 그리고 변이된 패스워드의 해시를 고리처럼 연결하여 일정 수의 패스워드와 해시로 이루어진 체인 무수히 제작

 해시 테이블과 R(Reduction) 함수의 반복 수행을 통해 일치하는 해시값을 통해서 패스워드 찾아내는 방법

 

레인보우 테이블 : 해시함수(MD-5, SHA-1, SHA-2 등)를 사용하여 만들어낼 수 있는 값들을 대량으로 저장한 표이다. 보통 해시함수를 이용하여 저장된 비밀번호로부터 원래의 비밀번호를 추출해 내는데 사용된다. 

 

지난 기출에서 공격 이름을 알아야 하는 문제들을 늘 틀렸는데, 하여튼 위에 있는 내용 중에 답이 있진 않았다.

이런건 어떤걸 공부해서 답을 할 수 있는것일까?

 

내 단어로 요점정리

1. SAM 이라는 파일이 있느데 이것은 사용자와 그룹 계정에 대한 계정/패스워드 정보를 DB로 저장해 놓는 중요한 파일

2. 그 정보와 관계된 값으로 SID 값이 있으며 사용자나 그룹에 부여되는 고유한 식별번호임

2. 이 SAM 의 패스워드를 인증하는 방식이 윈도우 인증 방식인데, 그 이름이 Challenge & Response 이다

3. 사용자가 인증을 요청하면 윈도우가 챌린지값을 전송하고 사용자는 응답값을 전송하여 인증이 승인되는 과정(토큰)

4. 위 과정에서 사용되는 알고리즘이 LM 쓰다가 NTLM 쓰다가 지금은 NTLMv2 를 쓴다는 것

5. 그 이유는 패스워드 크래킹 공격 때문, 공격 유형으로 무작위 대입 공격, 사전공격, 혼합공격, 레인보우 테이블 공격