From 60dd57c0eeba38439aa6f863ab66cdd4fef5c615 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Wed, 27 Feb 2019 02:41:37 +0100 Subject: [PATCH] Update subject --- pkg/challenge/adlin | 20 +++++++++++--- subject/adlin.6.md | 64 ++++++++++++++++++++++++++++++--------------- 2 files changed, 59 insertions(+), 25 deletions(-) diff --git a/pkg/challenge/adlin b/pkg/challenge/adlin index 6223018..148e92d 100755 --- a/pkg/challenge/adlin +++ b/pkg/challenge/adlin @@ -44,6 +44,8 @@ token_format() { \"challenge\": ${TID}," } + # There is a hidden bonus if you send adlin 42 to + # adlin.nemunai.re/toctoc cat <&2 exit 2 ;; - token5) + token4) HDATA=$(dig +short +time=1 +tries=0 adlin.nemunai.re $2 | sed 's/["\\]//g') || { echo "Try again! Your resolver settings seems not good :(" >&2 exit 3 @@ -97,4 +99,14 @@ case "${TOKENID}" in ;; esac -token_format "${TOKENID#token}" "$(token_generator ${TOKENID#token} ${HDATA} ${DATA})" ${DATA} +if [ -n "${TOKENID}" ] +then + TOKENID="${TOKENID#token}" + if [ "$TOKENID" -ne "${TOKENID#bonus}" ] + then + TOKENID="${TOKENID#bonus}" + TOKENID=$(($TOKENID + 5)) + fi +fi + +token_format "${TOKENID}" "$(token_generator ${TOKENID} ${HDATA} ${DATA})" ${DATA} diff --git a/subject/adlin.6.md b/subject/adlin.6.md index 694db83..82c0066 100644 --- a/subject/adlin.6.md +++ b/subject/adlin.6.md @@ -2,9 +2,9 @@ title: ADLIN section: 6 header: ADvanced LINux administration -footer: EPITA SRS 2019 +footer: EPITA SRS 2020 author: Écrit par Pierre-Olivier *nemunaire* Mercier <**nemunaire+adlin@nemunai.re**> -date: 2018-02-21 +date: 2019-02-28 ... # NOM @@ -43,6 +43,10 @@ Afin de pouvoir accéder au TP, vous devez commencer par vous authentifier : cela permet d'assurer le suivi de votre progression. Votre nom d'utilisateur et votre mot de passe CRI vous seront nécessaire. +Au moment de votre authentification, le système vous aura attribué une IP qui +vous est dédiée. Vous êtes libre d'utiliser n'importe quelle autre IP de la +plage qui ne serait pas attribuée. + ## STAGE 0 @@ -68,6 +72,23 @@ validation : Voir aussi : **modprobe**(8), **fbi**(1), **ip**(8), **ip-link**(8), **ip-address**(8) +## DON'T PANIC + +Vous avez vu comment passer des arguments au noyau, via la ligne de commande +dans le *bootloader*. Certains paramètres peuvent également être changé pendant +que le noyau est lancé. + +Par exemple, vous pouvez consulter à partir de quel numéro de port, il n'y a plus besoin de privilèges pour l'utiliser : + +**cat /proc/sys/net/ipv4/ip_unprivileged_port_start** + +Et vous pouvez le modifier, aussi simplement que cela : + +**echo 65535 > /proc/sys/net/ipv4/ip_unprivileged_port_start** + +Voir aussi : **sysctl**(8), **proc**(5) (rechercher */proc/sys*, */proc/sys/kernel*) + + ## STAGE 2 Une DMZ contenant différents services est à votre disposition. Commencez par @@ -75,10 +96,10 @@ Une DMZ contenant différents services est à votre disposition. Commencez par **adlin token2 | curl -d @- http://172.23.200.1/challenge** -Voir aussi : **ip-route**(8), **crontab**(1) +Voir aussi : **ip-route**(8) -## STAGE 1.5 (bonus) +## BONUS 1 Souriez, vous êtes monitoré ! Mais n'y aurait-il pas un contenu caché ? @@ -96,48 +117,48 @@ On passe en HTTPS ! Facile ? Voir aussi: **ntpd**(1) -## STAGE 4 (bonus) +## BONUS 2 Montez le disque attaché à votre machine pour y découvrir fichier contenant le -**token4**. +*token* bonus. -**adlin $(cat token4) | curl -d @- https://172.23.200.1/challenge** +**adlin $(cat bonus2) | curl -d @- https://172.23.200.1/testdisk** Voir aussi: **mount**(8) -## STAGE 5 +## STAGE 4 Configurez le résolveur DNS de votre système : -**adlin token5** *entry-type* **| curl -d @- https://172.23.200.1/challenge** +**adlin token4** *entry-type* **| curl -d @- https://172.23.200.1/challenge** Voir aussi: **resolv.conf**(5), **dig**(1) -## STAGE 6 +## STAGE 5 Vous pouvez résoudre des noms de domaines, mais vous n'avez pas encore accès à internet ? Consultez la topologie pour vous ajouter une route vers la connaissance ! -**adlin token6 | curl -d @- https://adlin.nemunai.re/challenge** +**adlin token5 | curl -d @- https://adlin.nemunai.re/challenge** Voir aussi : **ip-link**(8), **udhcpc**(1), **traceroute**(8), **tcpdump**(1), **sysctl**(8) -## STAGE 7 (BONUS) +## BONUS 3 Parmi les services mis à disposition dans la DMZ, se trouve un serveur de transport de courriels (MTA). Utilisez-le pour envoyer votre meilleure histoire drôle : des points bonus faciles ! -**mail** [*OPTIONS*] **adlin@nemunai.re** +**sendmail** [*OPTIONS*] **adlin@nemunai.re** -Voir aussi : **dig**(1), **mail**(1) +Voir aussi : **sendmail**(1) -## STAGE 8 +## STAGE 6 Générez une clef SSH robuste puis soumettez-là : @@ -146,35 +167,36 @@ Générez une clef SSH robuste puis soumettez-là : Voir aussi : **ssh-keygen**(1) -## STAGE 9 +## STAGE 7 Pouvez-vous vous connecter ? -**ssh -p 222 adlin@adlin.nemunai.re** +**ssh root@adlin.nemunai.re** # VALEUR RENVOYÉE Votre niveau d'avancement dans ce premier TP permet d'établir la première note -de ce cours. Les autres notes seront établies sur les rendus des deux projets -que l'on commencera aux prochains TP. +de ce cours. Les autres notes seront établies sur vos réponses aux questions de +cours sur Epitaf, les rendus des deux projets que l'on commencera aux prochains +TP. Vous n'êtes pas tenus de réaliser l'ensemble des étapes, ni de les faire dans l'ordre : votre performance la plus haute sera retenue (+ les éventuels bonus débloqués). Gardez cependant en tête que les étapes suivent un ordre, a priori, logique, qui devrait correspondre à votre évolution. + # VOIR AUSSI * - Ops School Curriculum -* - A curated list of amazingly awesome open source sysadmin resources -* - Ponyhof - Dysfunctional Programming * The Practice of System and Network Administration - T. Limoncelli, C. Hogan, S. Chalup * Programmation système en C sous Linux - Christophe Blaess – Eyrolles # HISTORIQUE +2019 - Deuxième édition du cours à destination des SRS 2020. 2018 - Première édition du cours à destination des SRS 2019.