Vous êtes sur la page 1sur 19

Analyse du tsunami de logiciels malveillants sous Linux à l'aide de Limon

L'échantillon de logiciel malveillant a également été exécuté selon les règles YARA pour déterminer les capacités du logiciel malveillant. Comme le montre la capture

d'écran ci-dessous, il semble que les logiciels malveillants aient des capacités IRC (nous le confirmerons lors de l'analyse dynamique).

Lorsque le logiciel malveillant est soumis à Limon, il détermine le hachage md5 de l'échantillon et utilise la somme md5 pour rechercher dans VirusTotal

à l'aide de son API publique. Dans ce cas, l'échantillon est détecté par les fournisseurs antivirus comme Tsunami.

Étant donné que les informations du symbole n'ont pas été supprimées, le tableau des symboles affiche des références aux appels système liés au

réseau (comme se connecter, recevoir, écouter, accepter, socket, etc.) indiquant la capacité réseau du malware.

352
Analyse du tsunami de logiciels malveillants sous Linux à l'aide de Limon

Les chaînes de l'exemple de logiciel malveillant affichent des références à l'ip C2, des références aux commandes http et IRC. Comme le montrent

les captures d'écran ci-dessous, il semble que le malware a la capacité de recevoir un fichier de l'attaquant et a également la capacité d'usurper

l'adresse IP.

Les chaînes extraites du malware affichent également les références aux commandes d'attaque du malware, à partir des chaînes, il

semble que le malware possède des capacités DOS / DDOS.

353
Analyse du tsunami de logiciels malveillants sous Linux à l'aide de Limon

Les captures d'écran ci-dessous montrent les résultats de l'analyse dynamique. Le malware a été exécuté avec succès par Limon, après

l'exécution, le malware crée un processus enfant (avec pid 2674). Le processus enfant essaie de lire un fichier / usr / dict / words qui

n'existe pas. D'après le nom du fichier, il semble que ce soit un fichier de dictionnaire que les logiciels malveillants utilisent pour une sorte

de craquage de mot de passe. De plus, le malware crée une socket réseau, établit une connexion avec l'IP C2 sur le port 5566 et écrit du

contenu sur la socket.

La capture de paquets montre la communication IRC effectuée par le malware avec l'IP C2 sur le port 5566. Le malware est un bot

IRC.

354
Analyse du tsunami de logiciels malveillants sous Linux à l'aide de Limon

La liste des processus à partir des résultats de l'analyse de la mémoire montre le processus malveillant «tsuna» fonctionnant avec un pid 2674.

Les connexions réseau issues de l'analyse de la mémoire montrent que le processus «tsuna» (avec pid 2674) a établi la
connexion à l'IP C2 sur le port 5566.

355
Analyse du tsunami de logiciels malveillants sous Linux à l'aide de Limon

Conclusion

Linux gagne en popularité et avec plusieurs appareils exécutant Linux, il est devenu la cible d'attaques de logiciels malveillants.Il devient

donc important d'analyser les logiciels malveillants Linux de manière automatisée pour déterminer les indicateurs basés sur le réseau et

l'hôte. Cet article a fourni une introduction de haut niveau à l'analyse des malwares et a également présenté un outil «Limon» pour

effectuer une analyse statique, dynamique et mémoire des malwares Linux. Le document couvrait également l'analyse d'un malware

Linux appelé «tsunami» utilisant Limon, qui a aidé à déterminer les différentes capacités du malware.

Les références

a) Analyse de Linux Malware Tsunami à l'aide de Limon Sandbox

https://www.youtube.com/watch?v=7DvHKKYMEQk

b) Configuration de Limon Sandbox pour l'analyse des malwares Linux

http://malware-unplugged.blogspot.in/2015/11/setting-up-limon-sandbox-for-analyzing.html

c) Lien de téléchargement Limon

https://github.com/monnappa22/Limon

d) Présentation de Black Hat Europe 2015

https://www.blackhat.com/eu-15/briefings.html#automating-linux-malware-analysis-using-limon-s
andbox

e) Détails techniques de Backdoor.Linux.Tsunami

https://securelist.social-kaspersky.com/en/descriptions/iframe/Backdoor.Linux.Tsunami.gen

f) La porte dérobée du tsunami peut être utilisée pour les attaques par déni de service

http://www.intego.com/mac-security-blog/tsunami-backdoor-can-be-used-for-denial-of-service-a ttacks /

