电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python中的被動信息搜集

瀏覽:8日期:2022-06-20 17:01:10
概述:

被動信息搜集主要通過搜索引擎或者社交等方式對目標資產信息進行提取,通常包括IP查詢,Whois查詢,子域名搜集等。進行被動信息搜集時不與目標產生交互,可以在不接觸到目標系統的情況下挖掘目標信息。

主要方法:DNS解析,子域名挖掘,郵件爬取等。

DNS解析:1、概述:

DNS(Domain Name System,域名系統)是一種分布式網絡目錄服務,主要用于域名與IP地址的相互轉換,能夠使用戶更方便地訪問互聯網,而不用去記住一長串數字(能夠被機器直接讀取的IP)。

2、IP查詢:

IP查詢是通過當前所獲取的URL去查詢對應IP地址的過程。可以利用Socket庫函數中的gethostbyname()獲取域名對應的IP值。

代碼:

import socketip = socket.gethostbyname(’www.baidu.com’)print(ip)

返回:

39.156.66.14

3、Whois查詢:

Whois是用來查詢域名的IP以及所有者信息的傳輸協議。Whois相當于一個數據庫,用來查詢域名是否已經被注冊,以及注冊域名的詳細信息(如域名所有人,域名注冊商等)。

Python中的python-whois模塊可用于Whois查詢。

代碼:

from whois import whoisdata = whois(’www.baidu.com’)print(data)

返回:

E:pythonpython.exe 'H:/code/Python Security/Day01/Whois查詢.py'{ 'domain_name': [ 'BAIDU.COM', 'baidu.com' ], 'registrar': 'MarkMonitor, Inc.', 'whois_server': 'whois.markmonitor.com', 'referral_url': null, 'updated_date': [ '2020-12-09 04:04:41', '2021-04-07 12:52:21' ], 'creation_date': [ '1999-10-11 11:05:17', '1999-10-11 04:05:17' ], 'expiration_date': [ '2026-10-11 11:05:17', '2026-10-11 00:00:00' ], 'name_servers': [ 'NS1.BAIDU.COM', 'NS2.BAIDU.COM', 'NS3.BAIDU.COM', 'NS4.BAIDU.COM', 'NS7.BAIDU.COM', 'ns3.baidu.com', 'ns2.baidu.com', 'ns7.baidu.com', 'ns1.baidu.com', 'ns4.baidu.com' ], 'status': [ 'clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited', 'clientTransferProhibited https://icann.org/epp#clientTransferProhibited', 'clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited', 'serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited', 'serverTransferProhibited https://icann.org/epp#serverTransferProhibited', 'serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited', 'clientUpdateProhibited (https://www.icann.org/epp#clientUpdateProhibited)', 'clientTransferProhibited (https://www.icann.org/epp#clientTransferProhibited)', 'clientDeleteProhibited (https://www.icann.org/epp#clientDeleteProhibited)', 'serverUpdateProhibited (https://www.icann.org/epp#serverUpdateProhibited)', 'serverTransferProhibited (https://www.icann.org/epp#serverTransferProhibited)', 'serverDeleteProhibited (https://www.icann.org/epp#serverDeleteProhibited)' ], 'emails': [ 'abusecomplaints@markmonitor.com', 'whoisrequest@markmonitor.com' ], 'dnssec': 'unsigned', 'name': null, 'org': 'Beijing Baidu Netcom Science Technology Co., Ltd.', 'address': null, 'city': null, 'state': 'Beijing', 'zipcode': null, 'country': 'CN'}Process finished with exit code 0子域名挖掘:1、概述:

域名可以分為頂級域名,一級域名,二級域名等。

子域名(subdomain)是頂級域名(一級域名或父域名)的下一級。

在測試過程中,測試目標主站時如果未發現任何相關漏洞,此時通常會考慮挖掘目標系統的子域名。

子域名挖掘方法有多種,例如,搜索引擎,子域名破解,字典查詢等。

2、利用Python編寫一個簡單的子域名挖掘工具:

(以https://cn.bing.com/為例)

代碼:

# coding=gbkimport requestsfrom bs4 import BeautifulSoupfrom urllib.parse import urlparseimport 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/89.0.4389.90 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.9’,’Referer’: ’https://cn.bing.com/’,’Cookie’: ’MUID=37FA745F1005602C21A27BB3117A61A3; SRCHD=AF=NOFORM; SRCHUID=V=2&GUID=DA7BDD699AFB4AEB8C68A0B4741EFA74&dmnchg=1; MUIDB=37FA745F1005602C21A27BB3117A61A3; ULC=P=9FD9|1:1&H=9FD9|1:1&T=9FD9|1:1; PPLState=1; ANON=A=CEC39B849DEE39838493AF96FFFFFFFF&E=1943&W=1; NAP=V=1.9&E=18e9&C=B8-HXGvKTE_2lQJ0I3OvbJcIE8caEa9H4f3XNrd3z07nnV3pAxmVJQ&W=1; _tarLang=default=en; _TTSS_IN=hist=WyJ6aC1IYW5zIiwiYXV0by1kZXRlY3QiXQ==; _TTSS_OUT=hist=WyJlbiJd; ABDEF=V=13&ABDV=13&MRB=1618913572156&MRNB=0; KievRPSSecAuth=FABSARRaTOJILtFsMkpLVWSG6AN6C/svRwNmAAAEgAAACPyKw8I/CYhDEAFiUHPfZQSWnp%2BMm43NyhmcUtEqcGeHpvygEOz6CPQIUrTCcE3VESTgWkhXpYVdYAKRL5u5EH0y3%2BmSTi5KxbOq5zlLxOf61W19jGuTQGjb3TZhsv5Wb58a2I8NBTwIh/cFFvuyqDM11s7xnw/ZZoqc9tNuD8ZG9Hi29RgIeOdoSL/Kzz5Lwb/cfSW6GbawOVtMcToRJr20K0C0zGzLhxA7gYH9CxajTo7w5kRx2/b/QjalnzUh7lvZCNrF5naagj10xHhZyHItlNtjNe3yqqLyLZmgNrzT8o7QWfpJWHqAak4AFt3nY9R0NGLHM6UxPC8ph9hEaYbWtIsY7JNvVYFwbDk6o4oqu33kHeyqW/JTVhQACnpn2v74dZzvk4xRp%2BpcQIoRIzI%3D; _U=1ll1JNraa8gnrWOg3NTDw_PUniDnXYIikDzB-R_hVgutXRRVFcrnaPKxVBXA1w-dBZJsJJNfk6vGHSqJtUsLXvZswsd5A1xFvQ_V_nUInstIfDUs7q7FyY2DmvDRlfMIqbgdt-KEqazoz-r_TLWScg4_WDNFXRwg6Ga8k2cRyOTfGNkon7kVCJ7IoPDTAdqdP; WLID=kQRArdi2czxUqvURk62VUr88Lu/DLn6bFfcwTmB8EoKbi3UZYvhKiOCdmPbBTs0PQ3jO42l3O5qWZgTY4FNT8j837l8J9jp0NwVh2ytFKZ4=; _EDGE_S=SID=01830E382F4863360B291E1B2E6662C7; SRCHS=PC=ATMM; WLS=C=3d04cfe82d8de394&N=%e5%81%a5; SRCHUSR=DOB=20210319&T=1619277515000&TPC=1619267174000&POEX=W; SNRHOP=I=&TS=; _SS=PC=ATMM&SID=01830E382F4863360B291E1B2E6662C7&bIm=656; ipv6=hit=1619281118251&t=4; SRCHHPGUSR=SRCHLANGV2=zh-Hans&BRW=W&BRH=S&CW=1462&CH=320&DPR=1.25&UTC=480&DM=0&WTS=63754766339&HV=1619277524&BZA=0&TH=ThAb5&NEWWND=1&NRSLT=-1&LSL=0&SRCHLANG=&AS=1&NNT=1&HAP=0&VSRO=0’ } for i in range(1, int(pages)+1):url = 'https://cn.bing.com/search?q=site%3a' + site + '&go=Search&qs=ds&first=' + str((int(i)-1)*10) + '&FORM=PERE'html = requests.get(url, headers=headers)soup = BeautifulSoup(html.content, ’html.parser’)job_bt = soup.findAll(’h2’)for i in job_bt: link = i.a.get(’href’) domain = str(urlparse(link).scheme + '://' + urlparse(link).netloc) if domain in Subdomain:pass else:Subdomain.append(domain)print(domain)if __name__ == ’__main__’: if len(sys.argv) == 3:site = sys.argv[1]page = sys.argv[2] else:print('usge: %s baidu.com 10' % sys.argv[0])# 輸出幫助信息sys.exit(-1) Subdomain = Bing_Search(’www.baidu.com’, 15)

返回:

python中的被動信息搜集

郵件爬取:1、概述:

針對目標系統進行滲透的過程中,如果目標服務器安全性很高,通過服務器很難獲取目標權限時,通常會采用社工的方式對目標服務進行進一步攻擊。

針對搜索界面的相關郵件信息進行爬取、處理等操作之后。利用獲得的郵箱賬號批量發送釣魚郵件,誘騙、欺詐目標用戶或管理員進行賬號登錄或點擊執行,進而獲取目標系統的其權限。

該郵件采集工具所用到的相關庫函數如下:

import sysimport getoptimport requestsfrom bs4 import BeautifulSoupimport re2、過程:

①:在程序的起始部分,當執行過程中沒有發生異常時,則執行定義的start()函數。

通過sys.argv[ ] 實現外部指令的接收。其中,sys.argv[0] 代表代碼本身的文件路徑,sys.argv[1:] 表示從第一個命令行參數到輸入的最后一個命令行參數,存儲形式為list。

代碼如下:

if __name__ == ’__main__’: # 定義異常 try:start(sys.argv[1: ]) except:print('interrupted by user, killing all threads ... ')

②:編寫命令行參數處理功能。此處主要應用 getopt.getopt()函數處理命令行參數,該函數目前有短選項和長選項兩種格式。

短選項格式為“ - ”加上單個字母選項;

長選項格式為“ -- ”加上一個單詞選項。

opts為一個兩元組列表,每個元素形式為“(選項串,附加參數)”。當沒有附加參數時,則為空串。之后通過for語句循環輸出opts列表中的數值并賦值給自定義的變量。

代碼如下:

def start(argv): url = '' pages = '' if len(sys.argv) < 2:print('-h 幫助信息;n')sys.exit() # 定義異常處理 try:banner()opts, args = getopt.getopt(argv, '-u:-p:-h') except:print(’Error an argument’)sys.exit() for opt, arg in opts:if opt == '-u': url = argelif opt == '-p': pages = argelif opt == '-h': print(usage()) launcher(url, pages)

③:輸出幫助信息,增加代碼工具的可讀性和易用性。為了使輸出的信息更加美觀簡潔,可以通過轉義字符設置輸出字體顏色,從而實現所需效果。

開頭部分包含三個參數:顯示方式,前景色,背景色。這三個參數是可選的,可以只寫其中一個參數。結尾可以省略,但為了書寫規范,建議以 “033[0m” 結尾。

代碼如下:

print(’033[0:30;41m 3cH0 - Nu1L 033[0m’)print(’033[0:30;42m 3cH0 - Nu1L 033[0m’)print(’033[0:30;43m 3cH0 - Nu1L 033[0m’)print(’033[0:30;44m 3cH0 - Nu1L 033[0m’)# banner信息def banner(): print(’033[1:34m ################################ 033[0mn’) print(’033[1:34m 3cH0 - Nu1L 033[0mn’) print(’033[1:34m ################################ 033[0mn’)# 使用規則def usage(): print(’-h: --help 幫助;’) print(’-u: --url 域名;’) print(’-p --pages 頁數;’) print(’eg: python -u 'www.baidu.com' -p 100’ + ’n’) sys.exit()

④:確定搜索郵件的關鍵字,并調用bing_search()和baidu_search()兩個函數,返回Bing與百度兩大搜索引擎的查詢結果。由獲取到的結果進行列表合并,去重之后,循環輸出。

代碼如下:

# 漏洞回調函數def launcher(url, pages): email_num = [] key_words = [’email’, ’mail’, ’mailbox’, ’郵件’, ’郵箱’, ’postbox’] for page in range(1, int(pages)+1):for key_word in key_words: bing_emails = bing_search(url, page, key_word) baidu_emails = baidu_search(url, page, key_word) sum_emails = bing_emails + baidu_emails for email in sum_emails:if email in email_num: passelse: print(email) with open(’data.txt’, ’a+’)as f:f.write(email + ’n’) email_num.append(email)

⑤:用Bing搜索引擎進行郵件爬取。Bing引擎具有反爬防護,會通過限定referer、cookie等信息來確定是否網頁爬取操作。

可以通過指定referer與requeses.session()函數自動獲取cookie信息,繞過Bing搜索引擎的反爬防護。

代碼如下:

# Bing_searchdef bing_search(url, page, key_word): referer = 'http://cn.bing.com/search?q=email+site%3abaidu.com&sp=-1&pq=emailsite%3abaidu.com&first=1&FORM=PERE1' conn = requests.session() bing_url = 'http://cn.bing.com/search?q=' + key_word + '+site%3a' + url + '&qa=n&sp=-1&pq=' + key_word + 'site%3a' + url +'&first=' + str((page-1)*10) + '&FORM=PERE1' conn.get(’http://cn.bing.com’, headers=headers(referer)) r = conn.get(bing_url, stream=True, headers=headers(referer), timeout=8) emails = search_email(r.text) return emails

⑥:用百度搜索引擎進行郵件爬取。百度搜索引擎同樣設定了反爬防護,相對Bing來說,百度不僅對referer和cookie進行校驗,還同時在頁面中通過JavaScript語句進行動態請求鏈接,從而導致不能動態獲取頁面中的信息。

可以通過對鏈接的提取,在進行request請求,從而繞過反爬設置。

代碼如下:

# Baidu_searchdef baidu_search(url, page, key_word): email_list = [] emails = [] referer = 'https://www.baidu.com/s?wd=email+site%3Abaidu.com&pn=1' baidu_url = 'https://www.baidu.com/s?wd=' + key_word + '+site%3A' + url + '&pn=' + str((page-1)*10) conn = requests.session() conn.get(baidu_url, headers=headers(referer)) r = conn.get(baidu_url, headers=headers(referer)) soup = BeautifulSoup(r.text, ’lxml’) tagh3 = soup.find_all(’h3’) for h3 in tagh3:href = h3.find(’a’).get(’href’)try: r = requests.get(href, headers=headers(referer)) emails = search_email(r.text) except Exception as e: passfor email in emails: email_list.append(email) return email_list

⑦:通過正則表達式獲取郵箱號碼。此處也可以換成目標企業郵箱的正則表達式。

代碼如下:

# search_emaildef search_email(html): emails = re.findall(r'[a-z0-9.-+_]+@[a-z0-9.-+_]+.[a-z]' + html, re.I) return emails# headers(referer)def headers(referer): headers = {’User-Agent’:’Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36’,’Accept’: ’application/json, text/javascript, */*; q=0.01’,’Accept-Language’: ’zh-CN,zh;q=0.9,en;q=0.8’,’Accept-Encoding’: ’gzip, deflate, br’,’Referer’: referer } return headers3、完整代碼:

# coding=gbkimport sysimport getoptimport requestsfrom bs4 import BeautifulSoupimport re# 主函數,傳入用戶輸入的參數def start(argv): url = '' pages = '' if len(sys.argv) < 2:print('-h 幫助信息;n')sys.exit() # 定義異常處理 try:banner()opts, args = getopt.getopt(argv, '-u:-p:-h') except:print(’Error an argument’)sys.exit() for opt, arg in opts:if opt == '-u': url = argelif opt == '-p': pages = argelif opt == '-h': print(usage()) launcher(url, pages)# banner信息def banner(): print(’033[1:34m ################################ 033[0mn’) print(’033[1:34m 3cH0 - Nu1L 033[0mn’) print(’033[1:34m ################################ 033[0mn’)# 使用規則def usage(): print(’-h: --help 幫助;’) print(’-u: --url 域名;’) print(’-p --pages 頁數;’) print(’eg: python -u 'www.baidu.com' -p 100’ + ’n’) sys.exit()# 漏洞回調函數def launcher(url, pages): email_num = [] key_words = [’email’, ’mail’, ’mailbox’, ’郵件’, ’郵箱’, ’postbox’] for page in range(1, int(pages)+1):for key_word in key_words: bing_emails = bing_search(url, page, key_word) baidu_emails = baidu_search(url, page, key_word) sum_emails = bing_emails + baidu_emails for email in sum_emails:if email in email_num: passelse: print(email) with open(’data.txt’, ’a+’)as f:f.write(email + ’n’) email_num.append(email)# Bing_searchdef bing_search(url, page, key_word): referer = 'http://cn.bing.com/search?q=email+site%3abaidu.com&sp=-1&pq=emailsite%3abaidu.com&first=1&FORM=PERE1' conn = requests.session() bing_url = 'http://cn.bing.com/search?q=' + key_word + '+site%3a' + url + '&qa=n&sp=-1&pq=' + key_word + 'site%3a' + url +'&first=' + str((page-1)*10) + '&FORM=PERE1' conn.get(’http://cn.bing.com’, headers=headers(referer)) r = conn.get(bing_url, stream=True, headers=headers(referer), timeout=8) emails = search_email(r.text) return emails# Baidu_searchdef baidu_search(url, page, key_word): email_list = [] emails = [] referer = 'https://www.baidu.com/s?wd=email+site%3Abaidu.com&pn=1' baidu_url = 'https://www.baidu.com/s?wd=' + key_word + '+site%3A' + url + '&pn=' + str((page-1)*10) conn = requests.session() conn.get(baidu_url, headers=headers(referer)) r = conn.get(baidu_url, headers=headers(referer)) soup = BeautifulSoup(r.text, ’lxml’) tagh3 = soup.find_all(’h3’) for h3 in tagh3:href = h3.find(’a’).get(’href’)try: r = requests.get(href, headers=headers(referer)) emails = search_email(r.text)except Exception as e: passfor email in emails: email_list.append(email) return email_list# search_emaildef search_email(html): emails = re.findall(r'[a-z0-9.-+_]+@[a-z0-9.-+_]+.[a-z]' + html, re.I) return emails# headers(referer)def headers(referer): headers = {’User-Agent’:’Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36’,’Accept’: ’application/json, text/javascript, */*; q=0.01’,’Accept-Language’: ’zh-CN,zh;q=0.9,en;q=0.8’,’Accept-Encoding’: ’gzip, deflate, br’,’Referer’: referer } return headersif __name__ == ’__main__’: # 定義異常 try:start(sys.argv[1: ]) except:print('interrupted by user, killing all threads ... ')

以上就是python中的被動信息搜集的詳細內容,更多關于python 被動信息搜集的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 液压油缸-液压站生产厂家-洛阳泰诺液压科技有限公司 | 智能交通网_智能交通系统_ITS_交通监控_卫星导航_智能交通行业 | 铁素体测量仪/检测仪/铁素体含量测试仪-苏州圣光仪器有限公司 | 电缆隧道在线监测-智慧配电站房-升压站在线监测-江苏久创电气科技有限公司 | 盘装氧量分析仪-防爆壁挂氧化锆分析仪-安徽吉帆仪表有限公司 | 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | 实战IT培训机构_IT培训班选大学生IT技术培训中心_中公优就业 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 雨燕360体育免费直播_雨燕360免费NBA直播_NBA篮球高清直播无插件-雨燕360体育直播 | 镀锌方管,无缝方管,伸缩套管,方矩管_山东重鑫致胜金属制品有限公司 | 铝合金重力铸造_铝合金翻砂铸造_铝铸件厂家-东莞市铝得旺五金制品有限公司 | 软瓷_柔性面砖_软瓷砖_柔性石材_MCM软瓷厂家_湖北博悦佳软瓷 | 玄米影院| 污水提升器,污水提升泵,地下室排水,增压泵,雨水泵,智能供排水控制器-上海智流泵业有限公司 | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | 智能案卷柜_卷宗柜_钥匙柜_文件流转柜_装备柜_浙江福源智能科技有限公司 | 天津散热器_天津暖气片_天津安尼威尔散热器制造有限公司 | 二手光谱仪维修-德国OBLF光谱仪|进口斯派克光谱仪-热电ARL光谱仪-意大利GNR光谱仪-永晖检测 | 深圳VI设计-画册设计-LOGO设计-包装设计-品牌策划公司-[智睿画册设计公司] | 广州企亚 - 数码直喷、白墨印花、源头厂家、透气无手感方案服务商! | 紫外可见光分光度计-紫外分光度计-分光光度仪-屹谱仪器制造(上海)有限公司 | 手机存放柜,超市储物柜,电子储物柜,自动寄存柜,行李寄存柜,自动存包柜,条码存包柜-上海天琪实业有限公司 | 成都租车_成都租车公司_成都租车网_众行宝 | hc22_hc22价格_hc22哈氏合金—东锜特殊钢 | 在线浊度仪_悬浮物污泥浓度计_超声波泥位计_污泥界面仪_泥水界面仪-无锡蓝拓仪表科技有限公司 | 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | 蜗轮丝杆升降机-螺旋升降机-丝杠升降机厂家-润驰传动 | 酸度计_PH计_特斯拉计-西安云仪| 食安观察网| 常州企业采购平台_常州MRO采购公司_常州米孚机电设备有限公司 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | 建筑消防设施检测系统检测箱-电梯**检测仪器箱-北京宇成伟业科技有限责任公司 | 二手电脑回收_二手打印机回收_二手复印机回_硒鼓墨盒回收-广州益美二手电脑回收公司 | 道达尔润滑油-食品级润滑油-道达尔导热油-合成导热油,深圳道达尔代理商合-深圳浩方正大官网 | STRO|DTRO-STRO反渗透膜(科普)_碟滤 | 锂离子电池厂家-山东中信迪生电源 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 湖南印刷厂|长沙印刷公司|画册印刷|挂历印刷|台历印刷|杂志印刷-乐成印刷 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 福州时代广告制作装饰有限公司-福州广告公司广告牌制作,福州展厅文化墙广告设计, | 上海质量认证办理中心|