Mot-clé - APT

Fil des billets

vendredi 5 juillet 2013

All your folders belong to us / with a little help from my friends

It has been a long time since I last wrote in english on this blog. The main reason is that I think there are not enough french ressources on Internet regarding APT, malware, incident response, and cybercrime, which are my favorite topics, as you might already know.

I therefore decided to publish in english language only when I thought the post was worth being shared widely.

But let's get right to the point of this post. Working on quite a number of APT cases recently, I noticed that the attackers often dump huge folders to a text file.

From the attacker point of view, it is just executing the "dir /s" command in a cmd shell, which lists folders recursively. The attacker usually redirects the output of the command to a file, doing it this way:

dir /s > 1.txt

The file is stored temporarily until the attacker decides to collect it, and deleted afterwards. The attacker may also not care (or forget) about it and leave it on the file system.

Forensically speaking, the deletion of this file is not a problem, as long as it is not rewritten, it can always be found.

From a detection point of view, it is very interesting to try to find these "folder dumps" on systems, as a possible indicator of compromise.

One has to be careful (as usual in incident response) to check that no legitimate user has generated this dump.

Now, one problem is left to detect these files: the operating system language. If you do incident response only in one country, no problem: usually you only need to check for dump files in your language, and in english (some users, no matter in which country they live, do always use english). Now if you do international incident response, you need to detect more languages.

I created a YARA rule and an IOC rule to detect these dump files in english, french, and german (Hello and thanks to my friend Axel who provided me with german dumps).

These rules should work on english,french,german Windows2000,ME,NT,Server,XP,7,8 systems. I did not check dumps for older systems.

YARA rule:
---
rule folder_dumpfile
meta:
author="Cedric PERNET"
date="2013/07"
comment="a YARA rule to detect dump files created by APT attackers"

strings:
$eng1="Volume in drive" wide ascii nocase
$eng2="Volume serial number" wide ascii nocase
$eng3="Directory of" wide ascii nocase
$eng4="<DIR>" wide ascii nocase
$eng5="File" wide ascii nocase

$fr1="Le volume dans le lecteur" wide ascii nocase
$fr2="du volume est" wide ascii nocase
$fr3="pertoire de" wide ascii nocase
$fr4="<REP>" wide ascii nocase
$fr5="fichier" wide ascii nocase

$de1="Volumeseriennummer" wide ascii nocase
$de2="<DIR>" wide ascii nocase
$de3="verzeichnis von" wide ascii nocase
$de4="Datei" wide ascii nocase

condition:
(all of ($eng*)) or (all of ($fr*)) or (all of ($de*))
---

And here is a link to my IOC file.

And with a little help from my friends, I might be able to update these files with other languages. Please feel free to send me "dir /s" dumps in other languages, I'd gladly integrate it into these detection rules.

jeudi 25 avril 2013

APT1, quoi de neuf ?

Un peu plus de 2 mois ont passé depuis la publication du rapport de Mandiant sur APT1, il est donc temps de faire un petit point sur la question qui hante beaucoup d'esprits : les attaquants APT1 ont-ils changé leurs méthodes suite au rapport Mandiant ?

Le site CyberSquared.com nous apporte un bon début de réponse sous la forme d'un billet sur leur site. CyberSquared indique se baser sur une seule source, mais leurs propos sont néanmoins très intéressants.

Je précise à nouveau que mon but ici n'est pas d'analyser ces informations mais simplement de vous fournir une petite synthèse en français, ce qui manque cruellement dans la blogosphère française :-/

Autant répondre à la question introductive de ce billet tout de suite : APT1, également appellé "Comment Crew", a finalement changé très peu de choses dans ses opérations de maintien sur des systèmes compromis. Les domaines utilisés comme serveurs de c&c sont toujours les même, la technique n'a pas changé, et les malware ont peu évolué. A peine un changement de clef de chiffrement par ci par là, mais cela fait partie de la vie habituelle d'une famille de malware.

Voici ce qui m'a semblé plus intéressant dans ce billet :

  • Cybersquared a découvert un serveur HFS qui servait à APT1 pour stocker du matériel d'attaque. En l'occurence, un fichier zip contenant un malware connu, cité dans le rapport de Mandiant, légèrement modifié, présentant un icône de document PDF, droppant un fichier PDF de diversion. Ce document de diversion est une invitation pour une conférence MODSIM 2013, une conférence plutôt intéressante pour des secteurs d'activité tels que l'industrie aérospatiale, la défense, etc.

