2018-02-20 09:31:03 +00:00
|
|
|
|
---
|
|
|
|
|
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
|
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
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), ...
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# DESCRIPTION
|
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
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 !
|
|
|
|
|
|
|
|
|
|
|
2018-02-20 09:31:03 +00:00
|
|
|
|
## STAGE -1
|
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
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.
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## STAGE 0
|
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
Outrepasser l'écran de connexion et devenir **root** sur le système.
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## STAGE 1
|
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
Au commencement, votre machine n'est pas connectée au réseau : vous allez
|
|
|
|
|
devoir le configurer manuellement.
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
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)
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## STAGE 2
|
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
Une DMZ contenant différents services est à votre disposition. Commencez par
|
|
|
|
|
établir un lien avec le serveur de validation s'y trouvant :
|
|
|
|
|
|
2018-02-20 12:04:37 +00:00
|
|
|
|
**adlin token2 | curl -d @- http://172.23.200.1/challenge**
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
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)
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
|
2018-02-20 12:04:37 +00:00
|
|
|
|
## STAGE 3
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
On passe en HTTPS ! Facile ?
|
|
|
|
|
|
2018-02-20 12:04:37 +00:00
|
|
|
|
**adlin token3 | curl -d @- https://172.23.200.1/challenge**
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-20 12:04:37 +00:00
|
|
|
|
Voir aussi: **ntpd**(1)
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
|
2018-02-20 12:04:37 +00:00
|
|
|
|
## STAGE 4 (bonus)
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
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**
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-20 12:04:37 +00:00
|
|
|
|
Voir aussi: **mount**(8)
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
|
2018-02-20 12:04:37 +00:00
|
|
|
|
## STAGE 5
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
Configurez le résolveur DNS de votre système :
|
|
|
|
|
|
|
|
|
|
**adlin token5** *entry-type* **| curl -d @- https://172.23.200.1/challenge**
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
Voir aussi: **resolv.conf**(5), **dig**(1)
|
|
|
|
|
|
|
|
|
|
|
2018-02-20 12:04:37 +00:00
|
|
|
|
## STAGE 6
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
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 !
|
|
|
|
|
|
2018-02-20 12:04:37 +00:00
|
|
|
|
**adlin token6 | curl -d @- https://adlin.nemunai.re/challenge**
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
Voir aussi : **ip-link**(8), **udhcpc**(1), **traceroute**(8), **tcpdump**(1), **sysctl**(8)
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
## 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 !
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
**mail** [*OPTIONS*] **adlin@nemunai.re**
|
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
Voir aussi : **dig**(1), **mail**(1)
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
|
2018-02-20 12:04:37 +00:00
|
|
|
|
## STAGE 8
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
Générez une clef SSH robuste puis soumettez-là :
|
|
|
|
|
|
|
|
|
|
**adlin $(cat ~/.ssh/***id_ssh.pub***) | curl -d @- https://adlin.nemunai.re/sshkeys**
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
Voir aussi : **ssh-keygen**(1)
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
|
2018-02-20 12:04:37 +00:00
|
|
|
|
## STAGE 9
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
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.
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
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.
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
# 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.
|