Category Archives: Security

BADLOCK – Most Overhyped Bug

Badlock ist sicherlich jedem ein Begriff – genug darüber geschrieben und gesprochen wurde ja schliesslich in vergangener Zeit:

Doch wieso wurde diesem Bug so viel Aufmerksamkeit geschenkt, wieso hat der Bug ein Logo und einen Namen während Andere nur eine CVE-Nummer bekommen?
Eigentlich liegt der Schluss somit ja nahe, dass er kritischer oder heikler ist als andere… Ist somit spezielle Vorsicht nötig?

Problematisch ist sicherlich die Entwicklung, welche der Bug durchgemacht hat: Vor knapp einem Monat wurde die Lücke veröffentlicht, jedoch nur mit dem Namen, einem coolen Logo und ohne zusätzliche Details. Da die Medien dies ziemlich schnell aufgriffen, fingen die wildesten Spekulationen an, welche Software-Teile betroffen sein könnten oder wie weitrechend die Auswirkungen wirklich sind… Dazugekommen ist, dass der Name auch sehr viel Spielraum für Spekulationen offen lässt und auf den ersten Blick vielleicht eher in Richtung Locking und Concurrent Programming führen könnte.

Jetzt, nachdem die Details bekannt sind, muss man sicherlich auch mal relativieren: Der Bug ist durchaus heikel, aber nicht so heikel, dass man jetzt in Panik verfallen müsste, wie das auch schon bei z.B. Shellshock der Fall war. Versteht mich nicht falsch, ich sage nicht, man soll die Lücke nicht patchen und schliessen, aber das geht auch wie bei jedem anderen Bug sonst auch und braucht keine 1-monatige Marketingkampagne bevor einzelne Infos darüber veröffentlicht werden. Das ist simple Effekthascherei…
Und schliesslich kann jeder einem Bug einen Namen und ein Logo geben, das ändert aber noch lange nichts an der Wichtigkeit oder der Reichweite eines einzelnen Bugs. Badlock hat auch „nur“ eine CVSS score von 7.1 erhalten und selbst Microsoft stuft den Fix nur als „Wichtig“ und nicht „Kritisch“ ein…

Ich denke mal, wir befinden uns hier auf einem guten Weg für den Pwnie Award „Most Overhyped Bug“… 🙂

Online-Dienst zur Identifizierung von Ransomware

Bei der Incident Response von Ransomware-Ausbrüchen ist es essenziell, dass man ziemlich schnell weiss, mit welchem Typ von Malware man es zu tun hat, um die First Response auch entsprechend ableiten zu können. Nicht gerade Vorteilhaft, wenn man auf eine statische Analyse warten muss, um weitere Infos zu erhalten, wonach man überhaupt sonst noch so suchen muss. Oder als Worst Case: Man hat nur die verschlüsselten Files und keine Malware und kann nicht feststellen, wie genau die Malware sich verhält oder wo man weitersuchen könnte…

Das selbe Problem scheint auch der Twitter-User Michael Gillespie (@demonslay335) zu kennen und hat deshalb eine Plattform „ID Ransomware“ ins Leben gerufen, auf welcher entweder die Erpresser-Files oder aber gleich verschlüsselte Daten hochladen und analysieren lassen kann:

id_ransomware

Nach eigenen Aussagen erkennt man aktuell 59 Ransomware-Familien:

7ev3n, AutoLocky, BitMessage, Booyah, Brazilian Ransomware, BuyUnlockCode, Cerber, CoinVault, Coverton, Crypt0L0cker, CryptoFortress, CryptoHasYou, CryptoJoker, CryptoTorLocker, CryptoWall 2.0, CryptoWall 3.0, CryptoWall 4.0, CryptXXX, CrySiS, CTB-Locker, DMA Locker, ECLR Ransomware, EnCiPhErEd, Hi Buddy!, HOW TO DECRYPT FILES, HydraCrypt, Jigsaw, JobCrypter, KeRanger, KryptoLocker, LeChiffre, Locky, Lortok, Magic, Maktub Locker, MireWare, Mobef, NanoLocker, Nemucod, OMG! Ransomcrypt, PadCrypt, PClock, PowerWare, Radamant, Radamant v2.1, RemindMe, Rokku, Samas, Sanction, Shade, SuperCrypt, Surprise, TeslaCrypt 0.x, TeslaCrypt 2.x, TeslaCrypt 3.0, TeslaCrypt 4.0, UmbreCrypt, VaultCrypt, WonderCrypter