La technique n'est pas nouvelle et habituelle pour ce groupe d'attaquants: infecter un poste en faisant croire à la victime qu'elle ouvre un document PDF. En fait, le binaire est exécuté, infecte la machine, et affiche un PDF réel.

  • Un autre PDF se trouvait dans l'archive, PDF légitime dérobé lors d'une attaque APT. Il est intéressant de constater, et ce n'est pas la première fois selon Cybersquared, que les attaquants utilisent des documents réels dérobés auprès de certaines cibles, pour se donner une apparence légitime dans d'autres attaques.
  • Une analyse sommaire de ce malware a été effectuée, je vous laisse la lire directement à la source.

Il me semble important de souligner qu'il existe des serveurs HFS dans la nature, qui hébergent du matériel d'attaque. Pourquoi stocker ce contenu en ligne et ne pas le conserver en local ? Probablement pour le partager plus facilement entre membres d'une équipe d'attaquants. Peut-être est-ce simplement la flemme (les geeks sont fainéants dirait le troll...) de créer des serveurs locaux non accessibles par Internet ? Ou alors est-ce parce que différentes personnes ne se trouvant pas au même endroit physique doivent y accéder ? Je penche pour la flemme d'attaquants se situant probablement dans un même batiment et stockant de la donnée accessible sur Internet sans vraiment s'en préoccuper.

Pour ce qui est du serveur de command&control (c&c ou encore c2) utilisé par le malware, downloads.zyns.com, il s'agit à nouveau d'un DNS dynamique permettant aux attaquants de changer d'adresse IP (et donc d'hébergement) facilement sans avoir à modifier leur malware.

La dernière adresse IP utilisée est 108.177.181.66 et pointe vers l'hébergeur Nobistech situé aux Etats-Unis. Cette adresse IP appartient à un range attribué à:

network:Org-Name:31dns network:Street-Address:QuJiangLu 183 Hao network:City:JingZhou network:State:HuBei network:Postal-Code:434000 network:Country-Code:CN

Hmmm, quelle surprise... ;-)

En creusant un peu plus profondément, on se rend vite compte que Nobistech héberge du contenu légal, mais aussi beaucoup de contenu illicite : téléchargement de jeux vidéos, jailbreak de téléphone, card sharing, pharmacie, et on peut supposer qu'on peut facilement y trouver pire. Certaines plages de Nobistech sont également connues et blacklistées pour des envois massifs de spam.

J'ai pu trouver 4689 domaines qui ont pointé vers cette plage d'adresses IP spécifique (108.177.180.0/22), et la plupart de ces domaines ne présentent pas de noms particuliers, beaucoup de domaines semblent créés avec des caractères aléatoires et ne présenter aucun contenu, ou un message d'erreur, ou encore une page de parking d'hébergeur.

Tous ces éléments m'encouragent à penser encore une fois que lorsque les attaquants "Comment Crew/APT1" choisissent un tiers pour héberger du contenu, il s'agit toujours d'hébergeurs à la moralité plus ou moins douteuse, voir carrément d'hébergeurs bulletproof.

Décidément, nos attaquants ont tout pour réussir: des outils qui fonctionnent plutôt bien, des utilisateurs ciblés qui ouvrent leurs pièces jointes (on ne peut pas leur en vouloir tellement les spear phishing sont bien faits ceci dit, nous sommes loin des e-mails non crédibles de phishing bancaire), et surtout, des sociétés qui ne veulent pas se donner les moyens d'avoir une sécurité informatique qui puisse lutter plus efficacement contre les APT.

Je vous laisse sur cette réflexion et cet article de DarkReading pour illustrer mon propos :-)

lundi 8 avril 2013

A l'assaut ! Des chercheurs attaquent APT1.

De nombreuses nouvelles informations sur le groupe d'attaquants APT1 ont suivi la publication de Mandiant que j'évoquais précédemment dans ce billet.

L'un des plus intéressants à ce jour, d'un point de vue forensic, était celui-ci. Il remettait en cause beaucoup de faits énoncés par Mandiant, de façon plutôt bien rédigée.

Un nouveau white paper vient de retenir mon attention, publié par malware.lu et itrust consulting. Ces derniers se sont lancés dans l'étude des attaques APT1 avec une approche plus surprenante qui consiste à... attaquer les attaquants.

Je ne chercherais pas ici à discuter des aspects légaux et éthiques d'une telle action. Par contre, il est extrêmement intéressant de lire ce papier pour voir un peu ce qui se cache "de l'autre côté". Il semble important cependant de souligner que les chercheurs n'ont jamais attaqué de serveur compromis (sous-entendu : un serveur appartenant à un tiers, compromis par APT1) et ont communiqué avec les CSIRT/CERT associés aux cibles des attaquants.

Passons un peu au crible (et en français, c'est le but de cette série de posts sur APT1 après tout...) ce document, point par point.

Phase de collecte d'information:

Les chercheurs se sont basés en partie sur les recherches de MANDIANT. Ils ont vu que le célèbre outil d'administration distant POISON IVY était utilisé et ont décidé d'écrire un scanner de serveurs Poison Ivy.

D'un point de vue technique, rien de bien compliqué : 100 envois de 0x00 vers un port spécifique et une adresse IP permettent de savoir qu'on a affaire à un serveur Poison Ivy s'il répond par 100 octets suivis de 0x000015D0.

Ces scans ont été lancés sur une plage d'adresse IP assez large à Hong Kong pour finalement restreindre leurs recherches à 6 plages particulières hébergeant des serveurs Poison Ivy.

Il nous est signalé au passage que la recherche n'était pas si simple : les attaquants stoppent leurs serveurs c&c lorsqu'ils ne s'en servent pas. Un graphe nous présente les horaires d'"ouverture" des c&c : principalement de 2 à 10h UTC+1. (Europe occidentale)

Sachant qu'entre Paris et Beijing le décalage horaire est de 7h en hiver, 6h en été, on est à peu près sur des horaires de bureau en Chine.

L'attaque.

Un descriptif de Poison Ivy nous est fait ensuite dans le document, pour rapidement arriver sur un aspect plus intéressant, une vulnérabilité d'exécution de code distant sur les serveurs c&c Poison Ivy. Se basant sur un exploit existant d' Andrzej Dereszowski (présent dans Metasploit), les chercheurs ont développé leur propre exploit, fourni dans le document.

Les portes des c&c Poison Ivy se sont alors ouvertes :-)

Une fois connecté au serveur, il fut constaté que le serveur n'avait pas d'adresse IP publique. Cela signifie que le demon Poison Ivy est caché derrière un proxy, utilisant du port forwarding pour masquer la véritable adresse IP du serveur de c&c. Autre constatation, la machine était sous VMware, permettant ainsi de masquer l'adresse IP du controleur.

Le schéma fourni dans le document est le suivant:

struct.png

Après quelques jours, APT1 a détecté cette compromission, principalement parce qu'une machine accédait au c&c sans passer par le proxy. Les chercheurs ont alors dû changer leur méthode et sont passés par le proxy, en créant leur propre shellcode.

Ils ont ensuite installé un keylogger sur le serveur Poison Ivy, pour logger les identifiants et mots de passe d'accès RDP au proxy.

Une fois sur le proxy, un dump des Event logs Windows a permis de découvrir 384 adresses IP uniques.

L'analyse des données

Une collecte massive de données a été effectuée : fichiers, logs, outputs netstat, etc.etc. puis divisée en 2 catégories : les infos sur les outils des attaquants, et les infos sur les cibles des attaquants.

Une liste des outils des attaquants est fournie, avec un bref descriptif. Je passe sur cette partie, à noter quand même l'analyse d'un RAT "homemade" nommé TERMINATOR/Fakem RAT) découvert sur un serveur proxy.

Ce qui nous intéresse surtout dans ce document, ce sont les informations sur les cibles.

  • Les attaquants semblent utiliser un couple serveur proxy/serveur c&c pour chaque cible. Lorsqu'une cible découvre l'adresse IP d'un proxy, cette adresse est réassignée à une autre cible.
  • Les secteurs d'activité des cibles: sociétés privées, publiques, institutions politiques, activistes, associations et journalistes.
  • Sur le serveur Poison Ivy, un répertoire est créé au format: <NOM DE LA CIBLE>\<NOM D'UTILISATEUR>. (exemple: E:\SOCIETEBLABLA\borislezombie)

Sans surprise, les documents trouvés dans ces répertoires sont aux formats PPT, XLS, DOC, PDF, JPG.

Parmi ces documents ont été découverts des diagrammes de réseaux, des couples login/pass, des cartes d'accès physiques, des listings d'incidents de sécurité, de politiques de sécurité, etc.

Les documents sensibles sont protégés par mots de passe selon un format prédéfini et assez facile à brute forcer.

Ce post n'a pas pour vocation de vous éviter de lire l'excellent paper de malware.lu et itrust consulting, en particulier de Paul Rascagnères.

Je remercie donc chaleureusement Paul pour cette étude qui nous en révèle un peu plus sur nos attaquants favoris... ;-)

jeudi 14 février 2013

APT ?

"APT" est un acronyme que l'on entend depuis plusieurs années. Le terme a été usé largement par les commerciaux et marketeux de plein de sociétés IT vendeuses de peur, mais a toujours fait rugir les spécialistes du domaine.

"APT" signifie "Advanced Persistent Threat". Personnellement, je préfère parler d'"attaque ciblée" ou, lorsque j'en discute avec des collègues étrangers, de "targeted attack".

On a lu tout et n'importe quoi sur le sujet, ce qui m'a décidé d'en parler un petit peu ici. Cela me permet aussi de sortir mon blog de sa torpeur et des ricanements bêtes de mes collègues qui me reprochent son inactivité et son usage "self-advertise" des derniers posts (ils ont raison, mais ne leur dites pas que je l'ai admis).

Alors l'APT, ou attaque ciblée, c'est quoi ? C'est une attaque ciblée sur une/des entreprises, qui se maintient dans le temps, dans le but de se maintenir sur le système pour y dérober de l'information sensible/stratégique.

Cette attaque se déroule en plusieurs phases, que nous allons énumérer succintement.

1. Définition de la cible et collecte d'informations

Le choix d'une cible semble relativement aisé (bien que cela puisse se complexifier rapidement avec certaines entreprises qui disposent de nombreuses filiales et/ou de sous-traitants), La collecte d'information à ce stade se focalise sur les informations publiques disponibles rapidement sur Internet : employés facilement atteignables par les réseaux sociaux (LinkedIn, Viadeo, mais aussi copainsdavant, Facebook, etc.), adresses IP publiques de l'entreprise et/ou de ses filiales, etc.etc.

Cela ressemble beaucoup à la phase de reconnaissance d'un bon vieux pentest.

2. Définition de la stratégie d'attaque

L'attaquant va se retrouver confronté à une problématique : comment pénétrer le système ? Un ensemble de questions se pose alors.

-> Quelle est la meilleure méthode selon lui pour infecter cette cible ? Les choix habituels possibles:

  • Attaque Watering hole ? (histoire de caser un des dernier terme des marketeux de Symantec) En gros cela consiste à infecter des sites Internet susceptibles d'être visités par la cible, afin d'infecter cette cible. Un exemple: admettons que je vise un grand constructeur automobile. En infectant le site d'un sous-traitant fabricant une pièce très spécifique nécessaire à la construction d'un véhicule, on peut imaginer que la page de cette pièce, sur Internet, sera principalement visitée par des professionnels en ayant besoin... Et donc par la cible ou l'un de ses concurrents.
  • Spear-Phishing : l'attaquant va cibler une ou plusieurs adresses e-mail d'employés, en leur envoyant un courrier attractif dont le but est d'être ouvert, afin de compromettre le poste de travail de l'employé. Cela se présentera souvent sous la forme d'un document Adobe PDF ou Microsoft Office permettant d'infecter le poste de travail.
  • Compromission directe du SI: l'attaquant se focalise ici sur la compromission d'un serveur web par exemple, ou d'autres ressources de l'entreprise accessibles depuis Internet. Généralement, il s'agira d'exploiter une vulnérabilité, présente sur un serveur, afin d'espérer pouvoir rebondir ailleurs dans le SI et aller vers l'information intéressante.
  • Attaque physique : Beaucoup plus rare... L'attaquant dispose par exemple d'un accès au parking souterrain de la cible, et va laisser trainer une/plusieurs clefs USB au sol, dans l'espoir qu'un employé la glisse dans son poste de travail... Devinez ce qu'il y a sur la clef ? Un beau petit malware bien sûr... Qui deviendra un point d'entrée dans la société.

Note: A l'heure actuelle, la compromission d'un SI par tout biais informatique est nettement favorisée par rapport aux techniques "à l'ancienne", à savoir soudoyer des sous-traitants pour avoir un accès physique aux machines (on peut imaginer qu'une femme de ménage puisse accepter facilement une certaine somme d'argent pour "simplement aller brancher une clef USB" sur un ordinateur...)

-> De quel laps de temps dispose-t-il ?

Plus l'attaquant dispose de temps, plus l'attaque sera discrète, tout simplement. Au lieu de noyer plusieurs employés de multiples mails, qui pourraient lever une alerte, un mail est envoyé de temps en temps... Autre exemple, quelques scans de ports par ci par là répartis sur une journée lèveront moins d'alertes que des milliers de scans en quelques heures.