356
avec
Site ss
)
A PROPOS DE L'AUTEUR

Pprasoon Nigam
Pprasoon Nigam a travaillé en tant que consultant en sécurité ces dernières années dans de

nombreuses grandes organisations et est également impliqué dans la VAPT pour les

applications Web, les applications mobiles et les réseaux. Il a été récompensé en tant que

«hacker éthique» et travaille également sur des contre-mesures contre le piratage ces dernières

années pour sensibiliser les gens au piratage.


Metasploit avec XSS (Cross Site Scripting)

Qu'est-ce que Metasploit? (Développé par HDMoore)

Metasploit n'est pas qu'un simple outil; c'est tout un framework qui nous permet de travailler sur des aspects spécialisés des tests

d'intrusion.

Comme nous le savons tous, le framework Metasploit a d'abord été réécrit en Perl et plus tard il a été déplacé vers Ruby. Après tout, il a été

acquis par Rapid 7.

On a Trois produits commerciaux basés sur Metasploit:

1. Communauté Metasploit est la version gratuite et basique.

2. Metasploit Express est la version la plus légère.

3. Metasploit Pro est la version étendue de Metasploit Express.

Remarque: Metasploit Community est l'édition gratuite et Metasploit Express / Metasploit Pro sont des versions payantes.

359
Metasploit avec XSS (Cross Site Scripting)

Terminologies importantes

Comme nous allons exploiter et reprendre le système, certaines terminologies importantes seront utilisées encore et encore, nous devons donc

savoir ce que chaque terme signifie.

Vulnérabilité: La vulnérabilité est une faiblesse qui permet à un attaquant / pentester de pénétrer ou de compromettre la sécurité d'un système. La

vulnérabilité est un terme de cybersécurité qui fait référence à une faille dans un système qui peut le laisser vulnérable aux attaques.

La vulnérabilité peut également faire référence à tout type de faiblesse dans un système informatique lui-même, dans un ensemble de procédures ou dans tout

ce qui laisse la sécurité de l'information exposée à une menace.

Exploit: Un exploit est le moyen ou un moyen par lequel un attaquant ou un pirate informatique tire parti de la faille / bogue

ou de la vulnérabilité. Exploit est un morceau de code fonctionnel utilisé pour exploiter un système vulnérable.

