Notice
Recent Posts
Recent Comments
Link
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

히큐리티(Hecurity)

Ch2. 윈도우 기초 본문

시스템 기초/개념

Ch2. 윈도우 기초

히이가 2026. 3. 19. 08:35

 

 

 

 

 

윈 도 우 시 이 작 - !

 

 

 

윈도우 아키텍처 및 부팅과정

1. 윈도우 NT 아키텍처

  • 두개의 메인 구성 요소로 설계(유저모드, 커널모드)
  • 리소스 자원의 낭비를 줄여 여러 부분으로 쪼개어 설계된 구조
  • 유저모드
    • 사용자 어플리케이션 코드 실행
    • 시스템 데이터에 제한된 접근만이 허용되며, 하드웨어에 직접 접근할 수 없음
  • 커널모드
    • 하드웨어의 접근과 보호된 메모리 내에 실행되고 있는 코드와 컴퓨터의 시스템 자원 모두 접근하는 영역
    • 스케줄링, 메모리 관리, 하드웨어와의 상호작용 등의 역할 수행

2. 유저모드

  • 환경 서브 시스템
    • OS/2, WIN32, POSIX 드으이 환경에 맞는 어플리케이션을 운용할 수 있도록 지원
  • 필수 서브 시스템
    • 보안, 워크스테이션 서비스, 서버 서비스로 구성
    • 보안 : 계정 권한 관리, 인증관리 등
    • 워크스테이션 서비스 : 컴퓨터가 네트워크로 접근을 제공
    • 서버 서비스 : 컴퓨터가 네트워크 서비스를 제공

3. 커널모드

  • Executive
    • 모든 사용자 모드 하위 시스템과 상호작용
    • I/O Manager : 시스템 입출력 제어, 응용 프로그램이 하드웨어와 바로 통신할 수 있는 통로 제공
    • Security Reference Monitor(SRM) : 보안 필수 서브시스템의 보안 규칙을 시행하기 위한 주요 권한을 모니터링
    • IPC Manager : 서버와 클라이언트 사이의 상호작용 관리를 담당
    • Virtual Memory Manager : 가상 메모리 관리
    • Process Manager : 프로세스 생성 및 삭제
    • PnP Manager : Plug&Play 기능 관리
    • Power Manager : 전원과 관련된 이벤트 관리 수행
  • Executive(디스플레이 시스템)
    • Window Manager : 윈도우의 화면을 그리는 역할 수행
    • GDI(Graphics Device Interface) : 폰트 랜더링과 팔레트, 곡선, 직선 등의 라인을 그리는 작업 수행
  • 마이크로 커널
    • 하드웨어와의 통신만을 제어하는 최소한의 커널
    • HAL과 Executive 사이에서 멀티프로세서 동기화, 충돌관리, 예외관리 등의 역할 수행
    • OS 부팅 시 필요한 장치 드라이버를 초기화 하는 등의 역할 수행
  • 커널모드 드라이버
    • 하드웨어 장치와의 상호 작용을 수행할 수 있도록 중간자 역할
    • 최상위, 중간, 하위 레벨 드라이버로 구분되어 구성
  • Hardware Abstraction Layer(HAL)
    • 물리적 하드웨어와 운영체제의 나머지 부분 사이에 위치
    • 하드웨어의 차이를 숨기고 커널이 실행되는 일관된 플랫폼 제공

