被动信息搜集:不与目标主机进行直接交互,通常根据搜索引擎或者社交等方式间接获取目标主机的信息。
DNS解析
查询域名对应的IP
import socket
import argparsedef doamin_parse():usage = 'usage: python %(prog)s domain'parser = argparse.ArgumentParser(usage=usage)parser.add_argument('domain')options = parser.parse_args()domain = options.domainreturn domainif __name__ == '__main__':domain = doamin_parse()ip = hostbyname(domain)print(ip)
whois查询域名注册信息
安装python-whois
from whois import whois
import argparsedef doamin_parse():usage = 'usage: python %(prog)s domain'parser = argparse.ArgumentParser(usage=usage)parser.add_argument('domain')options = parser.parse_args()domain = options.domainreturn domainif __name__ == '__main__':domain = doamin_parse()data = whois(domain)print(data)
第三方软件
Onefoall、sublist3r、云悉、layer子域名挖掘机、御剑子域名扫描、dnsenum
python利用bing进行子域名查询
import requests
from bs4 import BeautifulSoup
from urllib.parse import urlparse
import sysdef bing_search(site, pages):Subdomain = [] # 以列表形式存储子域名headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7','Referer': '/','cookie': 'MUID=2D75DFAC11BE6E2C17A5CE1110BF6F5D; SRCHD=AF=NOFORM; SRCHUID=V=2&GUID=6E08C7F335954E4A81F836E094D9EE88&dmnchg=1;'' _UR=cdxcls=0&QS=0&TQS=0; SRCHUSR=DOB=20230208&T=1701833557000; _Rwho=u=d; _SS=SID=0E3DBDDEA58566841768AE01A43A679F&R=0&RB=0&GB=0&RG=200&RP=0; ipv6=hit=1701837160490&t=6;'}for i in range(1, int(pages)+1):url = "=site%3a" + site + "&go=search&qs=ds&first=" + str((int(i)-1)*10) + "&FORM=PERE"html = (url, stream=True, headers=headers)soup = t, 'html.parser')job_bt = soup.findAll('h2')for i in job_bt:link = i.find('a')if link:href = link['href']domain = str(urlparse(href).scheme + "://" + urlparse(href)loc)if domain in Subdomain:passelse:Subdomain.append(domain)print(domain)if __name__ == '__main__':if len(sys.argv) == 3:site = sys.argv[1]page = sys.argv[2]else:print("usage: %s baidu 10" % sys.argv[0])it(-1)Subdomain = bing_search(site, page)
dirsearch
nbtscan、netdiscover
#-*- coding:utf-8 -*-
import sys
import getopt
import requests
from bs4 import BeautifulSoup
import re
import time
import threading#banner信息
def banner():print('