Block > E-Mail- und Virenanalyse
12 min (2509 Wörter, 19329 Zeichen)
Inhaltsverzeichnis
Hinweis
Dieser Eintrag ist älter als 3 Jahre und entspricht vermutlich nicht mehr dem neuesten Stand der Technik/Realität.
Da ich gelegentlich Spam bekomme, wollte ich einmal so eine Mail
durchgehen und analysieren.
Zumal ich mich gerade in das Thema E-Mail einarbeite, und es sehr
interessant ist, was alles aus dem E-Mail-Header herauslesbar ist.
D.h. es wird wieder etwas technisch 😉
Der letzte Spam kam auf eine meiner Spam-Adressen und war eine
Abmahnung. Spannend finde ich hier, wie die E-Mail gesendet wurde
(Mailclient und IPs) und was die E-Mail enthielt.
Daher splittet sich der Beitrag in 2 Teile: eine Analyse der
kompletten E-Mail (quasi des Quelltextes), und die Analyse des Anhangs.
Analyse der E-Mail #
Ohne den Header zu betrachten folgt hier die Textversion der E-Mail
(es war natuerlich eine HTML-E-Mail …).
Einige Daten habe ich anonymisiert, d.h. durch “xyz” bzw.
“example.org” ersetzt.
Date: Mon, 04 Aug 2014 12:07:00 +0200
From: "Zivanovic Herdt" <nitrile@example.org>
To: xyz@yahoo.de
Subject: [vorfall:505217876221]
Guten Tag,
Am *31-07-2014* wurde von Ihrem Rechner mit der IP-Addresse *0.16.96.63* um
15:30:51 der Film "*Captain America: The Winter Soldier*" heruntergeladen. Nach
§19a UrhG ist dies eine kriminelle Handlung. Unsere Anwaltskanzlei muss dies ans
zuständige Strafgericht weiterleiten, außer Sie Zahlen ein außergerichtliches
Bußgeld in Höhe von *471.79 Euro* an uns.
Die Rechnung "*1893.cab*" entnehmen Sie dem Anhang.
Hochachtungsvoll,
Zivanovic Herdt
+49 771 xyz
Ok, nehmen wir mal die E-Mail auseinander mit dem Szenario, dass ich Filme aus dem Internet herunterladen wuerde, was ich allerdings nicht tue.
-
Im
From
stehen fuer mich 2 Namen, die irgendwie nichts miteinander zu tun haben. Laut Google gibt es “Zivanovic Herdt” nicht und Nitrile ist eine Gruppe chemischer Verbindungen. Zudem istexample.org
offensichtlich keine Anwaltskanzlei. -
Meine Adresse im
To
habe ich auch anonymisiert, also nicht wundern. -
Das
Subject
kommt mir merkwuerdig vor … -
Zur genannten Uhrzeit im
Body
war ich nicht zu Hause. -
Laut RFC 5735 ist die IP-Adresse
0.16.96.63
in einem Bereich, der sich auf Hosts im gerade aktiven Netzwerk bezieht.
D.h. sie wuerden sich damit selbst anzeigen muessen, und ich arbeite nicht in einer Anwaltskanzlei. -
Ich mag das Marvel Cinematic Universe nicht so sehr, d.h. ich wuerde mir den Film nicht anschauen.
-
Der § 19a UrhG sagt folgendes:
Recht der öffentlichen Zugänglichmachung
Das Recht der öffentlichen Zugänglichmachung ist das Recht, das Werk drahtgebunden oder drahtlos der Öffentlichkeit in einer Weise zugänglich zu machen, dass es Mitgliedern der Öffentlichkeit von Orten und zu Zeiten ihrer Wahl zugänglich ist.
Was ist das bitte fuer eine Anwaltskanzlei?! -
Interessantes Dateiformat fuer eine Rechung, ich haette jetzt ein PDF erwartet …
-
Die Telefonnummer (laut Telefonvorwahl aus Donaueschingen) ist auch mit der Rueckwaertssuche nicht bekannt …
Ok, also alles nicht sehr ueberzeugend 😄
Kommen wir zur Analyse des Quelltextes der E-Mail.
Es folgt der komplette Quelltext, bestehend aus Mailheader (normal
nicht oder nur teilweise sichtbar) und Mailbody (wird je nach Content-Type
und E-Mailprogramm unterschiedlich angezeigt bzw. interpretiert), den
wir einfach Zeile fuer Zeile durchgehen.
Anzumerken ist hier noch, dass eine E-Mail noch einen dritten Teil
hat, der hier aber nicht angezeigt ist: den SMTP-Envelope (Simple Mail
Transfer Protocol -Envelope), quasi ein
Briefumschlag. Dieser wird von den Mailservern ausgewertet, um die
eigentliche E-Mail, also Header und Body, zuzustellen.
Return-Path: <nitrile@example.org>
Dies ist der technische Pfad zurueck zum Absender fuer unzustellbare
Nachrichten; dieser wird haeufig aus dem SMTP-Envelope (Befehl: MAIL FROM:
) uebernommen.
Delivered-To: <xyz@posteo.de>
An diese Adresse wird die E-Mail gesendet (Quelle: man 8 local
).
Received: from mail.posteo.de ([127.0.0.1])
by dovecot01.posteo.de (Dovecot) with LMTP id BMahDJ5X31N8qgEAcnFQ7Q
for <xyz@posteo.de>; Mon, 04 Aug 2014 12:07:36 +0200
Received #
Immer, wenn eine E-Mail von einem Mailserver angenommen wird (um sie
ggf. zu einem anderen weiterzureichen), verewigt sich dieser im
Header. Dabei steht die jeweils neueste Received
-Zeile oben.
In dieser Zeile werden meist folgende Daten angegeben:
- Informationen ueber die eigene IP bzw. den eigenen Hostnamen des
MTA (Mail Transfer Agent, ein Programm wie Postfix , welches
nur fuer den Transport einer E-Mail zustaendigt ist), hier
127.0.0.1
bzw.mail.posteo.de
. - der Hostname, von dem die E-Mail weitergereicht wurde, hier
dovecot01.posteo.de
. - das Protokoll, das bei dieser Weitergabe benutzt wurde, hier
LMTP
. - die ID-Kennung, unter der die Nachricht in den Logfiles
protokolliert wurde, hier
BMahDJ5X31N8qgEAcnFQ7Q
. - die Envelope-Mailadresse, fuer die diese Mail bestimmt ist, hier
xyz@posteo.de
. - Datum und Uhrzeit der Annahme, hier
Mon, 04 Aug 2014 12:07:36 +0200
.
Update (2014-08-26)
Ich sollte noch erwaehnen, dass all diese Received-Header von den nachkommenden Mailservern gefaelscht werden koennen, richtig vertraut werden kann also nur dem eigenen Mailserver.Leider gilt das auch fuer alle anderen Header, entweder koennen sie direkt von der Quelle an gefaelscht sein, oder eben durch die nachfolgenden Mailserver.
Weiter im Quelltext.
Received: from posteo.de (mx02.posteo.de [89.146.194.165])
by mail.posteo.de (Postfix) with ESMTPS id AC4AD2C1894
for <xyz@posteo.de>; Mon, 4 Aug 2014 12:07:36 +0200 (CEST)
Received: from localhost (localhost.localdomain [127.0.0.1])
by mail.posteo.de (Postfix) with ESMTP id 99D78258D259
for <xyz@posteo.de>; Mon, 4 Aug 2014 12:07:36 +0200 (CEST)
siehe Received
X-Virus-Scanned: amavisd-new at posteo.de
X-Spam-Flag: NO
X-Spam-Score: -1.176
X-Spam-Level:
X-Spam-Status: No, score=-1.176 required=6.01 tests=[BAYES_00=-1.9,
DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001,
MIME_HTML_ONLY=0.723, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=no
Authentication-Results: amavis1.posteo.de (amavisd-new);
dkim=pass (2048-bit key) header.d=yahoo.com;
domainkeys=neutral (2048-bit key) reason="invalid (bad identity)"
header.d=yahoo.com
X-Header sind generell optional und enthalten Informationen, die z.B.
von einem Virenfilter stammen. An den X-Headern darf sich keine
Software stoeren, d.h. es koennen auch eigene erfunden und eingefuegt
werden (sofern du einen Mailserver betreibst).
Diese Informationen hier stammen wahrscheinlich alle von dem Programm
Amavisd , ein Viren- und/oder Spamscanner.
Die Mail wurde in diesem Fall nicht als Spam eingestuft. Zusaetzlich
dazu wurde die DKIM -Signatur (DomainKeys Identified Mail) von
Yahoo geprueft und akzeptiert.
Received: from mail.posteo.de ([127.0.0.1])
by localhost (amavis1.posteo.de [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id 18vI87YElhrv for <xyz@posteo.de>;
Mon, 4 Aug 2014 12:07:34 +0200 (CEST)
Received: from nm4-vm4.bullet.mail.ir2.yahoo.com (nm4-vm4.bullet.mail.ir2.yahoo.com [212.82.96.102])
by mail.posteo.de (Postfix) with ESMTPS
for <xyz@posteo.de>; Mon, 4 Aug 2014 12:07:06 +0200 (CEST)
siehe Received
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1407146825; bh=aI6HB1bVsiCpoGETalyvCHRsdS+8FXREkYhQ4pHWow4=; h=Received:Received:Received:X-Yahoo-Newman-Property:X-Yahoo-Newman-Id:X-Yahoo-Forwarded:Return-Path:X-YahooFilteredBulk:Received-SPF:X-YMailISG:X-Originating-IP:Authentication-Results:Received:Message-ID:Date:From:X-Mailer:MIME-Version:To:Subject:Content-Type; b=onENfJqI6spWpzu2FeO2MqblOqSNfHFUTOvCIMLJKf67Spig9wZTp4iSG7v23KUWxvFk8iyk+5PURtuvHYm6/MPNaiKLqabkggN5/H4SLeayL0hdCFSszbQLOdVjPsTYHWQx6kiXM5885GUTzTeySNu5nZD6ONRnDLzQSq+5d/kFio1deibCFPkyUKZlX023cMIwF7RXSs/8RzqvQirM4WMSOGssghG/lJ6Ex9WmVl4n0bAd3nBN8NM4cFYkvC64UGf5EuoteUiAhr0/BsxE559oMEXcBEO44c3BOcCPm6k+p7vrAeDVAUTag2/XiX7YnEfgbIsS9Y2O4V/4F7I38A==
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s2048; d=yahoo.com;
b=f9PwD2ycNzCUdl18eBfv1+M7cP7OvJuA49nOQkPU2JzbZjJzYUaQqghu90SfrDW18c0JkA/6tgU8zMEzjZcr+Qv8GB/92q+NMrgRZvKyqPx/fYqHoa9oAxWJRKYemMEBM0PGzgrPtB2FoIDoXvQ7u2BuphGyJV/Q2nN3Op8XH67GnLpU6GhgQNHnoOv4cyjFW/EIrHhoL92eoenFFD7N0Ji5BaozM1EZJrmTr7qeOrGKMlOcrm1BEk7PfVFQdZKfR/nywKPjOVLi9y7ry2rHXXffv8VrVClooPcno1uTYh+F9/yvaaeaiWN00yBiszG5bsH0atxI9u18J0uFS1e5Iw==;
Die DKIM-Signatur von Yahoo, die ja eben schon von Posteo akzeptiert wurde. Die Signatur ist ein Identifikationsprotokoll zur Sicherstellung der Authentizitaet von E-Mail-Absendern (Quelle )
Received: from [212.82.98.48] by nm4.bullet.mail.ir2.yahoo.com with NNFMP; 04 Aug 2014 10:07:05 -0000
Received: from [212.82.98.111] by tm1.bullet.mail.ir2.yahoo.com with NNFMP; 04 Aug 2014 10:07:05 -0000
Received: from [127.0.0.1] by omp1048.mail.ir2.yahoo.com with NNFMP; 04 Aug 2014 10:07:05 -0000
siehe Received
X-Yahoo-Newman-Property: ymail-3
X-Yahoo-Newman-Id: 410525.63352.bm@omp1048.mail.ir2.yahoo.com
X-Yahoo-Forwarded: from xyz@yahoo.de to xyz@posteo.de
X-YahooFilteredBulk: 94.221.xyz.xyz
Ein paar X-Header von Yahoo.
Received-SPF: none (domain of example.org does not designate permitted sender hosts)
Das Ergebnis des SPF-Checks von Yahoo (SPF = Sender Policy Framework). SPF ist ein Verfahren, dass das Faelschen der Absenderadresse einer E-Mail verhindern soll (Quelle ).
X-YMailISG: fXejltUWLDuQ.6OkX9Ruhkbk8L9T4929ymEB_7rfOmV9gT7s
6V3GcRf2AFPu1xkjhEMhklYC5ng5NrDiTa50AHOhkitgNRvAHH_fnXietgg1
HHs_KOo96bGTLvIlbrvLuGyNDY._.F.Nj.LL1VC20xlbJhlDK6JK1u5PA8N6
q73aOCHB7moZkwUVi525KcygI72Rl6PuwR47xf8Cffq.aoSZIa0WDW_NhANG
IiZb1abO5tIjldMIeJJTwzw.OWISF5_9SEcH6my1LSzIaQQd4grHFl22R_S5
y5cGsvhRdbV.UmjddLmzunLKR26bU3mTG_cFrcLwZeFRGJ6jaaSBbBkrleYu
FmX8beSav1gzs9bJdv1L3Pyk2RGQ3CtibR_xQcnyeMLY6BtCWuExIDwLV0f2
Rj6u6uedXV3Yjo8e2vuH9H.bnPb3AM8n3AtnqOmUYy98bY33f4PWEwNosrVL
L02xf5_1zrNGaVjArDNziM8T7HxKOd9VYsGqhxbeD3FQjh.ULZ2A4y2ZGK19
AasFo_CJhxdY2IzNJNd71xF6FVbD6wglKPKuTWAGFBZL8Gz_Ba5PzqboPwB.
zefLBmcd2uK9npuHgYFVBIlQdFWwA7nRy4GsToKjqjN8zT4_X0vy7Tt04UWi
tbs0EXRX9SysTjOcoCtt1CjD0ZftLFOkUPCS_gahxbPsYEwnXDIjJrSJ5vgk
X7aqhIptD4y5fr9rXk1PIvpp9kC9iBKBQsOpfIX_GKfr5Cray6ajGA7iSEOH
m..K7oj4MqL57OIqDXdNerhWBRCkb2k2b0ipr7AJfiSZ_E15a6PD3hrUnQUH
rZav9pDC71mAN3kg1ZomgoCTef8ICND.zuvKd1MRIRWoi44a2S6ZoBK3B7BF
INjwxIK5T5e7PNeP6XOSozZqZC73QvtAiWabMdtTOcsRM9T3xMlomXHh88uH
eNE0xgiq4jAhYwrUvwUO_CHWYqkgu9s5ee6Y_fVwDEHOvJ61i6PxkBqFTW4m
Nu5Ff94JSsdZQfKdGXg37lnqGXwSm5EjR7W68QZWXqAVuqx.apFQbwCSQFvs
xEG9.zLp0wfdhqRax88sCKHU9Ag8ng2zaid75Pt6sIYdzOOWPh5AROw.OpOj
.4EAiWiOA_orzWke_P.ut97io7cn66rcnZ34X69HlBNvfFBt8DyebM9KdHSd
MBAz3rWdUwLsWlrl3ruIdyAaa7xwmIJ0_EugaZOGHfUToawghm_TfZKz711L
49hmv2NseOsW5LxLqMr4uunZ0QexpI8v_XSSceqTLyIUuEsUxa2yupUcshWP
nE0bMlyW1vhn0ap2EZzHcT3d5WCC.pz_fLAdx0EFfcJ9qlDKvDrCey1lVrWT
gMQmE9rX7_JAnVOMoMnMEkDPtlp_Xz_pyV7lWOK1n_xuljp6HUqzImouIdXQ
6N7e.xDJjLtopBQ4LgNDbVOsjKR0SKISJqkwpj7mcAPILe.nrIjHXULsRQ--
X-Originating-IP: [94.221.xyz.xyz]
Authentication-Results: mta1008.mail.ir2.yahoo.com from=example.org; domainkeys=neutral (no sig); from=example.org; dkim=neutral (no sig)
Noch ein paar Header von Yahoo. Darunter auch X-Originating-IP
, die
IP-Adresse, von der die E-Mail stammt bzw. stammen koennte.
Received: from 127.0.0.1 (HELO example.org) (94.221.xyz.xyz)
by mta1008.mail.ir2.yahoo.com with SMTP; Mon, 04 Aug 2014 10:07:04 +0000
siehe Received
Message-ID: <20140804100637$1217328massasauga@example.org>
Eine weltweit eindeutig erzeugte Kennung der E-Mail. Diese ist u.a. nuetzlich fuer einen Mailclient zur Einordnung in einem Thread (Stichwort: References ).
Date: Mon, 04 Aug 2014 12:07:00 +0200
Das Datum der Mailerzeugung.
From: "Zivanovic Herdt" <nitrile@example.org>
Mailadresse des inhaltlichen Urhebers der Nachricht (kann beliebig sein). Daneben gibt es noch den technischen Urheber (Sender).
X-Mailer: Adsorbtion v8.0
Der Mailclient, mit dem die E-Mail geschrieben wurde. Eine kurze Websuche fuehrte zu keinem Ergebnis …
MIME-Version: 1.0
Die Version der MIME (Multipurpose Internet Mail Extensions), hier in Version 1.0.
To: xyz@yahoo.de
Mailadresse des Empfaengers.
Subject: [vorfall:505217876221]
Betreff der Nachricht
Content-Type: multipart/mixed;
boundary="------------------------_007_609530B227B9B048191660161BA6FACC7002D258061Blashed_"
Mit MIME wird auch der Content-Type angegeben, der hier aus mehreren Content-Types besteht. Getrennt werden diese mit dem Boundary.
Leerzeile, trennt den Mailheader vom Mailbody.
--------------------------_007_609530B227B9B048191660161BA6FACC7002D258061Blashed_
Content-Type: text/html; charset=UTF-8
Hier wird mit dem Boundary ein text/html
-Part eingeleitet, hier also
die E-Mail in HTML .
<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>Guten Tag,<br />
<br />
Am <b>31-07-2014</b> wurde von Ihrem Rechner mit der IP-Addresse <b>0.16.96.63</b> um 15:30:51 der Film "<b>Captain America: The Winter Soldier</b>" heruntergeladen. Nach §19a UrhG ist dies eine kriminelle Handlung. Unsere Anwaltskanzlei muss dies ans zuständige Strafgericht weiterleiten, außer Sie Zahlen ein außergerichtliches Bußgeld in Höhe von <b>471.79 Euro</b> an uns.<br />
Die Rechnung "<b>1893.cab</b>" entnehmen Sie dem Anhang.<br />
<br />
Hochachtungsvoll,<br />
Zivanovic Herdt<br />
+49 771 xyz</div></div></body></html>
Die E-Mail in HTML.
Protipp: E-Mails lieber in Plain-Text schreiben, hat (vl. bis auf das
Aussehen) nur Vorteile …
--------------------------_007_609530B227B9B048191660161BA6FACC7002D258061Blashed_
Content-Type: application/vnd.ms-cab-compressed;
name="1893.cab"
Content-transfer-encoding: base64
Content-Disposition: attachment;
filename="1893.cab"
Ein weiterer Part, diesmal eine Datei names 1893.cab, ein Windows-Archiv. Die Datei ist mit Base64 kodiert.
TVNDRgAAAAB1uwAAAAAAACwAAAAAAAAAAwEBAAEAAAAAAAAAWwAAAAMAAQAAVgEAAAAAAAAABEXT
UCAAMDQtMDgtMjAxNC03NTY0NjE2OTY5MTgzMDIuZXhlAMcyDAQmQgCAQ0vtvXl8FFX6Lt41Wkho
... viele weitere Zeilen dieser Art ...
VximNneYBp/aZu/IGf/P5GCjZY4yTK8kTUbYySDbmILd1msLT1tF38m34p1fb+Od42jv6DHS0Mj8
f7SOhmLJEFPYsIdaZNhGDTP8SPWjpYCSM4ynRebviBx97dffkXuQeyEqzpDc+/9m9f//AA==
--------------------------_007_609530B227B9B048191660161BA6FACC7002D258061Blashed_--
Und zuletzt die Base64-kodierte Datei, beendet wieder mit dem Boundary.
Soweit dazu. Im Mailheader fand ich dann letztendlich auch die IP-Adresse, von dem die E-Mail kam. Sie kam aus dem IP-Adressbereich von Vodafone und wurde ueber einen Mailserver aus dem IP-Adressbereich von STRATO verschickt.
Sehr gut geholfen hat mir bei der Analyse uebrigens u.a. Das Postfix-Buch von Peer Heinlein .
Analyse des Anhangs #
Update (2014-08-26)
Hier fehlte noch der Hinweis, dass solche Spielereien nur in einer gesicherten Umgebung (wie virtuelle Maschinen) durchgefuehrt werden sollten, also schon gar nicht auf einem Windows-PC.Warnung
Don’t try this at home! 😉Im Anhang befindet sich also eine Datei.
Ich kenne die Endung .cab
nicht, daher gucke ich mal mit file
nach, was das ist.
$ file 1893.cab
1893.cab: Microsoft Cabinet archive data, 47989 bytes, 1 file
Aha, ein Archiv also. Nach einer kurzen Suche finde ich ein Programm zum entpacken: cabextract .
$ cabextract 1893.cab
Extracting cabinet: 1893.cab
extracting 04-08-2014-756461696918302.exe
All done, no errors.
Wie gesagt, ich haette wenigstens darin ein PDF erwartet. Aber eine
Rechnung sollte eigtl. nicht als .exe
vorliegen 😉
Gucken wir uns doch mal wieder mit file
an, was das fuer eine Datei
ist.
$ file 04-08-2014-756461696918302.exe
04-08-2014-756461696918302.exe: PE32 executable (GUI) Intel 80386 (stripped to external PDB), for MS Windows
Wie erwartet ist es eine ausfuehrbare Datei fuer Windows.
Damit koennen nun einige Dinge untersucht werden (leider nicht soo viele).
Zum Einstieg in das Thema eignet sich vielleicht das Buch x86 Disassembly bei Wikibooks .
Bordmittel #
Angefangen habe ich mit den Tools, die hier beschrieben werden und alle im Standard enthalten sein duerften:
strings
Viel konnte ich damit nicht herausfinden, es befinden sich lediglich Systemaufrufe (wieGetTickCount
undCertSaveStore
) sowie ein paar DLL-Namen (kernel32.DLL
undcrypt32.dll
) darin …nm
in diesem Fall ohne Funktionobjdump
Damit konnte ich ein paar mehr Informationen herausbekommen.
So z.B. mitobjdump -p 04-08-2014-756461696918302.exe
, welche Aufrufe an welche Library gehen und dass das Programm schon ziemlich alt ist (von 2008).
objdump 04-08-2014-756461696918302.exe -s
spuckt mir alles als Hexadecimalcode aus (mit allen Sektionen: .text, .data, .rdata, .bss, .idata, .rsrc)
Zuletzt kann ich mitobjdump 04-08-2014-756461696918302.exe -d
das Programm disassemblieren, d.h. den Binaercode in Assemblercode umwandeln.
Um nun den Assemblercode in besser lesbaren Code umwandeln zu koennen,
werden Decompiler benutzt.
Leider gibt es irgendwie nur extrem alte und/oder schlechte Decompiler
unter Linux, daher kann ich nicht wirklich darauf eingehen … (oder ich
hab nicht gut genug gesucht?)
PEV #
Weiterhin habe ich pev (the PE file analysis toolkit) gefunden, was aber leider ziemlich nervig zu installieren ist (dazu gleich mehr) …
Die Programme innerhalb von pev
koennen ein bisschen mehr als die
Bordmittel, allerdings failen diese bei mir fast immer am Ende mit
einem segmentation fault …
Es war mir dann zu bloed, darin auch noch Zeit zu investieren, daher nur der Hinweis: Gibt es, allerdings fuehrt es zu Haarausfall 😉
Ein kleiner Exkurs in: “Wie nervig kann ein Programm sein?” #
Ich dachte mir beim Entdecken von pev
, hey, es liegt im AUR vor,
alles super! Aeh ja. Nein.
Das Paket im AUR ist outdated und irgendwie hat es keine Binaries erzeugt, jedenfalls nicht an den normalen Stellen. Ich war dann zu faul zu suchen und hab es schliesslich selber bauen wollen.
Der Code von pev
liegt auf GitHub , d.h. ich hab es geklont und
wollte es mit make bauen:
$ git clone https://github.com/merces/pev.git
$ cd pev
$ make
cd lib/libpe && make all
make[1]: Entering directory '/path/to/pev/lib/libpe'
make[1]: *** No rule to make target 'all'. Stop.
make[1]: Leaving directory '/path/to/pev/lib/libpe'
Makefile:9: recipe for target 'all' failed
make: *** [all] Error 2
Make bricht leider mit einer Fehlermeldung ab, aber das geschulte Auge
kann erkennen, dass einfach nichts in dem Ordner lib/libpe
vorliegt
und libpe
auch erst geklont werden muss:
cd lib
rmdir libpe
git clone https://github.com/merces/libpe.git
cd -
make
Ok, das ging dann.
Allerdings dann das naechste Problem beim ausfuehren eines der
Programme (hier pescan
in src/build
): die Library konnte nicht
gefunden werden:
$ ./pescan
./pescan: error while loading shared libraries: libpe.so.1: cannot open shared object file: No such file or directory
Dazu hab ich es erstmal mit ldconfig
manuell gelinkt:
ldconfig -l ../../lib/libpe/libpe.so
Und dann systemweit in /usr/local/lib verlinkt:
sudo ln -s /path/to/libpe.so /usr/local/lib/libpe.so
sudo ln -s /path/to/libpe.so.1 /usr/local/lib/libpe.so.1
Dank lonesysadmin hab ich dann /usr/local/lib
ans Ende von
/etc/ld.so.conf
angehaengt und die Libraries neu in den Cache
geladen:
sudo ldconfig
Getestet hab ich es mit ldd
:
ldd pescan
Das ging, super. Bzw. immer noch nicht, denn nun bekam ich ein Segmentation fault:
$ ./pescan
[1] 24398 segmentation fault ./pescan
Mit strace
hab ich dann nachgeguckt, woran das liegen koennte.
$ strace ./pescan
[...]
open("pev.conf", O_RDWR) = -1 ENOENT (No such file or directory)
open("/home/benjo/.config/pev.conf", O_RDWR) = -1 ENOENT (No such file or directory)
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0xffffffff} ---
+++ killed by SIGSEGV +++
[1] 3252 segmentation fault strace ./pescan
Ok, anscheinend fehlt die Config …
Also mal an den gewuenschten Ort kopieren …
cp /path/to/pev/pev.conf ~/.config
Danach gings aber immer noch nicht:
$ ./pescan
plugins: could not open directory 'src/build/plugins' -- No such file or directory
Abhilfe schaffte also, das Program direkt in /path/to/pev
auszufuehren:
./src/build/pescan
Die Manpages zu den einzelnen Programmen koennen folgendermassen eingesehen werden:
man -l ./doc/manpages/pescan.1
Virustotal #
Gestern hatte ich die Datei noch bei Virustotal hochgeladen, um zu
gucken, ob das Programm schon bekannt ist.
Anscheinend war es das nicht , nur 23/54 haben das Programm als
Virus identifiziert.
Interessant sind die Informationen in den anderen Reitern, wobei ich viele Infos auch schon durch die oben beschriebenen Programme herausgefunden habe.
Sehr interessant sind auch die Verhaltens-Informationen.
Anscheinend schreibt das Programm zwei Dateien und oeffnet die eine
Datei
(f16e6802e295d6a2014e95cd18fa2e988c51d5b3af8b9e8b4a0d101c569d.rtf
) in
Wordpad. Nichts weltbewegendes also, aber trotzdem interessant.
Ebenfalls interessant: das Programm verbindet sich zu … windowsupdate.microsoft.com … WTF?
REMnux #
Bei der Suche nach Analysesoftware bin ich u.a. ueber REMnux gestolpert, eine Linux-Distribution (basierend auf Ubuntu), die genau fuer solche Zwecke gedacht ist.
Ich hab REMnux mit VirtualBox ausprobiert, habe mir also direkt die
OVF/OVA-Version mit axel runtergeladen.
Danach habe ich VirtualBox gestartet und die OVA geladen.
Da es bei mir ein Problem mit dem Netzwerk gab, hab ich REMnux ohne Netzwerk gestartet und die Dateien per USBStick in die Virtuelle Maschine geladen.
Dort habe ich mit ein paar Analysetools rumgespielt, die auf einer extra Seite auch alle aufgelistet sind.
Sehr interessant! 😊