4. 부팅과정

  • Power ON
    • 외부 전압을 시스템에서 사용가능한 전압으로 변환하여 CPU 로 전달
    • CPU가 가지고 있는 이전의 값들을 지우고 CPU 레지스터인 Program Counter(PC)를 초기화
    • 초기화된 Program Counter 값이 ROM BIOS의 주소가 됨
  • ROM BIOS(Basic I/O System)
    • CPU의 이상 유무를 확인하여 CPU 테스트 결과를 ROM BIOS에 저장된 값(정상 결과 값)과 비교
    • 일치할 경우 POST 작업 수행
  • POST(Power On Self Test)
    • System Bus로 특정 시그널 전송
    • RTC(Real-Time Clock) 테스트
    • 비디오 구성요소(비디오 메모리) 테스트 : 이후 부팅과정에서 정의된 출력 확인 가능
    • RAM, 키보드, 드라이브 테스트
    • CMOS(RTC/NVRAM) 데이터와 비교
    • POST 과정 완료시
      • 부팅 매체(USB, 하드디스크, SSD) 탐색
      • 인식한 드라이브 내에서 첫번째 섹터(MBR)을 읽음
      • MBR 섹터의 마지막 2바이트 값이 0x55AA(sign)인 매체를 찾게 되면 코드 실행
  • MBR
    • 특징 : 부트 코드, 파티션 테이블 정보, 시그니처 존재
    • 순서
      • 코드를 실행하는 동안 오류가 발생하는지 확인
      • 오류가 없는 경우 부팅 가능한 파티션을 탐색
      • 탐색이 완료되면 해당 파티션의 특정섹터인 VBR(Volume Boot Record)로 이동
      • VBR에서 bootmgr.exe 실행
  • Bootmgr.exe(부트관리자)
    • 하이버네이션(절전모드) 상태인 경우 winresume.exe 로드
    • 하이버네이션 상태가 아닌 경우 BCD(Boot Configuration Data) 를 읽으며 부팅 정보를 획득
    • 해당 부팅 정보를 참조 후 winload.exe 를 실행하며 제어권 넘김
  • Winload.exe(부트로더)
    • Bootmgr.exe에 의해 시작되는 시스템(OS)로더
    • 하드웨어와 관련 구성 파일과 함께 커널을 읽음 + ntoskrnl.exe 실행
  • ntoskrnl.exe(NT Operating system kernel)
    • 하드웨어 가상화, 프로세스, 메모리, 시스템 서비스 관리 등의 역할을 수행
    • 캐시 매니저, 익스큐티브, 커널, 보안 참조 모니터, 메모리 관리, 스케줄이 구성
    • 순서
      • 커널로드 : HKEY_LOCAL_MACHINE/System/CurrentControlSet/Service에 시스템 설정 로드
      • 커널 초기화 : 드라이버에 대한 현재 제어 세트를 검사하고 작업 시작
      • 서비스 로드 : Service Manager(smss.exe)와 Win32 서브시스템(csrss.exe) 로드
      • 로그인 서비스 초기화
        1. winlogon.exe 시작을 통해 로그인 창 활성화
        2. 로컬 보안 인증 서버(lsass.exe)로 전송
        3. 보안 계정 관리자(SAM)에 정보비교
        4. userinit.exe 실행
      • 쉘 실행
        1. 레지스트리에 구성된 쉘을 실행(기본값 : explorer.exe)
        2. userinit.exe 프로세스에서 레지스터 내용을 받아 실행

주요 프로세스&서비스

1. 프로세스의 이해

  • 프로그램 : 하드 디스크 등에 저장되어 있는 실행코드
  • 프로세스 : 연속적으로 실행되고 있는 컴퓨터 프로그램의 작은 단위(현재 실행중인 프로그램)
  • 스레드 : 프로세스에서 작업의 최소단위
  • 세션
    • 윈도우 내에 어플리케이션이 동작하기 위해서는 실행하고 있는 세션이 필요
    • 윈도우 세션은 일종의 사용자를 뜻함(Session 0부터 시작)
    • 윈도우 Vista 이전 버전에서는 처음 로그인한 사용자를 Session 0 으로 정의
    • Vista 이후부터 Session 0 은 단지 시스템 프로세스와 서비스 실행에서만 동작하는 공간으로 정의하고 이후 로그인 사용자에게 각 세션 번호 부여

2. 프로세스 종류(Windows 7)

  • System
    • 대부분의 커널 모드 스레드를 담당
  • Smss.exe(Session Manager Process)
    • 새로생성되는 세션 담당
    • csrss.exe 프로세스 시작
    • wininit.exe에서 생성되는 Session 0 을 초기화
    • winlogon.exe에서 생성되는 Session 1 이상의 새 새션을 초기화
  • wininit.exe
    • Session 0 에서 백그라운드로 실행
    • service.exe, lsass.exe, lsm.exe 실행
  • taskhost.exe
    • 윈도우 작업을 위한 프로세스
    • 모든 DLL 기반 서비스나 그룹 서비스의 호스트를 제공
  • lsass.exe
    • 로컬 보안 인증 서브 시스템 서버 프로세스
    • 유저의 인증을 위한 프로세스
  • csrss.exe(Client/Server Run-Time Subsystem)
    • 윈도우 서브 시스템을 위한 유저모드의 프로세스
    • 프로세스와 스레드 등을 관리하는 역할
  • services.exe
    • 서비스와 작업 스케줄을 관리하는 프로세스
  • svchost.exe
    • 윈도우 서비스의 호스트 프로세스
    • DLL을 이용한 서비스가 실행하도록 제공
    • 여러개의 프로세스를 생성가능
  • lsm.exe(Local Session Manager)
    • 터미널 서비스, 원격 데스크 탑 등의 세션들이 효율적으로 스위칭 될 수 있는 역할 수행
    • smss.exe와 같이 새로 세션이 이루어질 때 실행
  • winlogon.exe
    • 사용자 계정의 로그온과 로그 오프 상태를 관리하는 프로세스
  • explorer.exe
    • 사용자가 파일을 접근하도록 기능을 제공하는 프로세스
  • iexplorer.exe
    • explorer 프로세스로부터 실행된 프로세스

