본문 바로가기

보안

보안기사 - 윈도우 기본 & 패스워드 크래킹

윈도우 인증과정

LSA (Local Security Authority)

모든 계정의 로그인에 대한 검증 및 시스템 자원(파일 등)에 대한 접근 권한 검사 (로컬 및 원격 로그인 포함)
계정명과 SID (Security ID)를 매칭하며 SRM이 생성한 감사 로그 기록
NT 보안의 중심 서비스, 보안 서브시스템(Security Subsystem)이라 불림

SAM (Security Account Manager)

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

윈도우 서버 계정 관리 방식

  1. Workgroup
    각 시스템의 로컬 디렉터리 DB에.. (SAM)
  2. 도메인 방식
    Active Directory (계정정보, 컴퓨터정보, 정책 등이 저장된 일종의 DB)
    각각의 컴퓨터에 환경구축 필요 X
    도메인에 로그온하면 서버에 저장된 profile이 자동적으로 다운로드되어 로그온한 컴퓨터 환경 바꿔주기 때문

SID

윈도우의 각 사용자나 그룹에 부여되는 고유한 식별번호 (Unix, Linux의 UID, GID)
SAM 파일에 SID 정보가 저장

계정 SID
Administrator S-1-5-21-4243233100-3174512425-4165118588-500
Guest S-1-5-21-4243233100-3174512425-4165118588-501
일반 사용자 S-1-5-21-4243233100-3174512425-4165118588-1001

S-1 : 윈도우 시스템
5-21 : 시스템이 도메인 컨트롤러이거나 stand-alone임을 의미
4243233100-3174512425-4165118588 : 해당 시스템의 고유한 식별자
500, 501, 1001 : 사용자 식별자
   500 : 관리자 식별자 (Unix, Linux의 root UID는 '0')
   501 : 게스트 식별자
   1000 이상 : 일반 사용자 식별자

패스워드 크래킹

  1. 사전 공격 (Dictionary Attack)
  2. 무차별 공격 (Brute Force Attack)
  3. 혼합 공격 (Hybrid Attack) - 1 + 2
  4. 레인보우 테이블을 이용한 공격
    '해시값을 미리 만들어 놓아 빠르게 찾겠다'
    하나의 패스워드에서 시작해 특정한 변이 함수를 이용해 여러 변이된 형태의 패스워드를 생성
    -> 각 변이된 패스워드의 해시를 고리처럼 연결하여 일정 수의 패스워드와 해시로 이루어진 체인을 무수히 만들어 놓은 테이블