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/subject/adlin.6.md

232 lines
6.4 KiB
Markdown
Raw Normal View History

2018-02-20 09:31:03 +00:00
---
title: ADLIN
section: 6
header: ADvanced LINux administration
2023-02-20 09:06:45 +00:00
footer: EPITA SRS 2024
2018-02-20 09:31:03 +00:00
author: Écrit par Pierre-Olivier *nemunaire* Mercier <**nemunaire+adlin@nemunai.re**>
2023-02-20 09:06:45 +00:00
date: 2023-02-22
2018-02-20 09:31:03 +00:00
...
# NOM
ADLIN - Travaux pratiques d'ADministration système LINux avancée
# SYNOPSIS
2022-02-27 11:06:56 +00:00
Dans un environnement hostile, vous devez vous infiltrer au sein d'un système
2018-02-21 00:25:47 +00:00
et réussir à en reprendre le contrôle, alors quil ny a plus dinfrastructure
réseau, ni de système dautomatisation à 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
2019-02-27 01:41:37 +00:00
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.
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
2019-02-27 01:41:37 +00:00
## 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 :
2019-03-04 08:00:22 +00:00
**echo 142 > /proc/sys/net/ipv4/ip_unprivileged_port_start**
2019-02-27 01:41:37 +00:00
2020-02-24 08:59:35 +00:00
PS : c'est un exemple, ça ne sert à rien de modifier cette valeur, par contre d'autres ...
2019-02-27 01:41:37 +00:00
Voir aussi : **sysctl**(8), **proc**(5) (rechercher */proc/sys*, */proc/sys/kernel*)
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
2019-02-27 01:41:37 +00:00
Voir aussi : **ip-route**(8)
2018-02-21 00:25:47 +00:00
2019-02-27 01:41:37 +00:00
## BONUS 1
2018-02-21 00:25:47 +00:00
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
2019-02-27 01:41:37 +00:00
## BONUS 2
2018-02-20 09:31:03 +00:00
2020-02-24 08:59:35 +00:00
Montez le disque attaché à votre machine pour y découvrir le fichier contenant
le *token* bonus.
2018-02-21 00:25:47 +00:00
2019-02-27 01:41:37 +00:00
**adlin $(cat bonus2) | curl -d @- https://172.23.200.1/testdisk**
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
2019-02-27 01:41:37 +00:00
## STAGE 4
2018-02-20 09:31:03 +00:00
2019-03-04 08:00:22 +00:00
Configurez le résolveur DNS de votre système, afin d'utiliser le serveur de
noms de la DMZ. Nous cherchons un token caché dans le domaine
**adlin.nemunai.re**.
2018-02-21 00:25:47 +00:00
2019-03-04 08:00:22 +00:00
**dig +short adlin.nemunai.re** *entry-type* **| adlin token4 | curl -d @- https://172.23.200.1/challenge**
2018-02-20 09:31:03 +00:00
Voir aussi: **resolv.conf**(5), **dig**(1)
2021-02-18 03:13:05 +00:00
## 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 !
**sendmail** [*OPTIONS*] **adlin@nemunai.re**
Voir aussi : **sendmail**(1)
2019-02-27 01:41:37 +00:00
## STAGE 5
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 à
2021-02-18 03:13:05 +00:00
internet ? Consultez la topologie pour vous ajouter une route vers votre
sauvetage !
2018-02-21 00:25:47 +00:00
2020-02-24 08:59:35 +00:00
Votre passerelle vers Internet est accessible via un tunnel Wireguard. Vous
devrez d'abord configurer ce tunnel en utilisant l'outil **wg-adlin** (appelé
sans argument, il fera le nécessaire pour vous générer une configuration
adaptée).
2019-02-27 01:41:37 +00:00
**adlin token5 | curl -d @- https://adlin.nemunai.re/challenge**
2018-02-20 09:31:03 +00:00
2020-02-24 08:59:35 +00:00
Voir aussi : **ip-link**(8), **wg**(8), **traceroute**(8), **tcpdump**(1), **sysctl**(8)
2018-02-20 09:31:03 +00:00
2019-02-27 01:41:37 +00:00
## STAGE 6
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
2019-02-27 01:41:37 +00:00
## STAGE 7
2018-02-20 09:31:03 +00:00
2018-02-21 00:25:47 +00:00
Pouvez-vous vous connecter ?
2021-02-18 03:13:05 +00:00
**ssh ***login_x***@zion.adlin.nemunai.re**
2018-02-21 00:25:47 +00:00
# VALEUR RENVOYÉE
Votre niveau d'avancement dans ce premier TP permet d'établir la première note
2020-02-24 08:59:35 +00:00
de ce cours. Les autres notes seront établies sur vos réponses à des questions
de cours entre les sessions ainsi que sur les deux projets que l'on commencera
aux prochains TP.
2018-02-20 09:31:03 +00:00
2019-02-27 01:41:37 +00:00
2018-02-20 09:31:03 +00:00
# VOIR AUSSI
* <http://www.opsschool.org/> - Ops School Curriculum
2023-02-20 09:06:45 +00:00
* <https://github.com/phyver/GameShell> - a game to learn how to use standard commands in a Unix shell (in french)
2018-02-20 09:31:03 +00:00
* The Practice of System and Network Administration - T. Limoncelli, C. Hogan, S. Chalup
* Programmation système en C sous Linux - Christophe Blaess Eyrolles
# HISTORIQUE
2023-02-20 09:06:45 +00:00
2023 - Sixième édition du cours à destination des SRS 2024.
Immersion encore plus grande dans le SI ?
2022-02-27 11:06:56 +00:00
2022 - Cinquième édition du cours à destination des SRS 2023.
2023-02-20 09:06:45 +00:00
Travail sur le réalisme des exercices.
2022-02-27 11:06:56 +00:00
2021-02-13 17:20:12 +00:00
2021 - Quatrième édition du cours à destination des SRS 2022.
2021-02-18 03:13:05 +00:00
Introduction de références à Matrix.
2020-02-24 08:59:35 +00:00
2020 - Troisième édition du cours à destination des SRS 2021.
2021-02-18 03:13:05 +00:00
Des étudiants avec involontairement de bonnes idées d'exercices supplémentaires.
2019-02-27 01:41:37 +00:00
2019 - Deuxième édition du cours à destination des SRS 2020.
2019-03-04 08:00:22 +00:00
2021-02-18 03:13:05 +00:00
Le chaos s'est un peu trop invité.
2018-02-20 09:31:03 +00:00
2018 - Première édition du cours à destination des SRS 2019.
2021-02-18 03:13:05 +00:00
Oops la salle machine...
2018-02-20 09:31:03 +00:00
# CONFORMITÉ
Certifié non conforme.