From 825a3fb68289e6a5154cdedeaa1a7a14c9ebfe24 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Mon, 7 Feb 2011 13:10:02 -0700 Subject: [PATCH] Packages set their own IPs --- .../ctfbase/service/{ctf/update-tokens => ctfd/ctfd} | 12 ++++++++++++ packages/ctfbase/service/{ctf => ctfd}/log/run | 0 packages/ctfbase/service/{ctf => ctfd}/run | 4 ++-- packages/logger/service/logger/run | 2 +- packages/mcp/service/tokend/run | 2 +- packages/octopus/service/octopus/run | 2 +- packages/printf/service/printf/run | 2 +- packages/pwnables/service/pwnables/run | 2 +- 8 files changed, 19 insertions(+), 7 deletions(-) rename packages/ctfbase/service/{ctf/update-tokens => ctfd/ctfd} (56%) rename packages/ctfbase/service/{ctf => ctfd}/log/run (100%) rename packages/ctfbase/service/{ctf => ctfd}/run (74%) diff --git a/packages/ctfbase/service/ctf/update-tokens b/packages/ctfbase/service/ctfd/ctfd similarity index 56% rename from packages/ctfbase/service/ctf/update-tokens rename to packages/ctfbase/service/ctfd/ctfd index 0826283..11e724e 100755 --- a/packages/ctfbase/service/ctf/update-tokens +++ b/packages/ctfbase/service/ctfd/ctfd @@ -1,6 +1,7 @@ #! /bin/sh while true; do + # Get new tokens for dn in /opt/*/tokens/*; do [ -d $dn ] || continue puzzle=$(basename $dn) @@ -9,5 +10,16 @@ while true; do -e /opt/tokens/bin/tokencli $category $dn/category.key 3>&1 | \ /opt/tokens/bin/arc4 $dn/enc.key > /var/lib/ctf/tokens/$puzzle done + + # Fetch list of teams + wget -q -P /var/lib/ctf http://10.0.0.2/teams.txt & + + # Archive state + state=/var/www/state.tar.gz.rc4 + tar cf - /var/lib/ctf | \ + gzip -c | \ + KEY='crashmaster' arc4 > $state.tmp + mv $state.tmp $state + sleep 60 done diff --git a/packages/ctfbase/service/ctf/log/run b/packages/ctfbase/service/ctfd/log/run similarity index 100% rename from packages/ctfbase/service/ctf/log/run rename to packages/ctfbase/service/ctfd/log/run diff --git a/packages/ctfbase/service/ctf/run b/packages/ctfbase/service/ctfd/run similarity index 74% rename from packages/ctfbase/service/ctf/run rename to packages/ctfbase/service/ctfd/run index 5b18d10..431f9f9 100755 --- a/packages/ctfbase/service/ctf/run +++ b/packages/ctfbase/service/ctfd/run @@ -2,11 +2,11 @@ exec 2>&1 -# Set up networking for all CTF packages +# Set up networking for all CTF ip ip link set eth0 up if ! ip route | grep -q default; then ip route add default via 10.0.0.1 || exit 1 fi install -o root -m 0755 -d /var/lib/ctf/tokens -exec ./update-tokens +exec ./ctfd diff --git a/packages/logger/service/logger/run b/packages/logger/service/logger/run index 040e9bc..f0bf6ab 100755 --- a/packages/logger/service/logger/run +++ b/packages/logger/service/logger/run @@ -2,5 +2,5 @@ exec 2>&1 IP=$(cat ip.txt) -ip addr add $IP dev eth0 +ip addr add $IP label eth0:logger dev eth0 exec tcpsvd ${IP#/*} 1958 /opt/logger/bin/logger diff --git a/packages/mcp/service/tokend/run b/packages/mcp/service/tokend/run index f373ff5..692d02f 100755 --- a/packages/mcp/service/tokend/run +++ b/packages/mcp/service/tokend/run @@ -2,7 +2,7 @@ exec 2>&1 -ip addr add 10.0.0.2/24 dev eth0 +ip addr add 10.0.0.2/24 label eth0:mcp dev eth0 DB=/var/lib/ctf/tokens.db diff --git a/packages/octopus/service/octopus/run b/packages/octopus/service/octopus/run index 7655b30..2b7df70 100755 --- a/packages/octopus/service/octopus/run +++ b/packages/octopus/service/octopus/run @@ -2,5 +2,5 @@ exec 2>&1 IP=$(cat ip.txt) -ip addr add $IP dev eth0 +ip addr add $IP label eth0:octopus dev eth0 exec /opt/octopus/bin/octopus ${IP%/*} diff --git a/packages/printf/service/printf/run b/packages/printf/service/printf/run index 83dac55..57de4a7 100755 --- a/packages/printf/service/printf/run +++ b/packages/printf/service/printf/run @@ -3,7 +3,7 @@ exec 2>&1 IP=$(cat ip.txt) -ip addr add $IP dev eth0 +ip addr add $IP label eth0:printf dev eth0 # So I say to him, "Alex, what's a good high port number for a CTF category?" # And he says, "6" diff --git a/packages/pwnables/service/pwnables/run b/packages/pwnables/service/pwnables/run index 86e16e9..42cdbe5 100755 --- a/packages/pwnables/service/pwnables/run +++ b/packages/pwnables/service/pwnables/run @@ -2,7 +2,7 @@ # Configure IP address IP=$(cat ip.txt) -ip addr add $IP dev eth0 +ip addr add $IP label eth0:pwnables dev eth0 # Set up chroot environment # We never umount any of this since it's all just in RAM