3. 프로세스 종류(Windows 10)

  • 윈도우 7과 유사하나 추가적으로 주요한 프로세스가 존재
  • RuntimeBroker.exe
    • 제한된 UWP(Universal Windows Platform) 앱과 전체 Window API 간의 프록시 역할 수행
    • UWP : Windows 10, Windows 10 모바일 등에서 실행할 유니버설 앱의 개발을 돕기 위한 것
  • taskhostw.exe
    • 윈도우7에서의 taskhost.exe와 역할이 동일하며 파일 이름만 다름
  • lsaiso.exe
    • lsass.exe가 기능을 대부분 수행하나 계정 자격 증명을 안전하게 저장하는 중요한 역할을 할 때 사용되는 프로세스
    • 하드웨어 가상화 기술을 통해 다른 프로세스와 분리된 컨텍스트에서 실행하여 안정성 보장
    • 원격 인증을 요구할 경우, RPC 채널을 사용하여 요청을 프록시 수행

4. 윈도우 서비스 개요

  • 서비스란?
    • 오랜 시간 실행되며 특정한 기능을 수행하는 실행파일
    • 사용자의 간섭이 없음
    • 보통의 경우 윈도우 운영체제가 시동될 때 실행
    • 유닉스 또는 리눅스의 데몬과 개념이 유사
  • 서비스 실행 계정
    • Local System
    • Local Service
    • Network Service

5. 주요 서비스

  • Windows Event Log
    • 이벤트 뷰어에 있는 구성요소와 Windows 기반의 프로그램에서 만든 이벤트 메시지를 기록하도록 설정
  • Network Connections
    • 시스템에 관련된 모든 네트워크에 대한 서비스를 제공 + 표시 상태 표시
    • 서비스 중지 시 네트워크에 대한 모든 접속이 불가능
  • Shell Hardware Detection
    • 쉘(윈도우 탐색기)이 드라이브나 메모리 카드, USB 등을 자동으로 인식하고 반응하는데 사용
  • Plug and Play(PNP)
    • 하드웨어에 대한 자동 인식과 설정을 도와주는 서비스
    • 최근 윈도우 시스템에서는 PNP 서비스를 중지시킬경우 운영체제 자체가 불안정해짐
  • Server
    • RPC(Remote Procedure Call) 지원 및 파일, 인쇄 등을 위한 자원 공유를 제공
  • Workstation
    • 네트워크 연결 및 통신을 제공, 클라이언트 측의 네트워크 구성에 영향을 미치는 서비스
  • DHCP Client
    • IP 주소와 DNS 이름을 DHCP 서버에 등록하거나 DHCP 서버로부터 동적으로 IP주소를 가져옴
  • Security Accounts Manager(SAM)
    • 계정 인증에 관련된 서비스
  • WMI(Windows Management Instrumentation)
    • 시스템의 관리정보를 제공하는 서비스
    • 응용프로그램과 서비스가 생성하는 관리 이벤트를 포함하여 응용 프로그램 서비스에 접근 정보 제공
  • Windows Management Instrumemtation Driver Extensions
    • WMI 정보를 등록한 모든 드라이버를 추적하여 알림
    • 서비스 중지 시 클라이언트가 드라이버의 WMI 정보에 접근 못함
  • Application Management
    • 응용프로그램의 설치, 제거와 같은 서비스 제공
    • 서비스를 중지 시 프로그램을 추가하거나 제거할 수 없음
  • Remote Procedure Call(RPC)
    • 원격 제어를 위한 프로세스 통신에 관련된 서비스를 제공

