首页 > 其他分享 >smbmap报[*] Detected 0 hosts serving SMB

smbmap报[*] Detected 0 hosts serving SMB

时间:2024-08-10 19:06:09浏览次数:7  
标签:serving SCAN scan args host hosts timeout smbmap PORT

执行smbmap

smbmap -H {target_ip}

显示

[*] Detected 0 hosts serving SMB
[*] Closed 0 connections

vps连目标机时正常,vps距离目标时延较低

抓包显示本机直接syn,  syn+ack, 第三个包直接rst

怀疑是timeout设置问题

查看帮助man smbmap

发现可以设置--timeout, 默认0.5s

于是设置为10,发现还是老样子

smbmap -H {target_ip} --timeout 10

于是查看smbmap.py关于timeout的代码,如下:

    if args.scan_timeout:
        if args.scan_timeout > 0 and args.scan_timeout < 10:
            PORT_SCAN_TIMEOUT = args.scan_timeout

执行连接时的代码如下:

def find_open_ports(address):
    result = 1
    address = address.strip()
    try:
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.settimeout(PORT_SCAN_TIMEOUT)
        result = sock.connect_ex((address, 445))
        if result == 0:
            sock.close()
            return address
        else:
            return False
    except Exception as e:
        return False

 

终于发现问题了

PORT_SCAN_TIMEOUT默认值0.5

问题一,PORT_SCAN_TIMEOUT在设置该值的函数中没有声明global,导致该设置是无效的,find_open_ports在调用PORT_SCAN_TIMEOUT恒为0.5

问题二,scan_timeout只接受0 ~ 10之间的值,超出这个范围就是0.5,但是帮助里没给提示

上面问题,导致时延大于500MS的环境,就会扫描失败,看提示还看不出来,设置timeout也不管用

 

解决方法:

在设置PORT_SCAN_TIMEOUT的代码前加global,并且--timeout只能用0~10之间的数

    global PORT_SCAN_TIMEOUT
    if args.scan_timeout:
        if args.scan_timeout > 0 and args.scan_timeout < 10:
            PORT_SCAN_TIMEOUT = args.scan_timeout

  

还有个问题,Authenticating认证时如果因为超时报Connection error on {target_ip}

是因为认证连接时的代码也有设置timeout,这个timeout默认3秒,执行脚本时不提供修改该值的参数,只能直接修改代码

def login(host):
    smbconn = None
    try:
        if host['port'] == 445:
            smbconn = SMBConnection(host['ip'], host['ip'], sess_port=host['port'], timeout=3)
        else:
            smbconn = SMBConnection('*SMBSERVER', host['host'], sess_port=host['port'], timeout=3)

直接改为timeout=10即可

 

标签:serving,SCAN,scan,args,host,hosts,timeout,smbmap,PORT
From: https://www.cnblogs.com/guxh/p/18352673

相关文章

  • Tensorflow Serving部署及客户端访问编程实践
    昨天我们实现了Tensorflow.js的花卉识别程序,它的优点是不需要服务器支持,在客户端就可以完成花卉识别,使用非常方便,但也存在一些缺点。对于很多深度学习的应用来说,由于其训练模型复杂、计算量大,所以,一般来说,仍然需要服务器支持。下面仍然以花卉识别为例,介绍如何部署Tensorflow......
  • New-SmbMapping命令在PowerShell中用于创建新的SMB映射,其主要参数如下:
    New-SmbMapping命令在PowerShell中用于创建新的SMB映射,其主要参数如下:RemotePath:指定远程共享的路径。可以是网络共享的UNC路径,如\\server\share。LocalPath:指定本地计算机上的映射路径,通常是一个驱动器号或者文件夹路径。例如,Z:或C:\Share。Credential:用于连接远程共......
  • dns缓存与/etc/hosts
    **DNS缓存**和**`/etc/hosts`文件**都是用于域名解析的机制,但它们各自的作用和工作原理有所不同。它们在系统中协同工作,以确保域名解析的效率和准确性。以下是它们之间的关系和区别:###DNS缓存**作用**:-DNS缓存用于缓存DNS查询的结果,以提高域名解析速度并减少对DNS服务器的频......
  • /etc/hosts与域名解析
    `/etc/hosts`是一个计算机文件,用于在Unix和类Unix操作系统(比如Linux、macOS等)中映射主机名和IP地址。它允许将特定的主机名映射到指定的IP地址,从而绕过DNS解析过程,实现本地对特定主机名的自定义解析。通常情况下,`/etc/hosts`文件包含了一些基本的条目示例,如:```127.0.0.1loc......
  • Win11 如何更改管理员权限,修改hosts内容
    一、找到hosts文件所在位置C:\Windows\System32\drivers\etc\hosts二、右键点击hosts,选择属性三、点击第二个安全,进入编辑界面四、点击添加,在最后一个窗口输入Everyone,单击确定五、出来之后第一个第一个页面相比之前多了Everyone,点击Everyone,在第二个窗口中的写入选项......
  • vLLM: Easy, Fast, and Cheap LLM Serving with PagedAttention
    vLLM:Easy,Fast,andCheapLLMServingwithPagedAttentionhttps://blog.vllm.ai/2023/06/20/vllm.htmlLLMspromisetofundamentallychangehowweuseAIacrossallindustries.However,actuallyservingthesemodelsischallengingandcanbesurprisingly......
  • 模型部署 之 TensorFlow Serving
    TensorFlowServing是一个开源的机器学习模型服务系统,由Google开发并贡献给开源社区。它主要用于部署和管理TensorFlow训练的模型,提供高性能、可扩展的推理服务。TensorFlowServing的主要功能和特点包括:多版本模型管理:支持同时部署和管理多个版本的TensorFlow模型,并提供......
  • 解决Github访问速度慢的问题(修改 HOSTS 文件)
    1.查询http://github.com的ip地址链接:http://github.global.ssl.fastly.net.ipaddress.com/#ipinfoIP:140.82.113.32.查询https://github.global.ssl.fastly.net的IP地址链接:https://github.com.ipaddress.com/#ipinfoIP:151.101.1.1943.修改本地hosts文件映......
  • 子比主题最新7.8版本改hosts绕过授权方法 附主题文件
    简介子比主题是可玩性很高的一款主题,也是本站同款主题。子比主题7.8授权验证算法与7.7一样,使用7.7授权文件的朋友可直接更新。使用方法搭建一个站点,绑定api.zibll.com域名,并开启SSL(随便找个域名的证书就行)上传以上源码,并配置好伪静态最后在/etc/hosts里面加一行127.0......
  • 修改本地hosts文件
    1.1介绍Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系......