1..254 | % {Resolve-DnsName x.x.x.$_ -ErrorAction SilentlyContinue} - rekonesans RevDNS
tty1 · powershell
PS> 1..254 | % {Resolve-DnsName x.x.x.$_ -ErrorAction SilentlyContinue}
#Powershell#Recon#DNS#RedTeam
W /pl/0005 omawiany był analogiczny oneliner ale dla Bash, dzisiaj wersja dla Powershella. Rozbijając go trochę na części pierwsze:
Przykład:
PS C:\Users\drg> 1..254 | % {Resolve-DnsName 195.245.213.$_ -Server 194.204.159.1 -ErrorAction ignore}
Name Type TTL Section NameHost
---- ---- --- ------- --------
8.213.245.195.in-addr.arpa PTR 86400 Answer w3cache.tvp.pl
9.213.245.195.in-addr.arpa PTR 85383 Answer ext-9.tvp.pl
10.213.245.195.in-addr.arpa PTR 86400 Answer owa.tvp.pl
10.213.245.195.in-addr.arpa PTR 86400 Answer salesssl.tvp.pl
10.213.245.195.in-addr.arpa PTR 86400 Answer email.tvp.pl
10.213.245.195.in-addr.arpa PTR 86400 Answer extvp0.waw.tvp.pl
10.213.245.195.in-addr.arpa PTR 86400 Answer lyncconf.tvp.pl
[...]
Jak to działa — krok po kroku
Rozłóżmy onelinera na czynniki pierwsze:
1..254
generujemy tablicę liczb od 1 do 254,
| % {Resolve-DnsName x.x.x.$_ -ErrorAction SilentlyContinue}
iterujemy po przygotowanej tablicy, a następnia sprawdzamy z wykorzystaniem cmdletu Resolve-DnsName czy istnieje reverse DNS dla kolejnych adresów IP; dodatkowo dzięki -ErrorAction SilentlyContinue błędy (w tym o braku revdnsa) nie będą wyświetlane (zobacz aptm.in/protip/0036).