1. 被動信息收集簡介html
2. DNS 查詢瀏覽器
3.被動信息收集-nslookup緩存
4.被動信息收集-dig服務器
5.DNS字典爆破cookie
OSINT架構
美國軍方:http://www.fas.org/irp/doddir/army/atp2-22-9.pdfapp
北大西洋公約組織:http://information-retrieval.info/docs/NATO-OSINT.htmldom
信息蒐集內容socket
信息用途tcp
域名記錄
DNS查找:
遞歸查詢:
主機向本地域名服務器的查詢通常都是採用遞歸查詢。
若是主機所詢問的本地域名服務器不知道被查詢的域名的IP地址,那麼本地域名服務器就以DNS客戶的身份,向其根域名服務器繼續發出查詢請求報文(即替主機繼續查詢),而不是讓主機本身進行下一步查詢。所以,遞歸查詢返回的查詢結果或者是所要查詢的IP地址,或者是返回一個失敗的響應,表示沒法查詢到所需的IP地址。
迭代查詢:
本地域名服務器向根域名服務器的查詢一般是採用迭代查詢。
當根域名服務器收到本地域名服務器發出的迭代查詢請求報文時,要麼返回給本地域名服務器所要查詢的IP地址,要麼返回給本地域名服務器下一步應當查詢的域名服務器的IP地址。
假設的主機想知道另外一個主機(域名爲 my.xxsilence.net)的IP地址。具體步驟以下:
① 主機先向其本地域名服務器進行遞歸查詢,若是緩存中沒有,繼續下一步。
② 本地域名服務器採用迭代查詢,先向一個根域名服務器查詢。
③ 根域名服務器告訴本地域名服務器,下一次查詢的頂級域名服務器 dns.net。
④ 本地域名服務器向頂級域名服務器 dns.net。
⑤ 頂級域名服務器 dns.net,下一次應查詢的權限域名服務器dns.xxsilence.net的IP地址。
⑥ 本地域名服務器向權限域名服務器dns.xxsilence.net進行查詢。
⑦ 權限域名服務器dns.xxsilence.net告訴本地域名服務器,所查詢的主機的IP地址。
⑧ 本地域名服務器最後把查詢結果告訴主機。
組合使用
nslookup -type=ns example.com 156.154.70.22
主機解析 Cname(別名記錄)
只查詢 A 記錄
> set type=a > www.sina.com
只查詢 mx 記錄
> set type=mx > sina.com
# 查郵件交換服務器的IP地址 > set type=a > freemx1.sinamail.sina.com.cn > freemx2.sinamail.sina.com.cn > freemx3.sinamail.sina.com.cn.
查詢域名服務器名稱
> set type=ns > sina.com
# 查詢域名服務器的IP地址 > set type=a > ns1.sina.com. > ns4.sina.com. > ns3.sina.com.cn. > ns4.sina.com.cn. > ns1.sina.com.cn.
查詢 PTR 記錄
> set type=ptr > 202.108.3.242
# 查詢域名對應的多條 IP 記錄
set type=a
mail3-242.sinamail.sina.com.cn.
設置指定域名服務器
# 指定域名服務器以後,兩次結果不一樣 > server 8.8.8.8 > www.sina.com
指定 type 爲 any
> set type=any > sina.com
text = "v=spf1 include:spf.sinamail.sina.com.cn -all" # spf 記錄:反垃圾郵件記錄 # 在接收郵件的時候進行反向域名解析,查詢比對這個記錄,來確認是不是垃圾郵件
# 默認使用 /etc/resolv.conf 文件的域名服務器 root@kali:~# cat /etc/resolv.conf domain localdomain search localdomain nameserver 10.10.10.2 root@kali:~# nslookup -q=any 163.com Server: 10.10.10.2 Address: 10.10.10.2#53 # 指定域名服務器 root@kali:~# nslookup -q=any 163.com 114.114.114.114
1. DIG
2. 區域傳送
3. 幫助文件
默認使用 /etc/resplv.conf 指定的域名服務器
root@kali:~# nslookup sina.com -type=any 8.8.8.8 Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: sina.com Address: 66.102.251.33 #默認使用 /etc/resplv.conf 指定的域名服務器 root@kali:~# dig sina.com any
# 指定域名服務器 root@kali:~# dig sina.com any @8.8.8.8
# 嘗試指定不一樣的域名服務器 root@kali:~# dig sina.com any @202.106.2.20 root@kali:~# dig sina.com any @114.114.114.114 root@kali:~# dig sina.com any @8.8.8.8
迭代別名記錄查詢
# 修改默認域名服務器 root@kali:~# cat /etc/resolv.conf domain localdomain search localdomain nameserver 114.114.114.114 root@kali:~# dig mail.163.com any
一些參數
+answer:顯示結果
root@kali:~# dig +noall +answer mail.163.com any mail.163.com. 131 IN CNAME mail163.ntes53.netease.com. root@kali:~# dig +noall +answer mail.163.com any | awk '{print $5}'
反向查詢
root@kali:~# dig 163.com
# 反向查詢 PTR記錄 root@kali:~# dig -x 123.58.180.8
查詢 bind 版本信息
# 使用 dig 默認只會查詢當前 fqdn 名稱,不會查詢全部的記錄 # dig 能夠查詢 bind 版本信息,根據 bind 漏洞,就能夠所有獲取 DNS 服務器權限 root@kali:~# dig sina.com any
# 查詢結果爲空(被隱藏) root@kali:~# dig +noall +answer txt chaos VERSION.BIND @ns2.sina.com. VERSION.BIND. 0 CH TXT " "
DNS 追蹤
# 跟蹤過程:直接迭代查詢,不通過本地緩存域名0服務器(從根域開始) root@kali:~# dig +trace 163.com
抓包比較遞歸查詢、迭代查詢過程的區別
區域傳送:在本域的各個域名服務器之間進行信息同步
區域傳送
# dig @ns1.example.com example.com axfr root@kali:~# dig sina.com any
root@kali:~# dig @ns2.sina.com sina.com axfr
# host -T -l sina.com 8.8.8.8 root@kali:~# host -T -l sina.com ns2.sina.com.
root@kali:~# dig -h Usage: dig [@global-server] [domain] [q-type] [q-class] {q-opt} {global-d-opt} host [@local-server] {local-d-opt} [ host [@local-server] {local-d-opt} [...]] Where: domain is in the Domain Name System q-class is one of (in,hs,ch,...) [default: in] q-type is one of (a,any,mx,ns,soa,hinfo,axfr,txt,...) [default:a] (Use ixfr=version for type ixfr) q-opt is one of: -4 (use IPv4 query transport only) -6 (use IPv6 query transport only) -b address[#port] (bind to source address/port) -c class (specify query class) -f filename (batch mode) -i (use IP6.INT for IPv6 reverse lookups) -k keyfile (specify tsig key file) -m (enable memory usage debugging) -p port (specify port number) -q name (specify query name) -t type (specify query type) -u (display times in usec instead of msec) -x dot-notation (shortcut for reverse lookups) -y [hmac:]name:key (specify named base64 tsig key) d-opt is of the form +keyword[=value], where keyword is: +[no]aaflag (Set AA flag in query (+[no]aaflag)) +[no]aaonly (Set AA flag in query (+[no]aaflag)) +[no]additional (Control display of additional section) +[no]adflag (Set AD flag in query (default on)) +[no]all (Set or clear all display flags) +[no]answer (Control display of answer section) +[no]authority (Control display of authority section) +[no]badcookie (Retry BADCOOKIE responses) +[no]besteffort (Try to parse even illegal messages) +bufsize=### (Set EDNS0 Max UDP packet size) +[no]cdflag (Set checking disabled flag in query) +[no]class (Control display of class in records) +[no]cmd (Control display of command line) +[no]comments (Control display of comment lines) +[no]cookie (Add a COOKIE option to the request) +[no]crypto (Control display of cryptographic fields in records) +[no]defname (Use search list (+[no]search)) +[no]dnssec (Request DNSSEC records) +domain=### (Set default domainname) +[no]dscp[=###] (Set the DSCP value to ### [0..63]) +[no]edns[=###] (Set EDNS version) [0] +ednsflags=### (Set EDNS flag bits) +[no]ednsnegotiation (Set EDNS version negotiation) +ednsopt=###[:value] (Send specified EDNS option) +noednsopt (Clear list of +ednsopt options) +[no]expire (Request time to expire) +[no]fail (Don't try next server on SERVFAIL) +[no]header-only (Send query without a question section) +[no]identify (ID responders in short answers) +[no]idnout (convert IDN response) +[no]ignore (Don't revert to TCP for TC responses.) +[no]keepopen (Keep the TCP socket open between queries) +[no]mapped (Allow mapped IPv4 over IPv6) +[no]multiline (Print records in an expanded format) +ndots=### (Set search NDOTS value) +[no]nsid (Request Name Server ID) +[no]nssearch (Search all authoritative nameservers) +[no]onesoa (AXFR prints only one soa record) +[no]opcode=### (Set the opcode of the request) +[no]qr (Print question before sending) +[no]question (Control display of question section) +[no]rdflag (Recursive mode (+[no]recurse)) +[no]recurse (Recursive mode (+[no]rdflag)) +retry=### (Set number of UDP retries) [2] +[no]rrcomments (Control display of per-record comments) +[no]search (Set whether to use searchlist) +[no]short (Display nothing except short form of answer) +[no]showsearch (Search with intermediate results) +[no]sigchase (Chase DNSSEC signatures) +[no]split=## (Split hex/base64 fields into chunks) +[no]stats (Control display of statistics) +subnet=addr (Set edns-client-subnet option) +[no]tcp (TCP mode (+[no]vc)) +timeout=### (Set query timeout) [5] +[no]topdown (Do +sigchase in top-down mode) +[no]trace (Trace delegation down from root [+dnssec]) +trusted-key=#### (Trusted Key to use with +sigchase) +tries=### (Set number of UDP attempts) [3] +[no]ttlid (Control display of ttls in records) +[no]ttlunits (Display TTLs in human-readable units) +[no]unknownformat (Print RDATA in RFC 3597 "unknown" format) +[no]vc (TCP mode (+[no]tcp)) +[no]zflag (Set Z flag in query) global d-opts and servers (before host name) affect all queries. local d-opts and servers (after host name) affect only that lookup. -h (print help and exit) -v (print version and exit) root@kali:~# host -h host: illegal option -- h 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
5.DNS字典爆破
1. DNS 字典爆破 1-1. 簡介 1-2. fierce 1-3. dnsenum 1-4. dnsmap 1-5. dnsrecon 2. DNS 註冊信息
- fierce -dnsserver 8.8.8.8 -dns sina.com.cn -wordlist a.txt - dnsenum -f dnsbig.txt -dnsserver 8.8.8.8 sina.com -o sina.xml - dnsmap sina.com -w dns.txt - dnsrecon -d sina.com --lifetime 10 -t brt -D dnsbig.txt - dnsrecon -t std -d sina.com
root@kali:~# dpkg -L fierce /usr/share/fierce/hosts.txt root@kali:~# cp /usr/share/fierce/hosts.txt wordlist.txt -f root@kali:~# fierce -dnsserver 8.8.8.8 -dns sina.com.cn -wordlist wordlist.txt
root@kali:~# dpkg -L dnsenum /usr/share/dnsenum/dns.txt root@kali:~# cp /usr/share/dnsenum/dns.txt dnsenum.txt root@kali:~# dnsenum -f dnsenum.txt -dnsserver 8.8.8.8 sina.com -o sina.xml
root@kali:~# dpkg -L dnsmap /usr/share/dnsmap/wordlist_TLAs.txt root@kali:~# cp /usr/share/dnsmap/wordlist_TLAs.txt dnsmap.txt root@kali:~# dnsmap sina.com -w dnsmap.txt
root@kali:~# dpkg -L dnsrecon /usr/share/dnsrecon/namelist.txt root@kali:~# dnsrecon -d sina.com --lifetime 10 -t brt -D /usr/share/dnsrecon/namelist.txt root@kali:~# dnsrecon -t std -d sina.com
使用
root@kali:~# whois sina.com
root@kali:~# whois wooyun.org
root@kali:~# whois -h whois.apnic.net 192.0.43.10