6. 주요서비스(선택)

  • ClipBook
    • 흔히 사용하는 편집 기술인 Copy&Paste를 지원하기 위한 서비스
  • COM+ Event System
    • Com(Component Object Model)은 프로그램의 컴포넌트 객체를 개발하고 지원하기 위한 하부기반구조로, 인터페이스 교섭과 언제쯤 객체가 시스템에서 제거 될 수 있는지 판단
    • 라이센스, 이벤트 서비스 등을 제공
  • Computer Browser
    • 네트워크에 있는 컴퓨터의 최신 목록을 유지하고 요청하는 프로그램에게 목록을 제공
  • Distributed Link Tracking(DLK) Client
    • 네트워크 도메인의 여러 컴퓨터에 걸쳐 있거나 하나의 컴퓨터에 있는 NTFS 파일 시스템 사이의 링크를 유지 및 관리
    • 대상 파일의 이름이 바뀌거나 이동된 후에도 바로가기와 OLE 링크가 계속 작동
  • Distributed Link Tracking(DLK) Server
    • 볼륨간에 이동한 파일을 추적할 수 있도록 도메인 내의 각 볼륨에 대한 정보를 저장
    • 도메인 내의 각 도메인 컨트롤러에서 실행
    • 서비스 중지 시 DLT 클라이언트 서비스가 유지 및 관리하는 링크의 안정성이 시간이 지날수록 낮아짐
  • Distributed Transaction Coordinator
    • 데이터베이스, 파일시스템 등 여러 리소스 관리자와 여러 컴퓨터 시스템 간의 분산된 트랜잭션을 조정
  • File Replication
    • 자동 파일 복제 서비스, 여러 서버에 존재하는 파일을 복사 및 관리하여 동기화
  • Intersite Messaging(ISM)
    • 윈도우 서버간에 메시지를 주고 받을 수 있음

레지스트리

1. 레지스트리 개요

  • 정의
    • 32bit/64bit 아키텍처에서 윈도우 운영체제의 설정과 선택 항목을 담고있는 데이터 베이스
    • 하드웨어, 소프트웨어, 사용자 PC 선호도, 중요 시스템 정보 등에 대한 설정 포함
    • 이전에는 윈도우 프로그램 내부에 ini파일이 사용(ini 등의 설정 파일이 포함되어 레지스트리에 영향이 되지 않고 설치되는 프로그램들을 포터블 형식의 설치파일 이라 함)
  • 구성
    • 키(하이브) : 윈도우 폴더와 유사한 형태, 레지스트리 안에 경로와 같은 개념으로 사용
    • 값 : 키 안에 담겨 있는 이름 또는 자료, 여러 키로부터 참조될 수 있음

2. 윈도우 레지스트리의 이해

  • 레지스트리 확인 : win + R → regedit
  • 주요 키
    • HKEY_CLASSES_ROOT : 등록된 응용 프로그램의 정보 보관
    • HKEY_CURRENT_USER : 현재 로그인한 가용자의 설정값 보관
    • HKEY_LOCAL_MACHINE : 컴퓨터의 모든 사용자의 설정값 보관
    • HKEY_USERS : 컴퓨터에서 사용중인 각 사용자의 프로파일에 대한 설정값 보관
    • HEKY_CURRENT_CONFIG : 실행시간에 수집한 자료 보관주요 값 
      1 REG_SZ 문자열 값
      2 REG_EXPAND_SZ 확장할 수 있는 문자열 값, 환경 변수 포함 가능
      3 REG_BINARY 이진값(임의의 데이터)
      4 REG_DWORD/REG_DWORD_LITTLE_ENDIAN DWORD 값(32비트) 정수 - 리틀엔디안
      5 REG_DWORD_BIG_ENDIAN DWORD 값(32비트) 정수 - 빅 엔디안
      6 REG_LINK 심볼릭 링크(유니코드)
      7 REG_MULTI_SZ 다중 문자열 값(고유한 문자열의 배열)
      8 REG_RESOURCE_LIST 리소스 목록(플러그 앤 플레이 하드웨어 열거 및 구성)
      9 REG_FULL_RESOURCE_DESCRIPTOR 리소스 서술자(플러그 앤 플레이 하드웨어 열거 및 구성)
      10 REG_RESOURCE_REQUIREMENTS_LIST 리소스 요구 목록(플러그 앤 플레이 하드웨어 열거 및 구성)
      11 REG_QWORD/REG_QWORD_LITTLE_ENDIAN QWORD 값(64비트) 정수

