felbinger / Armitage

Dockerized Armitage Teamserver

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dockerized Armitage Teamserver

docker-compose.yml

Standalone

version: '3'
services:
  postgres:
    image: postgres:latest
    restart: always
    environment:
      - "POSTGRES_HOST_AUTH_METHOD=trust"
      - "POSTGRES_DB=msf"
    volumes:
      - "postgres-data:/var/lib/postgresql/data:Z"

  armitage:
    image: ghcr.io/felbinger/armitage
    restart: always
    depends_on:
      - postgres
    ports:
      - "4000-4100:4000-4100"         # exploitation ports
      - "55553:55553"                 # teamserver ports
    environment:
      - "LHOST=123.123.123.123"       # your external ip, required for teamserver start, default is container ip
      - "ARMITAGE_PASSWORD=secret"    # password for the teamserver

volumes:
  postgres-data:

with OpenVPN

version: '3'
services:
  postgres:
    image: postgres:latest
    restart: always
    environment:
      - "POSTGRES_HOST_AUTH_METHOD=trust"
      - "POSTGRES_DB=msf"
    volumes:
      - "postgres-data:/var/lib/postgresql/data:Z"

  armitage:
    image: ghcr.io/felbinger/armitage
    restart: always
    depends_on:
      - postgres
    network_mode: service:openvpn
    environment:
      - "LHOST=123.123.123.123"       # your external ip, required for teamserver start, default is container ip
      - "ARMITAGE_PASSWORD=secret"    # password for the teamserver

  openvpn:
    image: dperson/openvpn-client
    restart: always
    ports:
      - "55553:55553"                 # teamserver port
    volumes:
      - "./hackthebox.ovpn:/vpn/htb.conf:ro"
    cap_add:
      - "NET_ADMIN"
    devices:
      - "/dev/net/tun:/dev/net/tun"
    sysctls:
      - "net.ipv6.conf.all.disable_ipv6=0"    # I couldn't get it working with ipv6 support yet...


volumes:
  postgres-data:

Environment Variables

Name Description Default Value
PG_HOST PostgreSQL hostname (another container) postgres
PG_PORT PostgreSQL port 5432
PG_USER PostgreSQL username postgres
PG_PASSWORD PostgreSQL password (can't be empty even if authentication method is trust!) msf
PG_DATABASE PostgreSQL database name msf
ARMITAGE_CN X.509 Common Name Armitage Hacker
ARMITAGE_OU X.509 Organizational Unit FastAndEasyHacking
ARMITAGE_O X.509 Organization Name Armitage
ARMITAGE_L X.509 Locality Somewhere
ARMITAGE_S X.509 State Cyberspace
ARMITAGE_C X.509 Country Earth
ARMITAGE_PASSWORD Teamserver Password

TODO

  • postgres password authentication (without trust) does not work.
  • ipv6 vpn support

About

Dockerized Armitage Teamserver


Languages

Language:Shell 84.3%Language:Dockerfile 15.7%