Repository navigation
Releases: johnathanhuutri/ADLab
Releases · johnathanhuutri/ADLab
Release list
Module 2 - Example 2
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
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 3 - Example 1
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
I have changed from docker-compose to docker compose for several files in this version to fit my own use