3. 윈도우 레지스터 명령어

  • REG 명령어
    • REG QUERY : 지정한 레지스트리 키나 그 하위 트리의 값을 표시
    • REG ADD : 레지스트리에 키나 값 이름 또는 값을 추가하거나 기존의 값을 수정
    • REG DELETE : 레지스트리에서 지정한 키나 값을 삭제
    • REG COPY : 레지스트리의 트리를 복사
    • REG SAVE : 레지스트리 트리의 저장, 지정한 하위 키 이하의 트리를 지정된 파일에 저장
    • REG RESTORE : REG SAVE로 저장한 레지스트리를 로컬 컴퓨터의 지정한 트리에 복원
    • REG LOAD : REG SAVE로 저장한 레지스트리를 원래와는 다른 장소에 로드 및 복원
    • REG UNLOAD : REG LOAD로 읽어들인 레지스트리의 섹션을 제거
    • REG COMPARE : 지정한 2곳의 레지스트리 트리를 비교해서 그 차이점 혹은 같은 부분을 표시
    • REG EXPORT : 지정된 키나 항목(과 그 값)을 파일에 씀
    • REG IMPORT : REG EXPORT로 쓴 레지스트리 값을 로컬 컴퓨터에 다시 불러옴
    • REG FLAGS : 윈도우 비스타 이후 적용된 레지스트리 가상화 플래스를 설정

파일 시스템과 디스크의 이해

1. 파일 시스템

  • 컴퓨팅에서 데이터 저장 및 검색 방법을 제어하는 체계
  • NTFS, FAT(12,16,32,exFAT) 등
  • 파티션과 볼륨
    • 파티션<고정적, 물리적>
      • 하나의 디스크를 여러 개의 파일 시스템으로 구성
      • 여러 개의 디스크를 하나의 파티션으로도 통합 가능
      • 운영체제의 경우 각 파티션을 별도의 디스크처럼 취급
    • 볼륨<유동적, 논리적>
      • 디스크 상의 논리적인 분할 단위
      • 섹터 또는 클러스터들이 모여 이루어진 큰 덩어리
  • MBR과 GPT
    • 디스크나 이동식 드라이브와 같이 파티션된 컴퓨터 대용량 저장장치의 맨 처음 위치한 특수 유형의 부트섹터
    • 유형에 따라 최대 지정할 수 있는 볼륨의 용량과 최대 분할할 수 있는 파티션수가 다름
    • MBR은 최대 2TB 이상의 디스크 용량의 파티션을 생성할 수 없음
    • GPT는 최대 8ZB 이하의 디스크를 사용할 수 있음
    • MBR과 GPT 차이
      • MBR
        1. 주파티션 4개 또는 주파티션 3개 + 확장 1개 사용가능(확장 파티션 내 여러 논리 파티션 생성가능)
        2. 논리 파티션은 부팅 파티션으로 지정불가
        3. 1파티션은 최대 2TiB를 넘기지 못함
      • GPT
        1. 최대 8ZiB이하의 디스크 사용 가능
        2. 최대 128개의 파티션 생성 가능
  • 윈도우 파티션 분할 : diskpart

2. 윈도우 파일 시스템 종류

  • FAT(FAT32)
    • 빌게이츠와 마크 맥도널드
    • 마이크로소프트 독립형 디스크 베이직의 디스크 관리를 위해 개발
    • 윈도우 뿐만 아니라 구형 운영체제 또는 리눅스, 유닉스와 같은 운영체제에서 호환성이 필요할 때 사용
    • FAT 32 : 32bit 아키텍처 환경에서 구성, 저장할 수 있는 최대 파일 크기 4GiB에서 1Byte를 뺀 만큼의 양 → FAT32 파일시스템으로 생성한 USB 이동식 디스크 내 파일은 4GB 이상의 파일 이동 불가
    • 구조 : Reserved Area, FAT Area, Data Area
      • Reserved Area : 예약된 영역, 부트섹터, FSINFO, More reserved sectors의 추상적 구조
      • FAT : 데이터 영역에 저장된 파일의 할당관계를 표시해주는 테이블
      • Data Area : 실제 데이터가 저장되는 공간
  • NTFS
    • 톰밀러, 게리 키무라 등등
    • 윈도우 NT계열 운영체제의 대표 파일 시스템
    • 기존의 FAT방식보다 성능개선, 신뢰성, 추가 확장의 다양한 기능 추가
    • 확장성, 저널링, 하드링크, ADS, 파일 압축, 보안성, 암호화 시스템 등을 제공
    • 구조 : VBR, MFT, Data Area
      • VBR : 부팅 프로그램을 담을 수 있는 영역
      • MFT : 파일의 크기, 작성일자, 사용권한 등 파일에 대한 정보 저장
      • Data Area : 실제 데이터가 저장되는 공간
    • MFT
      • 볼륨에 존재하는 모든 파일, 디렉터리에 대한 정보를 가지고 있는 테이블
      • NTFS의 가장 중요한 구조체
      • MFT 엔트리 라는 1024byte로 이루어진 구조(레코드)의 집합
      • 파일 및 디렉터리 수에 비례하여 점점 커짐
      • 경로 : 최상위 디렉터리(root)
  • 디스크
    • 전자적, 자기적, 광학적 또는 기계적 변경으로 데이터를 기록하는 저장 장치
    • 일반적으로 디스크 저장장치를 디스크라 줄여 말함
  • 파티션
    • 물리적인 디스크를 논리적인 형태의 파일 시스템 형태로 저장공간을 나눔
    • 윈도우에서 파일 시스템을 크게 FAT, NTFS로 생성하여 분리
    • 파일 시스템을 생성하여 저장소를 구분할 경우 부트섹터의 종류와 파일 시스템의 종류에 따라 최대 저장 용량의 크기 차이 영향을 받음
  • 파티션 종류
    • 주 영역 파티션 : 0~4개 가능
    • 확장 영역 파티션 : 1개만 가능
    • 논리 영역 파티션 : 0개 이상 가능

