KISA_2010_침해사고분석절차

Hunjison·2022년 1월 24일
0

Digital Forensics

목록 보기
6/17
post-thumbnail

“사고 조사”와 관련된 기술적인 부분만 보고서로부터 부분 발췌 및 정리함.

Windows 분석과 관련된 부분만 정리함.

데이터 수집

호스트 기반 정보, 네트워크 기반 정보, (그 밖의) 일반적인 정보로 크게 분류.

  1. 호스트 기반 정보

    1) 휘발성 데이터를 우선 수집한 후, 2) 포렌식 이미징 작업

    1)에 해당하는 데이터의 종류

    • 시스템 날짜와 시간
    • 시스템에서 현재 동작 중인 어플리케이션
    • 현재 연결이 성립된 네트워크 상황
    • 현재 열려진 소켓(포트)
    • 열려진 소켓 상에서 대기하고 있는 어플리케이션
    • 네트워크 인터페이스의 상태
    • 메모리 정보
    • 현재 열려진 파일
    • 시스템 패치 상황
  2. 네트워크 기반 증거

    • IDS 로그
    • 관련자의 허락을 득한 네트워크 모니터링의 기록
    • ISP 가입자 이용 기록 장치/감시 장치의 로그
    • 라우터 로그
    • 방화벽 로그
    • 인증 서버 로그
  3. 기타 증거

    증언 및 증거 ← 전통적인 조사 방식으로

자료 분석 (포렌식 분석)

Windows와 sysinternals 도구 필요

1. 초기 분석

  • 시스템 시간: date, time, uptime(부팅된 시간 정보)

  • 시스템 정보: psinfo -h -s

  • 프로세스 정보: pslist -t

  • 네트워크 정보: netstat -an, fport(포트에 해당하는 프로세스 확인), promiscdetect(프로미스 모드로 동작확인)

  • 사용자/그룹 확인: net user(시스템 계정정보), net localgroup(시스템 그룹정보)

  • 공유, 로그인 정보: net share(시스템 공유 정보), net session(공유 자원에 접속한 컴퓨터 정보), nbtstat -c(NBT에 연결된 세션 정보), ntlast -f(원격접속 로그 정보)

  • 초기 분석은 아래와 같이 스크립트로 만들어 사용, 아니면 wft.ext 파일을 사용하는 것도 괜찮음!

    echo off
    @echo =========초기 분석 점검 날짜==========
    date /t
    @echo =========초기분석 점검 시간==========
    time /t
    @echo =========시스템 기본 정보(psinfo)==========
    psinfo -h -s -d
    @echo =========부팅시간정보(uptime)==========
    uptime
    @echo =========IP정보 (ipconfig /all)==========
    ipconfig /all
    @echo =========세션 정보 (net sess)==========
    net sess
    @echo =========포트 정보(netstat -na)==========
    netstat -na
    @echo =========로그온 사용자 정보(ntlast)==========
    ntlast -f
    @echo =========포트별 서비스 정보(fport /i)==========
    fport /i
    @echo =========Promiscuous 모드 정보(promiscdetect)==========
    promiscdetect
    @echo =========로컬 서비스 정보(net start)==========
    net start
    @echo =========프로세스 기본 정보(pslist -t)==========
    pslist -t
    @echo =========DLL 정보(listdll)==========
    listdlls
    @echo =========핸들 정보(handle)==========
    handle
    @echo =========공유 정보(net share)==========
    net share
    @echo =========사용자정보(net user)==========
    net user
    @echo =========도메인 그룹 정보(net group)==========
    net group
    @echo =========로컬 그룹 정보(net localgroup)==========
    net localgroup
    @echo =========관리자 그룹 정보==========
    net localgroup administrators

2. 루트킷 점검

아래 도구 중에서 골라서 사용하면 됨(2010년 자료라 다시 알아봐야 할 듯?)

프로세스 검사, 네트워크 검사, 서비스 검사, 숨겨진 레지스트리/파일 검사 등 프로그램에 맞게 진행

3. 상세 분석

  1. 레지스트리 분석

    • 시작 프로그램 (자동 실행): autoruns
    • 기타 레지스트리 분석 → (보고서에 도구는 나와있지 않으니 다른 도구로 진행)
  2. 자동실행 점검

    • 서비스 점검: autoruns 내부의 ‘Services’ 탭에서 아래와 같이 Description이 비어있거나, 다른 프로그램과 달리 영문으로 되어 있는 경우에는 의심해볼 수 있음.
    • 스케줄된 작업 확인: autoruns 내부 ‘Scheduled Tasks’ 탭에서 확인
    • 자동시작 폴더 점검: autoruns 내부 ‘Logon’ 탭 확인
    • Winlogon 관련: autoruns 내부 ‘Winlogon’ 탭 확인
  3. 이벤트 로그 분석 : 이벤트 뷰어

    아래 이벤트 ID를 유심히 보라고 한다.(사실 설명하기 너무나 귀찮았던게 아닐까..?)

  4. MAC time 분석

    mtime(파일을 생성 및 최근 수정한 시간)

    atime(최근 파일을 읽거나 실행시킨 시간)

    ctime(파일 속성이 변경된 시간)

    윈도우 내부에 있는 ‘검색옵션’에서 ‘날짜’ 기준으로 검색해보라고 하는데,,, 큼.

  5. 침입방법 분석

    • 윈도우 취약점: 시스템 취약점(보안 업데이트 미실시?), 패스워드 취약점, 잘못된 공유 설정
    • 웹 애플리케이션 취약점: SQL Injection, 파일 업로드 등
    • MS-SQL 취약점: 디폴트 패스워드 사용, 패치 미실시 등
  6. 인터넷 임시파일 분석

    • 보고서에서 무슨무슨 방법을 소개하고 있으나, 그냥 최근 도구 사용하자.
    • BrowserHistoryView였나..? 그게 좋더라

4. 해킹프로그램 분석

2개 이상의 서버를 구동시키고, 공격자와 피해자를 나눈다.

SysAnalyzer 도구를 이용하면, 주어진 시간 이후에 변경된 정보를 수집, 비교, 분석, 보고해줌. 지정된 시간에 걸쳐 시스템의 스냅샷을 비교한다.

  • 실행된 프로세스
  • 악성코드에 의해 오픈된 포트
  • explorer.exe나 Internet Explorer에서 로드된 DLL
  • 커널에 로드된 모듈
  • 변경/생성된 레지스트리 키

→ 최근에는 any.run 과 같은 사이트에서 악성코드만 넣었다고 하면 까알끔 하게 분석해주니까 더 좋은 것 같다.

profile
비전공자 출신 화이트햇 해커

0개의 댓글