MFT 분석
MFT는 Master File Table의 약자로 NTFS 파일 시스템에 존재하는 모든 폴더, 파일의 메타 데이터 정보를 저장한다.
파일로는 %ROOT%\$MFT 형태로 존재하지만, 탐색기 상에서는 확인할 수 없어서 아래 두가지 방법을 통해 추출한다.
1. forecopy를 통한 $MTF 추출
2. Disk Image를 통한 $MTF 추출
MFT 정보를 이용해 아래와 같은 점검 포인트를 가지고 점검한다.
- 침해사고 시각
- 악성코드 생성 시각
- 비정상 DB 생성 시각
- 의심스러운 시스템 계정 생성 및 로그인 시각
- 보안장비에서 탐지된 스캔 및 공격등의 이벤트 시각
analyzeMFT 도구를 이용하여 $MFT 파일을 분석할 수 있는데, -l 옵션을 통해 지역정보를 넣고, -o 옵션을 이용해 csv파일로 MFT 분석 파일을 저장할 수 있다. 그럼 이제 csv 파일을 이용하여 침해사고 시점을 기준으로 분석을 진행하면 된다.
csv 파일을 열게되면 로그를 화인할 수 있는데, Active 항목은 현재 시스템에 폴더 또는 파일이 존재하는지의 여부를 나타낸 항목이다. 삭제되었을 경우는 Inactive
아래 로그를 확인하게 되면 2020-11-01 11시 38분 경 download.ps1과 malware.exe 파일이 생성되었으며 아직까지 존재하고 있음을 확인할 수 있다.
이벤트 로그 분석
인증관련 이벤트 로그
- 관리자 대역 외의 IP에서 로그인을 시도한 이벤트 - 다량의 로그인 실패 이벤트 - 로그온 유형이 3(네트워크를 통한 원격 로그인)인데 NTLM 인증인 경우 - 로그온 유형이 10(터미널, 원격접속, 원격지원으로 로그인)인 이벤트의 원본 네트워크 주소 - 로그온 유형이 10인데 주소가 루프백 주소인경우( 리버스 커넥션 의심 )
계정 및 변조 관련 이벤트
보안(Security) 로그 파일에서 확인이 가능함.
이벤트 ID 4720 - 사용자 계정 신규 생성
이벤트 ID 4724 - 계정 패스워드 설정
이벤트 ID 1102 - 보안 이벤트 로그 삭제
이벤트 ID 4616 - 시스템 시간 변경
이벤트 ID 4719 - 감사 정책 변경
이벤트 로그 분석 시 기본 윈도우 내장 뷰어보다는 아래 화면의 Event Log Explorer 도구를 이용하여 필터를 적용하면 분석 시 더 용이함
악성코드 관련 이벤트
악성코드의 주요 행위 중 하나인 프로세스 생성 및 종료 이벤트를 보안(Security)이벤트에서 확인할 수 있다.
이벤트 ID 4688 - 새 프로세스 생성
이벤트 ID 4689 - 프로세스 종료
이벤트 ID 4698 - 새 작업 생성
이벤트 ID 4699 - 작업 삭제
이벤트 ID 4700 - 작업 Enable
또한, 자동실행 메커니즘을 위해 서비스와 작업 스케쥴러에 등록하는데, 서비스 시작 및 중지 부분은 시스템(System) 이벤트에서 확인 가능하다.이벤트 ID 7045 - 서비스 설치이벤트 ID 4000 - 서비스 시작이벤트 ID 4001 - 서비스 중지작업 스케쥴러의 행위 흔적은Microsoft-Windows-TaskScheduler Operational 에서 확인 가능하며 주요 이벤트 ID는 다음과 같다.이벤트 ID 106 - 새 작업 생성이벤트 ID 200 - 작업 동작 시작이벤트 ID 201 - 작업 동작 완료
원격 명령 실행 관련 이벤트
공격자는 시스템에 침입 후 내부 확산(Lateral Movement)을 하기위해 주로 Powershell을 사용한다고 한다.
공격자가 원격 컴퓨터에서 Powershell 명령을 실행할 수 있도록 WinRM을 이용하는데, WinRM은 다음 포트에서 수신 대기 한다.
- HTTP : 5985
- HTTPS : 5986
확인 해야 할 이벤트들은 아래와 같다.
Windows Powershell이벤트
ID 400 - Powershell 시작이벤트
ID 600 - Powershell 코드 실행이벤트
ID 403 - Powershell 중지
Microsoft-Windows-WinRM Operational
이벤트 ID 6 - 원격 작업 시작이벤트
ID 169 - 사용자 이름 및 인증 기록이벤트
ID 82 - CreateShell 을 위해 ResourceURI 식별자 입력
이벤트 ID 81 - CreateShell 및 DeleteShell 요청 처리
이벤트 ID 134 - CreateShell 응답 전송
이벤트 ID 142 - WinRM이 비활성화된 경우 Error 기록
원격 데스크톱 관련 이벤트
LocalSession Manager Operational
이벤트 ID 21 - 원격 데스크톱 세션 로그온 성공
이벤트 ID 22 - 원격 데스크톱 서비스 셸 시작 알림 받음
이벤트 ID 24 - 원격 데스크톱 서비스 세션 연결 끊음
이벤트 ID 25 - 원격 데스크톱 다시 연결 성공
이벤트 ID 39 - 원격 데스크톱 세션 연결 끊김
이벤트 ID 40 - 원격 데스크톱 연결 끊김
Remote Connection Manager Operational
이벤트 ID 1149 - 원격 데스크톱 서비스 사용자 인증 성공
Inbound / Outbound 관련 이벤트
보통 보안 장비의 경우 Inbound 정책은 빡빡하지만, Outbound 관련 정책은 허술하다. 보통의 악성코드는 백도어를 이용하여 통신을 수행하는 점을 감안해 Outbound로 통신하는 트래픽도 잘 관찰을 해야한다.
Security
이벤트 ID 5156 - 필터링 플랫폼 연결 허용 ( Inboud / Outbound 표시 )
'윈도우 포렌식' 카테고리의 다른 글
bstrings 를 이용한 대용량 파일 문자열 추출 (0) | 2022.11.03 |
---|---|
페이지 파일 pagefile.sys 분석 - 문자열 추출(Python Yara) (0) | 2022.11.02 |
크롬 브라우저 계정정보 추출(비밀번호 복호화) (0) | 2022.10.28 |
윈도우 MFT 분석 analyzeMFT 도구 사용 (0) | 2022.10.26 |
카카오톡 대화내용 복구(Kakaotalk.db) (0) | 2022.10.17 |
댓글