Giter Club home page Giter Club logo

offensive-docker's Introduction

Offensive Docker


GitHub code size in bytes GitHub repo size GitHub last commit GitHub issues GitHub contributors GitHub

Docker Cloud Build Status Docker Automated build Docker Pulls Docker Image Size (latest by date) Docker Image Version (latest by date) Docker Stars

Discord

Offensive Docker is an image with the more used tools to create an pentest environment easily and quickly.

➑️ Note: Check out the next repo to know how to launch offensive docker in a VPS in Google Cloud Platform or Digital Ocean (free credit included). Offensive Docker VPS

Table of Contents

Links

Features

  • OS, networking, developing and pentesting tools installed.
  • Connection to HTB (Hack the Box) vpn to access HTB machines.
  • Popular wordlists installed: SecLists, dirb, dirbuster, fuzzdb, wfuzz and rockyou.
  • Proxy service to send traffic from any browsers and burp suite installed in your local directory.
  • Exploit database installed.
  • Tool for cracking password.
  • Linux enumeration tools installed.
  • Tools installed to discovery services running.
  • Tools installed to directory fuzzing.
  • Monitor for linux processes without root permissions
  • Zsh shell installed.

Requirements

  • Docker service installed

Tools installed

Operative system tools

  • rdate
  • vim
  • zsh
  • oh-my-zsh
  • locate
  • cifs-utils
  • htop
  • tree
  • gotop
  • fcrackzip

Network tools

  • traceroute
  • telnet
  • net-tools
  • iputils-ping
  • tcpdump
  • openvpn
  • whois
  • host
  • prips
  • dig

Developer tools

  • git
  • curl
  • wget
  • ruby
  • go
  • python
  • python-pip
  • python3
  • python3-pip
  • php
  • aws-cli
  • tojson
  • nodejs

πŸ”ͺ Offensive tools

Port scanning

πŸ” Recon

Subdomains
Subdomain takeover
DNS Lookups
πŸ“· Screenshot
πŸ•ΈοΈ Crawler
πŸ“ Search directories
Fuzzer
Web Scanning
CMS
Search JS

Wordlist

Git repositories

OWASP

πŸ“± Mobile

Brute force

Cracking

OS Enumeration

Exploits

Windows

Reverse shell

Other resources

Forensic

Custom functions

Other services

  • apache2
  • squid
  • ssh
  • rsyslog

Reporting tools

  • Latex

πŸ“ Documentation

See the project's wiki for documentation.

πŸ› οΈ Usage

You can use the docker image by the next two options:

Option 1 - Use the github repository

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

Option 2 - Use the image from docker hub

Use image from docker hub: aaaguirrep/offensive-docker

docker pull aaaguirrep/offensive-docker
docker run --rm -it --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh

Considerations to run the container

There are differents use cases for use the image and you should know how to run the container properly.

  1. Use the container to access HTB (Hack the Box) machines by HTB vpn.

     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
    
  2. Share information from your local directory to container directory and save information on your local directory. You should save information under /offensive directory.

     docker run --rm -it -v /path/to/local/directory:/offensive --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
    
  3. Expose internal container services (apache, squid) for your local environment.

     docker run --rm -it --name my-offensive-docker -p 80:80 -p 3128:3128 aaaguirrep/offensive-docker /bin/zsh
    

    Inside the container start apache2 and squid services by the aliases.

     apacheUp
     squidUp
    
  4. Mount directories by umount command.

     docker run --rm -it --privileged --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
    
  5. Tools are downloaded in /tools directory.

βš™οΈ Nice configurations

You can set up the docker image with nice configurations like as:

1. Configure credentials in the docker

To use access keys, tokens or API Keys in the docker review the next repo Offensive Docker Custom

2. Alias to connect to HTB (Hack the Box) VPN

To use both options you should use -v option to map local directoty with /offensive container directory.

Option 1 - HTB VPN using github repository