윈도우 시스템 관리

1. 윈도우 계정 분류

  • 계정과 그룹
    • 계정(User)와 그룹(Group)으로 구성되며 역할과 권한을 제어
    • 계정명과 그룹명은 고유하며 중복되지 않음
    • 각 계정은 여러 그룹에 종속될 수 있음
    • 고유한 계정 명 외에 식별할 수 있는 SID 존재
  • SID의 형태
    • SID + 버전번호 + 식별자 권한 값 + 도메인, 로컬 컴퓨터 식별자 + 상대 RID
    • 식별자 권한 값 : 0(권한 없음), 1(워드 권한), 2(로컬 권한) ,3(작성자 권한) ,4(비고유 권한) ,5(NT 권한) ,9(리소스 관리자 권한)
    • RID : 기본값으로 만들지 않은 그룹이나 사용자는 1000이상의 값 가짐
  • 잘 알려진 보안 식별자
S-1-1-0 모든 사용자
S-1-5-14 원격 상호 로그온 접속
S-1-5-18 로컬 시스템 - 운영체제가 사용하는 서비스 계정
S-1-5-19 NT 권한, 로컬 서비스
S-1-5-20 NT권한, 네트워크 서비스
S-1-5-29 네크워크 서비스
S-1-6 사이트 서버 권한
S-1-7 인터넷 사이트 권한
S-1-8 교환 권한
S-1-9 리소스 관리자 권한
  • 계정 속성값 → wmic useraccount
    • Account Type : 윈도우 계정의 특성
    • Caption : 계정의 도메인과 계정 이름
    • Description : 계정 설명
    • Disabled : 계정 활성화 여부
    • Domain : 윈도우 도메인 이름
    • FullName : 로컬 계정의 전체 이름
    • InstallDate : 계정이 설치된 날짜
    • LocalAccount : 로컬 컴퓨터 계정 여부 확인
    • Lockout : 윈도우 시스템의 잠김설정 여부 확인
    • Name : 도메인 속성이 지정하는 도메인의 원도우 사용자 게정
    • PasswordChangeable : 사용자가 암호 변경 가능 여부
    • PasswordExpires : 패스워드 계정 만료 여부
    • PasswordRequired : 패스워드가 반드시 지정되어야 하는지 여부
    • SID : 계정 고유 SID
    • SID type : SID 유형
    • status : 객체의 현재 상태
  • 그룹 속성 값 → wmic group
    • Caption : 객체에 대한 간단한 텍스트 설명
    • Description : 객체에 대한 자세한 설명
    • Domain : 그룹 계정이 속한 윈도우 도메인의 이름
    • InstallDate : 객체가 설치된 일자
    • LocalAccount : 로컬 그룹 여부
    • Name : 도메인 속성에 의해 지정된 도메인 윈도우 그룹 계정명
    • SID : 그룹 고유 SID
    • SID type : SID 유형
    • status : 현재 그룹 상태
  • 윈도우 계정 분류
    • Local System, Network Service, Local Service
      • 시스템에 중요 자원이나 관리를 위한 계정
      • 서비스, 시스템에 중요 프로세스를 실행하는 주체
    • Administrator
      • 운영체제의 응용 프로그램 레벨에서의 관리자
      • 프로그램 설치 등을 수행할 때 주로 권한을 필요로 하는 계정
    • User or Guest
      • 최소한의 권한을 가진 일반 사용자 또는 게스트 계정
      • 윈도우 중요 파일이나 프로그램에서의 중요 폴더 접근이 제한된 계정

