Kraken Captive Portal
Kraken Captive Portal forces an HTTP client on a network to see a special web page before using the internet normality. (See more Wikipedia explanation) Kraken Captive Portal uses DNS poisoning to implement "Redirection by DNS" approach. Since it needs to sniff dns query packets, switch mirroring environment or ARP Poison Routing (APR) is required. Kraken Captive Portal support ARP Poison Routing and can block all DNS query packet.
Kraken Captive Portal is intended as a sub-component of NAC. It cannot be used independently. You should build captive portal controller. For example, you can add authentication web page and allow only logon users. Authentication page should be able to use CaptivePortal service interface, quarantine, and unquarantine specific ip address.
Author
Install
kraken> pkg.install kraken-captive-portal
Commands
Set PCAP Device
- captiveportal.setdevice
kraken> captiveportal.setdevice [1] name={5D28FFAD-59E6-4560-9C70-89B2B19319FA}, description=Microsoft, mac=00:16:EA:B3:A8:0E [2] name={C7ACC3F3-E78B-45DB-8F7E-2A9BBFB79365}, description=Microsoft, mac=00:16:EA:B3:A8:0F [3] name={F9D00BE4-30BF-41FA-9F14-44634B79C025}, description=Marvell Yukon Ethernet Controller., mac=00:13:77:B0:E4:97 [4] name={95B6EFAE-7F7F-4476-8BF2-69E80895C40B}, description=Microsoft, mac=00:22:69:D2:8E:23 select?
setdevice command will prompt you all available pcap devices. Select one and type number.
Set Gateway IP Address
- captiveportal.setgateway [IP]
kraken> captiveportal.setgateway 192.168.1.1 set
Set Redirect IP Address
- captiveportal.setredirectip [IP]
kraken> captiveportal.setredirectip 147.46.102.180 set
Set ARP Poisoning Interval
- captiveportal.setpoisoninterval [milliseconds]
kraken> captiveportal.setpoisoninterval 30000 set
Get Selected PCAP Device
- captiveportal.device
kraken> captiveportal.device {5D28FFAD-59E6-4560-9C70-89B2B19319FA}
Get Gateway IP Address
- captiveportal.gateway
kraken> captiveportal.gateway /192.168.1.1
Get Redirect IP Address
- captiveportal.redirectip
kraken> captiveportal.redirectip /147.46.102.180
Get ARP Poisoning Interval
- captiveportal.poisoninterval
kraken> captiveportal.poisoninterval 30000ms
Quarantine
- captiveportal.quarantine [IP]
kraken> captiveportal.quarantine 192.168.1.101 set
Unquarantine
- captiveportal.unquarantine [IP]
kraken> captiveportal.unquarantine 192.168.1.101 unset
View ARP Cache
- captiveportal.arpcache
kraken> captiveportal.arpcache ARP Cache ------------- ip=192.168.1.1, mac=00:25:62:00:09:3F ip=192.168.1.101, mac=F8:1E:DF:AB:A3:1B
Kraken Captive Portal routes all packets from these hosts.
View all quarantined hosts
- captiveportal.targets
kraken> captiveportal.targets Quarantined Hosts ------------------- 192.168.1.101
See Also
Release
- 0.5.0 development version (unstable)