Exemples: Buffer Overflow, SQL Injection (dans l'application Web)

Charge utile: Payload est un morceau de code fonctionnel livré avec un exploit pour aider l'attaquant dans la phase de post-exploitation.

Exemple: "reverses shell" est une charge utile qui crée une connexion entre la machine cible et l'attaquant.

Shellcode: Shellcode est l'ensemble des instructions utilisées comme charge utile lors de l'exploitation. Ceux-ci sont écrits en langage

d'assemblage. Exemples: shell Meterpreter ou un shell de commande

Module: Le module est un logiciel utilisé par Metasploit Framework. Exemples: module d'exploitation, module auxiliaire

Auxiliaire: Un module auxiliaire est un exploit sans charge utile qui effectue le balayage, le fuzzing, le reniflement et bien plus

encore. Bien que ces modules ne vous donneront pas de coquille, ils sont extrêmement précieux lors d'un test de pénétration.

Exemples: arp_sweep ou ipv6_neighbors

360
Metasploit avec XSS (Cross Site Scripting)

Let's D! G dans Metasploit

Architecture de Metasploit

Figure 1: Architecture de Metasploit

Bibliothèques

Rex: C'est la bibliothèque de base pour effectuer la plupart des tâches. Il gère les sockets et différents types de protocoles.

• «Bibliothèque Ruby Exploitation»

• Bibliothèque de base pour la plupart des tâches

• Sockets, protocoles, interface shell de commande

• SSL, SMB, HTTP, XOR, Base64, texte aléatoire

361
Metasploit avec XSS (Cross Site Scripting)

• J'ai eu l'intention de continuer à utiliser toute idée de mon travail

MSF Core: Il fournit l'API de base. Définit le framework Metasploit.

• «Bibliothèque Ruby Exploitation»

• Mixins pour exploits et auxiliaires

• Scanner auxiliaire, rapport, AuthBrute, etc.

• Exploiter HTTP, FTP, Oracle, MSSQL, SMB

Base MSF: Il fournit l'API conviviale. Fournit des API simplifiées à utiliser dans le cadre.

Modules

MSFconsole: msfconsole est enrichi d'outils bien pris en charge dans le cadre. Msfconsole aide à lancer un exploit, à charger
des auxiliaires, à exécuter une énumération ou à exécuter une exploitation de masse. Commander: msfconsole

(Lancement de la console Metasploit)

Figure 2: Framework Metasploit.

Taper " aider" commande pour saisir tous les commandes utilisé dans msfconsole.

362
Metasploit avec XSS (Cross Site Scripting)

Figure 3: la commande "help" permet de connaître toutes les commandes à utiliser dans Metasploit.

Commandes utiles

• dos: Pour revenir de l'exploit ou du module actuel.

• bannière: Cette commande affiche la bannière Metasploit.

• relier: Cette commande est utilisée pour se connecter à l'hôte. Nous devons spécifier l'adresse IP et le numéro de port de
l'hôte avec cette commande.

• quitter et quitter: Ces commandes sont utilisées pour quitter Metasploit et il arrive à la racine.

• irb: Cette commande est utilisée pour supprimer un mode irb. En utilisant ce mode, on peut écrire ses propres scripts Ruby.

• Info: Cette commande affiche toutes les informations sur l'exploit sélectionné.

• charge: Cette commande est utilisée pour charger des plugins dans Metasploit. (Exemple: charger Nessus)

• décharger: Cette commande est utilisée pour décharger le plugin chargé du framework.

363
Metasploit avec XSS (Cross Site Scripting)

• rechercher: Cette commande est utilisée pour rechercher un exploit ou un module spécifique. Cette commande est très utile pour rechercher n'importe quel

module. Exemple: rechercher des fenêtres, rechercher Android

• Ressource: Cette commande est utilisée pour exécuter des commandes spécifiques à partir d'un fichier spécifié.

• utiliser: Cette commande permet de sélectionner un exploit spécifique. Exemple: utilisez exploit / windows / smb / ms08_067_netapi

• version: Cette commande affichera la version actuelle de Metasploit.

• activé et désactivé: Ces commandes définissent des variables. Définissez nos charges utiles et nous pouvons définir l'adresse IP. En utilisant unset, nous

pouvons annuler la valeur et nous pouvons donner la nouvelle adresse IP.

• setg et unsetg: Ces commandes sont utilisées pour définir notre variable globalement via notre pentesting.

• spectacle: Cette commande permet de visualiser les options ou modules. (La plupart des commandes IMP)

Que peut faire M3tasploit?


La collecte d'informations
nslookup: nslookup est un outil de ligne de commande d'administration réseau disponible pour de nombreux systèmes d'exploitation d'ordinateurs pour

interroger le système de noms de domaine (DNS) afin d'obtenir le mappage de nom de domaine ou d'adresse IP ou pour tout autre enregistrement DNS

spécifique.

Commander: nslookup <adresse Web>

Figure 4: «nslookup» obtenant le mappage de nom de domaine ou d'adresse IP.

364
Metasploit avec XSS (Cross Site Scripting)

qui est: WHOIS est un protocole de requête et de réponse largement utilisé pour interroger les bases de données qui stockent les utilisateurs

enregistrés ou les ayants droit d'une ressource Internet, comme un nom de domaine, un bloc d'adresse IP ou un système autonome, mais qui est

également utilisé pour une gamme plus large d’autres informations.

Commander: whois <URL Web ou adresse IP>

Figure 5: "whois" récupère un nom de domaine, un bloc d'adresse IP ou un système autonome.

Nmap: Nmap est un scanner de sécurité utilisé pour découvrir des hôtes et des services sur un réseau informatique, construisant ainsi

une «carte» du réseau. Pour atteindre son objectif, Nmap envoie des paquets spécialement conçus au (x) hôte (s) cible (s), puis analyse les

réponses.

Commander: nmap <URL Web ou adresse IP>

365
Metasploit avec XSS (Cross Site Scripting)

Figure 6: "nmap" permet de découvrir des hôtes et des services sur un réseau informatique, construisant ainsi une "carte" du
réseau.

Remarque: Toutes les commandes «nmap» peuvent être utilisées dans le framework Metasploit.

Numérisation avec Metasploit


Metasploit a plusieurs scanners de port intégrés dans ses modules auxiliaires qui s'intègrent directement à la plupart des aspects du

Framework.

Utiliser "rechercher" pour rechercher des scanners.

Figure 7: Recherche du scanner à l'aide de la commande "Rechercher".

366
Metasploit avec XSS (Cross Site Scripting)

Balayage des ports avec Metasploit


Une simple analyse d'un seul hôte à l'aide du scanner de port SYN Metasploit. Numériser en utilisant scanner / portscan / syn

Étapes de numérisation:

Étape 1: utiliser le scanner / numérisation / synchronisation des ports

Étape 2: définir RHOSTS 104.27.167.149

Étape 3: définir FILS 50

Étape 4: afficher les options

Étape 5: Cours

Figure 8: Scanner de port SYN de Metasploit

Analyse FTP

FTP est un protocole compliqué et non sécurisé. Les serveurs FTP sont souvent le moyen le plus simple d'accéder à un réseau cible, et

vous devez toujours rechercher, identifier et empreinte digitale tous les serveurs FTP exécutés sur votre cible. Numériser en utilisant

scanner / ftp / ftp_version

Étapes de numérisation

1. Étape 1: utiliser scanner / ftp / ftp_version

367
Metasploit avec XSS (Cross Site Scripting)

2. Étape 2: définir RHOSTS 104.27.167.149

3. Étape 3: définir FILS 255

4. Étape 4: afficher les options

5. Étape 5: Cours

Figure 9: Scanner de port FTP de Metasploit

Analyse Microsoft SQL Server


Les installations de Microsoft SQL Server (MS SQL) fournissent souvent un premier accès à un réseau cible. Lorsque MS SQL est

installé, il écoute par défaut soit sur le port TCP 1433, soit sur un port TCP dynamique aléatoire. Si MS SQL écoute sur un port

dynamique, interrogez simplement le port UDP 1434 pour découvrir sur quel port TCP dynamique MS SQL écoute. Bien sûr,

Metasploit dispose d'un module qui peut utiliser cette «fonctionnalité»: mssql_ping.

Numériser en utilisant scanner / mssql / mssql_ping

Étapes de numérisation

1. Étape 1: utiliser le scanner / mssql / mssql_ping

2. Étape 2: définir RHOSTS 104.27.167.149

3. Étape 3: définir FILS 255

4. Étape 4: afficher les options

5. Étape 5: Cours

368
Metasploit avec XSS (Cross Site Scripting)

Figure 10: Analyse ping MS-SQL de Metasploit.

Tout ce qui précède est le brief sur Metasploit et nous allons maintenant étudier ce qu'est XSS (Cross Site Scripting) et comment nous

pouvons pirater un système à l'aide de Metasploit et XSS (Cross Site Scripting).

369
Metasploit avec XSS (Cross Site Scripting)

Scripts intersites (XSS)


Les attaques de type Cross-site Scripting (XSS) se produisent lorsqu'un attaquant utilise une application Web pour envoyer du code malveillant,

généralement sous la forme d'un script côté navigateur, à un autre utilisateur final. Les failles qui permettent à ces attaques de réussir sont assez

répandues et se produisent partout où une application Web utilise l'entrée d'un utilisateur dans la sortie qu'elle génère sans la valider ni

l'encoder.

La possibilité d'injecter du code dans la page Web génère des menaces potentielles. Un attaquant peut utiliser des vulnérabilités XSS pour voler

des cookies, détourner des comptes, exécuter ActiveX, exécuter du contenu Flash, vous forcer à télécharger des logiciels et agir sur votre disque

dur et vos données.

Si vous regardez de plus près l'URL, elle pourrait en fait exploiter une vulnérabilité du site Web de votre banque et ressembler à

quelque chose comme http://www.website.com/somepage?redirect= <script> alerte («XSS») </script>, où l'utilisation du

paramètre «redirect» a été exploitée pour mener à bien l'attaque.

3 types de XSS (Cross Site Scripting)


XSS stocké (AKA persistant ou type I)

Le XSS stocké se produit généralement lorsque l'entrée de l'utilisateur est stockée sur le serveur cible, comme dans une base de données, dans un forum de messages, un

journal des visiteurs, un champ de commentaire, etc. Et puis une victime est capable de récupérer les données stockées à partir de l'application Web sans cela les données

sont sécurisées pour être rendues dans le navigateur.

Figure 11: XSS stocké, stocké dans le serveur cible ou la base de données.

XSS réfléchi (AKA non persistant ou de type II)


Reflected XSS se produit lorsque l'entrée utilisateur est immédiatement renvoyée par une application Web dans un message d'erreur, un résultat de recherche,

370

Vous aimerez peut-être aussi