Meine Tests mit CryptoLocker und HydraCrypt haben leider weder mit verschlüsselten noch mit Erpressungs-Files funktioniert, aber einerseits hat die Plattform ja noch potenzial zu wachsen und andererseits ist im Falle eines Ausbruches jedes Mittel recht, selbst wenn es nur bei 10% der Samples etwas hilfreiches hervor bringt…

Zu finden ist die Plattform unter id-ransomware.malwarehunterteam.com.

Bei sehr konstanter Erkennungsrate wäre es natürlich ganz cool eine API zu haben. Ich stelle mir hier Dinge vor wie automatische Alarms auf verdächtige Files, welche dann über die API geprüft und eindeutig identifiziert werden, etc. Zukunftsmusik aber eigentlich gar nicht mal so verkehrt der Gedanke… 🙂

Neues Ransomware Sample mit IOC

Vor kurzem bin ich über eine mir bisher noch nicht untergekommene Variante einer Ransomware gestossen. Die Erkennungsrate nach auch einem ganzen Tag lässt leider noch immer massiv zu wünschen übrig – gerade mal 11 von 56 (Link) erkennen die Bedrohung bisher und anhand der Malware-Familien, welche zugeordnet werden, scheinen das auch nur Behaivoral-Analysen zu sein und sicherlich keine Pattern…

Die Infektion mit der Ransomware scheint wie in letzter Zeit so üblich, über das Angler-EK zu laufen und die Einstiegspunkte dafür sind sehr vielfältig.

Ist die Malware auf dem Client, so erkennt man sie am besten daran, dass sie sich in jeden verschlüsselten Ordner selbst kopiert, aktuell unter dem Namen „Backup Instruction.exe“ mit folgenden Eigenschaften:

MD5:		a0fed8de59e6f6ce77da7788faef5489
SHA1:		96ebbf821f37dc2dcebc177fc3a6c17b3171aab3
SHA256:	004cdc6996225f244aef124edc72f90434a872b3d4fa56d5ebc2655473733aef

Ist die Ransomware einmal aktiv, so werden die Daten verschlüsselt nach folgendem Muster:

FILENAME_ID_email_xoomx@dr.com_.code

Zusätzlich wird die Datei mit weiteren Instruktionen in einer HTML Datei abgelegt mit dem Namen „HELP_YOUR_FILES.HTML“:

Name:		HELP_YOUR_FILES.HTML
Grösse:	1913 bytes
Typ:		HTML document, ASCII text
MD5			4cb837255571d2d27d6b1f8f9bc672ef
SHA1		e3717b3a2d7e98abdfe8451b6d4efe3a51c65347
SHA256	f44737eb9ef658251f8f5bf5b0f59186a554a8a9ef6b1cf78b927866a0143a27

Erkennen lässt sich die Ransomware an der Netzwerkkommunikation, womit der entsprechende Key übermittelt wird:

21-04-2016 07-33-20

Spannend fand ich, dass der Key vom Host an den C2 übermittelt wird und nicht umgekehrt:

21-04-2016 07-35-27

Somit ist der übermittelte Key entweder der Private-Key zum Entschlüsseln, oder aber der Public Key, was aber bedeutet, dass die Ransomware selbst über hartkodierte und einprogrammierte Keys verfügen muss und diese sind ja bekanntlich nicht unendlich vielfältig. Sicherlich ein guter Punkt zum Einsteigen für ein mögliches Entschlüsselungsprogramm…

Als IOC sind aus der Analyse die folgenden Infos zusammengekommen:

FileHash-MD5:			a0fed8de59e6f6ce77da7788faef5489
FileHash-SHA1:		96ebbf821f37dc2dcebc177fc3a6c17b3171aab3
FileHash-SHA256:	004cdc6996225f244aef124edc72f90434a872b3d4fa56d5ebc2655473733aef
IPv4:							46.8.45.174
URL:							hXXp://46.8.45.174/bobi/piok.php

Analyse von Cryptolocker / TeslaCrypt Sample

