[METASPLOIT] MSF에서 workspace를 이용한 효율적인 Target 관리(workspace management)

Metasploit을 이용해 Target 에 대해 테스트 진행 후 shell 이나 관련 타겟 정보를 db에 저장하곤 합니다. postgresql 을 이용하여 MSF와 연동하여 target host, port , vulnerability 등을 저장하는데 데이터가 많이 쌓이다 보면 어디가 어떤 사이트인지 혼동이 가기 시작할 겁니다.

그런 경우를 대비하여 metasploit 에는 workspace 라는 기능이 존재합니다. workspace 는 각 그룹을 생성 후 해당 그룹 내 target 정보를 저장하고 필요 시 불러서 사용하는 식으로 활용이 가능합니다.

workspace 명령(command)

msf 내에서 help를 통해 확인하면 아래와 같이 나오게 됩니다.

hahwul #> workspace -h Usage: workspace List workspaces workspace [name] Switch workspace workspace -a [name] … Add workspace(s) workspace -d [name] … Delete workspace(s) workspace -r Rename workspace workspace -h Show this help information

리스트를 보고, 생성/삭제/수정 정도의 기능이 존재하네요.

리스트를 보시려면 workspace 를 입력 시 현재 가지고 있는 workspace의 리스트 확인이 가능합니다. hahwul #> workspace

  • default

default 로 생성된 workspace 밖에 없네요. -a 옵션을 통해 test라는 workspace 를 만들어봅니다. hahwul #> workspace -a test [*] Added workspace: test hahwul #> workspace default

  • test

test 라는 workspace 가 생성되고 msf 는 자동으로 test로 스위칭 하였습니다. 이제부터 db를 통해 작업한 내역은 test라는 workspace 내에 들어가며 다른 workspace 와 구별하여 사용이 가능합니다.

필요없는 workspace 는 -d 옵션을 통해 삭제가 가능합니다. hahwul #> workspace -d test [] Deleted workspace: test [] Switched workspace: default

workspace 의 이동은 해당 이름을 지정하여 쉽게 가능합니다. 확인 전 여러개의 workspace 를 생성하였습니다. hahwul #> workspace -a target1 [] Added workspace: target1 hahwul #> workspace -a target2 [] Added workspace: target2 hahwul #> workspace -a target3 [*] Added workspace: target3 hahwul #> workspace default target1 target2

  • target3 hahwul #>

이제 이동하려는 workspace 에 대해 아래와 같이 명령을 주어 이동합니다. hahwul #> workspace target1 [*] Workspace: target1 hahwul #> workspace default

  • target1 target2 target3 hahwul #>

target1로 변경되었네요.

정말 간단하고 쉬운 기능이지만 알고있다면 pentest에 대해 좀 더 체계적으로 관리가 가능합니다. 혹시나 궁금한 점 있으면 댓글주세요. 감사합니다.