Showing posts with label scanning. Show all posts
Showing posts with label scanning. Show all posts

Thursday, March 21, 2013

Detecting hosts that cross connect two networks...

There are different scenarios in which you can have a situation where some of your clients are connected in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same time to two different networks of different trust levels. This is dangerous because effectively cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y can be used as a staging point for potential attackers or malware to "jump" from less trusted network to more trusted one.

For example, suppose that you have protected internal wired LAN, and in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same time you have wireless LAN that is used for guests and allowed unrestricted access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Internet, as shown in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 figure below. Someone, from your internal and protected network, might intentionally or accidentally connect to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 wireless network too, and in that case he/she will shortcut cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 two networks. If you thought that you can use MAC addresses to detect such hosts, you can not, for a simple reason that in one network host is connected using wired ecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rnet card with one MAC address, and in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 second network it is connected using WLAN network card with anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r MAC address.

Hypocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365tical situation to illustrate how internal host might shortcut two networks of different trust levels
So, how to detect those hosts that shortcut two networks? Actually, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is an easy and elegant way. Namely, you can send ARP requests on one network for IP addresses on anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r network. ARP module, by default, doesn't know or care for routing tables so that it knows on which interface it should respond with specific addresses. If we look again on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 figure above, this means that you can run cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following command from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 proxy host (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 host above firewall):
arping -I eth1 10.0.0.250
I assume in that command that eth1 is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 interface connected to AP. What will happen is that broadcast will be sent on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 wireless network and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 client will respond with its wireless MAC address even though that address is not used on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 wireless network.

So, I hope cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 idea is clear now. To detect if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is some host cross connecting two networks I send arp request on a host (i.e. proxy host) for each possible IP address used on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r network (i.e. local protected network in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 figure above).

Note that it is possible to disable such behavior on Linux machines using sysctl variable /proc/sys/net/ipv4/conf/*/arp_filter. You can find more information, for example, here.

nmap games

Now, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r problem. How to scan cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole network without manually trying each possible IP address. The first solution is, obviously, to use nmap. Nmap is a great tool for network scanning, but in this case it has a problem, I tried to run it in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following way, but unsuccessfuly:
# nmap -PR -Pn -e eth1 10.0.0.0/24
Starting Nmap 5.51 ( http://nmap.org ) at 2013-03-21 10:07 CET
nexthost: failed to determine route to 10.0.0.0
QUITTING!
Option -PR requires ARP scan, -Pn disables ping scan, and -e eth1 tells nmap to send packets via interface eth1. The problem is that I'm trying to scan network 10.0.0.0/24 on interface eth1 and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is no route in routig tables that tells kernel/nmap that network is really connected on interface eth1. So, nmap refuses to scan those addresses. One solution is to temporarily add that route:
ip route add 10.0.0.0/24 dev eth1
But this isn't an option if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 route already exists in order for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hosts on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 protected network to be able to access proxy, i.e. if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is route similar to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following one:
# ip ro sh
...
10.0.0.0/24 via 172.16.1.1 dev eth0
...
Again, I'm making a lot of assumptions here (network between proxy and firewall, IP addresses and interfaces) but I hope you understand cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 point. The given route is in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 routing tables and removing it isn't an option.

Next try was using -sn switch, i.e. to disable port scan:
# nmap -PR -Pn -sn -e eth1 10.0.0.0/24
Starting Nmap 5.51 ( http://nmap.org ) at 2013-03-21 10:07 CET
Well, now nmap worked, sort of, because it showed all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hosts are up. Using tcpdump I found that it didn't send anything to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 network. Reason: it thinks this is remote network, pings are disabled, arp cannot be used, and finally, because of -Pn, assumes all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hosts are up. So, I was again at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 beginning.

Simple arping solution

Until I figure out how to force nmap to send arp probes without worrying  about routing tables here is a simple solution using arping command:
#!/bin/bash

TIMEOUT=4

for i in {1..254}
do
if arping -q -f -w \$TIMEOUT -I eth2 10.0.0.\$i
cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n
echo "10.0.0.$i is up"
fi
done
There are three problems with this solution:
  1. In case your network has netmask ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r than /24 you'll have to change this script, i.e. it is a bit more complicated. How much, depends on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 network mask.
  2. The problem with this solution is that it is slow. For example, to scan 254 addresses and with timeout of 4 seconds, it will take about 17 minutes to scan cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole address range assuming no address is alive (what is actually desired state on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 network).
  3. Finally, timeout value is a bit tricky to determine. Majority of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 responses are really quick, i.e. under a second. But some devices respond slower, i.e. when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y entered some kind of a sleep state.
Still, it is a satisfactory solution until I find a way to use nmap for that purpose. If you know how, please, leave a comment.

About Me

scientist, consultant, security specialist, networking guy, system administrator, philosopher ;)

Blog Archive