
HTTP 기반 명령 및 제어 서버로, 종단 간 암호화, 에이전트 관리, 그리고 명령 전송 및 출력 확인을 위한 내장 웹 프론트엔드를 제공합니다.

$\textcolor{red}{\text{이 도구는 윤리적 목적으로만 사용해야 합니다!}}$
Mothership C2는 파이썬으로 작성된 명령 및 제어 서버입니다.
다음은 프론트엔드의 샘플 스크린샷입니다. 내장 터미널과 에이전트 생성/삭제 기능이 있습니다. 프론트엔드를 실행하려면 webapp 디렉토리로 이동하여 docker compose up을 실행하세요.
API에 대한 문서입니다.
클라이언트 측의 모든 엔드포인트는 관리자 JWT가 필요합니다.
/api/config데이터베이스가 기본 호스트가 아닌 다른 호스트에 있는 경우 데이터베이스를 구성합니다.
{
"host": "localhost",
"port": "6379",
"db": "0"
}
예시 응답:
{"response": "config updated!"}
/api/db/priv_key명령 응답을 복호화할 수 있도록 데이터베이스의 개인 키를 가져옵니다.
예시 응답:
{"response": "server private key"}
/api/connections/<agent_id>/command에이전트에 명령을 보냅니다.
{
"command": "string",
"directory": ""
}
예시 출력:
200
/api/connections/list데이터베이스의 모든 연결을 나열합니다.
예시 응답:
{"response": ["agent1", "agent2"]}
/api/connections/<agent_id>/output명령의 출력을 가져옵니다.
예시 응답:
{"response": decrypted}
/api/connections/<agent_id>/close에이전트와의 연결을 종료합니다.
예시 응답:
{"response": "deleted agent123!"}
/api/connections/create새 에이전트가 연결할 새 에이전트 ID를 생성합니다.
예시 응답:
{"response": "a52a7cca-5ca9-46ed-98c0-3ee694a97e45"}
/api/connections/<agent_id>/info연결에 대한 정보(OS, 공개 키, 명령, 명령 출력, 명령 기록, 서버 측 공개 키)를 가져옵니다.
예시 응답:
{"response":
{
"history": "",
"OS": "linux",
"pubKey": "0x000000",
"serverKey": "0x00000"
}
}
/api/connections/register에이전트 등록
{
"hashedID": "string",
"public_key": "string",
"target_os": "string"
}
/api/connections/<hashed_agent_id>/command에이전트가 실행할 셸 명령을 가져옵니다. 에이전트가 받는 명령은 암호화되어 있습니다. 명령을 해독하는 방법은 에이전트 코드를 참조하세요.
예시 응답:
{"response": "command"}
/api/connections/<hashed_agent_id>/output명령 출력을 보냅니다. 출력은 API에 의해 암호화되며, 클라이언트가 요청할 때 해독됩니다.
{
"command_output": "string"
}