command examples

This commit is contained in:
fiplox 2021-11-30 23:12:02 +01:00
parent 0d380d16dd
commit 388ba29f3a
1 changed files with 36 additions and 13 deletions

View File

@ -21,12 +21,13 @@
2. Canal de communication 2. Canal de communication
Dans le hook de l'appel système `openat` on vérifie quel fichier à été ouvert. Dans le hook de l'appel système `openat` on vérifie quel fichier à été ouvert.
Si le fichier est `/dev/null` on retient le `file descriptor` et le `pid` du procès appelant. Si le fichier est `/dev/null` on retient le `file descriptor` et le `pid`
Puis, dans le hook de l'appel système `write` on vérifie si le `pid` et le `file du procès appelant. Puis, dans le hook de l'appel système `write` on
descriptor` correspond à celui que on a retenu, afin de ne pas faire des vérifie si le `pid` et le `file descriptor` correspond à celui que on a
vérification inutiles. Si c'est le cas, on compare ce qui est écrit dans le fichier. retenu, afin de ne pas faire des vérification inutiles. Si c'est le cas, on
Les commandes acceptées sont `root`, `hideme`, `reveal` et `hide$` avec un préfixe `secret`. compare ce qui est écrit dans le fichier. Les commandes acceptées sont
Le moyen de communication se fait par l'outil standard `echo`. `root`, `hideme`, `reveal` et `hide$` avec un préfixe `secret`. Le moyen de
communication se fait par l'outil standard `echo`.
3. Élévation de privilèges 3. Élévation de privilèges
@ -34,22 +35,38 @@
écrit dans `/dev/null`. Puis, on récupère la tâche qui correspond à ce `pid`. À écrit dans `/dev/null`. Puis, on récupère la tâche qui correspond à ce `pid`. À
la suite, on change les accréditations de la tâche pour celle du root (`0`). la suite, on change les accréditations de la tâche pour celle du root (`0`).
```sh
$ echo "secretroot" > /dev/null`
```
4. Cacher LKM 4. Cacher LKM
Pour cacher le LKM, on récupère la liste des modules chargées et on supprime le rootkit. Pour cacher le LKM, on récupère la liste des modules chargées et on
supprime le rootkit.
```sh
$ echo "secrethideme" > /dev/null
```
5. Révélation de LKM 5. Révélation de LKM
Pour révéler le LKM, on ajoute mon module dans la liste des modules chargées. Pour révéler le LKM, on ajoute mon module dans la liste des modules chargées.
```sh
$ echo "secretreveal" > /dev/null
```
6. Cacher PID 6. Cacher PID
Les _pid_ sont stocké dans la structure `_hidden_pids` qui peut contenir au plus 200 `pid`, Les *pid* sont stocké dans la structure `_hidden_pids` qui peut contenir au
et qui contient le nombre de `pid` cachés. Puis, dans le hook de l'appel plus 200 `pid`, et qui contient le nombre de `pid` cachés. Puis, dans le
système `write`, le `pid` avec la phrase `secrethide$PID$,` hook de l'appel système `write`, le `pid` avec la phrase `secrethide$PID$,`
**PID** est le `pid` donné, est retenu. Après, dans l'appel système `getdents64` on vérifie **PID** est le `pid` donné, est retenu. Après, dans l'appel système
si le dossier dont une tache essaye d'accéder correspond aux `pid`s retenus. Si `getdents64` on vérifie si le dossier dont une tache essaye d'accéder
c'est le cas, on l'ignore dans listing. correspond aux `pid`s retenus. Si c'est le cas, on l'ignore dans listing.
```sh
$ echo "secrethide\$42\$" > /dev/null
```
7. Persistance 7. Persistance
@ -58,6 +75,9 @@
vrai filesystem et qui contient des LKM avec des drivers. Donc, on crée un vrai filesystem et qui contient des LKM avec des drivers. Donc, on crée un
`initramfs` fauté avec mon LKM, et on ajoute la ligne de chargement du rootkit `initramfs` fauté avec mon LKM, et on ajoute la ligne de chargement du rootkit
dans le script `init`. dans le script `init`.
```sh
$ sudo ./persistance.sh
```
## Bibliographie ## Bibliographie
@ -67,3 +87,6 @@
* [Linux hook system call](https://cdmana.com/2021/07/20210731031948859C.html) * [Linux hook system call](https://cdmana.com/2021/07/20210731031948859C.html)
* [Persistent rootkit](https://yassine.tioual.com/posts/backdoor-initramfs-and-make-your-rootkit-persistent/) * [Persistent rootkit](https://yassine.tioual.com/posts/backdoor-initramfs-and-make-your-rootkit-persistent/)
* [Hide processes](https://jm33.me/linux-rootkit-for-fun-and-profit-0x02-lkm-hide-filesprocs.html) * [Hide processes](https://jm33.me/linux-rootkit-for-fun-and-profit-0x02-lkm-hide-filesprocs.html)
```
```