Wlan, treffic erzeugen.

zyon

Rule Zero
hallo,

ich spiel hier privat gerade ein bisschen mit wlan rum. Ich habe mir zum test einen AP mit WEP ausgesetzt. Nun versuchen ich nun von meinem Notebook den WEP-Schlüssel zu knacken.

Ich benutze dazu das Tool (OpenBSD) \ports\security\bsd-airtools. Nun ist mir aber auf gefallen wenn ich nix über das wlan machen und somit ich kein Treffic erzeuge. Mein Notebook nix mit sniffen kann.

Habe das Programme mal die Nacht laufen lassen und heute morgen geschaut. Das Programm hat grade mal eine Hand voll Packet aufgeschnappt.

Wie könnte ich den AP darzubringen mir zur reden um so den Treffic zu steigern.

(Ich bitte das ganze hier nicht Falsch zu verstehen. Ich möchte niemanden etwas Böses und irgendwelche fremden Maschinen angreifen etc. Ich möchte nur Theorie in Praxis umsetzen um so Erfahrungen zu sammeln. ) *Muss eigentlich nicht diskutiert werden*

Gruß

zyon
 
Ping doch einfach deinen AP unentwegt an, von mir aus auch agressiv :) Das sollte genug Pakete erzeugen.
 
Ne, des geht net. Aber genau dein Problem habe ich auch.
Kommt auch drauf an, ob deine Karte monitoring und normal senden gelichzeitig kann. Ne endgülige Lösung fand ich noch net.
 
Das Problem ist in diesem Falle wohl, dass keine Paketinjizierung möglich ist. Ich werde mal ein kleines Testprogramm schreiben, dass einfach so was injizieren soll im Monitormodus und werde dann mal berichten, ob das funktioniert.

Dein Ansatz, eine Art "replay" von Paketen zu machen, geht auf einen WEP-Crack unter Linux zurück, der sich aircrack nennt.

Unter linux ist das ohne Probleme möglich, Pakete im Monitormodus zu injizieren, unter BSD hab ichs bisher noch nicht geschafft.

Aber wie gesagt, ich arbeite dran... ;-)

Herakles
 
Ne, des geht net. Aber genau dein Problem habe ich auch.
Kommt auch drauf an, ob deine Karte monitoring und normal senden gelichzeitig kann. Ne endgülige Lösung fand ich noch net.

es gibt das Tool: Packetforge-ng:
http://www.aircrack-ng.org/doku.php?id=packetforge-ng
Code:
The purpose of packetforge-ng is to create encrypted packets that can subsequently be used for injection. You may create various types of packets such as arp requests, UDP, ICMP and custom packets. The most common use is to create ARP requests for subsequent injection.

Aber das ist leider nur für Linux
 
schreib dir halt ein script, dass einfach immer wieder ein paar Webseiten nicht anpingt sondern die html dokumente abfragt?
 
Geht es dir darum, nur für dein Testsystem pakete zu erzeugen?

Wenn ja, wäre es evtl. möglich einfach von deinem "verdrahteten" lan pakete abzusetzen? z.B. Über Broadcasts? *sich weder mit Wlan noch mit der passenden Netzwerkschicht gut genug auskennt um das zu beantworten*
 
Moin!

So, Freunde, ich habe mich mal daran gemacht, ein klitzekleines, einfaches Programm zu schreiben, das Pakete ins WLAN injizieren soll. Dabei habe ich eine Gigabyte Karte mit Atheros Chipsatz verwendet. Abschließend lässt sich aber leider sagen, dass unter FreeBSD keine Paketinjektion im Monitormodus durchführen lässt. Ich hänge mal schnell das Programm an, vielleicht entdeckt jemand einen Fehler oder will an der Stelle weitermachen, um doch noch Paketinjektion zu kommen.

Ich habe das Programm einmal mit dem Devicenamen "rl0" für meine Realtek-Ethernetkarte kompiliert und mit tcpdump nachgeschaut, ob ein Paket injiziert wird und es wurde injiziert, und zwar exakt mit den Daten, die gegeben sind (im code einfach eine '5'). Dasselbe habe ich dann mit ath0 kompiliert und es wird nichts gesendet, das einzige, was im tcpdump-output zu sehen ist, sind die Beacons von umstehenden Accesspoints... Also gehe ich davon aus, dass ath(4) keine Paketinjektion im Monitormodus erlaubt. Hier also der Code:

Code:
#include <stdio.h>
#include <sys/socket.h>	// for socket(2)
#include <net/if.h>	// for struct ifreq
#include <net/if_dl.h>
#include <sys/types.h>
#include <netinet/in.h>




/* both below useful to inspect misc buffers */
void hexdump(char *buffer, int len) {
  int i;

  for(i=0; i<len; i++) {
    if(i%16 == 0) printf("\n%04x: ", i);
    printf("%02x ", (unsigned char)(buffer[i]));
  }
  fflush(stdout);
}


int main (int argc, char ** argv) {
	int raw_socket_fd, fd_udp;
	char buf[4096];
	buf[0] = 5;
  	struct sockaddr_dl socket_address_dl;
	struct sockaddr_in destination;

	destination.sin_family = AF_INET;
	inet_aton (argv[1], &destination.sin_addr);

	/*create the raw socket*/
	raw_socket_fd = socket(PF_INET, SOCK_RAW, 0 );

  	/* bind the raw socket to the interface */
  	memset( &socket_address_dl, 0, sizeof( socket_address_dl ) );
  	socket_address_dl.sdl_family = PF_INET;
	//put the interface number into the sockaddr
  	socket_address_dl.sdl_index  = if_nametoindex("ath0");
	
  	socket_address_dl.sdl_type = 0;

perror("vorher");
	sendto( raw_socket_fd, &buf, 1, 0, (struct sockaddr*) &destination, sizeof(struct sockaddr) );
perror("nachher");

	hexdump(&buf, 1);
	printf("\n");
}

Der Errorcode, den ich dort beim sendto abfrage ist im Übrigen immer 0, also SUCCESS.

Soviel dazu. Erweitert es und sagt mir, wie ihr Paketinjektion geschafft habt, wenn ihr es geschafft habt! :-)

Herakles
 
Das gleiche Thema behandelt dieser Thread. Dort ist auch ein Link zum entsprechenden Thread von aircrack-ng zu finden, in dem die Erstellung eines Packetinjectionpatches für FreeBSD besprochen wird.

Es scheint also in 6.2-RELEASE bisher nicht möglich zu sein, Pakete zu injizieren, wirklich losgehen wird das wohl erst mit FBSD 7.

Herakles
 
Zurück
Oben