
하이퍼바이저 전용 WIP 포스트 익스플로잇 프레임워크.
Reave는 하이퍼바이저 엔드포인트에 특화된 사후 침투 프레임워크로, Python으로 작성되었습니다. 현재 개발 중입니다.
Reave는 전통적인 리스너/에이전트 모델을 따릅니다. 사용자는 여러 리스너를 설정할 수 있으며, 각 리스너는 다수의 에이전트를 수락할 수 있습니다. 현재 프레임워크는 Python 에이전트를 제공하며, 다음과 같은 기능을 지원합니다:
Reave의 목표는 가상화가 많이 이루어졌거나, 대상/중요 인프라가 ESXi, Proxmox와 같은 하이퍼바이저 플랫폼에 호스팅된 환경에서 침투 테스트 캠페인을 자동화하고 신속하게 진행할 수 있는 프레임워크를 제공하는 것입니다.
서버에서 app.py를 실행하기만 하면 됩니다:
python3 reave/app.py
대상 엔드포인트에서 agents/client.py에 위치한 Python 에이전트를 업로드하고 실행하십시오. 다음 설정 옵션을 사용할 수 있습니다:
_LISTENER_HOST 서버의 호스트명/IP_LISTENER_PORTS 에이전트가 라운드 로빈 방식으로 연결을 시도할 포트 목록_LISTENER_SECRET 에이전트가 바인딩될 리스너의 연결 키_AGENT_LOGLEVEL 디버그 로깅 레벨BEACON_INTERVAL 에이전트가 비콘을 보내는 간격BEACON_JITTER 비콘 간격에 추가되는 무작위 지터 계수START_TIME 에이전트가 비콘을 시작하는 시간END_TIME 에이전트가 비콘을 중지하는 시간SOCKET_TIMEOUT 에이전트 소켓의 타임아웃PID_FILE 에이전트가 이미 실행 중인지 확인하는 데 사용하는 PID 파일TRANSFER_BLOCK_SIZE 에이전트가 서버로 파일을 전송할 때 사용하는 블록 크기에이전트가 리스너에 성공적으로 연결되면, agent 컨텍스트로 진입하여 list (또는 ls) 명령어를 입력하여 확인할 수 있습니다. Reave가 엔드포인트에서 자동으로 수집한 모든 정보를 보려면 info <agent uuid> 명령어를 사용하십시오. 예를 들어 에이전트의 uuid가 18ab인 경우 info 18ab를 입력합니다.
에이전트에서 임의의 파일을 가져오려면 get 18ab /my/test/file을 입력할 수 있습니다.
엔드포인트에서 대화형 셸을 실행하려면 interact 18ab를 입력할 수 있습니다.
명령줄에는 각각 별도의 작업을 제어할 수 있는 세 가지 고유한 컨텍스트가 있습니다:
리스너 컨텍스트로 진입하려면 listener 명령어를 사용하십시오. 여기서 여러 옵션을 사용할 수 있습니다:
list 모든 활성 리스너 나열
add <host> <port> <secret> 리스너 추가
remove <uuid> 리스너 제거
이 컨텍스트를 종료하려면 back 명령어를 사용하십시오.
에이전트 컨텍스트로 진입하려면 agent 명령어를 사용하십시오. 여기서 여러 옵션을 사용할 수 있습니다:
list 모든 에이전트 나열 (별칭: ls)
info <uuid> 에이전트 정보 및 자동 수집 데이터 표시
interact <uuid> 에이전트와의 대화형 터미널 세션.
종료하려면 'quit' 입력
get <uuid> <file> 에이전트 엔드포인트에서 다운로드 디렉터리로 파일 전송
이 컨텍스트를 종료하려면 back 명령어를 사용하십시오.
페이로드 컨텍스트로 진입하려면 payload 명령어를 사용하십시오. 여기서 여러 옵션을 사용할 수 있습니다:
list 로드된 모든 페이로드 나열
info <name> 페이로드 정보 확인
use <name> 사용할 페이로드 선택
set <option> <value> 페이로드 옵션을 값으로 설정
run agent <uuid> 개별 에이전트에서 페이로드 실행
이 컨텍스트를 종료하려면 back 명령어를 사용하십시오.
Reave는 정보 수집 데이터를 표시할 형식을 정의하는 것도 지원합니다. 특정 형식으로 전환하려면:
format json 테이블 형식으로 정보 출력.
format table JSON 형식으로 정보 출력.