본문 바로가기
해킹/디지털포렌식

[SUA][2주차]volatility 명령어 정리

by IT공부방 2022. 5. 5.

**운영체제 식별

- imageinfo : 메모리덤프의 운영체제 식별

 volatility -f <이미지 파일> __imageinfo__

 

**프로세스 검색

- pslist : 프로세스 리스트를 시간 순서대로 보여줌

- psscan : 프로세스 구조체 스캔 후 출력, 숨겨진 프로세스 출력 가능

- pstree : pid, ppid 기준으로 구조화하여 보여줌,

최초로 생성되는 프로세스를 제외하고, 모든 프로세스는 부모 프로세스를 복제해 생성되고 계 층관계 트리가 생긴다. 각각의 프로세스는 자식 프로세스와 부모 프로세스에 대한 정보를 가진다. PID(Process ID)는 운영체제에서 프로세스를 구분하기 위해 부여한 번호이다. PPID(Parent Process ID)는 해당 프로세스를 만든 부모 프로세스의 PID를 의미한다.

- psxview : pslist, psscan을 포함한 도구들의 결과를 한 눈에 볼 수 있음,

pslist는 true인데 psscan 은 false인 경우 숨겨진 프로세스라고 의심 가능하다.

 Volatility -f <이미지파일> --profile

=Suggested Profile __pslist / psscan / pstree / psxview__ > __pslist / psscan / pstree / psxview__.log

 

**네트워크 분석

- connections : 현재 연결된 tcp 통신에 대한 정보

- connscan : 풀 태그 스캐닝 방식을 사용해 연결을 파악하고 종료된 연결까지 파악 가능

- netscan : 메모리의 네트워크 정보, 프로세스 정보 출력

- sockets : tcp, udp를 포함한 모든 프로토콜 출력, 현재 listening 상태에 있는 소켓 출력

 volatility -f <이미지 파일> --profile=<프로파일 명> connections > connections.log

 volatility -f <이미지 파일> --profile=<프로파일 명> connscan

 

**cmd분석

- cmdscan, consoles : 콘솔에 입력한 값들을 볼 수 있음. cmdscan은 cmd.exe가 실행한 명령을 나열하고 consoles는 명령이 성공했는지 안 했는지 알 수 있음

- cmdline : 프로세스가 실행될 때의 인자 값을 확인할 수 있음

 volatility -f <이미지 파일> --profile=<프로파일 명> cmdscan > cmdscan.log

 volatility -f <이미지 파일> --profile=<프로파일 명> consoles > consoles.log

 volatility -f <이미지 파일> --profile=<프로파일 명> cmdline > cmdlines.log

 

**파일 분석 및 덤프

- filescan : 메모리 내에 존재하는 모든 파일들의 리스트 출력

- dumpfiles : 파일을 덤프, 옵션으로 메모리 주소, 프로세스 줄 수 있음

++virtustotal 사이트는 바이러스 검사를 할 수 있는 사이트이다.

 volatility -f <이미지 파일> --profile=<프로파일 명> filescan > filescan.log

 volatility -f <이미지 파일> --profile=<프로파일 명> dumpfiles -Q <메모리주소> -D <저장 할 디렉토리>

 

**프로세스 세부 분석

- memdump : 특정 프로세스의 메모리 영역을 덤프

- procdump : 프로세스의 실행 파일을 추출

 volatility -f <이미지 파일> --profile=<프로파일 명> memdump -p pid -D <저장할 디렉토리>

 volatility -f <이미지 파일> --profile=<프로파일 명> procdump -p pid -D <저장할 디렉토리>