SMB(Server Message Block)协议,服务消息块协议。

最开始是用于微软的一种消息传输协议,因为颇受欢迎,现在已经成为跨平台的一种消息传输协议。

同时也是微软历史上出现安全问题最多的协议。

它的实现复杂,并且默认在所有windows上开放。

SMB常用的端口有两个139和445,较新的操作系统会使用445端口。

利用Nmap来扫描:

扫描某一网段上开启139或者445端口的IP

得到结果:我开启的Metasploitable机器:

不过,这里开放139和445端口的并不是windows系统,而是Linux

所以我们不可以根据是否开放139和445判断操作系统

Namp中可以有针对地扫描:专门扫描和SMB相关的信息(使用脚本)

或者更直接一些,扫描是否存在SMB漏洞:

本来要使用smb-check-vulns.nse脚本,但发现出错

这是由于从NMAP 6.49beta6开始,smb-check-vulns.nse脚本被取消了,可以这样来取代:

Nmap确实功能齐全又强大,不过这里还有其他针对SMB的扫描工具:未必不如Nmap

Nbtscan:

Nbtscan还有一个强大的地方:可以跨网段扫描Mac地址

还有一个工具:enum4linux

注意:这是扫描结果最详细的工具

比如可以扫描出是否可以建立空连接:

SMTP

SMTP扫描最主要的作用是发现目标主机上的邮件账号。

通过主动对目标的SMTP(邮件服务器)发动扫描。

我们如果能过得到邮箱相关信息,就可以进行社会工程学

我们首先可以使用nc去尝试连接目标邮件服务器,然后使用VRFYroot命令探测目标是否有root账号

利用Nmap扫描用户账号:

此外我们除了扫描smtp的用户账号之外,还可以扫描smtp是否开放中继,就可以使用邮件服务器中的账号对任意账号发送邮件。

Kali学习笔记14:SMB扫描、SMTP扫描的更多相关文章

  1. Ext.Net学习笔记14:Ext.Net GridPanel Grouping用法

    Ext.Net学习笔记14:Ext.Net GridPanel Grouping用法 Ext.Net GridPanel可以进行Group操作,例如: 如何启用Grouping功能呢?只需要在Grid ...

  2. SQL反模式学习笔记14 关于Null值的使用

    目标:辨别并使用Null值 反模式:将Null值作为普通的值,反之亦然 1.在表达式中使用Null: Null值与空字符串是不一样的,Null值参与任何的加.减.乘.除等其他运算,结果都是Null: ...

  3. golang学习笔记14 golang substring 截取字符串

    golang学习笔记14 golang substring 截取字符串golang 没有java那样的substring函数,但支持直接根据 index 截取字符串mystr := "hel ...

  4. mybatis学习笔记(14)-查询缓存之中的一个级缓存

    mybatis学习笔记(14)-查询缓存之中的一个级缓存 标签: mybatis mybatis学习笔记14-查询缓存之中的一个级缓存 查询缓存 一级缓存 一级缓存工作原理 一级缓存測试 一级缓存应用 ...

  5. Python3+Selenium3+webdriver学习笔记14(等待判断 鼠标事件 )

    !/usr/bin/env python -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记14(等待判断 鼠标事件 )'''from selenium im ...

  6. 并发编程学习笔记(14)----ThreadPoolExecutor(线程池)的使用及原理

    1. 概述 1.1 什么是线程池 与jdbc连接池类似,在创建线程池或销毁线程时,会消耗大量的系统资源,因此在java中提出了线程池的概念,预先创建好固定数量的线程,当有任务需要线程去执行时,不用再去 ...

  7. 【转】 C#学习笔记14——Trace、Debug和TraceSource的使用以及日志设计

    [转] C#学习笔记14——Trace.Debug和TraceSource的使用以及日志设计 Trace.Debug和TraceSource的使用以及日志设计   .NET Framework 命名空 ...

  8. [C++学习笔记14]动态创建对象(定义静态方法实现在map查找具体类名对应的创建函数,并返回函数指针,map真是一个万能类)good

    [C++学习笔记14]动态创建对象   C#/Java中的反射机制 动态获取类型信息(方法与属性) 动态创建对象 动态调用对象的方法 动态操作对象的属性 前提:需要给每个类添加元数据 动态创建对象 实 ...

  9. Kali学习笔记11:僵尸扫描案例

    什么是僵尸扫描?本质也是端口扫描,不过是一种极其隐蔽的扫描方式 所以几乎不会被发现,不过也有着很大缺陷:扫描条件很高 首先需要有一台僵尸机,这里我找好一台win10僵尸机器,IP地址为:10.14.4 ...

随机推荐

  1. 一个不错的多叉树, stl风格

    tree<std::string> tr9; tree<std::string>::pre_order_iterator iter1; tr9.set_head("h ...

  2. 将字符串向hdfs中写入,出现中文乱码!

    jsonObject.toString():需要处理的json对象转成的字符串 "/testData/ExtractKWByOnce.txt":写入hdfs中的目标路径 try { ...

  3. Java Swing实现展示数据,以及过滤排序

    public class RelationCostctrTable extends DefaultTableModel { public RelationCostctrTable(Vector< ...

  4. Numpy安装

    Python官网上的发行版是不包含Numpy模块的. 1.使用已有的发起行版本 对于许多用户,尤其是在Windows上,最简单的方法就是下载以下的Python发行版,他们包涵了所有的关键包(包括Num ...

  5. MongoDB学习记录(三) - MongoDB的"增查改删"操作之"查"

    查找使用的方法: db.collection.find() 查找所有文档 db.collection.find({})或者db.collection.find({}) 指定键值对 db.collect ...

  6. Ubuntu16.04 安装Tensorflow1.7过程记录二:安装CUDA及Tensorflow

    参考 How to install Tensorflow 1.7.0 using official pip package 其中的CUDNN应该改为7.05for CUDA9.0 后面安装的spyde ...

  7. Struts2内建拦截器

    params拦截器 负责将请求参数设置为Action属性 staticParams拦截器 将配置文件中action元素的子元素param参数设置为Action属性 servletConfig拦截器 将 ...

  8. mybatis递归查询

    <!--mybatis递归查询--><resultMap id="recursionMenuMap" type="AgentMenu" ext ...

  9. 85、int 、NSInteger、NSUInteger、NSNumber的区别和联系

    NSNumber是NSValue的一个子类,它是一个对象来存储数字值包括bool型,它提供了一系列的方法来存储char a signed or unsigned char, short int, in ...

  10. 十分钟带你读懂《增长黑客》zz

    背景 “If you are not growing, then you are dying. ”(如果企业不在增长,那么就是在衰亡!) 这句话适用于企业,也适用于个人.人生毕竟不像企业,是非成败,似 ...