학사 나부랭이

Digital Forensic - Live Forensic 본문

Dot-Gabi/Digital Forensic

Digital Forensic - Live Forensic

태양왕 해킹 (14세) 2021. 5. 30. 02:23

 휘발성 정보 수집을 위해서 윈도우에서 기본적으로 지원하는 명령어나 프로그램을 이용하기도 하고 인터넷에서 검증된 라이브 포렌식 프로그램을 사용해 수집하기도 하는데 이런 툴들을 사용하기 위해서는 당 시스템의 관리자 권한이 필요해요.

 관리자 권한을 얻는 방법으로는 단순히 로그오프 후 관리자로 로그인, Buffer OverFlow 등이 있는데 전자는 로그오프 시 해당 세션의 휘발성 정보들이 사라질 수 있고 후자는 다음과 같은 이유가 있어서 사용할 수 없어요.

후자의 예로서 윈도우에서는 Runas라는 명령어로 일시적인 관리자 권한을 얻을 수 있어요.

이를 리눅스의 su처럼 해당 세션은 유지시키며 관리자 권한도 계속 유지하는 방법은 없진 않지만 시스템에 어떤 영향을 미칠지 모르는 프로그램들이 대부분이라 사용하지 않는 것이 좋아요. 이렇게 각 OS에서 합법적인 관리자 권한을 획득하기 위한 방법을 연구, 적용해야 해요.

 

Windows에서 휘발성 정보 수집

1. 시스템 시간

명령 프롬프트에서 기본적으로 지원하는 명령어로 수집 가능해요. 어라? 리눅스에서도 비슷한거 본거 같죠?

윈도우 아래 패널(작업 표시줄)의 시간 패널을 조작하면 레지스트리에 기록이 남지만 커맨드 명령어로 수정할 경우 레지스트리에 기록이 남지 않아요.

2. 네트워크 연결 정보

 전형적인 휘발성 데이터예요. 만약 개별적으로 운영하는 방화벽이나 방화벽 프로그램이 있다면 순간적인 데이터만 있는 이 정보보다 우선적으로 장기간에 걸쳐 쌓인 정보인 방화벽 로그를 분석해야 해요.

윈도우의 netstat 명령어로 수집할 수 있어요.

3. 프로세스 목록

 어떤 이벤트가 어떤 이유에서 일어났는지 근거가 될 수 있어요. System32 폴더에 없는 시스템 프로세스나 부모 프로세스가 될 수 없는 프로세스에 자식 프로세스가 있는, 이상 현상을 탐지할 수 있어요.

프로세스 목록을 수집하는 방법은 여러가지가 있는데 cmd에서 기본적으로 지원하는 tasklist, 다른 유틸리티로 pslist가 있어요. 프로세스의 전체 경로는 나타내지 않고요, pslist는 -t 옵션을 넣어주면 tree 형식으로 부모/자식 프로세스의 관계를 직관적으로 파악할 수 있어요. GUI 형태로 서비스하는 유틸리티인 Process Monitor, Process Explorer도 있고요. 당연히 GUI 유틸리티가 CLI 유틸리티보다 시스템에 영향을 많이 주지만 프로세스의 전체 경로, DLL, TCP 동작 등 여러 정보를 제공해요.

4. 핸들 정보

 핸들이란 프로세스의 정보 중 하나로 커널이 관리하는 오브젝트에게 할당되는 값이에요. 이 핸들은 한 프로세스에 여러 개가 있으며 프로세스가 생성되어 자원의 사용 요청을 할 때 사용하는 값, 파일, 포트 등을 포함해요. 그리고 핸들이 실제로 가리키는 오브젝트는 레지스트리에 기록되어 있어요.

5. DLL 목록

dll 인젝션 쓰려다가... 하루가 다 갔네요...ㅠㅠㅠㅠ

Comments