2. 명령어를 이용한 계정관리

  • net 명령어
    • 기본적으로 NetBIOS를 사용하는 명령어로 컴퓨터의 여럴 설정 값들을 제어하는데 주로 사용
    • 계정 및 그룹 관리, 세션 관리, 공유 파일 관리, 시간, 서버 등의 여러 관리 기능 제공
  • net user
    • username : 추가하거나 삭제, 수정 또는 조회할 사용자 계정의 이름, 최대 20자까지 지정가능
    • password : 사용자 계정에 대한 암호를 지정하거나 변경, 최소길이 충족, 최대 14자
      • : 암호에 대한 프롬프트를 생성, 암호 프롬프트에 암호를 입력하면 화면에 암호 표시 X
    • /DOMAIN : 현재 도메인의 도메인 컨트롤러에서 작업을 수행
    • /ADD : 사용자 계정을 사용자 계정 데이터베이스에 추가
    • /DELETE : 사용자 계정 데이터베이스에서 사용자 계정을 제거
  • net group
    • groupname : 추가, 확장 또는 삭제할 그룹 이름, 그룹에서 사용자 목록을 볼 그룹만 입력
    • /COMMENT:”text” : 새 그룹 또는 기존 그룹에 대한 주석 추가, 텍스트 따옴표 안에 삽입
  • net localgroup
    • /DOMAIN : 현재 도메인의 도메인 컨트롤러에서 작업 수행, 별도 지정없을경우 로컬 컴퓨터
    • username : 그룹에서 추가하거나 제거할 사용자 이름을 하나이상 나열(공백으로 분리)
    • /ADD : 그룹을 추가하거나 그룹에 사용자 이름 추가
    • /DELETE : 그룹을 제거하거나 그룹에서 사용자 이름을 제거
  • 생성된 계정 확인 : win + r + lusrmgr.msc
  • Administrator 계정 이름 변경 : win + r + secpol.msc

3. 공유 폴더 개요

  • 개요
    • 일반적으로 회사에서 데이터를 공유하기 위한 목적으로 사용되는 폴더
    • 주로 사설 망 안에서 공유가 되는 폴더는 랜선의 속도를 최대로 내주고 있기 때문에 많이 사용
    • NetBIOS라는 데이터 통신 방식을 사용하여 각 컴퓨터 간의 폴더를 동시 사용
    • NetBIOS : SMB 형식 기반, OSI 7계층 중 근거리 통신망을 통신하도록 도움
  • SMB(Server Message Block)
    • 폴더 공유의 정확한 명칭
    • 도스나 윈도우에서 파일이나 주변 장치들을 공유하는데 사용되는 프로토콜
    • 유닉스와 같이 다른 운영체제에서 폴더를 공유하기 위해서는 Samba가 존재해야함
    • 워너크라이 랜섬웨어 성행
    • 사용 서비스 포트(TCP)
      • nbname 137/UDP, TCP : NetBIOS Name Service
      • nbdatagram 138/UDP : NetBIOS Datagram Service
      • nbsession 139/TCP : NetBIOS Session Service
    • NetBIOS 사용이 불가하다면 SMB(445/TCP,UDP) 서비스를 이용하여 사용

4. 공유 폴더 사용을 위한 관련 서비스

  • network connections : LAN 및 원격 연결 모두를 볼 수 있게 하는 서비스
  • network list service : 컴퓨터가 연결되어 있는 네트워크를 식별하고 이 네트워크에 대한 속성을 수집 및 저장하며 이 속성이 변경되면 응용프로그램에 알림
  • network location awareness : 네트워크에 대한 구성 정보를 수집 및 저장
  • network store interface service : 네트워크 수정 사항을 사용자 모드 클라이언트에 전달
  • tcp/ip netbios helper : NetBIOS over TCP/IP 서비스 및 NetBIOS 이름 확인 지원을 네트워크의 클라이언트에 제공하므로 사용자가 파일을 공유하거나 인쇄하거나 네트워크에 로그온
  • workstation : SMB 프로토콜을 사용하여 원격 서버에 대한 클라이언트 네트워크 연결 생성 및 유지
  • HKLM\system\currentControlSet\Service\LanmanServer\parameters\AutoShareWks

