• 카테고리
  • 멤버
  • 아티클
  • 카테고리
  • 멤버
  • 깃헙
© 2020 COSADAMA,
All Rights Reserved.
Data-Analysis

디지털 포렌식 2주차 스터디(2)

by 최예지

제2장 휘발성데이터 분석

대상시스템 정보


1. 시스템 날짜와 시간 1. 대상시스템에서 물리적 메모리의 이미지를 획득한 후 휘발성 데이터 수집 시 첫번째와 마지막에 수집해야 하는 항목은 시스템 날짜와 시간이다. 2. 신뢰할 수 있는 시간 출처와 비교하여 시간 정보의 정확성을 검증하고 문서화한다. - 시스템 날짜와 시간: C:\> date/t & time /t 2. 시스템 식별

: 대상시스템의 호스트 이름, 현재 사용자, 운영체제/환경 등 시스템 정보를 수집한다.

- 시스템 이름: `C:\> hostname`
- 현재 시스템 사용자: `C:\> whoami`
- 시스템 환경: `C:\> ver`
- IP주소, 서스넷 마스크, DNS 주소 등: `C:\> ipconfig /all`

3. 네트워크 구성정보

: 가상사설네트워크(VPN) 어댑터 구성 여부와 네트워크 카드가 Promiscuous모드로 동작하는지에 대한 대상시스템의 네트워크를 확인하고 문서화한다.

- Promiscuous 모드 동작 여부: `C:\> promiscdetect`

<aside>
💡 Promiscuous 모드
: 일반적으로 네트워크 카드의 디바이스 드라이버는 자신이 아닌 다른 MAC Address로 보내진 이더넷 프레임을 확인하지 않고 폐기한다. 그러나 Promiscuous 모드에서는 다른 호스트의 주소로 전송되는 이더넷 프레임을 폐기하지 않고 상위 계층으로 전달한다.

</aside>

4. 시스템 가동시간

: 대상시스템이 재부팅되지 않았다는 사실을 파악하는 것은 메모리의 정보를 확인 할 수 있는 동기를 부여한다.

- 시스템 가동시간: `C:\> uptime`

5. 시스템 환경

: 대상시스템의 운영체제 버전, 패치수준, 하드웨어와 같은 일반적인 정보를 문서화한다.

- 시스템 환경: `C:\> psinfo`
- 디스크 볼륨 정보: `C:\> psinfo -d`
- 설치된 소프트웨어 정보: `C:\> psinfo -s`
- 핫픽스 정보: `C:\> psinfo -h`
- 윈도우 업데이트 정보: `C:\> wul /stext`
- 시스템에 적용된 그룹 정책(Group Policy) 정보: `C:\> gplist`
- 시스템에 적용된 서비스 설정 정보: `C:\> psservice`

로그인 사용자 정보


대상시스템에 로그인한 사용자에 대한 다음과 같은 정보를 수집한다:

  • 사용자 이름
  • 로컬(local)과 원격(remote)
  • 로그인세션 지속시간
  • 사용자가 접근한 공유한 목록 등

📍 관련 명령어

  1. 원격시스템이나 대상시스템에서 로그인 한 사용자 정보: C:\> PsLoggedOn
  2. 대상시스템의 모든 세션에 대한 정보: C:\> net session
    1. 컴퓨터 이름과 사용자 이름
    2. 파일을 오픈한 사용자 정보
    3. 세션이 연결 유지된 Open Idle Time 정보
  3. 현재 활성화된 로그온 세션 리스트: C:\> logonsessions
  4. 각 세션에 동작하고 있는 프로세스 목록: C:\> logonsessions -p
  5. 대상시스템 사용자 계정 정보: C:\> net user
  6. 대상시스템에 로그인 했던 사용자 계정 정보: C:\> netusers /local /history

열린 파일 정보


