利用Browser協議可獲取機器IP、MAC、機器名、操作系統、域,如圖
瀏覽
工作組和域
Browser發包時間
去年無意發現browser協議中含有機器名、系統版本,發包時間隨機,有些2分鍾、5分鍾、甚至12分鍾等才發
幾分鍾甚至於10幾分鍾才有一條,其它數據包每分鍾幾百條,可能很多人長時間抓包,也未能發現關鍵信息
不單只是很長時間才發,而且也不一定每個包里面都含有機器名,或許這就是一直以來把Browser忽略的真相
如圖所示,出現13機器ID為6247數據包,出現15機器已達到2萬多,出現10機器已7萬多個包(這鬼才能發現)
所以為了能夠獲取到內網機器信息,我們需要不停的監視Browser包,從中提取有效機器名與系統版本
無視防火牆
雖然屬於SMB協議,但把文件和共享前的勾去掉依舊可獲取,該報文是由目標機器向外發送,所以445關閉也不影響
在目標開啟防火牆的情況下也可獲取,這與cping通過445端口或ICMP探測主機方式不一樣。
另外發現NBNS也含有機器名和域名,但無系統版本,如下圖
操作系統、域機器判斷
除了XP和WIN8.1特別一點以外,其它系統
0x00000002 Request XP名稱第3位開始 Win8.1也是 無法判斷系統版本
0x0000000c Domain 域內機器
其它 of o1 local
by K8哥哥 2018.11.26
利用代碼
暫時沒時間用其它語言編寫,先用python的scapy框架來實現,如果要編譯成可執行文件可能會很大,可能還要安裝相關依賴
# -*- coding: UTF-8 -*- #author: k8gege #https://github.com/k8gege/K8tools/blob/master/K8getPC.py #https://www.cnblogs.com/k8gege import sys import queue from scapy.all import * from pprint import pprint def search(data, key): #print "data: " + data i=data.find(key) if i > -1: masterType = "617574686F723A206B3867656765" masterType = data[i+len(key):i+len(key)+2] if masterType=="02": return data[i+len(key)+4:i+len(key)+34],masterType,data[i+len(key)+44:i+len(key)+48] return data[i+len(key)+12:i+len(key)+42],masterType,data[i+len(key)+44:i+len(key)+48] return "" def getver(data): if data=="0500": return "Win2000" elif data=="0501": return "WinXP" elif data=="0502": return "Win2003" elif data=="0600": return "Vista" elif data=="0601": return "Win7_2008" elif data=="0602": return "Win8_2012" elif data=="0603": return "Win8.1" elif data=="0a00": return "Win10_2016" return data def packet_callbacke(packet): #print(packet.show()) try: data=packet.load.encode('hex') osname,masterType,osver = search(data, "5c4d41494c534c4f545c42524f57534500") if (osname!=""): if masterType=="0c": print packet.getlayer(IP).src+"\t"+packet.src+"\t"+osname.decode('hex')+"\t[Domain]" else: print packet.getlayer(IP).src+"\t"+packet.src+"\t"+osname.decode('hex')+"\t["+getver(osver)+"]" except: pass print "IP\t\tMAC\t\t\tOSname\t\tOSver" try: sniff(iface = sys.argv[1],filter="", prn=packet_callbacke) except: pass
下載:
https://github.com/k8gege/K8tools/blob/master/K8getPC.py
https://github.com/k8gege/k8getPC
相關文章:
Cscan 獲取內網主機開放Web、Banner、標題信息
https://www.cnblogs.com/k8gege/p/10519321.html
Cping 獲取內網存活主機-MAC地址-主機名--操作系統--SMB漏洞