Add the next line in step "Create shorcuts" in Dockerfile, build a new image and run a new container with the -v option.

RUN echo "alias vpnhtb=\"openvpn /offensive/path/to/ovpn/file\"" >> /root/.zshrc

Option 2 - HTB VPN using docker hub image

Create a new Dockerfile with the next steps, build a new image and run a new container with -v option.

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

3. Save and load command history in your local environment

When you delete a container all information is deleted incluide command history. The next configuration provides you an option for save the command history in your local environment and load it when you run a new container. So, you wont lose your command history when run a new container.

To use both options you should use -v option to map local directoty with /offensive container directory.

Option 1 - Command history using github repository

Add the next line in step "Create shorcuts" in Dockerfile, build a new image and run a new container.

# Save and load command history in your local environment
RUN sed -i '1i export HISTFILE="/history/.zsh_history"' /root/.zshrc

Option 2 - Command history using docker hub image

Create a new Dockerfile with the next steps, build a new image and run a new container.

FROM aaaguirrep/offensive-docker

# Save and load command history in your local environment
RUN sed -i '1i export HISTFILE="/history/.zsh_history"' /root/.zshrc

βœ… Environment tested

The image was tested in the following environments:

  • Docker service for Mac Docker version 19.03.13, build 4484c46d9d

  • Docker service for Linux instance on Google Cloud Platform Docker version 19.03.6, build 369ce74a3c

  • Docker service for Linux droplet on Digital Ocean Docker version 19.03.6, build 369ce74a3c

⚠️ Warning

  • Do not save information on container directories because it will be lost after delete the container, you should save information in your local environment using the parameter -v when you run the container. For instance:

    docker run --rm -it -v /path/to/local/directory:/offensive --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
    

    The above command specify a path local directory mapped with /offensive container directory. You should save all information under /offensive directory.

  • Use hashcat and john the ripper on controlled environments as CTF. You can experiment issues.

β˜• Donations

Thanks for your donations, are always appreciated.

While I drink the coffee I check more tools to add in the docker image.

Buy me a coffee

Contributors

Thank you to all our contributors!

Contributing

Contributing Guide

πŸ“ˆ Stargazers over time

Stargazers over time

License

MIT

Copyright (c) 2020, Arsenio Aguirre

offensive-docker's People

Contributors

aaaguirrep avatar atastycookie avatar biennd279 avatar ciph3rz avatar hackadvisermx avatar harshitm98 avatar martinclauss avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

offensive-docker's Issues

Download the CH34x Driver Sources & Install on Raspberry PI

Download the CH34x Driver Sources
On the Raspberry Pi, go to http://www.wch.cn/download/CH341SER_LINUX_ZIP.html and click that big blue Download button. This is the manufacturer's website, but it's all in Chinese.

Prepare the Kernel Build Environment

sudo apt-get -y install linux-headers-rpi
sudo apt-get install rpi-update
sudo rpi-update

_ reboot here, you're on the latest kernel_

sudo wget https://raw.githubusercontent.com/notro/rpi-source/master/rpi-source -O /usr/bin/rpi-source && sudo chmod +x /usr/bin/rpi-source && /usr/bin/rpi-source -q --tag-update

sudo apt-get install bc
sudo apt-get install libncurses5-dev

rpi-source

Build the Driver Module

unzip the driver sources archive
cd into the new directory
make

Issue during gobuster installation

While installing gobuster during the docker build process, the following error occurs:

---> Running in b59b1ebf9a92
'# github.com/OJ/gobuster/libgobuster
/root/go/src/github.com/OJ/gobuster/libgobuster/http.go:114:15: undefined: io.ReadAll
/root/go/src/github.com/OJ/gobuster/libgobuster/http.go:122:25: undefined: io.Discard

This appears to be related to version of golang being installed in the dockerfile.
https://githubmemory.com/repo/OJ/gobuster/issues/283
Look like installing golang 1.16 will fix this error

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.