利用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+" "+packet.src+" "+osname.decode('hex')+" [Domain]" else: print packet.getlayer(IP).src+" "+packet.src+" "+osname.decode('hex')+" ["+getver(osver)+"]" except: pass print "IP MAC OSname OSver" 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漏洞