Bei fast allen Typen von Ransomware, welche ich bisher analysiert hatte, waren die entsprechenden Locker-Samples ziemlich einfach aufzufinden: Diese kopieren sich nämlich einfach mal schnell ins Home-Directory des Users und verstecken sich dort (hidden Files). Doch wieso geht man so fahrlässig damit um? So ist das Sammeln von IOCs und anderen Verhaltensmustern ja ziemlich einfach und man muss andauernd wieder neue Versionen produzieren und verteilen… Natürlich ist es mittlerweile dank Packer und anderen Tools sehr einfach aus einem Sample gleich hundert neue zu generieren, doch wieso macht man sich den Aufwand überhaupt, wenn man es auch von Anfang an richtig machen könnte? Würde man den Locker lediglich aus dem Memory starten, so wäre es weitaus schwieriger, das Sample in die Finger zu bekommen, da man in der Regel den Stop der Verschlüsselung einer forensisch Tiefen Analyse des Clients vorzieht…

Diese Gedanken sind wieder aufgekommen, als mir vor kurzem ein Sample einer Variante von TeslaCrypt zugetragen wurde. Dieses ist aktuell noch nicht erkannt von den bekannten AV-Herstellern (Stand 17.03.2016), weshalb ich hier gerne meine IOCs weitergebe:

Netzwerk

Wie bei allen aktuellen Ransomware Samples gibt es auch hier natürlich einen initialen Kontakt mit C2 Systemen, mindestens um den entsprechenden Public-Key anzufordern, der sich durch charakteristisch klar erkennbare HTTP-Posts zeigt:

POST /*/*.[php|cgi] HTTP/1.1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 6.3 rv:11.0) like Gecko
Host: *
Content-Length: 645
Cache-Control: no-cache

Insgesamt findet die Kommunikation mit 2 verschiedenen Servern und mehreren URLs statt:

IP Domain Data
174.136.12.119 esbook.com POST /phsys.php HTTP/1.1
Accept: , \x90\x01\xb2, , , , , ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., w, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 6.3 rv:11.0) like Gecko
Host: esbook.com
Content-Length: 645
Cache-Control: no-cache
174.136.12.119 esbook.com GET /cgi-sys/suspendedpage.cgi HTTP/1.1
Accept: , \x90\x01\xb2, , , , , ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., w, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .
Connection: Keep-Alive
User-Agent: Mozilla/5.0 (Windows NT 6.3 rv:11.0) like Gecko
Host: esbook.com
Cookie: _asomcnc=1
Cache-Control: no-cache
66.147.244.86 hmgame.net POST /phsys.php HTTP/1.1
Accept: , \x90\x01\xb2, , , , , ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., w, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 6.3 rv:11.0) like Gecko
Host: hmgame.net
Content-Length: 645
Cache-Control: no-cache

File

Das File selbst kommt laut Metainfos von einer Firma namens „Cerious Software, Inc.“ und ist unter dem Namen „Recogniser Payslips“ in der Version „0.8.250.145“ verfügbar. Immerhin waren die Schreiber so ehrlich und haben die Software nur als Pre-Release veröffentlicht. 😀

Die gedroppten Files selbst bestehen aus einem Buchstaben-String von zufälligen Buchstaben. Bei meiner Ausführung war dies rwhiti.exe und jdlsfg.exe, zwei Namen, jedoch nur eine Datei dahinter… Die Files starten sich mehrfach selbst als Kindsprozesse, wohl um die Analyse zu erschweren. Nebenbei wird auch noch ein CMD.exe gestartet, mit dem Versuch rwhiti.exe zu löschen. Wieso hierbei aber auf das Löschen von jdlsfg.exe verzichtet wird, ist mir ein Rätsel, aber vielleicht kommt das ja noch, sobald wir die Stable-Version der Ransomware erreicht haben…

Einnisten tun sich die Files in der Registry an den üblichen Orten:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\"" = "%System%\CMD.EXE /C START %UserProfile%\My Documents\*.exe.

Das File selbst hat die folgenden Eigenschaften:

FILE NAME rwhiti.exe
FILE SIZE 406096 bytes
FILE TYPE PE32 executable (GUI) Intel 80386, for MS Windows
MD5 36876e94ffe785addb9b21e85f78b2fd
SHA1 e228d0cdd3ad649c5a31c464252646183d7b0fbf
SHA256 613e13ba403ad91777298999e968f3a0610c53e0ecdf99657db92fc508873a5c

Eine Zusammenfassung der IOC gibt es hier. Happy Hunting!

„Jemand hat bezahlt“ oder die wahren Verursacher von Unwissenheit

Gestern trumpfte eine Meldung in der 20min.ch mit der Überschrift „Schweizer Unternehmen liess sich erpressen„. Dabei ging es um den konkreten Fall einer Schweizer Unternehmung die angeblich auf die Erpressungen reagiert hat und sich freigekauft hat… Es geht mir auch gar nicht um diese Unternehmung selbst, doch viel mehr um die falschen Anreize, welche diese Aktion nun schafft! Ich meine, es gibt ja auch einen einfachen Grund wieso man offiziell die Haltung lebt, dass man mit Erpressern nicht verhandelt. Selbst wenn am Ende hintenrum immer mal wieder Geld fliest, so muss die offizielle Botschaft ganz klar lauten: WIR LASSEN UNS NICHT ERPRESSEN, da sonst falsche Anreize geschaffen werden, entweder für neue Täter oder aber auch für den selben Täter wieder. Dies aus dem einfachen Grund, dass man gesehen hat das Modell lohnt sich, selbst wenn ein zweiter Täter gar nicht die technischen Einrichtungen besitzt, um den Angriff tatsächlich durchzuführen, wenn bereits auf die Androhung hin bezahlt wird, so ist das klar ein neues Geschäftsmodell…

Und jetzt? Die „Schweizer Unternehmung“ ist nun Schuld, dass andere auch angegriffen werden?

Aber das Problem liegt hier in meinen Augen gar nicht wirklich bei der Unternehmung, die gezahlt hat, selbst, sondern viel mehr beim Bund, MELANI, GovCERT und all diesen Einrichtungen. Zwar gibt es von diesen offizielle Stellungnahmen und ein paar kurze Whitepapers, doch sind diese viel zu oberflächlich und allgemein… So heisst es:

„Typischerweise suchen Sie hier eine Lösung in enger Zusammenarbeit mit Ihrem ISP und/oder einem spezialisierten DDoSMitigation-Provider. (Quelle)“

Ahja! Und wie soll jemand, der schon keine Ahnung hat, dass es überhaupt Provider für DDoS-Protection gibt nun verstehen, was ein „spezialisierten DDoSMitigation-Provider“ ist und wo er nun einen findet? Ausserdem klingt das so hochgestochen, dass wohl jede mittelgrosse Unternehmung zum Schluss kommt, das kann sich ja niemand leisten:

«Wir hatten immer mal wieder DDoS-Angriffe, eine Attacke in diesem Ausmass gab es aber noch nie», sagt Stefan Meile, Inhaber von Insmoke.ch, der auch die Website Wernersheadshop.ch und fünf weitere Domains betreibt. Insgesamt arbeiten 13 Personen im Betrieb. Am Sonntag begannen die Angriffe. Erst waren die Websites nur für eine Stunde offline.«Am Montag waren wir für drei und am Dienstag für sieben Stunden nicht erreichbar», sagt Meile. Einen DDoS-Schutz hat der Betreiber bisher nicht. «Für KMUs ist das fast nicht bezahlbar», sagt er. (Quelle)

Umso mehr verstehe ich solche Aussagen. Eigentlich gibt es diverse DDoS-Protection-Services für einfache Webshops bereits ab CHF 20.- pro Monat, doch wenn man nicht weiss, wonach man schauen muss… Wieso also macht man sich von offizieller Seite nicht die Mühe, und veröffentlicht ein management-gerechtes Paper mit konkreten Beispielen, einem Proof Of Concept oder einer Success-Story. Oder MELANI setzt sich mal mit den grösseren ISP’s zusammen und definiert eine einfache Lösung inklusive Kontaktpunkt, wovon auch KMUs profitieren können (Gesamtpaket), denn wie soll man als kleine Unternehmung schon sinnvoll mit einem grossen Provider verhandeln, wenn man keine Ahnung hat, was man eigentlich braucht?

« Older Entries