Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/_blog_main.inc.php on line 412

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/_main.inc.php on line 128

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/_main.inc.php on line 134

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/_main.inc.php on line 141

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/_main.inc.php on line 169

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/_main.inc.php on line 199

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/_main.inc.php on line 205

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/_main.inc.php on line 233

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/_main.inc.php on line 248

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/_main.inc.php on line 254

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/_main.inc.php on line 267

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/_main.inc.php on line 595

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/files/model/_file.funcs.php on line 559

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/_connect_db.inc.php on line 29

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/_core/_param.funcs.php on line 1692

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/generic/model/_genericelement.class.php on line 109

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/_core/model/dataobjects/_dataobject.class.php on line 428

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/_core/model/dataobjects/_dataobject.class.php on line 437

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/items/model/_itemlist.class.php on line 483

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/items/model/_itemlistlight.class.php on line 119

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/items/model/_itemlistlight.class.php on line 838

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/items/model/_item.class.php on line 1426

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/items/model/_item.class.php on line 1429

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/items/model/_item.class.php on line 3020

Warning: Cannot modify header information - headers already sent by (output started at /home/asamhuri/public_html/blog/inc/items/model/_item.class.php:1429) in /home/asamhuri/public_html/blog/inc/skins/_skin.funcs.php on line 383
Archives for: September 2008, 12 - Securebits Blog

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/widgets/model/_widget.class.php on line 451

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/inc/widgets/model/_widget.class.php on line 547

Archives for: September 2008, 12

09/12/08

Permalink 12:14:31 am, Categories: tcp/ip , Tags: arp poisoning, traffic interception, vista

Recently, I was trying to do the normal ARP poisoning/spoofing attack to intercept the bi-directional traffic between a Windows Vista machine and the Internet (through a gateway router). To my surprise, I was able to see a unidirectional traffic, which is the traffic coming from outside through the gateway to the Vista machine and I could not see the traffic sent from the Vista machine. I checked the ARP cache of both the gateway router and the Vista machine and found that the poisoning was successful – and by the way, I was using the Ettercap tool. The router cache contains an entry that says the IP address of the Vista machine is located at the MAC address of my (MITM) machine; likewise, the Vista cache contains an entry that says the gateway router IP address is located at the MAC address of my machine (the MITM). However, when I check the sniffer (Wireshark) on the MITM machine, I do not see any traffic from the Vista machine directed to the outside world.

After a little investigation, I discovered that the Vista machine was not using the default gateway IP address to look up its MAC address using normal ARP request, and then use this MAC in all packets destined to the outside world. It was actually sending Proxy-ARP request for every public IP address the system was trying to connect to. In other words, when the system needs to communicate with a public IP address, instead of just using the MAC address associated in the ARP cache with the default gateway IP, the system sends an ARP Request asking for the MAC address of that public IP address. Since this public IP does not fall within the local subnet range, such ARP request is called “Proxy ARP Request” and it will be handled by the default gateway itself. Usually, the gateway will return its own MAC address, and the system will cache a new entry associating this MAC address with the public IP address. The Vista system repeats this process with every public IP address it is trying to communicate with.

For example, let’s say that the default gateway IP is 10.0.0.1 and its MAC AB:CD:EF:12:34:56. Let’s assume that there is already an entry in the ARP cache associating this IP with is MAC. In normal operations, when the system wants to contact a public IP like 65.65.65.65, it simply sends the packet where the destination MAC address is that of the gateway, that is AB:CD:EF:12:34:56. However, in the new Vista operation, the system will simply send a Proxy ARP Request asking for the MAC address of 65.65.65.65, then, the gateway will reply with its own MAC (AB:CD:EF:12:34:56). The Vista system will now cache this new entry associating 65.65.65.65 with AB:CD:EF:12:34:56. When the system wants to communicate with another IP address, e.g. 53.53.53.53, it will cache another entry and so on so forth.

My only impression about this behavior is that Microsoft is trying to minimize the effect of ARP spoofing/poisoning so that normal ARP interception technique may not fully work. Intercepting a unidirectional traffic is not of much interest for an attacker since he/she will miss a lot of important data, besides, many attacks (e.g. SSL Hijacking, RDC Hijacking, etc) implemented after a successful interception may not work properly.

To circumvent this restriction, the attacker needs to poison the ARP cache with fake entries for every IP address the system is trying to connect to. This could be done as follows:

• The attacker sniffs for ARP Requests generated by the target system and asking for MAC address of an IP address that falls outside the local subnet.
• The attacker sends a fake ARP reply saying that the MAC address of such public IP is the MAC address of his/her own machine (MITM).
• The attacker keeps this public IP in a list to keep injecting the fake ARP replies every 1-2 minutes (to keep the cache poisoned)

This process can be automated using a script or a program which will run simultaneously with a tool like Ettercap.


Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/skins/_item_feedback.inc.php on line 156
Permalink 12:09:13 am, Categories: dns, personal

DNS Multiple Race Exploiter (DNS_MRE) tool is now an official FreeBSD Port. The port page is:
http://www.freshports.org/dns/dns_mre/

I would like to thank Tomoyuki Sakurai who ported and is maintaining the port.


Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/skins/_item_feedback.inc.php on line 156

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/plugins/_calendar.plugin.php on line 190

Deprecated: Assigning the return value of new by reference is deprecated in /home/asamhuri/public_html/blog/plugins/_calendar.plugin.php on line 905
September 2008
Sun Mon Tue Wed Thu Fri Sat
 << < Current> >>
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

This is the Blog of Securebits Think-Tank. It is maintained by AR Samhuri. The blog is about topics like Network Security, Penetration Testing, TCP/IP Attacks, Security R&D, Security Tools, etc.

Search

XML Feeds

b2