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. hbase-数据恢复流程

    引用<https://blog.csdn.net/nigeaoaojiao/article/details/54909921> hlog介绍: hlog构建: 从图中可以看出,对于一个hl ...

  2. How to use BMW 35080 adapter with Yanhua Mini ACDP

    I have a question about Yanhua Mini ACDP + module 4 BMW 35080 read and write: Can the 35080 adapter ...

  3. 【aardio】回车换行符

    回车换行符 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符.但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字 ...

  4. spark2.0源码学习

    [Spark2.0源码学习]-1.概述 [Spark2.0源码学习]-2.一切从脚本说起 [Spark2.0源码学习]-3.Endpoint模型介绍 [Spark2.0源码学习]-4.Master启动 ...

  5. expdp/impdp数据泵用法

    --创建目录映射别名 create directory JHRA as 'C:\DataBaseBak\hra_dev\JHRA' --导出数据 expdp JHRA/JHRA@hra_dev dir ...

  6. Spring-MVC运行原理

    一. Spring-MVC的对象初始化,即 bean放入context的beanFactory中. 1. 对象的初始化工作主要在org.springframework.web.servlet.Fram ...

  7. idea快捷键(后续更新)

    自动补全当前行的标点符号 ctrl + shirt + 回车 跳到下一行 shirt +回车 复制一行 crtl + d 删除一行 ctrl + y 提示报错 alt + 回车 查看当前可以产什么参数 ...

  8. 运用PIL库 用来美白,磨皮,瘦脸等操作!

    1.安装pillow库: 在cmd下,输入简单的命令: pip install pillow  即可安装pillow库. 2.PIL库的简介: 1. PIL库主要有2个方面的功能: (1) 图像归档: ...

  9. Django forms表单 select下拉框的传值

    今儿继续做项目,学习了Django的forms生成前端的代码. forms.py class SignupForm(forms.Form): username = forms.CharField(va ...

  10. 通过sqoop将hdfs数据导入MySQL

    简介:Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracl ...