CryptoLocker. - Retour d expérience ! (20/05/2014) iqqing. P.Asty



Documents pareils
Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN

Nouvelle version de Zonecheck, la 3.0, avec tests DNSSEC

Attaques applicatives

TP JAVASCRIPT OMI4 TP5 SRC

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups Auteur : Charles-Alban BENEZECH

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

Solution du challenge SSTIC Emilien Girault ANSSI/COSSI/DTO/BAI 06/06/13

Stockage du fichier dans une table mysql:

Configurer la supervision pour une base MS SQL Server Viadéis Services

VMware ESX : Installation. Hervé Chaudret RSI - Délégation Centre Poitou-Charentes

Techniques de Programmation pour Internet

NAMEBAY PRO. votre site de revente de noms de domaine en marque blanche. Documentation technique

Déploiement d OCS 1.02 RC2 sous Debian Etch 64

Powershell. Sommaire. 1) Étude du cahier des charges 2) Veille technologique 3) Administration sur site 4) Automatisation des tâches d administration

INF8007 Langages de script

Manuel d'installation

Guide Installation Serveur Extensive Testing

WDpStats Procédure d installation

Guide de configuration

L3 informatique TP n o 2 : Les applications réseau

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Vulnérabilités et sécurisation des applications Web

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

Guide Installation Serveur Extensive Testing

DOM - Document Object Model

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition

API SMS CONSEIL HTTP V2.01. Sommaire. Documentation V1.0 au 21/05/2011

INSTALLATION Advantage Database Server

NOTICE INSTALLATION. ARCHANGE Simplex Office N&B/Couleur KONICA MINOLTA BUSINESS SOLUTIONS FRANCE

Sécurité des applications web. Daniel Boteanu

Présentation Windows Azure Hadoop Big Data - BI

AWS avancé. Surveiller votre utilisation d EC2

Plateforme Systempay Descriptif de l interface avec la page de paiement

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

NOTICE INSTALLATION. ARCHANGE WebDAV Office N&B/Couleur KONICA MINOLTA BUSINESS SOLUTIONS FRANCE

Procédure d Installation et de mise à jour du client CAN-8 32 bits

Dans l'épisode précédent

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Paiement sécurisé sur Internet. Documentation Technique

Les solutions de paiement CyberMUT (Crédit Mutuel) et CIC. Qui contacter pour commencer la mise en place d une configuration de test?

Tout d abord les pré-requis : Au menu un certain nombre de KB

ADF 2009 Sécurisation d applications PHP/MySQL

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

L analyse de logs. Sébastien Tricaud Groupe Resist - Toulouse 2013

Faits saillants et survol des résultats du sondage

Guide d implémentation Interface avec la plateforme de paiement

Club des Responsables d Infrastructures et de la Production

Installation d OpenVPN

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

II- Préparation du serveur et installation d OpenVpn :

Exemple d application: l annuaire DNS Claude Chaudet

Tutoriel compte-rendu Mission 1

COURS 5 Mettre son site en ligne! Exporter son site avec WordPress Duplicator Installer un logiciel FTP Faire le suivi des visites de son site avec

Procédure d'installation

Dans la série LES TUTORIELS LIBRES présentés par le site FRAMASOFT. Premiers pas avec WinPT (cryptographie sous Win) EITIC

TrustedBird, un client de messagerie de confiance

Procédure d'installation du serveur Apache HTTPD pour Windows

1. Installation du Module

Spécification externe : BIOSERVEUR Protocole de communication sécurisé Medxfer

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Plan. Excalibur. Les opérations sur données. SQL or not SQL? Backups. Inter opérabilité

Sécurisez votre serveur Web Internet Information Services de Microsoft (MS IIS) avec un certificat numérique de thawte thawte thawte thawte thawte

Zoom sur Newtest LDAP intégration

Description du logiciel Modbus RTU

td3a correction session7az

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

04/05/2011 Amundi Liquidity A creative market introduction Date

Le format OpenPGP. Traduit par : Sébastien Person. personseb@yahoo.fr. Matthieu Hautreux. matthieu.hautreux@insa-rouen.fr.

Module http MMS AllMySMS.com Manuel d intégration

Outils en ligne de commande

TP 2 : Chiffrement par blocs

Gérer ses environnements de développement avec Vagrant RMLL 2012

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

Formulaires et Compteurs

Authentification unique Eurécia

Création d installateurs pour Windows avec InnoSetup

Projet de programmation (IK3) : TP n 1 Correction

Problème physique. CH5 Administration centralisée

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

PAYBOX SYSTEM MANUEL D INTEGRATION

Poste virtuel. Installation du client CITRIX RECEIVER

Hébergement de site web Damien Nouvel

Architectures PKI. Sébastien VARRETTE

OUAPI Guide d installation Outil d administration de parc informatique. Documentation d installation et de paramétrage

Installation et mise en œuvre de OpenSSH sous AIX 5L

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

SERVEUR HTTP Administration d apache

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

VTX FTP. Transfert de fichiers business par FTP - Manuel de l'utilisateur. Informations complémentaires : info@vtx.

Guide d'installation rapide TFM-560X YO.13

NOTE: Pour une meilleure sécurisation, nous vous recommandons de faire l installation des outils web à l intérieur d un serveur virtuel.

SaltStack pour la gestion de parc

Utilisez Toucan portable pour vos sauvegardes

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5

SSL. Secure Socket Layer. R. Kobylanski janvier version 1.1 FC INPG. Protocole SSL Application avec stunnel

Transcription:

CryptoLocker - Retour d expérience! (20/05/2014) 1

Kesako Rançongiciel! Windows! Via mail / PJ! Chiffre les fichiers, locaux & réseau 2

w Exec. - 1/4 Email + Trojan.Zbot download Trojan.Cryptolocker - file: Jcgnbunudberrr.zip ( Jcgnbunudberrr.exe), Lmpjxmvheortt, Icmcobxksjghdlnnt, - site: xeogrhxquuubt.com, qaaepodedahnslq.org, ovenbdjnihhdlb.net,....exe «Mes Documents» - nom de fichier «random» HKEY_CURRENT_USER\ \Run CryptoLocker = %appdata%\{clsid}.exe - XOR key 0x819C33AE (par ex. pour VersionInfo dans le registre) http://blog.emsisoft.com/2013/09/10/cryptolocker-a-new-ransomware-variant/ http://www.secureworks.com/cyber-threat-intelligence/threats/cryptolocker-ransomware 3

