alphasec academy

for i in {1..254}; do host x.x.x.$i|grep -v NXDOMAIN; done - szybki revdns recon danej sieci /24

Dodatkowe informacje

Powyższy oneliner sprawdzi odwrotną translację adresów DNS z zakresu x.x.x.1 - x.x.x.254, odsiewając adresy, dla których revDNS nie istnieje. Rozbijając go na mniejsze części:

  • for i in {1..254}; do
    - pętla, w której do zmiennej $i zostaną przypisane liczby od 1 do 254
  • host x.x.x.x.$i
    - sprawdź odwrotny DNS dla kolejnego adresu IP
  • | grep -v NXDOMAIN
    - odrzućmy wszystkie linijki zawierające frazę NXDOMAIN co oznacza, że dany IP nie posiada revdnsa
  • ; done
    - koniec pętli.

Gdybyśmy chcieli sprawdzić sieć z maską /16, a więc zakres x.x.0.1 - x.x.255.254, potrzebowalibyśmy dwóch pętli:

for i in $(seq 0 255); do
    for j in `seq 1 254`; do 
    host x.x.$i.$j | grep -v NXDOMAIN
    done
done 

W tym przykładzie, zamiast wygenerować szereg liczb z wykorzystaniem {<start>..<end>} użyliśmy dwóch równoważnych konstrukcji $(<polecenie>) oraz `<polecenie>`, będącymi tzw. command substitution, które powodują wstawienie wyniku polecenia w miejscu gdzie się znajdują. Samo narzędzie seq służy do generowania sekwencji liczb, np.:

  • seq 10 1
    - liczby od 10 do 1
  • seq -w 0 0.5 3
    - liczby od 0 do 3 ze skokiem co 0.5, dodatkowo uzupełniane zerami, żeby wizualnie miały taką samą szerokość

Przykład

Przydatne linki


Subskrybuj

Jeśli chcesz otrzymywać nowe, mięsiste protipy na maila, a także zostać czasem powiadomiony o wartościowych wydarzeniach - dołącz do subskrybentów.