Commando VM이란?
Commando VM은 Mandiant FireEye 가 Windows 운영 체제에 더 익숙한 침투 테스터를 위해 만든 테스트 플랫폼입니다.
본질적으로 Commando VM은 침투 테스트 커뮤니티에서 널리 사용되는 리눅스 테스트 플랫폼인 Kali의 자매격 제품입니다. 이러한 테스트 플랫폼에는 참여(engagement) 중 테스터가 활용하는 일반적인 도구와 스크립트가 모두 포함되어 있습니다. 테스터는 Windows 7 SP1 또는 Windows 10에 Commando VM을 설치할 수 있으며, 프로그램은 GitHub에서 쉽게 접근할 수 있습니다.
엄선한 관련 콘텐츠:
이것이 왜 중요한가요?
이러한 테스트 플랫폼이 무엇인지, 그리고 어떻게 사용하는지 이해하는 것은 레드 팀과 블루 팀 모두에게 중요합니다. 고객과 작업할 때 제가 자주 묻는 질문은 Mimikatz 또는 Bloodhound 같은 도구를 알고 있는지 여부입니다. 그런데 놀랍게도, 많은 고객은 그렇지 않습니다. 학교에서 배운 핵심 아이디어 중 하나가 공격자처럼 사고하는 것이 공격으로부터 자신을 보호하는 데 필수라는 점이었기 때문에, 이 사실은 제게 다소 우려가 됩니다. 여러분을 상대로, 그리고 여러분이 보호하려는 환경에 대해 공격자가 활용할 수 있는 모든 도구를 사용해 보는 것보다, 공격자처럼 생각하는 더 좋은 방법이 있을까요?
Commando VM은 공격자처럼 사고하는 것을 쉽게 해줍니다. 최신의 유용한 도구와 스크립트를 패키지로 제공하여, 블루 팀이 그것들이 어떻게 동작하는지 교육하는 데 도움을 줍니다.
무엇에 사용할 수 있나요?
Commando VM에는 다양한 목적을 위한 여러 도구가 포함되어 있습니다. Commando VM이 지원할 수 있는 일부 범주는 다음과 같습니다:
- 정보 수집
- 익스플로잇(악용)
- 웹 애플리케이션 테스트
Commando VM을 설치하는 즉시, 아래에 나열된 모든 도구를 사용할 수 있게 됩니다.
정보 수집
정보 수집은 환경을 평가하는 과정에서 큰 비중을 차지합니다. 권한이 없는 공격자에게 무엇이 노출되어 있는지 파악하는 것은 무엇을 잠그고 보호해야 하는지 이해하는 데 핵심입니다. 알고 있으면 됩니다. 즉, 이러한 도구와 스크립트로 여러분이 그것을 볼 수 있다면, 그들도 마찬가지로 볼 수 있습니다.
- Nmap – 스캐닝과 열거(엔머레이션)는 환경을 이해하는 데 핵심입니다. Nmap 스캔 결과를 통해 네트워크에서 어떤 호스트를 사용할 수 있는지, 해당 호스트에서 어떤 서비스가 실행 중인지, 그리고 그 호스트에서 어떤 포트가 열려 있는지 확인할 수 있습니다.
- BloodHound – Active Directory 환경을 스캔하고, 권한 구성 때문에 존재할 수 있는 복잡한 공격 경로를 이해하는 것은 모든 블루 팀 담당자가 반드시 해야 할 일입니다. Bloodhound 같은 도구는 이러한 경로가 어디에 존재하는지 파악하고, 시정(복구) 조치를 효율적으로 우선순위화하는 데 도움이 됩니다.
익스플로잇
정찰을 어느 정도 수행했다면, 다음 단계는 발견한 내용을 악용해 보려는 것입니다. 예를 들어 특정 머신에 세션이 존재하거나 특정 사용자에게 권한이 존재한다는 것을 확인했다면, 그러한 권한이나 세션을 유리하게 활용할 수 있는 도구가 있습니다.
- Invoke-ACLpwn – 이 도구는 Bloodhound의 일부 기능을 활용해 AD에서 기존 권한 관계를 파악합니다. 그런 다음 이러한 권한을 찾아 자동으로 이를 연쇄적으로 악용해 권한을 Domain Admin까지 계속 상승시키려고 시도합니다.
- Mimikatz – 이 도구는 Windows와 Active Directory를 악용하며, 가장 흔히 Pass-the-Hash 또는 DCSync 같은 공격에 사용됩니다. 정보 수집을 통해 수행하는 세션 열거는 권한 상승을 위해 활용할 대상의 식별로 이어질 수 있습니다. 관리 권한 또는 그 이상의 권한을 가진 사용자가 본인이 접근 가능한 머신에 세션을 가지고 있다면, Mimikatz를 사용해 해당 계정에 액세스하고 권한을 상승시키거나 환경 전반에서 수평 이동을 수행할 수 있습니다.
웹 애플리케이션 테스팅
회사나 환경에서 내부 웹 애플리케이션을 사용한다면, 모의침투(침투 테스트)를 실행하는 것이 가장 유리합니다. 누군가가 귀하의 환경에 침투한 뒤 이러한 애플리케이션이 존재한다는 사실을 발견하면, Commando VM 도구를 사용해 취약점을 찾는 것이 비교적 쉬울 수 있습니다. 이 수업은 매우 중요합니다. 쉽게 발견되는 일부 취약점은 공식적인 대응(제휴)이나 점검이 시작되기 전에 사전에 해결할 수 있기 때문입니다.
- Burp Suite — 이 도구는 웹 애플리케이션의 취약점을 찾아내고 이를 악용하는 데 도움을 줍니다. 애플리케이션의 모든 웹 페이지를 탐색하는 동안 프록시/리스너를 간단히 설정하기만 하면, 취약점을 식별하고 설명하는 여러 자동 스캔을 바로 실행할 수 있습니다. 간단한 Burp Suite 스캔으로 발견된다면, 숙련된 공격자도 똑같이 찾아낼 수 있습니다.
Commando VM을 다운로드하면 이러한 도구들에 접근할 수 있으며, 각 도구가 무엇인지 그리고 어떤 범위까지 활용되는지 이해하는 것이 필수입니다. 그렇지 않으면 취약점을 식별하거나, 권한 관계를 파악하거나, 환경을 평가하는 데 어려움을 겪게 되어—결과적으로 공격에 취약해질 수 있습니다. 하지만 먼저, 도구에 어떻게 접근하는지 알아야 하며, 그 내용은 다음에 다루겠습니다.
Commando VM 설치 및 구성
이제까지 우리는 Commando VM에 대한 높은 수준의 개요, 이것이 중요한 이유, 그리고 설치 후 접근할 수 있는 기존 도구들 일부를 살펴보았습니다. 다음으로, 플랫폼의 설치와 구성 과정을 단계별로 다루겠습니다.
사전 요구 사항
Commando VM을 가상 또는 물리 머신에 설치할 수 있습니다. 하지만 배포, 관리, 사용이 더 쉽기 때문에 가상 머신을 사용하는 것을 권장합니다.. 가상 머신을 사용하면 진행 중에 스냅샷을 찍고, 발생한 문제로부터 언제든지 롤백할 수도 있습니다.
Commando VM을 실행하려면 몇 가지 최소 요구 사항을 충족해야 합니다. 제 테스트에서는 다음 구성을 사용했습니다:
- 저장공간 60GB
- 메모리 2GB
하지만 GitHub page를 보면 다음을 권장한다고 되어 있습니다:
- 저장 공간 80GB 이상
- 메모리 4GB 이상
- 네트워크 어댑터 2개
앞서 언급한 것처럼 Commando VN 패키지는 Windows 7 SP1 또는 Windows 10에 설치할 수 있으며, Windows 10에서는 더 많은 기능을 설치할 수 있습니다. 어느 경우든 시스템이 완전히 최신 패치가 적용되어 있는지 확인하세요. 또한 설치 프로세스를 시작하기 전에 스냅샷을 찍으십시오.
Commando VM 설치
다음에서 Commando VM을 다운로드할 수 있습니다: GitHub here.
다운로드가 완료되면 Commando VM은 다음의 세 가지 간단한 단계로 설치됩니다:
- 관리자 권한으로 PowerShell을 실행합니다.
- 다음 명령으로 실행 정책을 unrestricted로 설정합니다(기본적으로 비활성화되어 있음): Set-ExecutionPolicy unrestricted.
- commando-vm-master 패키지에서 ps1installation 스크립트를 실행하세요:
Commando VM 구성
보시는 것처럼 설치 스크립트를 실행하면 몇 가지 확인을 수행하고 설치 전에 스냅샷을 찍을지 묻습니다. 각 재부팅 이후에는 로그인하고 설치를 계속하기 위해 자격 증명을 요청합니다. 작업이 진행되는 동안 PowerShell 창이 무엇을 설치하는지 알려줍니다. 또한 자동으로 소프트웨어를 설치하는 동안 다양한 팝업이 표시됩니다. Commando VM은 침투 테스트에 사용되는 머신에서는 필요하지 않으므로, Windows에 기본으로 포함된 많은 기능을 제거하거나 비활성화합니다.
전체 과정은 시작부터 마무리까지 대략 한 시간 반 정도 걸리며, 5번 이상 재부팅합니다. 각 재부팅은 10~15분 정도 걸리고, 이 시간이 지나면 다시 부팅되어 자동으로 로그인한 뒤 더 많은 애플리케이션 설치를 계속합니다. 가상 머신의 리소스와 인터넷 속도에 따라 과정은 더 짧거나 더 길 수 있습니다. 새 배경화면과 명령 프롬프트로 다시 로그인하면 작업이 완료된 것입니다. 필요하다면 언제든지 새로 시작할 수 있도록 다시 한 번 스냅샷을 찍으세요.
설치와 재부팅 과정이 끝나면 다양한 도구들을 살펴볼 수 있습니다. 그런 다음 자신의 필요와 우려 사항을 반영하도록 설정을 구성할 수 있습니다.
포함된 도구 개요
앞서 언급했듯이 Commando VM에는 많은 도구가 포함되어 있습니다. 실제로 설치 과정에서 하드 드라이브에 2GB가 넘는 도구가 설치되었습니다. 다행히도 도구 목록은 카테고리별로 나뉘어 있어 필요한 도구를 쉽게 찾을 수 있습니다:
제가 특히 흥미롭게 느낀 몇 가지 도구는 다음과 같습니다:
- Active Directory 도구
- 원격 서버 관리 도구(Remote Server Administration Tools, RSAT)
- SQL Server 명령줄 유틸리티
- Sysinternals
- 정보 수집
- BloodHound
- nmap
- ADACLScanner
- 네트워킹 도구
- WireShark
- 악용
- PrivExchange
- Invoke-ACLPwn
- metasploit
- 비밀번호 공격
- DSInternals
- hashcat
- 도메인 비밀번호 스프레이
- mimikatz
- ASREPRoast
- 취약점 분석
- Grouper2
- zBang
- 웹 애플리케이션
- OWASP ZAP
- BurpSuite
FAQ
FireEye Commando VM이란 무엇인가요?
Commando VM은 Windows 운영 체제에 더 익숙한 침투 테스터를 위해 Mandiant FireEye가 만든 테스트 플랫폼입니다.
Commando VM 설치에는 얼마나 걸리나요?
Commando VM 설치에는 약 1시간 30분 정도 걸립니다.
공유하기
더 알아보기
저자 소개
Kevin Joyce
제품 관리 책임자
Netwrix의 제품 관리( Product Management ) 책임자입니다. Kevin은 사이버 보안에 대한 열정이 있으며, 특히 공격자들이 조직 환경을 악용하기 위해 사용하는 전술과 기술을 이해하는 데 집중합니다. Active Directory 및 Windows 보안에 초점을 맞춰 제품 관리 분야에서 8년의 경험을 쌓아, 조직이 Identity, 인프라 및 데이터를 보호할 수 있도록 솔루션을 구축하는 데 그 열정을 더했습니다.