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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cloudmapper — CloudMapper는 Amazon Web Services (AWS) 환경을 분석하는 데 도움을 줍니다. | Kitploit
도구/GitHubGitHub/duo-labs/cloudmapper
Cloud Infrastructure SecurityVulnerability ScannersNetwork MappingConfiguration AuditingInformation GatheringCloud SecurityMisconfiguration
GitHubduo-labs/cloudmapper

cloudmapper

CloudMapper는 Amazon Web Services (AWS) 환경을 분석하는 데 도움을 줍니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CloudMapper

참고 네트워크 시각화 기능(명령어 prepare)은 더 이상 유지 관리되지 않습니다.

CloudMapper는 Amazon Web Services(AWS) 환경을 분석하는 데 도움을 줍니다. 원래 목적은 네트워크 다이어그램을 생성하여 브라우저에 표시하는 것이었습니다(더 이상 유지 관리되지 않음). 이제 보안 문제 감사를 포함한 훨씬 더 많은 기능이 포함되어 있습니다.

  • 네트워크 매핑 데모
  • 보고서 데모
  • 소개 게시물
  • 네트워크에서 잘못된 구성을 발견하는 게시물
  • 지속적 감사 수행 게시물

명령어

  • audit: 잠재적 잘못된 구성을 확인합니다.
  • collect: 계정에 대한 메타데이터를 수집합니다. 자세한 내용은 여기를 참조하십시오.
  • find_admins: IAM 정책을 확인하여 관리 사용자 및 역할, 또는 특정 권한이 있는 보안 주체를 식별합니다. 자세한 내용은 여기를 참조하십시오.
  • find_unused: 계정에서 사용되지 않는 리소스를 찾습니다. 사용되지 않는 보안 그룹, 탄력적 IP, 네트워크 인터페이스, 볼륨 및 탄력적 로드 밸런서를 찾습니다.
  • prepare/webserver: 네트워크 시각화 참조
  • public: 공용 호스트 및 포트 범위를 찾습니다. 자세한 내용은 여기를 참조하십시오.
  • sg_ips: 보안 그룹에서 신뢰하는 CIDR의 geoip 정보를 가져옵니다. 자세한 내용은 여기를 참조하십시오.
  • stats: 계정의 리소스 수를 표시합니다. 자세한 내용은 여기를 참조하십시오.
  • weboftrust: 신뢰 웹을 표시합니다. 자세한 내용은 여기를 참조하십시오.
  • report: HTML 보고서를 생성합니다. 계정 요약 및 감사 결과를 포함합니다. 자세한 내용은 여기를 참조하십시오.
  • iam_report: 계정의 IAM 정보에 대한 HTML 보고서를 생성합니다. 자세한 내용은 여기를 참조하십시오.

자체 개인 명령어를 추가하려면 private_commands 디렉토리를 만들고 추가하면 됩니다.

스크린샷

이상적인 레이아웃
보고서 스크린샷

설치