원격 로그인을 통해서 열린 파일에 대한 정보를 수집한다.

  1. net file

    명령을 실행하는 시스템에서 다른 컴퓨터가 오픈한 공유파일의 정보를 출력하지만 긴 경로이름을 자르고 원격시스템에 대한 정보를 볼 수 없다.

    C:\> net file [id [/close]] : ID 정보, Path 경로, User name, 각 파일의 파일 잠금 수를 출력한다.

    C:\> net file 파일숫자 : 파일 숫자에 해당하는 파일은 닫는다.

  2. net share

    C:\> net share

    : 대상 시스템에 공유 설정되어 있는 내용을 출력한다.

  3. psfile

    C:\> psfile [\\RemoteComputer [-u Username [-p Password]]] [[Id | path] [-c]]

    : 원격에서 열리는 시스템의 파일 목록을 보여주는 명령(command-line) 유틸리티

    • -u : 원격에서 접속하는 사용자명
    • -p : 원격 접속 사용자의 패스워드
    • Id : 파일의 id 값
    • path : 파일 경로
  4. openfiles

    C:\> openfiles /query

    : 관리자가 시스템에서 열린 파일이나 디렉터리를 쿼리(query)하는 명령

    • C:\> openfiles /query /FO LIST

      : 출력 포맷을 리스트 형식으로 출력하도록 하는 명령

    C:\> openfiles /local

    : 관리자가 시스템에서 열린 파일이나 디렉터리를 출력(display)하는 명령

    C:\> openfiles /disconnect

    : 관리자가 시스템에서 열린 파일이나 디렉터리를 연결해제(disconnect)하는 명령

네트워크 정보


  1. C:\> nbtstat

    : NetBT(NetBIOS over TCP / IP) 프로토콜 통계, 로컬 컴퓨터와 원격 컴퓨터 모두에 대한 NetBIOS 이름 테이블 및 NetBIOS 이름 캐시를 표시한다

    • C:\> nbtstat -a : NetBIOS의 원격 컴퓨터 이름 테이블 표시
    • C:\> nbtstat -c : NetBIOS의 원격 컴퓨터 이름과 해당 IP 주소 캐시를 표시
  2. C:\> arp -a : 대상 시스템과 연결되었던 컴퓨터의 맥(MAC) 주소를 출력한다

  3. C:\> netstat -ano : 대상 시스템과 네트워크 통신하는 서비스의 연결 상태를 출력한다

    • -a : 모든 연결(established) 또는 대기(listening)중인 포트를 표시
    • -c : 현재 실행명령을 매 초마다 실행
    • -r : 라우팅 테이블을 표시
    • -n : 현재 다른PC와 연결되어 있는 포트번호를 표시
    • -e : 인터페이스의 패킷량과 에러, Collision 등을 확인
    • -s : IP, ICMP, UDP프로토콜별 상태를 보여줌
    • -t : TCP로 연결된 포트를 표시
    • -u : UDP로 연결된 포트를 표시
    • -p 프로토콜 : 해당 프로세스를 사용하는 프로그램 이름 프로세스 ID를 표시

    서비스의 상태 값

    • LISTENING : 현재 서비스 연결요구를 기다리는 상태로 포트가 열려 있음.
    • ESTABLISHED : 다른 컴퓨터와 서로 연결된 상태
    • TIME WAIT : 연결은 종료되었지만 다음 연결을 위해 기다리는 상태
    • CLOSE_WAIT : 원격의 연결 요청을 받고 연결이 종료되길 기다리는 상태
    • LAST_ACK : 연결이 종료되었고 승인을 기다리는 상태
    • CLOSED : 연결이 완전히 종료된 상태
    • SYN_SENT : 클라이언트가 서버에 SYN패킷을 보내고 연결을 요청한 상태
    • SYN_RECV : 서버가 클라이언트의 SYN패킷으로 요청을 받은 후 응답으로 SYN/ACK 패킷을 보내고 클라이언트에게 ACK를 받기 위해 기다리는 상태
  4. C:\> route PRINT : 현재 시스템의 route 설정이 어떻게 되어있는지 출력한다

  5. C:\> URLProtocolView : 대상시스템에서 활성화된 프로토콜을 문서화한다

Previous Post
디지털 포렌식 2주차 스터디(1)
Next Post
바닐라 JS 챌린지 (ToDo list, Weather)
  • 코사다마
  • 소개
  • 영입
  • 관련 사이트
  • 홈페이지
  • 커리큘럼
  • 깃헙
  • 문의
  • 이메일
  • 채널톡
  • 카카오톡
  • Built with ⛰ by Peniel Cho