Napisał: Patryk Krawaczyński
25/02/2026 (2 tygodnie temu) w Administracja, Hacks & Scripts
A
gdybym Ci powiedział, że Linux nie potrzebuje żadnego zewnętrznego klienta DHCP, menedżera sieciowego ani innego narzędzia do konfiguracji sieci, aby skutecznie przeprowadzić proces konfiguracji jednego interfejsu sieciowego na dowolnym serwerze? Wystarczy tylko jądro i bootloader. W dodatku metoda ta jest kompatybilna wstecz aż do wersji Linuksa 2.0 z 1996 roku. Mowa tutaj o mechanizmie nfsroot, który pierwotnie został stworzony dla stacji bezdyskowych, a zawarty w nim parametr jądra ip= to przydatne narzędzie, które może w różnych sytuacjach pomóc skonfigurować sieć bez dodatkowego oprogramowania. Jeśli dobrze się wczytamy to dokumentacja nfsroot definiuje składnię parametru ip=, który poinstruuje jądro, jak skonfigurować wybrany interfejs sieciowy podczas startu systemu. Choć nazwa sugeruje powiązanie z NFS (ang. Network File System), mechanizm ten działa niezależnie od tego, czy ostatecznie zamontujemy system plików przez sieć. Jego składnia jest bardzo prosta:
ip=[klient]:[server]:[brama]:[maska]:[host]:[interfejs]:[autokonf]:[dns0]:[dns1]:[ntp0]
Gdzie:
- [ klient – to adres IP jaki chcemy przypisać interfejsowi sieciowemu.
- [ server – adres IP serwera NFS (możemy pominąć, jeśli nie montujemy systemu plików).
- [ brama – adres IP bramy sieciowej odpowiedzialnej za dostęp do sieci / internetu.
- [ maska – maska sieciowa definiująca do jakiej podsieci należy adres IP z pola klient.
- [ host – nazwa hosta / serwera.
- [ interfejs – nazwa interfejsu sieciowego, dla którego chcemy skonfigurować adresację sieciową.
- [ autokonf – określa jakim protokołem skonfigurować interfejs: dhcp, bootp, rarp lub off (statycznie).
- [ dns0 – adres pierwszego serwera DNS (działa tylko serwerem NFS), który pojawi się w
/proc/net/pnp.
- [ dns1 – adresu drugiego serwera DNS (działa tylko serwerem NFS), który pojawi się w
/proc/net/pnp.
- [ ntp0 – adres serwera NTP, który pojawi się w
/proc/net/ipconfig/ntp_servers.
Przykłady:
GRUB_CMDLINE_LINUX="ip=192.168.254.2::192.168.254.1:255.255.255.0:darkstar:enp0s8:off:::"
Ustawi na interfejsie enp0s8 statyczny adres IP: 192.168.254.2/24, którego bramą sieciową jest: 192.168.254.1. Jeśli nie podamy nazwy interfejsu sieciowego zostanie wybrany pierwszy interfejs w systemie.
GRUB_CMDLINE_LINUX="ip=:::::enp0s8:dhcp:::"
Skonfiguruje interfejs enp0s8 za pomocą protokołu DHCP. Jeśli nie podamy nazwy interfejsu sieciowego zostanie wybrany pierwszy interfejs w systemie. Natomiast jeśli posiadamy tylko jeden interfejs to sprawa uproszcza się do krótkiego wpisu:
GRUB_CMDLINE_LINUX="ip=dhcp"
Fraza GRUB_CMDLINE_LINUX w powyższych przykładach pojawia się nie bez powodu, ponieważ zastosowanie tej metody w systemie (np. Debian / Ubuntu) wymaga zmodyfikowania parametrów startowych w programie rozruchowym GRUB. Poprzez edycję pliku: /etc/default/grub i dopisanie do linii GRUB_CMDLINE_LINUX odpowiednio dobranego parametru ip= aktywujemy mechanizm przy starcie systemu. Po edycji i zapisie w/w pliku wymagana jest aktualizacja konfiguracji GRUB:
sudo update-grub
Należy tylko pamiętać, że sterownik karty sieciowej musi być wkompilowany w jądro systemu lub dostępny w obrazie initrd/initramfs.
Więcej informacji: Setting a Static IP Address Using the Kernel Command Line, Kernel-only network configuration on Linux
Napisał: Patryk Krawaczyński
17/11/2024 w Techblog
C
loudflare udostępnił publicznie usługę Radar, w której są zawarte dane o rankingu domen: Domian Rankings Worldwide. Tutaj należy mieć świadomość, że dane pochodzą z ich publicznego serwera DNS, z którego nie koniecznie musi korzystać cały internet. Niemniej jednak jest to dobra próbka, aby przeprowadzić eksperyment podobny do analiz nagłówka HTTP. W pliku pobranym 28.09.2024 znalazło się 1.008.856 domen. Finalnie udało połączyć się z 750.892 domenami w celu pobrania informacji o ich certyfikacie TLS. Aby szybko pozyskać te dane został zmodyfikowany kod skryptu httpsrvreaper na bazie którego powstał sslsrvreaper. Jest on na tyle prosty, że czyta z pliku tekstowego domains.txt adresy, z jakimi ma się połączyć i zapisać ich metadane TLS w formacie JSON, na przykład:
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
29/07/2022 w Hacks & Scripts
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
Napisał: Patryk Krawaczyński
10/04/2022 w Debug
C
zy ten plik to malware? Zależy jakiego silnika antywirusowego się spytasz. Podobnie jest w temacie znajdowania lokalizacji adresu IP, ponieważ powiązanie rzeczywistej lokalizacji z adresem IP jest prawie niemożliwe do pewnego poziomu dokładności (np. ulicy, miasta). Wiele osób od razu podniesie głos sprzeciwu odnosząc się do dostawców usług oferujących geolokalizację adresów IP. Tak, istnieją bazy zawierające informacje o lokalizacji geograficznej adresu IP. Niektóre nawet twierdzą, że mają bardzo dokładne informacje, ale czy są one wiarygodne? Rzućmy okiem na adres: 188.130.189.153. W tym celu skorzystamy z serwisów zawartych na stronie: resolve.rs, ponieważ uwzględnia ona bardzo dużo dostawców typu IP2GEO, z którymi możemy sprawdzić wspomniany adres IP. Przechodząc przez poszczególne serwisy i zadając im zapytanie o ten sam adres widzimy wiele różnic w wynikach. W momencie pisania tego wpisu wyniki były, co najmniej mylące nawet na poziomie kraju.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
18/01/2021 w Pen Test
W
iele firm zamiast wystawiać w internecie swoje usługi na przypisanych do nich blokach IP (ASN) w coraz większym stopniu polegają na usługach chmur publicznych, takich jak Amazon AWS, Microsoft Azure czy Google Cloud Platform. Ponieważ infrastruktura chmury publicznej szybko staje się normą, podczas rozpoznawania zasobów danej firmy można stracić wiele obiektów skanując tylko zakresy sieci tej organizacji. Jeśli chcemy osiągnąć szybkie i najczystsze wyniki możemy połączyć ze sobą narzędzia: masscan oraz tls-scan. Oto jak hipotetycznie przeskanować zakres adresów IP i certyfikaty największych dostawców chmury publicznej w celu identyfikacji ich zasobów.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
14/12/2020 w Bezpieczeństwo
P
omimo upłynięcia 7 lat od ataków DDoS (ang. Distributed Denial of Service) za pomocą protokołu XMLRPC CMS WordPress – ilość podatnych serwerów nadal stanowi zagrożenie. Badacz bezpieczeństwa Andrea Menin przeszukując na początku top listę stron według rankingu Alexa, a później archiwum Common Crawl uzyskał dostęp do 7.500 instalacji, które aktywnie odpowiadają na metodę pingback.ping. Umożliwia to stworzenie botnetu, który będzie w stanie przeprowadzać wzmocnione ataki DDoS. W dodatku utrzymując stronę opartą o WordPress – jeśli nie posiadamy ograniczonej komunikacji do tego protokołu lub przynajmniej metody pingback:
add_filter( 'xmlrpc_methods', function( $methods ) {
unset( $methods['pingback.ping'] );
return $methods;
} );
a nasz serwer znajduje się za dostawcą typu Cloudflare – musimy mieć świadomość że otwarta komunikacja za pomocą XMLRPC może doprowadzić do wycieku oryginalnego adresu IP serwera i ominięcia warstwy ochronnej serwisu (jeśli dopuszczamy do ruchu inne serwery niż te, z których pochodzi ruch przefiltrowany przez WAF). Jeśli nie prowadzisz witryny opartej o WordPress lub nie jesteś zainteresowany otrzymywaniem komunikatów typu pingback od innych webaplikacji WordPress (a ponadto chcesz zapobiec atakom typu DDoS) – możesz zablokować żądania pochodzące z funkcji WordPress, filtrując nagłówek aplikacji klienckiej np.:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} "^WordPress.*verifying pingback" [NC]
RewriteRule . - [F,L]
lub
if ($http_user_agent ~* "^WordPress.*verifying pingback") {
return 403
}
Więcej informacji: Make WordPress Pingback Great Again, WordPress Pingback Attacks and our WAF
Napisał: Patryk Krawaczyński
15/12/2019 w Pen Test
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,
Napisał: Patryk Krawaczyński
28/04/2018 w Administracja
J
eśli jesteś administratorem sieci i klient zgłasza Ci pewne problemy z łącznością do drugiej sieci. Aby odkryć przyczynę problemu musisz znać konkretny adres IP punktu odniesienia w docelowej sieci. Każdy prawdopodobnie ma własną metodę podejścia do tego problemu. Zazwyczaj trzeba przejść przez podsieci, wyszukać adresy IP, a następnie zweryfikować możliwe straty pakietów do nich. Firma CDN77 stworzyła unikalną bazę adresów IP, które odpowiadają na ping w internecie. W celu znalezienia żądanego adresu IP dowolnej podsieci wystarczy wpisać jej adres lub numer ASN (ang. Autonomous System Number). Otrzymamy wówczas następujące informacje: listę podsieci, adresy IP odpowiadające na ping oraz czasy opóźnienia RTT (ang. Round-Trip Delay Time). Dzięki temu możemy zaoszczędzić trochę czasu na identyfikacji tego typu problemów.
Więcej informacji: IP-Radar
Napisał: Patryk Krawaczyński
08/11/2014 w Bezpieczeństwo
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ść… ]
Napisał: Patryk Krawaczyński
04/04/2013 w Pen Test
B
ing.com jest wyszukiwarką stworzoną przez firmę Microsoft wcześniej znaną jako MSN Search lub Live Search. Posiada ona unikalną funkcję do wyszukiwania stron internetowych (domen / hostów wirtualnych) utrzymywanych / hostowanych na konkretnym adresie IP. Funkcja ta może być bezpośrednio wywołana w wyszukiwarce na przykład za pomocą zapytania: IP:192.168.1.1. Andrew Horton z MorningStar Security napisał prosty skrypt w bashu, który odpytuje wyszukiwarkę i zwraca znalezione wyniki. Krok ten jest uważany za jedną z dobrych praktyk podczas fazy rozpoznania testów penetracyjnych w celu odkrycia potencjalnie większej ilości celów.
[ czytaj całość… ]
Ostatni komentarz :