프로세스의 커맨드라인은 침해대응에서 중요한 부분을 차지한다

해당 프로세스가 어떤 일을 하는지 아주 쉽게 파악을 할 수 있게 정보를 제공하는 부분이 커맨드라인이다. 

하지만 현재 볼라틸리티 플러그인 중 커맨드라인만 따로 출력 해 주는 플러그인이 존재하지 않아 한번 만들어 보았다.

(dlllist 플러그인에서는 커맨드라인을 출력 하지만, dlllist와 같이 출력되기 때문에 가독성이 떨어진다.)


현재 볼라틸리티에서는 EPROCESS Scanning으로 숨겨진 프로세스나 죽은 프로세스를 찾아주긴 하지만 숨겨진 프로세스 파악이 목적이어서 PEB 하부 구조체들까지 스캐닝을 하지는 않아 숨겨진 프로세스에 대한 커맨드라인은 아직 구현하지 못하였다.

현재 생각으로는 메모리 전체를 대상으로 커맨드라인을 파싱하거나 숨겨진 프로세스의 PEB영역을 계산 해 추출해야 할 듯 하다.



출력은 23인치 와이드 모니터에 맞추어져 있다. 만약 모니터의 크기와 알맞게 출력하고 싶다면 소스코드 중 다음 부분을 수정하면 된다.


("Command Line", "<150"),


그리고, 너무 많은 프로세스로 자신이 보고 싶은 프로세스의 커맨드라인이 있을지도 모른다. 이때는 -p <PID> 옵션을 통해 프로세스 아이디를 지정 해주면 된다.




proccmd.py



  1. kant 2013.08.04 23:56

    아.. 파워쉘로 따라해볼려다가 숨겨진 프로세스 찾는 부분에서 막혀서 멘붕이 왔네요 ㅠ
    간단하게 구현하면 다음과 같습니다 ^^
    Get-WmiObject Win32_Process | Select-Object ProcesId, ProcessName, CommandLine, CreationDate | Sort-Object processid

    ps. 요즘 파이썬으로 구현된 것들을 파워쉘로 구현해 보는데 파이썬에 대한 깊이가 낮아 힘드네요 ㅠ

  2. Favicon of https://malwarelab.tistory.com BlogIcon demantos 2013.08.07 13:36 신고

    volatility 2.3_beta에서는 시간 정보가 깨져서 나오네요...
    문자수를 20글자로 주셔서 30으로 바꿨더니 제대로 나오네요 ㅎㅎ
    좋은 플러그인 감사합니다~
    해볼려고 했던건데 이리 만들어주시니...ㅎㅎ

    • Favicon of https://maj3sty.tistory.com BlogIcon MaJ3stY 2013.08.07 16:05 신고

      아 ㅎㅎ 제가 플러그인 제작 할 때는 2.1 버전으로 했던 터라.. 거기까지 미처 생각을 하지 못했었네요 ㅎㅎ

      알려주셔서 감사합니다 ㅎ

+ Recent posts