요구 사항:

  • python 3(3.7.0rc1에서 작동 확인됨), pip 및 virtualenv
  • 또한 jq(https://stedolan.github.io/jq/)와 라이브러리 pyjq(https://github.com/doloopwhile/pyjq)가 필요하며, 추가 도구를 설치해야 합니다. 이는 아래에 표시됩니다.

macOS에서:

root@kitploit:~
# clone the repo
git clone https://github.com/duo-labs/cloudmapper.git
# Install pre-reqs for pyjq
brew install autoconf automake awscli freetype jq libtool python3
cd cloudmapper/
python3 -m venv ./venv && source venv/bin/activate
pip install --prefer-binary -r requirements.txt

Linux에서:

root@kitploit:~
# clone the repo
git clone https://github.com/duo-labs/cloudmapper.git
# (AWS Linux, Centos, Fedora, RedHat etc.):
# sudo yum install autoconf automake libtool python3-devel.x86_64 python3-tkinter python-pip jq awscli
# (Debian, Ubuntu etc.):
# You may additionally need "build-essential"
sudo apt-get install autoconf automake libtool python3.7-dev python3-tk jq awscli
cd cloudmapper/
python3 -m venv ./venv && source venv/bin/activate
pip install -r requirements.txt

데모 데이터로 실행

소규모 데모 데이터 세트가 제공됩니다. 이를 통해 데모 사이트 https://duo-labs.github.io/cloudmapper/와 동일한 환경을 표시할 수 있습니다.

root@kitploit:~
# Generate the data for the network map
python cloudmapper.py prepare --config config.json.demo --account demo
# Generate a report
python cloudmapper.py report --config config.json.demo --account demo
python cloudmapper.py webserver

이렇게 하면 http://127.0.0.1:8000/에서 로컬 웹 서버가 실행됩니다. 해당 링크에서 네트워크 맵을 보거나 http://127.0.0.1:8000/account-data/report.html에서 보고서를 볼 수 있습니다.

설정

  1. 계정 정보를 구성합니다.
  2. AWS 계정에 대한 정보를 수집합니다.

1. 계정 설정

config.json.demo을 config.json으로 복사하고 편집하여 계정 ID와 이름(예: "prod") 및 외부 CIDR 이름을 포함시킵니다. CIDR은 IP 범위이며 1.2.3.4/32는 IP 1.2.3.4만을 의미합니다.

2. 계정에 대한 데이터 수집

이 단계에서는 CLI를 사용하여 describe 및 list 호출을 수행하고 json을 계정 데이터 아래의 계정 이름으로 지정된 폴더(account-data)에 기록합니다.

필요한 AWS 권한

CloudMapper가 사용할 수 있도록 AWS CLI에 사용할 AWS 자격 증명을 구성해야 합니다. 읽기 권한이 필요합니다. aws-vault를 권장합니다. CloudMapper는 IAM 정보를 수집하므로 MFA를 사용해야 합니다. collect 단계만 AWS 액세스가 필요합니다.

다음 권한이 필요합니다(다양한 메타데이터에 대한 읽기 액세스 권한 부여):

  • arn:aws:iam::aws:policy/SecurityAudit
  • arn:aws:iam::aws:policy/job-function/ViewOnlyAccess

데이터 수집

데이터 수집은 다음과 같이 수행됩니다:

root@kitploit:~
python cloudmapper.py collect --account my_account

데이터 분석

여기에서 다양한 명령어를 실행해 보세요. 예를 들어:

root@kitploit:~
python cloudmapper.py report --account my_account
python cloudmapper.py webserver

그런 다음 브라우저에서 127.0.0.1:8000/account-data/report.html로 보고서를 확인하세요.

추가 구성

설정 파일 생성

config.json을 직접 수정하는 대신 데이터를 구성하는 명령어가 있습니다. 필요한 경우 다음과 같이 사용할 수 있습니다:

root@kitploit:~
python cloudmapper.py configure {add-account|remove-account} --config-file CONFIG_FILE --name NAME --id ID [--default DEFAULT]
python cloudmapper.py configure {add-cidr|remove-cidr} --config-file CONFIG_FILE --cidr CIDR --name NAME

이를 통해 사용 환경에서 사용하는 다양한 AWS 계정과 알려진 CIDR IP를 정의할 수 있습니다.

AWS Organizations를 사용하는 경우 다음 명령어를 사용하여 조직 구성원 계정을 config.json에 자동으로 추가할 수도 있습니다:

root@kitploit:~
python cloudmapper.py configure discover-organization-accounts

이 명령어를 실행하기 전에 AWS CLI에 인증되어 있어야 하며 organization:ListAccounts 권한이 있어야 합니다.

감사 설정 재정의 사용

일부 감사 항목에 신경 쓰지 않는 경우가 있습니다. 검사 자체를 완전히 무시하거나 특정 리소스만 무시하려면 config/audit_config_override.yaml.example을 config/audit_config_override.yaml로 복사하고 파일의 주석에 따라 편집하십시오.

Docker 컨테이너 사용

생성된 Docker 컨테이너는 대화형으로 사용하도록 설계되었습니다.

root@kitploit:~
docker build -t cloudmapper .

Cloudmapper는 IAM 호출을 수행해야 하며 수집을 위해 세션 자격 증명을 사용할 수 없습니다. 따라서 데이터를 수집하려면 aws-vault 서버를 사용할 수 없으며, 역할 자격 증명을 직접 전달하거나 컨테이너 내에서 수동으로 AWS 자격 증명을 구성해야 합니다. 다음 코드는 컨테이너 내에서 원시 자격 증명을 노출합니다.

root@kitploit:~
(                                                              
    export $(aws-vault exec YOUR_PROFILE --no-session -- env | grep ^AWS | xargs) && \ 
    docker run -ti \
        -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
        -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
        -p 8000:8000 \
        cloudmapper /bin/bash
)

컨테이너 안으로 들어갑니다. aws sts get-caller-identity를 실행하여 설정이 올바르게 되었는지 확인합니다. CloudMapper 데모 데이터는 Docker 컨테이너에 복사되지 않으므로 시스템에서 실시간 데이터를 수집해야 합니다. Docker 기본값은 컨테이너에 사용 가능한 메모리를 제한할 수 있습니다. 예를 들어 Mac OS에서는 기본값이 2GB로 중간 규모 계정에 대한 보고서를 생성하기에는 충분하지 않을 수 있습니다.

root@kitploit:~
python cloudmapper.py configure add-account --config-file config.json --name YOUR_ACCOUNT --id YOUR_ACCOUNT_NUMBER
python cloudmapper.py collect --account YOUR_ACCOUNT
python cloudmapper.py report --account YOUR_ACCOUNT
python cloudmapper.py prepare --account YOUR_ACCOUNT
python cloudmapper.py webserver --public

그런 다음 http://127.0.0.1:8000/account-data/report.html을 방문하여 보고서를 볼 수 있습니다.

환경 감사를 위해 CloudMapper 정기적으로 실행

CDK 앱을 통해 CloudMapper를 Fargate에 배포하여 매일 밤 실행하고, 감사 결과를 Slack 채널에 알림으로 보내며, S3에 저장된 보고서를 생성하는 방법은 여기에 설명되어 있습니다.

대안

네트워크 다이어그램의 경우 https://github.com/lyft/cartography 또는 https://github.com/anaynayak/aws-security-viz를 시도해 볼 수 있습니다.

감사 및 기타 AWS 보안 도구는 https://github.com/toniblyx/my-arsenal-of-aws-security-tools를 참조하세요.

라이선스

  • cytoscape.js: MIT https://github.com/cytoscape/cytoscape.js/blob/master/LICENSE
  • cytoscape.js-qtip: MIT https://github.com/cytoscape/cytoscape.js-qtip/blob/master/LICENSE
  • cytoscape.js-grid-guide: MIT https://github.com/iVis-at-Bilkent/cytoscape.js-grid-guide
  • cytoscape.js-panzoom: MIT https://github.com/cytoscape/cytoscape.js-panzoom/blob/master/LICENSE
  • jquery: JS Foundation https://github.com/jquery/jquery/blob/master/LICENSE.txt
  • jquery.qtip: MIT https://github.com/qTip2/qTip2/blob/master/LICENSE
  • cytoscape-navigator: MIT https://github.com/cytoscape/cytoscape.js-navigator/blob/c249bd1551c8948613573b470b30a471def401c5/bower.json#L24
  • cytoscape.js-autopan-on-drag: MIT https://github.com/iVis-at-Bilkent/cytoscape.js-autopan-on-drag
  • font-awesome: MIT http://fontawesome.io/
  • FileSave.js: MIT https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md
  • circular-json: MIT https://github.com/WebReflection/circular-json/blob/master/LICENSE.txt
  • rstacruz/nprogress: MIT https://github.com/rstacruz/nprogress/blob/master/License.md
  • mousetrap: Apache https://github.com/ccampbell/mousetrap/blob/master/LICENSE
  • akkordion MIT https://github.com/TrySound/akkordion/blob/master/LICENSE
도구 다운로드
결과 요약
결과 IAM 보고서
명령줄 감사 명령줄 공용 명령어