October 28, 2019 · Basic Pen-Testing
1.3 : Basic Bash scripting - IP lookup (Part II)
Example: example.com Sub-domain IP Lookup
Before you continue, please make sure you have a simple text file that contains cisco urls
cat index.html | grep -o -E 'https?://[^"]*' | grep "example" | cut -d "/" -f 3 | sort -u > list.txt
cat list.txt
return
abc.example.com
introduce host
command
host
is a dig
like but in more details & short-handed.
Another domain name information gathering command.
> host
Usage: host [-aCdilrTvVw] [-c class] [-N ndots] [-t type] [-W time]
[-R number] [-m flag] hostname [server]
-a is equivalent to -v -t ANY
-c specifies query class for non-IN data
-C compares SOA records on authoritative nameservers
-d is equivalent to -v
-i IP6.INT reverse lookups
-l lists all hosts in a domain, using AXFR
-m set memory debugging flag (trace|record|usage)
-N changes the number of dots allowed before root lookup is done
-r disables recursive processing
-R specifies number of retries for UDP packets
-s a SERVFAIL response should stop query
-t specifies the query type
-T enables TCP/IP mode
-v enables verbose output
-V print version number and exit
-w specifies to wait forever for a reply
-W specifies how long to wait for a reply
-4 use IPv4 query transport only
-6 use IPv6 query transport only
Example usage: look up google.com
host google.com
return
google.com has address 172.217.163.238
google.com has IPv6 address 2404:6800:4005:805::200e
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
So, we can now use host
to query sub-domains, show all IP address from DNS lookup
#/bin/bash
# First time init var dont need $, cat file as array
for URL in `cat list.txt`
do
# grep "has address" , grep the ip and append it to res.txt file
host $URL | grep "has address" | cut -d " " -f 4 >> res.txt
done
Or you can use a one-liner like this
for URL in `cat list.txt`;do host $URL | grep "has address" | cut -d " " -f 4 >> res.txt;done