3. L' attaque

Une fois toutes les décisions prises, l'attaquant se lance dans sa campagne d'attaque. Le but est d'obtenir un ou plusieurs accès au SI de l'entreprise. L'idéal consiste à infecter différents réseaux de l'entreprise, et d'y obtenir des droits élevés.

Il suffit parfois de peu pour compromettre tout un SI: un poste de travail avec un utilisateur loggé avec des droits d'administrateur permet souvent de rebondir sur de nombreuses machines et parties différentes du SI.

Bref, le but ici est d'obtenir des droits élevés sur une/des machines/serveurs de l'entreprise, et de pouvoir rebondir partout et ainsi pouvoir obtenir tout document intéressant.

Les attaques reproduisent souvent le même schéma :

- Compromission d'une machine - Elévation de privilèges : administrateur local, administrateur de domaine - Compromission des serveurs stratégiques du SI (Active Directory notamment)

4. La persistance

Une fois que l'attaquant "maitrise" bien les différentes parties du SI qui l'intéressent, sa première préoccupation est de s'assurer que son travail ne sera pas vain et qu'il pourra toujours revenir dans le réseau les jours suivants. Il va donc installer des RAT (Remote Administration Tools) ou des portes dérobées afin de toujours disposer d'accès. En général, plusieurs outils différents sont utilisés, augmentant les chances de se maintenir sur le système si l'une des backdoors était découverte.

A noter que l'attaquant peut très bien se créer des utilisateurs sur le réseau, ou utiliser des profils d'administrateurs existants pour rester discret.

5. Le vol de données

L'attaquant, arrivé à ce stade, dispose souvent de tous les droits sur le système d'information de l'entreprise. En tout cas, pour la blague, il dispose toujours de plus de droits que les pauvres "incident responders" qui vont devoir investiguer lorsque l'APT sera découverte.

La technique la plus courante ici pour exfiltrer de la donnée consiste à créer des archives chiffrées (RAR étant le format le plus courant) des données sensibles, puis à les transférer tranquillement à partir de l'un des clients du RAT installé sur la machine. Les attaquants exfiltrent la plupart du temps les données à partir d'une machine qu'ils ont plus ou moins dédié à cette activité.

Bref...

Bien des aspects des APT ne sont pas évoqués ici, ce billet se voulant générique.

Ce qui me chiffonne un peu, finalement, dans "APT", c'est le A. Pourquoi donc ? Tout simplement parce que :

  • les attaquants ne sont pas des dieux du code, du shell, ou de quoi que ce soit de vraiment technique.
  • les outils utilisés par les attaquants sont la plupart du temps très basiques, que ce soit pour la compromission, la persistance ou le vol de données. Il s'agit d'outils génériques connus de toute la communauté de la sécurité informatique et des Administrateurs Systèmes (PwDump ou PsExec pour ne citer qu'eux à titre d'exemple).
  • les RAT utilisés sont souvent des RAT génériques, tout juste retouchés pour contourner les anti-virus (un exemple : Poison Ivy). Rares sont les RAT spécifiquement développés pour des attaques ciblées (et du coup non disponibles à la vente sur des forums underground).
  • Les exploits utilisés pour les compromissions initiales sont souvent vieux, mais après tout, les entreprises patchent avec tellement de retard que ce n'est pas grave. Pas besoin de 0day comme le prétendent certains vendeurs de peur.

Le seul aspect "avancé" de ces attaques que je vois serait plutôt dans la structure même des groupes d'attaques : le fait d'être un groupe formé à attaquer, avec des personnes s'occupant des malware, d'autres personnes s'occupant des compromissions initiales, encore d'autres attaquants ne s'occupant que de la persistance et du rebond sur de nombreuses machines du SI compromis, et probablement de l'exfiltration des données. A cela s'ajoutent des administrateurs des serveurs de command&control et de toutes les structures informatiques nécessaires aux attaquants (enregistrements de noms de domaines dédiés, configuration de serveurs dédiés, etc.).

Joe Stewart, grand expert du domaine, estime que les plus grands groupes d'attaquants sont constitués de plusieurs centaines de personnes...

L'aspect le plus intéressant est celui sur lequel on en sait le moins : l'économie souterraine autour des APT. Quels sont les commanditaires de ces attaques (on le sait dans certains cas, et jamais dans d'autres) ? Comment sont rémunérés les attaquants ? Comment est structuré exactement le groupe d'attaquants lié à telle ou telle attaque ?

page 2 de 2 -