This repository has been archived on 2024-03-03. You can view files and clone it, but cannot push or open issues or pull requests.
adlin/challenge.yml

132 lines
3.9 KiB
YAML

init:
- nemunaire/challenge:13104778e90d0f9e8f2928029cb9a9d5b2495ad5
- nemunaire/adlin-shadow-up:c5e6c7f7afff788f6429a0ad1a7be982a47d5410
files:
- path: etc/motd
contents: |
Welcome to AdLin course!
You'll find your instructions in the manual.
Good luck!
mode: "0644"
- path: etc/ssmtp/ssmtp.conf
contents: |
mailhub=172.23.200.4
mode: "0644"
- path: usr/share/man/man6/adlin.6.gz
source: subject/adlin.6.gz
mode: "0644"
- path: root/adlin-TP1-topologie.png
source: subject/adlin-TP1-topologie.png
mode: "0644"
- path: bin/adlin
source: pkg/challenge/adlin
mode: "0755"
- path: etc/issue
source: pkg/challenge/issue
mode: "0644"
- path: etc/passwd
contents: |
root:x:0:0:root:/root:/bin/ash
bin:x:1:1:bin:/bin:/bin/false
daemon:x:2:2:daemon:/sbin:/bin/false
adm:x:3:4:adm:/var/adm:/bin/false
lp:x:4:7:lp:/var/spool/lpd:/bin/false
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
news:x:9:13:news:/var/spool/news:/bin/false
uucp:x:10:14:uucp:/var/spool/uucp:/bin/false
operator:x:11:0:operator:/root:/bin/ash
ntp:x:123:123:NTP:/var/empty:/sbin/nologin
mode: "0644"
- path: etc/shadow
contents: |
root:!:0::::::
bin:!:0::::::
daemon:!:0::::::
adm:!:0::::::
lp:!:0::::::
sync:!:0::::::
shutdown:!:0::::::
halt:!:0::::::
news:!:0::::::
uucp:!:0::::::
operator:!:0::::::
ntp:!:0::::::
mode: "0640"
- path: etc/ntpd.conf
contents: |
# $OpenBSD: ntpd.conf,v 1.14 2015/07/15 20:28:37 ajacoutot Exp $
#
# See ntpd.conf(5) and /etc/examples/ntpd.conf
# Pro tip: Change pool.ntp.org to a raw IP if you don't have access to a nameserver yet
servers pool.ntp.org
sensor *
mode: "0644"
- path: init
source: pkg/challenge/init
mode: "0755"
- path: root/.ash_history
contents: |
cat my_ip
ip a
man 6 adlin
mode: "0644"
- path: etc/profile.d/cmd-colors.sh
contents: |
alias ip="ip -c"
alias ls="ls -c"
export LESS_TERMCAP_mb=$(printf "\e[1;37m")
export LESS_TERMCAP_md=$(printf "\e[1;36m")
export LESS_TERMCAP_me=$(printf "\e[0m")
export LESS_TERMCAP_se=$(printf "\e[0m")
export LESS_TERMCAP_so=$(printf "\e[1;47;30m")
export LESS_TERMCAP_ue=$(printf "\e[0m")
export LESS_TERMCAP_us=$(printf "\e[1;32m")
mode: "0644"
- path: sbin/fakelogin
contents: |
#!/bin/sh
grep -q '^root:!' /etc/shadow && {
[ "$2" = "root" ] &&
echo -e "\\e[01mTip: vous souvenez-vous du mot de passe root ?\\e[0m" ||
echo -e "\\e[01mTip: cette machine n'est pas reliée à l'authentification de l'école.\\e[0m"
}
exec login $@
mode: "0755"
- path: bin/progression
source: pkg/challenge/progression.sh
mode: "0755"
- path: bin/my_ips
source: pkg/challenge/my_ips.sh
mode: "0755"
- path: bin/wg-adlin
contents: |
#!/bin/sh
privatekey="$(wg genkey)"
grep PrivateKey /etc/wireguard/adlin.conf > /dev/null 2> /dev/null && {
privatekey="$(grep PrivateKey /etc/wireguard/adlin.conf | head -n 1 | sed -r 's/^.*=\s*(.+)\s*$/\1/')"
}
publickey="$(echo $privatekey | wg pubkey)"
umask 077
mkdir -p /etc/wireguard
cat > /etc/wireguard/adlin.conf <<EOF
[Interface]
PrivateKey = $privatekey
EOF
adlin "${publickey}" | curl -f -d @- http://wg.adlin.nemunai.re/register >> /etc/wireguard/adlin.conf &&
echo -e "[\\e[01;32m+\\e[0m] \\e[01;32mSuccess.\\e[0m Tunnel configuration written to \\e[01m/etc/wireguard/adlin.conf\\e[0m; you have to use the address: \\e[01m$(grep Address= /etc/wireguard/adlin.conf | sed -r 's/^.*=(.*)$/\1/')\\e[0m" || echo -e "[\\e[01;31m-\\e[0m] \\e[01;31mFailure\\e[0m"
mode: "0755"