Post

침해사고분석 이론 5

루트킷

개념

  • 루트킷은 컴퓨터 시스템에 침투하여 악의적인 활동을 수행하고, 자신의 존재를 숨기기 위한 악성 소프트웨어입니다.
  • 주요 기능:
    • 시스템 권한 획득
    • 사용자 정보 탈취
    • 시스템 제어 및 악성코드 유포
  • 특징:
    • 침투 후 자신의 존재를 숨기며 지속적으로 활동
    • 탐지 및 제거가 어려워 공격자에게 지속적인 접근 권한 제공
    • 시스템의 중요한 함수를 후킹하거나 커널 오브젝트를 조작하여 탐지 및 분석 회피

종류

  1. 커널 루트킷 (Kernel Rootkit)
    • 운영 체제의 커널에 침투하여 동작
    • 시스템에 대한 높은 수준의 접근 권한 획득
  2. 사용자 모드 루트킷 (User-mode Rootkit)
    • 사용자 애플리케이션 수준에서 동작
    • API 함수를 후킹하여 정보 가로채기 및 수정
  3. 부트킷 (Bootkit)
    • 시스템 부팅 과정을 감염
    • 부팅 전에 실행되어 탐지 및 제거가 매우 어려움
  4. 하이퍼바이저 루트킷 (Hypervisor Rootkit)
    • 가상 머신 환경의 하이퍼바이저를 감염
    • 가상 머신의 동작을 제어하고 정보 탈취
  5. 펌웨어/하드웨어 루트킷 (Firmware/Hardware Rootkit)
    • 시스템 펌웨어 또는 하드웨어에 침투
    • 탐지 및 제거가 거의 불가능

동작 방식

1.시스템 침투

  • 취약점 공격: 시스템 또는 애플리케이션의 취약점을 악용하여 설치
  • 소셜 엔지니어링: 사용자를 속여 악성 파일을 실행하도록 유도
  • 악성코드 감염: 다른 악성코드에 의해 설치

2.권한 획득

  • 권한 상승: 시스템 취약점을 이용하여 관리자 권한 획득
  • 패스워드 크래킹: 사용자 계정 비밀번호를 크래킹하여 권한 획득

3.존재 은닉

  • 후킹: 시스템 함수 또는 API를 변조
  • 코드 인젝션: 악성 코드를 다른 프로세스에 주입
  • 파일/프로세스 은닉: 특정 파일과 프로세스를 숨김
  • 레지스트리 수정: 시스템 설정 변경
  • 네트워크 트래픽 변조: 통신 데이터를 조작하여 탐지 회피

탐지 도구

  • 파일 무결성 검사 도구: 설치된 파일의 무결성을 확인
  • 메모리 분석 도구: 메모리 상태를 검사하여 루트킷 탐지
  • 네트워크 분석 도구: 네트워크 트래픽에서 이상 징후 탐지
  • 루트킷 탐지 전용 도구:
    • chkrootkit, rkhunter

분석기술

  1. 정적 분석
    • 루트킷 파일을 실행하지 않고 코드 분석
    • 예: 바이너리 파일의 구조 및 코드 분석
  2. 동적 분석
    • 루트킷을 가상 환경에서 실행하여 행위 분석
    • 예: 시스템 변화 및 네트워크 통신 모니터링
  3. 시스템 로그 분석
    • 시스템 로그에서 루트킷 관련 의심스러운 이벤트 탐지
  4. 메모리 포렌식
    • 시스템 메모리 스냅샷을 분석하여 루트킷의 프로세스, 코드, 데이터를 식별

Everything 검색 도구

개념

  • Everything은 Windows 파일 시스템에서 빠른 파일 검색을 제공하는 도구
  • 파일 이름을 인덱싱하여 거의 실시간 검색이 가능
  • 정규 표현식을 지원해 복잡한 패턴 검색을 구현할 수 있음
    • 정규 표현식을 사용하려면 regex:를 입력한 뒤 정규 표현식을 추가
  • 매우 빠른 검색 속도를 제공하지만, 초기 실행 시 파일 인덱싱에 시간이 소요될 수 있음

주요 기능

  • 빠른 파일 및 폴더 검색
  • 다양한 검색 연산자 지원
    • AND, OR, NOT, 와일드카드 등
  • 정규 표현식 지원
    • 복잡한 검색 조건 작성 가능
  • 파일 내용 검색
    • NTFS 파일 시스템에서 지원
  • 검색 결과 필터링 및 정렬
  • 네트워크 드라이브 검색
    • 네트워크 상의 파일도 검색 가능
  • 휴대용 버전 지원
    • 설치 없이 바로 실행 가능

고급 연산자

  • AND: 여러 키워드를 모두 포함하는 파일 검색
    • 예: report AND 2023
  • OR: 여러 키워드 중 하나 이상을 포함하는 파일 검색
    • 예: invoice OR receipt
  • NOT: 특정 키워드를 제외한 파일 검색
    • 예: log NOT error
  • 와일드카드:
    • *: 여러 문자를 대체
      • 예: *.txt (모든 텍스트 파일 검색)
    • ?: 한 문자를 대체
      • 예: file?.doc (파일 이름에 한 문자 차이가 나는 .doc 파일 검색)

LiME 도구

개념

  • LiME (Linux Memory Extractor)는 리눅스 시스템의 메모리 내용을 덤프하는 오픈 소스 도구
  • 휘발성 데이터를 수집하여 악성코드 분석, 루트킷 탐지, 시스템 동작 분석 등에 활용됨
  • 커널 공간에서 작동하여 높은 권한으로 메모리에 접근 가능
  • 실행 중인 프로세스, 네트워크 연결, 열린 파일 등의 정보를 수집하여 분석에 필요한 데이터 제공

특징

  • 최소한의 시스템 영향
    • 메모리 덤프 수행 시 시스템 오버헤드를 최소화하도록 설계됨
  • 커널 호환성
    • 대상 시스템의 커널 버전과 정확히 일치하는 LiME 모듈을 빌드해야 함
  • 보안
    • LiME 모듈은 커널 권한으로 실행되므로 악의적인 목적으로 사용되지 않도록 주의 필요
  • 증거 무결성
    • 덤프 파일 무결성을 보장하기 위해 해시 값(MD5, SHA256 등)을 계산하고 기록해야 함
  • 법적 고려 사항
    • 메모리 덤프는 개인 정보를 포함할 수 있으므로 관련 법률 및 규정을 준수해야 함

주요 기능

  • 메모리 덤프
    • LiME는 물리 메모리와 커널 메모리의 전체 또는 일부를 덤프
    • 덤프 파일은 raw 이미지 형식으로 저장됨
  • 다양한 덤프 옵션
    • 압축, 암호화, 분할 덤프 등의 옵션 제공
    • 덤프 파일 크기를 줄이거나 보안을 강화할 수 있음
  • 원격 덤프
    • 네트워크를 통해 원격 시스템의 메모리 덤프 가능
    • 물리적 접근이 어려운 시스템의 침해사고 분석에 유용
  • 라이브 응답
    • 실행 중인 시스템에서 메모리 덤프 수행 가능
    • 시스템을 종료하지 않고도 침해사고 분석을 진행할 수 있음