w Exec. - 2/4 DGA - Domain Generation Algorithm Key = Temp ^ (Temp >> 0x12) NewKey = (((Key * 0x10624DD3) >> 6) * 0xFFFFFC18) + Key CurrentDay = GetSystemTime (Current Day) DayKey = (CurrentDay << 0x10) ^ CurrentDay if (DayKey <= 1) { DayKey = CurrentDay << 0x18 } CurrentMonth = GetSystemTime (Current Month) MonthKey = (CurrentMonth << 0x10) ^ CurrentMonth if (MonthKey <= 7) { MonthKey = CurrentMonth << 0x18 // == *2^24 if (MonthKey <= 7) { MonthKey =!(MonthKey) } } CurrentYear = GetSystemTime (Current Year) YearKey = ((CurrentYear + NewKey) << 0x10) ^ (CurrentYear + NewKey) if (YearKey <= 0xF) { YearKey = ((CurrentYear + NewKey) << 0x18) } StringLength = (((DayKey ^ ((YearKey ^ 8 * YearKey ^ ((DayKey ^ ((MonthKey ^ 4 * MonthKey) >> 6)) >> 8)) >> 5)) >> 6) & 3) + 0xC i = 0 do { MonthKey = ((MonthKey ^ 4 * MonthKey) >> 0x19) ^ 0x10 * (MonthKey & 0xFFFFFFF8) DayKey = (DayKey >> 0x13)) ^ ((DayKey >> 6) ^ (DayKey << 0xC)) & 0x1FFF ^ (DayKey << 0xC) YearKey = ((YearKey ^ 8 * YearKey) >> 0xB) ^ ((YearKey & 0xFFFFFFF0) << 0x11) i = i + 1 ServerName [i - 1] = (DayKey ^ MonthKey ^ YearKey) % 0x19 + 'a' } while (i < StringLength) TLD =.ru.org.co.uk.info.com.net.biz 1000 FQDN / jour http://blog.fortinet.com/a-closer-look-at-cryptolocker-s-dga/ 4

w Exec. - 3/4 c POST http://xeogrhyquuubt.com K-RSA-pub c (donne-moi 1 K-RSA-pub w ) [K-RSA-priv w ] K-RSA-priv c (K-RSA-pub w ) [K-RSA-pub w ] URL POST:..&version=<version du malware>&id=<num?>&name=<hostname>&group=<groupid>&lid=en-us K-RSA-priv = 2048 bits 5

w Exec. - 4/4 Pour chaque fichier à chiffrer [K-AES w ] = rand (256 bits) fichier chiffré = 00.. 19 [hdr#1]= SHA1 (0000. header#2) 20.. 275 [hdr#2]= K-RSA-pub w (K-AES w ) 276 [data] = K-AES w (fichier en clair) HKEY_CURRENT_USER\Software\CryptoLocker\Files = fichier chiffré 1, fichier chiffré 2, http://www.kyrus-tech.com/cryptolocker-decryption-engine/ 6

w Infecté? - 1/4 Retirer la machine du réseau Lister les fichiers chiffrés http://www.bleepingcomputer.com/virus-removal/cryptolocker-ransomware-information 7

w Infecté? - 2/4 Si < 72 heures, payez 0,5 BTC En retour : [K-RSA-priv w ] URL.onion pour télécharger CryptoLockerDecrypter.exe 8

w Infecté? - 3/4 Si > 72 heures : http://f2d2v7soksbskekh.onion Uploader un fichier chiffré Payer 3,0 BTC En retour : [K-RSA-priv w ] CryptoLockerDecrypter.exe 9

w Infecté? - 4/4 Porter plainte : BEFTI 01 55 75 26 19 10

Decrypt. Srv - 1/3 CryptoLocker Decryption Service - f2d2v7soksbskekh.onion - xjqrbcpinwxg.com Registrar: bizcn.com - Creation Date: 02-feb-2014 - IP Geo loc Country: RU Server: nginx/1.4.5 <title>cryptolocker Decryption Service</title> 11

Decrypt. Srv - 2/3 Upload de fichier chiffré - code <script type="text/javascript"> //<![CDATA[ var g_chunksize = 1024; //]]> </script> <form id="file-form" method="post" action="/"> <input id="file-data" name="file" type="hidden" value=""> <input id="file-source" type="file"> </form> <script type="text/javascript"> var b = $("#file-source")[0].files; var c = b[0]; var a = new FileReader(); a.readasarraybuffer(c.slice(0, g_chunksize)) var h = ""; var e = new Uint8Array(g.target.result); for (var f = 0; f < e.bytelength; f++) { h += String.fromCharCode(e[f]) } $("#file-data").val(btoa(h)); $("#file-form")[0].submit() </script> 12

Decrypt. Srv - 3/3 Upload de fichier chiffré - tests curl -A 'Mozilla/5.0' -sik -H 'Content-Type: application/x-www-form-urlencoded' -H 'Content- Length: 1361' -d "file=..incorrect.." http://xjqrbcpinwxg.com Internal error. Please try again later. curl -A 'Mozilla/5.0' -sik -H 'Content-Type: application/x-www-form-urlencoded' -H 'Content- Length: 1477' -d "file=..correct.." http://xjqrbcpinwxg.com Location: /?order=6eb05dbf734763ae9402d537e09cea74ef0c99f2 curl -A 'Mozilla/5.0' -sik 'http://xjqrbcpinwxg.com/? order=fb3d2431dd6e84ebafc02f0678e16c439ace5e66&download'.exe, contenant (strings): - order id (xxxxx-xxxxx-...) - priv key - fct *File*, Crypt* 13

Démo dd bs=1 skip=20 count=256 < file perl -e 'print scalar reverse <>' > file.aes.enc openssl rsautl -inkey priv.pem -decrypt -hexdump -in file.aes.enc 0000-08 02 00 00 10 66 00 00-20 00 00 00 cb 31 4c e8...f.....1l. 0010-0b 8c ca 30 6e 1d 52 3c-60 cc c9 3a f8 78 c7 ba...0n.r<`..:.x.. 0020-59 55 6f 9d f9 60 11 41-72 b4 15 b8 YUo..`.Ar... 08 = PUBLICKEYSTRUC (08: PLAINTEXTKEYBLOB, 02: version, 0x6610: CALG_AES_256) cb 31 4C = K - A E S k=cb314ce80b8cca306e1d523c60ccc93af878c7ba59556f9df960114172b415b8 dd bs=1 skip=276 < file > file.enc openssl enc -in file.enc -d -aes-256-cbc -K $k -iv 0 14

Questions?!!?? patrick.asty@gmail.com! $$ patrick.asty@.com 15