论坛: 原创软件 标题: 求助:关于SMB和NETBIOS 复制本贴地址    
作者: ricky [ricky]    版主   登录
那位手上有SMB的报文结构或者NETBIOS会话的帧结构的可以提供一下吗?我想做一个基于SMB的扫描器,而不是NETAPI的,这样可以在98下面使用。
如果那位在考SNIFFER认证的可能有这方面的资料

地主 发表时间: 08/12 16:09

回复: flashsky [flashsky]   论坛用户   登录
SMB有许多硬幻数,关于这方面的资料是非常的少的,我都只看见过大致说明的。你可以找一下samba的源代码看一看,他基本是按smb协议实现的,而且源代码公开,看懂他的源代码一切就在掌握中了。不过这方面的工具还是比较多了,也没什么新意哦。

关于认证那一块的结构我是通过抓包获得,下面是我的FXSA工具中识别SMB登录并对攻击进行认证的一段代码,提供给你看一下,对win2k,winnt适用
tcphlen = pkt_data[46]>>2;
hlen = 14+iphlen+tcphlen;
if(pkt_data[hlen+5]=='S' && pkt_data[hlen+6]=='M' && pkt_data[hlen+7]=='B')
if(pkt_data[hlen+8]=='s' && pkt_data[hlen+9]==0x16)
以上是判断是否是一个可能的SMB挑战
{
for(i=hlen+24;i<slen-4;i++)
{
if(pkt_data[i]==0x95)
if(pkt_data[i+1]==0x82)
if(pkt_data[i+2]==0x82 || pkt_data[i+2]==0x81 || pkt_data[i+2]==0x80)
循环在SMB数据中找对应的标记,如果有,则是SMB挑战,且下面开始的部分就是SMB挑战的内容
if(pkt_data[hlen+5]=='S' && pkt_data[hlen+6]=='M' && pkt_data[hlen+7]=='B')
if(pkt_data[hlen+8]=='s' && pkt_data[hlen+9]==0)
以上是判断是否是一个对SMB挑战进行的加秘应答
{
for(i=hlen+24;i<slen-4;i++)
{
if(pkt_data[i]==0x95)
if(pkt_data[i+1]==0x82)
if(pkt_data[i+2]==0x82 || pkt_data[i+2]==0x81 || pkt_data[i+2]==0x80)
if(pkt_data[i+3]==0xe0)
循环在SMB数据中找对应的标记,如果有,则是加密的SMB挑战,且下面开始的部分就是加密的SMB挑战的内容



[此贴被 闪空(flashsky) 在 8月12日17时14分 编辑过]

B1层 发表时间: 8/12 17:38

回复: ricky [ricky]   版主   登录
多谢,主要是为了98下的用户,看来我也得动用一下x-ray了,哈哈


[此贴被 老实和尚(ricky) 在 8月12日21时16分 编辑过]

B2层 发表时间: 8/12 21:1

回复: tabris17 [tabris17]   论坛用户   登录
小蓉好像写过这么一个东西

向他要smb协议的资料,他不会很小器吧?

B3层 发表时间: 08/14 15:22

回复: ricky [ricky]   版主   登录
你就麻烦你了,哈哈

B4层 发表时间: 08/14 22:35

论坛: 原创软件

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号