Skip to content

Releases: johnathanhuutri/ADLab

Module 2 - Example 2

Choose a tag to compare

@johnathanhuutri johnathanhuutri released this 18 Oct 08:34

Tested on Ubuntu 22.04

Checker

Done!

Service

Done! All services don't require SSH public key to put flag

  • pwn1 (port 50001)
  • web1 (port 1337)
  • web2 (port 8080)

ForcAD config

Below is a tested config of file config.yml for ForcAD

admin:
  username: forcad
  password: forcad
game:
  checkers_path: /checkers/
  default_score: 2500.0
  env_path: ''
  flag_lifetime: 5
  game_hardness: 10.0
  inflation: true
  mode: classic
  round_time: 60
  start_time: 2024-07-04 19:00:00
  timezone: Asia/Ho_Chi_Minh
tasks:
- checker: pwn01/checker.py
  checker_timeout: 10
  checker_type: pfr
  gets: 2
  name: pwn01
  places: 3
  puts: 2
- checker: web01/checker.py
  checker_timeout: 10
  checker_type: pfr
  gets: 2
  name: web01
  places: 3
  puts: 2
- checker: web02/checker.py
  checker_timeout: 10
  checker_type: pfr
  gets: 2
  name: web02
  places: 3
  puts: 2
teams:
- highlighted: false
  ip: 10.254.1.1
  name: Team 1
- highlighted: false
  ip: 10.254.2.1
  name: Team 2

Nginx for routing

worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
        worker_connections 768;
}

stream {
    # Team 1
    server {
        listen 40101;
        proxy_pass 10.254.1.1:50001;
    }
    server {
        listen 40102;
        proxy_pass 10.254.1.1:1337;
    }
    server {
        listen 40103;
        proxy_pass 10.254.1.1:8080;
    }

    # Team 2
    server {
        listen 40201;
        proxy_pass 10.254.2.1:50001;
    }
    server {
        listen 40202;
        proxy_pass 10.254.2.1:1337;
    }
    server {
        listen 40203;
        proxy_pass 10.254.2.1:8080;
    }
}

Module 2 - Example 1

Choose a tag to compare

@johnathanhuutri johnathanhuutri released this 03 May 22:16

Tested on Ubuntu 22.04

Checker

Done!

Service

Done! All services don't require SSH public key to put flag

  • pwn1 (port 9001)
  • pwn2 (port 9002)
  • web1 (port 8888)
  • web2 (port 8008)

ForcAD config

Below is a tested config of file config.yml for ForcAD

admin:
  username: forcad
  password: forcad
game:
  checkers_path: /checkers/
  default_score: 2500.0
  env_path: ''
  flag_lifetime: 5
  game_hardness: 10.0
  inflation: true
  mode: classic
  round_time: 60
  start_time: 2024-07-04 19:00:00
  timezone: Asia/Ho_Chi_Minh
tasks:
- checker: pwn01/checker.py
  checker_timeout: 10
  checker_type: hackerdom
  gets: 2
  name: pwn01
  places: 3
  puts: 2
- checker: pwn02/checker.py
  checker_timeout: 25
  checker_type: pfr
  gets: 1
  name: pwn02
  places: 1
  puts: 1
- checker: web01/checker.py
  checker_timeout: 10
  checker_type: hackerdom
  gets: 2
  name: web01
  places: 3
  puts: 2
- checker: web02/checker.py
  checker_timeout: 10
  checker_type: pfr
  gets: 2
  name: web02
  places: 3
  puts: 2
teams:
- highlighted: false
  ip: 10.254.1.1
  name: Team 1
- highlighted: false
  ip: 10.254.2.1
  name: Team 2

Nginx for routing

worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
        worker_connections 768;
}

stream {
    # Team 1
    server {
        listen 40101;
        proxy_pass 10.254.1.1:9001;
    }
    server {
        listen 40102;
        proxy_pass 10.254.1.1:9002;
    }
    server {
        listen 40103;
        proxy_pass 10.254.1.1:8888;
    }
    server {
        listen 40104;
        proxy_pass 10.254.1.1:8008;
    }

    # Team 2
    server {
        listen 40201;
        proxy_pass 10.254.2.1:9001;
    }
    server {
        listen 40202;
        proxy_pass 10.254.2.1:9002;
    }
    server {
        listen 40203;
        proxy_pass 10.254.2.1:8888;
    }
    server {
        listen 40204;
        proxy_pass 10.254.2.1:8008;
    }
}

Topology

module 2 - topology

Module 3 - Example 1

Module 3 - Example 1 Pre-release
Pre-release

Choose a tag to compare

@johnathanhuutri johnathanhuutri released this 03 May 21:15

Service

All services require SSH public key to put flag

  • team 1 - web 1 (port 10101) - ssh (port 10121)
  • team 1 - web 2 (port 10102) - ssh (port 10122)
  • team 2 - web 1 (port 10201) - ssh (port 10221)
  • team 2 - web 2 (port 10202) - ssh (port 10222)

Checker

Not checked!

Config

Sample of config.yml for ForcAD

admin:
  username: forcad
  password: forcad

game:
  mode: classic
  round_time: 20
  start_time: 2024-10-25 09:10:00
  timezone: Etc/UTC

  default_score: 2500
  flag_lifetime: 1
  game_hardness: 10.0
  inflation: true

tasks:
  - checker: web1/checker.py
    checker_timeout: 10
    checker_type: hackerdom
    gets: 2
    name: web1
    places: 2
    puts: 2

  - checker: web2/checker.py
    checker_timeout: 10
    checker_type: hackerdom
    gets: 2
    name: web2
    places: 2
    puts: 2

teams:
  - ip: 192.168.0.1
    name: "Team 1"

  - ip: 192.168.0.2
    name: "Team 2 (highlighted)"
    highlighted: true

ForcAD

Choose a tag to compare

@johnathanhuutri johnathanhuutri released this 15 Nov 03:57

I have changed from docker-compose to docker compose for several files in this version to fit my own use