
AWS 익스플로잇 프레임워크, Amazon Web Services 환경의 보안 테스트를 위해 설계되었습니다.
도움 받을 곳: Rhino Security Labs Discord 또는 Stack Overflow
유지 관리: Rhino Security Labs
Pacu는 AWS 환경에 대한 공격적 보안 테스트를 위해 설계된 오픈소스 AWS 익스플로잇 프레임워크입니다. Rhino Security Labs에서 만들고 유지 관리하며, 침투 테스터가 모듈을 사용하여 AWS 계정 내 구성 결함을 쉽게 악용할 수 있도록 합니다. 현재 모듈은 사용자 권한 상승, IAM 사용자 백도어, 취약한 Lambda 함수 공격 등 다양한 공격을 가능하게 합니다.
Pacu는 비교적 가벼운 프로그램으로, Python3.7+와 pip3만 있으면 몇 가지 Python 라이브러리를 설치하여 사용할 수 있습니다.
pip3 install -U pip
pip3 install -U pacu
pacu
이는 Kali Linux를 사용할 때 선호되는 방법입니다. pip가 더 이상 기본으로 설치되지 않기 때문입니다. 이 방법은 공식 릴리스에 포함되지 않을 수 있는 최신 업데이트와 함께 Pacu를 설치합니다.
pipx install git+https://github.com/RhinoSecurityLabs/pacu.git
더 자세하고 사용자 친화적인 설치 설명은 Wiki의 설치 가이드를 확인하세요.
docker run -it rhinosecuritylabs/pacu:latest
docker run -it --entrypoint /bin/sh rhinosecuritylabs/pacu:latest
참고: 이 명령을 실행하면 로컬 AWS 설정 파일이 Docker 컨테이너에 마운트됩니다. 따라서 컨테이너에 접근할 수 있는 사용자는 호스트 컴퓨터의 AWS 자격 증명에 접근할 수 있게 됩니다.
docker run -it -v ~/.aws:/root/.aws rhinosecuritylabs/pacu:latest
Pacu를 처음 실행하면 새 세션을 시작하고 이름을 지정하라는 메시지가 표시됩니다. 이 세션은 AWS 키 쌍과 다양한 모듈 실행으로 얻은 데이터를 저장하는 데 사용됩니다. Pacu에서 여러 개의 다른 세션을 가질 수 있으며, 각각 고유한 AWS 키와 데이터 집합을 가지며, 언제든지 세션을 재개할 수 있습니다(현재 세션 간 전환을 위해서는 재시작이 필요합니다).
모듈은 AWS 키가 필요합니다. 이 키는 액세스 키 ID와 시크릿 액세스 키로 구성되며 AWS 환경에 대한 최소한의 접근 권한을 부여합니다. 세션의 키를 설정하려면 set_keys 명령을 사용하고 프롬프트에 따라 키 별칭(참조용 닉네임), AWS 액세스 키 ID, AWS 시크릿 액세스 키, AWS 세션 토큰(사용하는 경우)을 입력합니다.
도움이 필요하면 help를 입력하여 사용 가능한 명령 목록을 확인하세요.
list는 현재 세션에 설정된 리전에 사용 가능한 모듈을 나열합니다.help module_name은 지정된 모듈에 대한 도움말 정보를 반환합니다.run module_name은 기본 매개변수로 지정된 모듈을 실행합니다.run module_name --regions eu-west-1,us-west-1은 지정된 모듈을 eu-west-1 및 us-west-1 리전에 대해 실행합니다(--regions 인수를 지원하는 모듈의 경우)pacu --help는 도움말 메뉴를 표시합니다pacu --session <세션 이름>은 명령에 필요한 세션을 설정합니다pacu --list-modules는 사용 가능한 모든 모듈을 나열합니다(세션 불필요)pacu --pacu-help는 Pacu 도움말 창을 표시합니다(세션 불필요)pacu --module-name <모듈 이름>은 작업을 수행할 모듈의 이름입니다. 모듈을 실행하거나 정보를 얻을 수 있습니다pacu --exec는 --module-name에 제공된 모듈을 실행합니다pacu --module-info는 --module-name에 제공된 모듈에 대한 정보를 얻습니다pacu --data <서비스 이름 || all>은 로컬 SQLAlchemy 데이터베이스를 쿼리하여 열거된 정보를 검색합니다pacu --module-args="<인수1> <값> <인수2> <값>"은 실행 중인 모듈에 선택적 모듈 인수를 제공합니다pacu --set-regions <리전1 리전2 || all>은 세션에서 사용할 리전을 설정합니다. 리전을 공백으로 구분하거나 을 입력하여 모든 리전을 설정합니다Pacu는 다양한 플러그인 모듈을 사용하여 AWS 환경 내에서 열거, 권한 상승, 데이터 유출, 서비스 악용 및 로그 조작을 지원합니다. 새 모듈에 대한 기여나 아이디어를 환영합니다.
지속적인 AWS 제품 개발에 맞춰 Pacu는 처음부터 확장성을 염두에 두고 설계되었습니다. 공통 구문과 데이터 구조를 사용하여 모듈을 쉽게 구축하고 확장할 수 있습니다. AWS 리전을 지정하거나 모듈 간에 중복 권한 검사를 수행할 필요가 없습니다. 로컬 SQLite 데이터베이스를 사용하여 검색된 데이터를 관리 및 조작하여 API 호출(및 관련 로그)을 최소화합니다. 보고 및 공격 감사도 프레임워크에 내장되어 있습니다. Pacu는 명령 로깅 및 내보내기를 통해 문서화 과정을 지원하여 테스트 프로세스의 타임라인을 구축하는 데 도움을 줍니다.
Pacu 프레임워크 자체의 버그 보고, 다양한 모듈에 대한 테스트 및 피드백, 그리고 일반적으로 프레임워크 개선을 위한 비판적 피드백을 항상 환영합니다. Pacu를 사용, 테스트, 개선하거나 소문을 퍼뜨리는 방식으로 지원해 주시면 매우 감사하겠습니다.
Pacu 프레임워크에 직접 기여하는 데 관심이 있으시다면, 코드 규칙과 git-flow 노트를 위해 기여 가이드라인을 읽어주세요.
Pacu용 모듈을 직접 작성하는 데 관심이 있다면 모듈 개발 위키 페이지를 확인하세요. 새로운 기능을 개발하시면 저희에게 연락해 주세요. Pacu에 포함된 핵심 컬렉션에 여러분의 새 모듈을 추가하고 싶습니다.
워크스루 및 전체 문서는 Pacu 위키를 방문하세요.
allpacu --whoami는 현재 사용자에 대한 정보를 얻습니다