4.9 KiB
title: ADLIN section: 6 header: ADvanced LINux administration footer: EPITA SRS 2019 author: Écrit par Pierre-Olivier nemunaire Mercier <nemunaire+adlin@nemunai.re> date: 2018-02-21 ...
NOM
ADLIN - Travaux pratiques d'ADministration système LINux avancée
SYNOPSIS
Dans une salle machine hostile, vous devez vous infiltrer au sein d'un système et réussir à en reprendre le contrôle, alors qu’il n’y a plus d’infrastructure réseau, ni de système d’automatisation à votre disposition.
ENVIRONNEMENT
Mettez-vous à l'aise ! Vous risquez d'être bloqué dans ce TTY pour un moment, alors prenez quelques minutes pour le mettre à votre goût : loadkeys(1), loadfonts(1), ...
DESCRIPTION
Pour chacune des étapes à suivre, vous devez envoyer un jeton à l'URL indiquée.
Le programme adlin peut vous aider à envoyer le jeton au bon format et à y inclure les données demandées par le serveur de validation.
Il n'y a pas de limite sur le nombre de tentatives que vous pouvez effectuer ; mais essayez tout de même de comprendre ce que vous faites !
STAGE -1
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.
STAGE 0
Outrepasser l'écran de connexion et devenir root sur le système.
STAGE 1
Au commencement, votre machine n'est pas connectée au réseau : vous allez devoir le configurer manuellement.
Commencez par prendre connaissance de la topologie réseau.
Afin de ne pas créer de conflit d'IP sur le réseau, veuillez respecter les plages qui vous sont attribuées. Si néanmoins des conflits se créent, vous disposez du fabuleux tcpdump(1), pour vous sortir du pétrin !
Cette étape sera validée lorsque vous pourrez contacter le serveur de validation :
adlin token1 | curl -d @- http://172.23.0.1/iamalive
Voir aussi : modprobe(8), fbi(1), ip(8), ip-link(8), ip-address(8)
STAGE 2
Une DMZ contenant différents services est à votre disposition. Commencez par établir un lien avec le serveur de validation s'y trouvant :
adlin token2 | curl -d @- http://172.23.200.1/challenge
Voir aussi : ip-route(8), crontab(1)
STAGE 1.5 (bonus)
Souriez, vous êtes monitoré ! Mais n'y aurait-il pas un contenu caché ?
adlin payload | curl -d @- http://172.23.200.1/echorequest
Voir aussi : tcpdump(1)
STAGE 3
On passe en HTTPS ! Facile ?
adlin token3 | curl -d @- https://172.23.200.1/challenge
Voir aussi: ntpd(1)
STAGE 4 (bonus)
Montez le disque attaché à votre machine pour y découvrir fichier contenant le token4.
adlin $(cat token4) | curl -d @- https://172.23.200.1/challenge
Voir aussi: mount(8)
STAGE 5
Configurez le résolveur DNS de votre système :
adlin token5 entry-type | curl -d @- https://172.23.200.1/challenge
Voir aussi: resolv.conf(5), dig(1)
STAGE 6
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
Voir aussi : ip-link(8), udhcpc(1), traceroute(8), tcpdump(1), sysctl(8)
STAGE 7 (BONUS)
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
Voir aussi : dig(1), mail(1)
STAGE 8
Générez une clef SSH robuste puis soumettez-là :
adlin $(cat ~/.ssh/id_ssh.pub) | curl -d @- https://adlin.nemunai.re/sshkeys
Voir aussi : ssh-keygen(1)
STAGE 9
Pouvez-vous vous connecter ?
ssh -p 222 adlin@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.
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
- http://www.opsschool.org/ - Ops School Curriculum
- https://github.com/kahun/awesome-sysadmin - A curated list of amazingly awesome open source sysadmin resources
- https://dvdhrm.wordpress.com/ - 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
2018 - Première édition du cours à destination des SRS 2019.
CONFORMITÉ
Certifié non conforme.