1 / 0

Network sniffing

Network sniffing. Computer Hacking & Security Jeonghwa Lee 2012.05.10. Network sniffing and sniffers Promiscuous mode / Switched mode Sniffing attack How to capture traffic from a target device on a switched network? How to prevent sniffing attack?. CONTENTS.

janine
Télécharger la présentation

Network sniffing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Network sniffing

    Computer Hacking & Security Jeonghwa Lee 2012.05.10
  2. Network sniffing and sniffers Promiscuous mode / Switched mode Sniffing attack How to capture traffic from a target device on a switched network? How to prevent sniffing attack? CONTENTS
  3. Process of capturing and interpreting live data as it flows across a network. Network sniffing is typically performed by a packet sniffer, a tool used to capture raw network data going across the wire. Sniffer has 3 process : Collection (Capture) Conversion Analysis Collection requirements Sniffer switches the selected network interface into “promiscuous mode”. - Listen for all frames that come to NIC Popular sniffers Wireshark Tcpdump(for unix) Snort (sniffing and intrusion detection) What is network sniffing?
  4. Computer program or a piece of computer hardware that can intercept and log traffic passing over a digital network or part of a network. As data streams flow across the network, the sniffer captures each packet , -Collection Decodes the packet's raw data, showing the values of various fields in the packet, -Conversion Analyzes its content according to the appropriate RFC or other specifications. -Analysis Network sniffers
  5. Need a network interface card (NIC) that supports a promiscuous mode driver. Allows an NIC to view all of the packets crossing the cabling system by ignoring the information it finds in a packet’s Layer 2 addresses(MAC). Not in promiscuous mode, it generally sees a large amount of broadcast and other traffic that is not addressed to it, which it will drop. Promiscuous Mode
  6. Peep : User-ids and passwords Credit card numbers Secret e-mail conversations Island hopping attack: Take over single machine (e.g. virus) Install sniffer, observe passwords, take over more machines, install sniffers Easy to sniff: 802.11(Wireless LAN) traffic Ethernet traffic passing through a hub Any packets sent to hub is broadcast to all interfaces Not true for a switch Cable modem traffic Sniffing Attack
  7. A hub takes packets sent from one port and transmits (repeats) them to every other port on the device Victims Attacker Hub Sniffing around Hubs
  8. Traffic sent through a hub is sent to every port connected to that hub. Plug in a packet sniffer to an empty port on the hub. You can see all communication to and from all computers connected to that hub. → hub-based networks are pretty rare. Visibility window is limitless when sniffer is connected to a hub network. Sniffing around Hubs
  9. File Transfer Protocol (FTP) FTP(RFC 959) is a Layer 7 protocol that is used to transfer data between a server and client. Protocols in frame eth_hdrip_hdrtcp_hdrftp_hdr TCP based service exclusively. There is no UDP component to FTP. It utilizes two ports, a 'data' port 20 and a 'command' port 21 . FTP Data is transferred in one of three modes : Stream mode, Block mode, and Compressed mode
  10. File Transfer Protocol (FTP) ftp-01.pcap 3 way handshake Sniff userID Sniff password z z
  11. Telnet Protocol Telnet protocol is an unsecured, text-based way for a server and client to communicate. It is often used to remotely administer servers, switches, routers, and other network hardware devices. You can be more secure by forgoing telnet and using SSH instead.
  12. Telnet Protocol Sniff ID Sniff Password Telnet-02.pcap
  13. MSN messenger - msnms Sniff Conversation msnms.pcap
  14. In a switched network environment, packets are only sent to the port they are destined for, according to their destination MAC addresses. Victims Visibility window on a switched network is limited to the port you are plugged into. Attacker Switch Sniffing in a Switched environment
  15. When you plug in a sniffer to a port on a switch, you can only see broadcast trafficand the traffic transmitted and received by your computer. Switch sends data to only the computer for which the data is intended rather than broadcasting data to every port. There are 3 primary ways to capture traffic from a target device on a switched network by placing the sniffer on a specific place. Sniffer Placement
  16. Port mirroring (=Port spanning) Easiest way to capture the traffic from a target device on a switched network. Conditions Have access to the command-line interface of the switch. Switch must support port mirroring and have an empty port into which you can plug your sniffer device.
  17. Hubbing out Technique you localize the target device and your sniffer system on the same local network by plugging them directly into a hub. Perfect solution in situations where you can’t perform port mirroring. In order to hub out, all you need is a hub and a few network cables.
  18. ARP Cache Poisoning (ARP Spoofing) ③ ④ ② ① ARP cache poisoning is commonly used by hackers to send ARP messages to an switch or router with fake MAC addresses in order to: intercept certain traffic or cause denial of service (DoS) attacks ARP cache poisoning still serve as a legitimate way to capture the packets of a target machine on a switched network.
  19. ARP Spoofing ARP Cache : Create and maintain a table associating MAC addresses with certain ports. There’s no provision to ensure that the source address in a packet really is the address of the source machine. Spoofing : The act of forging a source address in a packet.
  20. < ARP Redirection Attack > ARP cache poisoning : Attacker sends spoofed ARP replies to certain devices. → ARP cache to be overwritten with the attacker’s data. Attacker’s machine simply needs to forward these packets to their appropriate final destinations. Due to timeout of ARP cache, attacker must keep the victim machine’s ARP caches poisoned. .200 of 00:00:00:BB:BB:BB
  21. < ARP Redirection Attack > 1. Get information of target system 2. Send spoofing ARP packets 3. Keep ARP caches poisoned
  22. Nemesis_arp() from nemesis-arp.c (1/2) static ETHERhdretherhdr; static ARPhdrarphdr; ... void nemesis_arp(intargc, char **argv) { const char *module= "ARP/RARP Packet Injection"; nemesis_maketitle(title, module, version); if (argc > 1 && !strncmp(argv[1], "help", 4)) arp_usage(argv[0]); arp_initdata(); // Initialize values in statically declared data structures arp_cmdline(argc, argv); // Process command-line arguments arp_validatedata(); // Validate data arp_verbose(); // Do some sort of verbose reporting
  23. Nemesis_arp() from nemesis-arp.c (2/2) if (got_payload) { if (builddatafromfile(ARPBUFFSIZE, &pd, (const char *)file, (const u_int32_t)PAYLOADMODE) < 0) arp_exit(1); } if (buildarp(&etherhdr, &arphdr, &pd, device, reply)< 0) { printf("\n%s Injection Failure\n", (rarp == 0 ? "ARP" : "RARP")); arp_exit(1); } else { printf("\n%s Packet Injected\n", (rarp == 0 ? "ARP" : "RARP")); arp_exit(0); } }
  24. Arp_initdata() from nemesis-arp.c static void arp_initdata(void) { /* defaults */ etherhdr.ether_type= ETHERTYPE_ARP; /* Ethernet type ARP */ memset(etherhdr.ether_shost, 0, 6); /* Ethernet source address */ memset(etherhdr.ether_dhost, 0xff, 6); /* Ethernet destination address */ arphdr.ar_op = ARPOP_REQUEST; /* ARP opcode: request */ arphdr.ar_hrd = ARPHRD_ETHER; /* hardware format: Ethernet */ arphdr.ar_pro = ETHERTYPE_IP; /* protocol format: IP */ arphdr.ar_hln = 6; /* 6 byte hardware addresses */ arphdr.ar_pln = 4; /* 4 byte protocol addresses */ memset(arphdr.ar_sha, 0, 6); /* ARP frame sender address */ memset(arphdr.ar_spa, 0, 4); /* ARP sender protocol (IP) addr */ memset(arphdr.ar_tha, 0, 6); /* ARP frame target address */ memset(arphdr.ar_tpa, 0, 4); /* ARP target protocol (IP) addr */ pd.file_mem = NULL; pd.file_s = 0; return; } Ethernet header ARP header File data
  25. buildapr() from nemesis-proto_arp.c (1/3) intbuildarp (ETHERhdr *eth, ARPhdr *arp, FileData *pd, char *device, int reply) { int n = 0; u_int32_t arp_packetlen; static u_int8_t *pkt; structlibnet_link_int *l2 = NULL; /* validation tests */ if (pd->file_mem == NULL) pd->file_s = 0; arp_packetlen = LIBNET_ARP_H + LIBNET_ETH_H + pd->file_s; #ifdef DEBUG printf("DEBUG: ARP packet length %u.\n", arp_packetlen); printf("DEBUG: ARP payload size %u.\n", pd->file_s); #endif
  26. buildapr() from nemesis-proto_arp.c (2/3) if ((l2 = libnet_open_link_interface(device, errbuf)) == NULL) { nemesis_device_failure(INJECTION_LINK, (const char *)device); return -1; } if (libnet_init_packet(arp_packetlen, &pkt) == -1) { fprintf(stderr, "ERROR: Unable to allocate packet memory.\n"); return -1; } libnet_build_ethernet(eth->ether_dhost, eth->ether_shost, eth->ether_type, NULL, 0, pkt); libnet_build_arp(arp->ar_hrd, arp->ar_pro, arp->ar_hln, arp->ar_pln, arp->ar_op, arp->ar_sha, arp->ar_spa, arp->ar_tha, arp->ar_tpa, pd->file_mem, pd->file_s, pkt + LIBNET_ETH_H); n = libnet_write_link_layer(l2, device, pkt, LIBNET_ETH_H + LIBNET_ARP_H + pd->file_s);
  27. buildapr() from nemesis-proto_arp.c (3/3) if (n != arp_packetlen) { fprintf(stderr, "ERROR: Incomplete packet injection. Only " "wrote %d bytes.\n", n); } else { if (verbose) { … } } } libnet_destroy_packet(&pkt); if (l2 != NULL) libnet_close_link_interface(l2); return (n); }
  28. Use encrypt data: IPsec, SSL, PGP, SSH Get rid of hubs: complete migration to switched network Use encryption for wireless and cable channels Configure switches with MAC addresses Turn off self learning Eliminates flooding problem Intrusion detection systems (IDS): Lookout for large numbers of ARP replies Honeypot Create fake account and send password over network Identify attacker when it uses the password Sniffing defenses
  29. Thank you !
More Related