
Offensive Docker는 공격 대상에 대한 평가를 쉽고 빠르게 수행할 수 있는 환경을 만들기 위해 가장 많이 사용되는 공격 도구들이 포함된 이미지입니다.
Offensive Docker는 침투 테스트 환경을 쉽고 빠르게 구축할 수 있는 자주 사용되는 도구들을 포함한 이미지입니다.
➡️ 참고: VPS (Google Cloud Platform 또는 Digital Ocean, 무료 크레딧 포함)에서 offensive docker를 실행하는 방법은 다음 저장소를 확인하세요. Offensive Docker VPS
프로젝트 wiki에서 문서를 확인하세요.
다음 두 가지 방법으로 Docker 이미지를 사용할 수 있습니다.
git clone --depth 1 https://github.com/aaaguirrep/offensive-docker.git
cd offensive-docker
docker build -t offensive-docker .
docker run --rm -it --name my-offensive-docker offensive-docker /bin/zsh
Docker Hub에서 이미지 사용: aaaguirrep/offensive-docker
docker pull aaaguirrep/offensive-docker
docker run --rm -it --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
이미지를 사용하는 다양한 사용 사례가 있으며, 컨테이너를 올바르게 실행하는 방법을 알아야 합니다.
HTB VPN을 통해 HTB (Hack the Box) 머신에 접속하려면 컨테이너를 사용하세요.
docker run --rm -it --cap-add=NET_ADMIN --device=/dev/net/tun --sysctl net.ipv6.conf.all.disable_ipv6=0 --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
로컬 디렉터리에서 컨테이너 디렉터리로 정보를 공유하고 로컬 디렉터리에 정보를 저장하려면 /offensive 디렉터리 아래에 정보를 저장해야 합니다.
docker run --rm -it -v /path/to/local/directory:/offensive --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
로컬 환경에 컨테이너 내부 서비스 (apache, squid)를 노출합니다.
docker run --rm -it --name my-offensive-docker -p 80:80 -p 3128:3128 aaaguirrep/offensive-docker /bin/zsh
컨테이너 내부에서 별칭을 사용하여 apache2 및 squid 서비스를 시작하세요.
apacheUp
squidUp
umount 명령을 사용하여 디렉터리를 마운트합니다.
docker run --rm -it --privileged --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
도구는 /tools 디렉터리에 다운로드됩니다.
다음과 같은 유용한 설정으로 Docker 이미지를 구성할 수 있습니다.
Docker에서 액세스 키, 토큰 또는 API 키를 사용하려면 다음 저장소를 확인하세요. Offensive Docker Custom
두 옵션을 모두 사용하려면 -v 옵션을 사용하여 로컬 디렉터리를 /offensive 컨테이너 디렉터리와 매핑해야 합니다.
Dockerfile의 "바로 가기 만들기" 단계에 다음 줄을 추가하고, 새 이미지를 빌드한 후 -v 옵션으로 새 컨테이너를 실행하세요.
RUN echo "alias vpnhtb=\"openvpn /offensive/path/to/ovpn/file\"" >> /root/.zshrc
다음 단계로 새 Dockerfile을 만들고, 새 이미지를 빌드한 후 -v 옵션으로 새 컨테이너를 실행하세요.
FROM aaaguirrep/offensive-docker
# Create a shortcut and load the ovpn file from workstation
RUN echo "alias vpnhtb=\"openvpn /offensive/path/to/ovpn/file\"" >> /root/.zshrc
컨테이너를 삭제하면 명령어 기록을 포함한 모든 정보가 삭제됩니다. 다음 구성은 로컬 환경에 명령어 기록을 저장하고 새 컨테이너 실행 시 불러오는 옵션을 제공합니다. 따라서 새 컨테이너를 실행할 때 명령어 기록이 손실되지 않습니다.
두 옵션을 모두 사용하려면 -v 옵션을 사용하여 로컬 디렉터리를 /offensive 컨테이너 디렉터리와 매핑해야 합니다.
Dockerfile의 "바로 가기 만들기" 단계에 다음 줄을 추가하고, 새 이미지를 빌드한 후 새 컨테이너를 실행하세요.
# Save and load command history in your local environment
RUN sed -i '1i export HISTFILE="/history/.zsh_history"' /root/.zshrc
다음 단계로 새 Dockerfile을 만들고, 새 이미지를 빌드한 후 새 컨테이너를 실행하세요.
FROM aaaguirrep/offensive-docker
# Save and load command history in your local environment
RUN sed -i '1i export HISTFILE="/history/.zsh_history"' /root/.zshrc
이미지는 다음 환경에서 테스트되었습니다.
Mac용 Docker 서비스
Docker version 19.03.13, build 4484c46d9d
Google Cloud Platform의 Linux 인스턴스용 Docker 서비스
Docker version 19.03.6, build 369ce74a3c
Digital Ocean의 Linux 드롭렛용 Docker 서비스
Docker version 19.03.6, build 369ce74a3c
컨테이너 디렉터리에 정보를 저장하지 마십시오. 컨테이너를 삭제하면 정보가 손실됩니다. 컨테이너 실행 시 -v 매개변수를 사용하여 로컬 환경에 정보를 저장해야 합니다. 예:
docker run --rm -it -v /path/to/local/directory:/offensive --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
위 명령은 로컬 디렉터리 경로를 /offensive 컨테이너 디렉터리와 매핑합니다. 모든 정보는 /offensive 디렉터리 아래에 저장해야 합니다.
CTF와 같은 통제된 환경에서 hashcat 및 john the ripper를 사용하십시오. 문제가 발생할 수 있습니다.
후원해 주셔서 감사합니다. 항상 감사드립니다.
커피를 마시면서 Docker 이미지에 추가할 도구를 더 확인합니다.
모든 기여자 여러분께 감사드립니다!
저작권 (c) 2020, Arsenio Aguirre