NFsec Logo

Python – szybkie dopasowanie adresu IP do klasy CIDR

29/07/2022 w Hacks & Scripts Możliwość komentowania Python – szybkie dopasowanie adresu IP do klasy CIDR została wyłączona

python3 -m pip install cidr-trie
>>> from cidr_trie import PatriciaTrie

>>> ip_owner = PatriciaTrie()
>>> ip_owner.insert("10.0.0.0/8", "LAN-A")
>>> ip_owner.insert("172.16.0.0/12", "LAN-B")
>>> ip_owner.insert("192.168.0.0/16", "LAN-C")
>>> ip_owner.insert("192.168.1.0/24", "LAN-C-Office-Toronto")
>>> ip_owner.insert("104.16.0.0/12", "Internet-Cloudflare")
>>> ip_owner.insert("31.171.152.0/22", "Internet-HostileVPN")

>>> ip_owner.find_all("31.171.152.25")
[('31.171.152.0/22', 'Hostile VPN')]
>>> ip_owner.find_all("192.168.1.13")
[('192.168.0.0/16', 'LAN-C'), ('192.168.1.0/24', 'LAN-C-Office-Toronto')]
>>> ', '.join((v[1] for v in ip_owner.find_all("192.168.1.13")))
'LAN C, LAN-C-Office-Toronto'

Więcej informacji: Skompresowane drzewo trie, Store CIDR IP addresses (both v4 and v6) in a trie for easy lookup

Obchodzenie zapór pośrednicząco-filtrujących strony web #4

15/12/2019 w Pen Test Możliwość komentowania Obchodzenie zapór pośrednicząco-filtrujących strony web #4 została wyłączona

J

eśli posiadamy podatność, która bazuje na adresie IP, ale zapora pośrednicząco-filtrująca utrudnia nam zadanie eksploatacji pamiętajmy, że adres IP od strony klienta można zapisać na wiele sposobów. Na przykład:

$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes

$ ping 3232235521
PING 3232235521 (192.168.0.1): 56 data bytes

$ ping 0xC0A80001
PING 0xC0A80001 (192.168.0.1): 56 data bytes

$ ping 192.168.1
PING 192.168.1 (192.168.0.1): 56 data bytes

$ ping 192.168.257
PING 192.168.257 (192.168.1.1): 56 data bytes

$ ping ::ffff:c0a8:0001
PING ::ffff:c0a8:0001(::ffff:192.168.0.1) 56 data bytes

$ ping 0000:0000:0000:0000:0000:ffff:c0a8:0001
PING 0000:0000:0000:0000:0000:ffff:c0a8:0001(::ffff:192.168.0.1) 56 data bytes

Więcej informacji: IPv4 Converter, inet_aton(3), IPv6 address formats,

Rozszerzenie ipset dla iptables

08/11/2014 w Bezpieczeństwo Możliwość komentowania Rozszerzenie ipset dla iptables została wyłączona

P

rzez długi czas firewall w Linuksie oparty o iptables nie miał żadnego efektywnego sposobu, aby dopasowywać reguły do zbiorów adresów IP. Jeśli mieliśmy wiele adresów IP, aby dopasować do nich różne reguły (na przykład: setki lub tysiące adresów IP, które należało trzymać z daleka od portu SMTP) trzeba było tworzyć jeden wpis iptables dla każdego adresu IP, a następnie wprowadzać te wpisy sekwencyjnie. To wprowadzało wiele komplikacji w utrzymywanie takiego rozwiązania. Na szczęście w jądrach od serii 2.6.39 (Ubuntu 12.04, 14.04, Fedora 20, RHEL / CentOS 7) pojawiło się rozszerzenie ipset.
[ czytaj całość… ]