정보보안 - 윈도우 사고 초기분석
윈도우 침해사고 초기분석
- 초기분석 : 현재 피해시스템의 상황을 빠른 시간 안에 파악한다. (포렌식 툴을 사용하지 않는다는 가정 / 커맨드에서 실행)
- 시스템 시간 확인
- 공격자가 시스템 시간을 변경할 수 있음
date /T
,time /T
등의 명령어 사용- uptime : 시스템의 부팅시간 정보를 알려줌 (추가 다운로드 필요-sysinternals.com)
- 시스템 정보
psinfo -h -s
: OS 기본정보, 보안 업데이트 정보, 설치된 S/W 정보 (추가 다운로드 필요-sysinternals.com)
- 프로세스 정보 확인 (휘발성 증거)
- 공격자가 실행시킨 악성프로그램 확인
- 실행 프로세스명
- 프로세스 실행 파일 위치
- 프로세스 커맨드라인
- 프로세스 실행시간
- 프로세스 가 참조하고 있는 DLL 및 기타 파일
pslist
명령어사용 (추가 다운로드 필요-sysinternals.com)- 현재 구동중인 프로세스 목록 조회
- 프로세스 실행시간 확인
-t
: 트리구조 옵션 (자식프로세스)
- 정상적인 윈도우 프로세스인지 확인하기 위한 용도
- 흔히 볼수 없었던 프로세스명은 악성코드일 확률이 있음
- 정상파일로 위장을 해서 악성프로그램 실행을 하는 경우 실행파일 위치를 확인해야 함
- 프로그램들이 사용하는 DLL 을 자세히 점검할 필요가 있음
listdlls
(추가 다운로드 필요-sysinternals.com) : dll 경로, 사이즈, 버전정보- 프로세스들이 사용하는 DLL 정보 출력
handle
명령어 사용 (추가 다운로드 필요-sysinternals.com)- 악성 봇 프로그램 같은 경우 프로세스가 참조하는 파일(설정파일 등)을 출력해야 함
- 공격자가 실행시킨 악성프로그램 확인
- 네트워크 정보 확인 (휘발성 증거) - 공격자의 흔적 추적
- 피해시스템의 네트워크 정보
- 서비스를 열고 있는 어플리케이션 정보
- 서비스에 연결되어 있는 세션 정보
ipconfig /all
명령어 사용 - IP 확인netstat -an
- 프로토콜의 상태 확인
- IP 기반의 네트워크 연결 정보 확인
- 현재 열려있는 포트
- 포트에 연결되어 있는 IP 정보
- 시스템이 사용하지 않는 포트가 LISTENING 상태로 있는지 확인
telnet
이나nc
등의 명령어로 어떤 어플리케이션이 해당 포트를 구동중인지 확인
fpont
(추가 다운로드 필요-foundstone.com)- 해당 포트에서 사용하고 있는 프로세스 확인 가능
promiscdetect
(추가 다운로드 필요 - tesecurity.nu)- NIC 카드가 promisc 인지 확인 필요 (스니핑, 모니터링 여부)
- 사용자/그룹 확인
- 공격자에 의해서 추가된 유저나 그룹이 있는지 확인
net user
: 시스템에 존재하는 모든 계정 출력net localgroup
: 시스템에 있는 모든 그룹정보 출력
- 공격자에 의해서 추가된 유저나 그룹이 있는지 확인
- 공유, 로그인 정보 확인
net
: 시스템의 공유 정보, 현재 로그인되어 있는 사용자 정보 확인nbtstat
: NBT (Net Bios) 에 의해서 연결된 정보를 확인- NBT (Net Bios over TCP/IP)
- TCP/IP 사용 기기의 고유 IP주소가 있으면 통신이 가능
- Windows OS 의 경우 NetBios 기술을 사용
- NetBios 의 이름 (컴퓨터 이름) 을 IP 보다 더 중요하게 사용
- NETBIOS 는 네트워크 통신을 위한 기본적인 명령어 세트
- BIOS : Basic Input Output System
- NetBIOS 의 기능
- 컴퓨터 이름(네트워크 참여 시 식별자 이름) 등록/해제 (이름 삭제를 통한 네트워크 이탈)
- 세션 서비스 - Session 지향 (1:1통신) 의 통신서비스 제공 (22:10)
- 데이터그램 서비스 - Datagram 지향 (상대에게 일방적으로 데이터를 보냄) 의 통신서비스 제공
- NetBIOS 통신
- NetBIOS 이름 등록 (네트워크 참여)
- 중앙집중식 네트워크 관리서버가 존재하지 않음
- 시스템이 켜지면 시스템이 가지고 있는 컴퓨터 이름을 Broadcasting
- Network 상의 모든 컴퓨터에 통보
- 이름 충돌이 없으면 사용
- NetBIOS 이름을 사용해서 통신상대를 식별, 통신 패킷을 송신
- 시스템 종료시 NetBIOS 이름 삭제 (네트워크 이탈)
- NetBIOS 이름 등록 (네트워크 참여)
- 예전에는 순수한 NetBIOS 인터페이스를 사용하였으나 최근에는 컴퓨터 이름으로 사용
nbtstat -c
: NBT에 연결된 세션정보 출력
- NBT (Net Bios over TCP/IP)
- 윈도우 감사정책이 설정되어 있는 경우
ntlast
(추가다운로드-foundstone.com) 명령어 사용- 로그인/로그오프 성공, 실패 여부 확인
ntlast -f
: 원격 접속 로그정보 출력
net share
: 시스템 공유정보 출력net session
: 공유자원에 접속된 컴퓨터 정보 출력
- 시스템 시간 확인
- Batch 스크립트를 만들어 결과를 파일로 저장하거나 자동화된 도구를 사용
댓글남기기