5. 로컬 보안 정책 개요(secpol.msc)

  • 암호 정책, 감사 정책 및 사용자 권한과 같은 많은 윈도우 운영체제 보안 관련 설정 적용가능
  • 로컬 보안 정책에서 설정 시 일반 관리 도구에서 설정이 불가능
  • 윈도우 Home 버전에서는 사용불가
  • 종류
    • 계정 정책
      • 암호정책(암호에 대한 복잡성, 최대/최소 암호사용기간 등) : 3종류 최소 8자리, 2종류 최소 10자리, 최대 암호 사용 기간 (90일이하)
      • 계정잠금정책(로그인 실패 시에 계정 잠금에 대한 설정)
    • 로컬 정책
      • 감사 정책 : 로그정책, 설정에 따라 성공과 실패를 로깅, 기록된 로그는 이벤트 뷰어를 통해 확인
      • → 개체 엑세스 감사, 계정 관리감사, 계정 로그온 이벤트 감사 등
      • 사용자 권한 할당 : 시스템에 대한 권한을 적용할 때 사용, 운영체제 설치 시 기본 설정되는 그룹은 미리 할당
      • 보안 옵션 : 사용자 계정, 로그인, 인증에 관련된 보안 설정

6. 이벤트 로그의 활용

  • .evtx 확장자, C:\windows\system32\winevt\Logs
  • 이벤트 로그 분석 활용
    • 외부로부터의 침입감지 및 추적
    • 시스템 성능 관리
    • 시스템의 장애 원인 분석
    • 시스템 취약점 분석

7. 이벤트 로그 종류

  • 응용프로그램 로그(Application.evtx)
    • 응용프로그램이 기록한 다양한 이벤트가 저장
    • 기록되는 이벤트는 해당 제품의 개발자에 의해 결정 → 활성화, 비활성화 여부, 성공여부 등 기록
    • 모든 응용프로그램이 이벤트 로그를 생성하지는 않음
  • 시스템 로그(System.evtx)
    • 윈도우의 시스템 운영과 유지에 관련된 정보 저장
    • 하드웨어 장치나 드라이버 오류 정보 및 동작 여부 기록
    • 새로운 서비스의 등록 또는 시작 및 중단 등의 기록
  • 보안로그(Security.evtx)
    • 로그온 시도 및 파일 생성, 열람, 삭제 등의 리소스 사용에 관련된 이벤트 기록
    • 감사 로그 설정을 통해 다양한 보안 이벤트 저장 가능
  • 설치로그
    • 어플리케이션 설치시 발생하는 이벤트를 기록
    • 프로그램 정상 설치 여부 기록
    • 프로그램 호환성 문제 여부 기록

8. 이벤트 로그 속성

  • 로그 이름, 원본, 날짜 및 시간, 이벤트 ID, 작업 범주, 수준, 키워드, 사용자, 컴퓨터, Opcode
  • 이벤트 로그 수준
    • 정보(성공적 동작 설명), 경고, 오류, 성공감사(보안로그), 실패감사(보안로그)
  • 이벤트 로그 감사 정책 : 계정 로그온 이벤트 감사, 계정 관리 감사, 로그온 이벤트 감사 등

9. 보안 로그 필터링

  • 4625 : 계정로그인 성공
  • 4624 : 계정로그인 실패
  • 4776 : 로컬 계정 자격증명 검사
  • 4777 : 도메인 계정 자격 유료 검사 실패
  • 4720 : 사용자 계정 생성
  • 4722 : 사용자 계정 사용 가능 상태
  • 4723 : 계정 암호 변경 시도
  • 4724 : 계정의 암호 원래대로
  • 4725 : 계정 사용 중지
  • 4726 : 계정 삭제
  • 4740 : 계정 잠김
  • 최대 로그 크기 산정
    • 평균 이벤트는 약 500byte
    • 1일 약 1000개의 이벤트 발생 가정 + 한달동안 로그 저장되어야 하는 기준 설정
    • 최대 로그 크기 = 14.3Mbyte

윈도우 분석도구(NirSoft, WinPrefetchView)

1. Windows Sysinternals

  • 윈도우 환경을 관리, 진단, 문제 해결, 모니터링 기술 자료 및 유틸리티 제공
  • 일부 프로그램의 경우 추가 옵션을 활용해 커맨드 라인 명령으로 결과 수집가능
  • Process Exploer : 윈도우 작업 관리자의 확장된 형태의 포터블 도구
  • Process Monitor : 파일시스템, 레지스트리, 프로세스 등의 실제 활동을 모니터링 하는 프로그램
  • Autoruns : 많은 공격자들이 악성코드를 지속성 유지를 위해 자동실행에 등록
  • Psinfo : 윈도우의 기본 Systeminfo 명령과 유사하지만 정보를 더 단순하게 출력

 

'시스템 기초 > 개념' 카테고리의 다른 글

Ch3. 리눅스 기초  (0) 2026.03.19
Ch1. 컴퓨터 구조  (0) 2026.03.09