网络监听与扫描攻击

原理简介

Nmap 是一个免费开放的网络扫描和嗅探工具包,也叫网络映射器(Network Mapper)。
Nmap 工具可以用来扫描电脑上开放的端口,确定哪些服务运行在哪些端口,并且推断出计算机运行的操作系统。通过使用该工具,可以评估网络系统安全。所以,Nmap 是大部分用户所必要的工具之一。
Nmap 可以完成以下任务:主机探测、端口扫描、版本检测、系统检测。Nmap 使用 TCP/IP 协议栈指纹准确地判断目标主机的操作系统类型。首先,Nmap 通过对目标主机进行端口扫描,找出有哪些端口正在目标主机上监听。当侦测到目标主机上有多于一个开放的 TCP 端口、一个关闭的 TCP 端口和一个关闭的 UDP 端口时,Nmap 的探测能力是最好的。Nmap 对目标主机进行一系列测试。利用得出的测试结果建立相应目标主机的 Nmap 指纹。最后,将此 Nmap 指纹与指纹库中指纹进行查找匹配,从而得出目标主机的操作系统类型。
nmap 默认发送一个 ARP 的 PING 数据包,来探测目标主机 1-10000 范围内所开放的所有端口。
Nmap 基本命令参数(几个比较常用的参数):

  • nmap –iflist : 查看本地主机的接口信息和路由信息
  • A :选项用于使用进攻性方式扫描
  • T4: 指定扫描过程使用的时序,总有 6 个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或 IDS 检测并屏蔽掉,在网络通讯状况较好的情况下推荐使用 T4
  • -sn : 只进行主机发现,不进行端口扫描
  • -O : 指定 Nmap 进行系统版本扫描
  • -sV: 指定让 Nmap 进行服务版本扫描
  • -p : 扫描指定的端口
  • -sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans 的方式来对目标主机进行扫描
  • -sU: 指定使用 UDP 扫描方式确定目标主机的 UDP 端口状况
  • -script

TCP 连接扫描:
TCP connect 方式使用系统网络 API connect 向目标主机的端口发起连接,如果无法连接,说明该端口关闭。该方式扫描速度比较慢,而且由于建立完整的 TCP 连接会在目标主机上留下记录信息,不够隐蔽。所以,TCP connect 是 TCP SYN 无法使用才考虑使用的方式
SYN 扫描:
SYN 扫描作为默认的也是最受欢迎的扫描选项,是有充分理由的。 它执行得很快,在一个没有入侵防火墙的快速网络上,每秒钟可以扫描数千个 端口。 SYN 扫描相对来说不张扬,不易被注意到,因为它从来不完成 TCP 连接。 它也不像 Fin/Null/Xmas,Maimon 和 Idle 扫描依赖于特定平台,而可以应对任何兼容的 TCP 协议栈。 它还可以明确可靠地区分 open, closed,和 filtered状态,它常常被称为半开放扫描, 因为它不打开一个完全的 TCP 连接。它发送一个 SYN 报文, 就像您真的要打开一个连接,然后等待响应。 SYN/ACK 表示端口在监听,而 RST表示没有监听者。如果数次重发后仍没响应, 该端口就被标记为被过滤。如果收到 ICMP 不可到达错误,该端口也被标记为被过滤。
UDP 扫描:
UDP 扫描用于判断 UDP 端口的情况,向目标主机的 UDP 端口发送探测包,如果收到回复 ICMP port
unreachable 就说明该端口是关闭的;如果没有收到回复,那说明该 UDP 端口可能是开放的或者屏蔽的。因此,通过反向排除法的方式来判断哪些 UDP 端口是可能处于开放状态的。
Wireshark 是目前使用最为广泛的开源抓包软件,Wireshark 的核心功能是捕捉网络数据包,并尽可能地显示出数据包中的详细信息,底层需要 Winpcap 的支持。其基本工作原理是:当计算机上的网卡收到数据帧时,会查看数据帧的目的 MAC 和本网卡的 MAC 地址是否相同。如果不同就丢弃帧,如果相同就接收帧并交给上一层处理。对于广播帧或者组播帧,网卡也会接收下来,但在正常情况下,这些帧会被丢弃。当计算机上启动 Wireshark 后,网卡会被置为混杂模式,这时只要数据帧能达到网卡,不论帧的目的 MAC 和本网卡的 MAC 地址是否相同,网卡将全部接收并交给 Wireshark 处理。

在Windows或Linux(如Kali 2)上配置Telnet、FTP服务器

在 FTP 服务器上创建一个以自己姓名拼音为账户名的账户,设置密码,同时将用户下次登录时需修改密码复选框去掉,步骤右键单击【我的电脑】—【管理】 —【用户与组】—【用户】,空白处选择右键,选择【新用户】
网络监听与扫描攻击
网络监听与扫描攻击
网络监听与扫描攻击
在 C 盘创建文件夹 FTPServer。 然后创建 localuser 文件夹,在 localuser 文件夹下创建以刚才创建的用户名为文件名的文件夹,即twl,在该文件夹下放置若干文件。
网络监听与扫描攻击
安装 FTP 服务,开始–设置–控制面板–添加或删除程序–添加/删除 windows 组件,双击应用程序服务器–internet 信息服务–文件传输协议 ftp 服务.
网络监听与扫描攻击
确认完已经安装 FTP 服务后,对 FTP 站点进行设置,开始–管理工具–internet 信息服务管理器.
网络监听与扫描攻击
输入IP地址为192.168.30.138,tcp端口为21
网络监听与扫描攻击
单击【下一步】,选择用户隔离方法,选择【隔离用户】单选按钮,
网络监听与扫描攻击
单击【下一步】,配置 FTP 服务器主目录为刚才创建的文件夹路径
网络监听与扫描攻击
单击【下一步】,配置 FTP 站点访问权限为读取
网络监听与扫描攻击
给新添加的用户设置权限:打开 FTP 站点–右键权限
网络监听与扫描攻击
重启 FTP 站点,并通过 kali 进行访问测试,ftp://192.168.30.138:21,只能访问public文件夹下的文件,ftp:twl:[email protected]:21,可以访问twl文件夹下的文件
网络监听与扫描攻击
网络监听与扫描攻击
配置telnet服务器:我的电脑–右键–管理–服务和应用程序,找到telnet,双击打开属性,打开telnet服务。
网络监听与扫描攻击
在计算机管理中打开本地用户和组–组--telnetclients,双击打开属性,在telnetclients中添加用户。
网络监听与扫描攻击
网络监听与扫描攻击
kali访问测试,telnet 192.168.30.138,输入用户名和密码,成功访问。
网络监听与扫描攻击

使用Wireshark捕获Telnet、FTP用户名和密码等敏感信息

开启wireshark,同时使用telnet远程访问win2003进行抓包,按protocol进行排序,可看到捕获到了telnet数据包。
网络监听与扫描攻击
在分析中,打开追踪tcp流,可以看到捕获的用户名和密码,用户名:twl,密码:root。
网络监听与扫描攻击
点开单个telnet数据包进行分析,第一个包显示“t”,即用户名的第一个字母,可以看出一次只抓取一个字母,然后向下对照,遇见“/r”或“/n”的时候即为换行和回车,继续向下查看数据包就可以看到密码了。
网络监听与扫描攻击
网络监听与扫描攻击
网络监听与扫描攻击
网络监听与扫描攻击
网络监听与扫描攻击
网络监听与扫描攻击
网络监听与扫描攻击
在kali访问链接ftp://twl:[email protected],同时开启Wireshark数据包抓取,在数据包可以看到用户名和密码。
网络监听与扫描攻击
查看追踪tcp流也可以发现,捕获的账户名为twl,密码为root。
网络监听与扫描攻击

使用Nmap对1中服务器平台进行TCP连接扫描、SYN扫描、UDP扫描、Xmas扫描及Null等扫描,并对扫描报告进行解释;

tcp连接扫描
命令:nmap -sT -T4 -A -v 192.168.30.138
扫描结果可以看出,在192.168.30.138主机进行dns解析并扫描端口
开放tcp端口:135、1025、445、139、21、23、1026
网络监听与扫描攻击
SYN扫描
命令:nmap -sS 192.1.9.128
扫描结果可以看出,192.168.30.138主机开放的端口以及服务
包括:21端口ftp服务、23端口telnet服务、135端口msrpc、139端口netbios-ssn、445端口mocrosoft-ds、1025端口NFS-or-IIS、1026端口LSA-or-nterm。
网络监听与扫描攻击
UDP扫描
nmap -sU 192.168.30.138
扫描结果可以看出192.168.30.138主机开放的UDP端口及服务。
123端口ntp服务、137端口netbios-ns、138端口netbois-dgm、455端口microcoft-ds、500端口isakmp、1027端口、1032端口iad3、3456端口IISrpc-or-vat、4500端口nat-t-ike。
网络监听与扫描攻击
Xmas 扫描
命令:Nmap -sX 192.1.30.138,扫描到192.168.30.138的mac地址:00:0C:29:71:1B:0A。
网络监听与扫描攻击
NULL 扫描
命令:nmap -sN 192.168.30.138,扫描到192.168.30.138的mac地址:00:0C:29:71:1B:0A。
网络监听与扫描攻击

Nessus或OpenVAS对1中服务器平台进行扫描攻击,并根据结果报告,查阅资料解释存在的漏洞、危害及可能的利用方式。

安装openvas并启动
命令:Apt-get update (更新)
Apt-get upgade
Apt-get dist-upgrade
apt-get install openvas (安装 openvas)
openvas-setup
Openvas-stop (关闭 openvas)
Openvas-start (开启 openvas)
网络监听与扫描攻击
在浏览器输入:https://127.0.0.1:9392/,并进行登录。
网络监听与扫描攻击
(3)点击Scans下的targets,Task Winzard模式只需添加ip地址或域名即可新建扫描任务。win2003的IP地址为192.168.30.138.
网络监听与扫描攻击
新建任务之后默认会开启任务扫描。
网络监听与扫描攻击
查看详细信息
网络监听与扫描攻击
扫描报告部分分析
①Windows SMB服务器NTLM多重漏洞(971468)
在处理SMB请求时存在输入验证错误,并且可以通过特殊制作的SMB包被利用以导致缓冲区溢出。
在SMB实现中解析SMB数据包时出现错误通过一个特制的SMB包导致内存损坏的协商阶段。
SMB在验证“共享”时存在空指针解引用错误和’servername’字段在SMB包导致拒绝服务。
在SMB NTLM身份验证期间,可以绕过身份验证机制。
网络监听与扫描攻击
CVE-2010-0020: SMB实现在服务器服务在Microsoft Windows 2000 SP4, Windows XP SP2和SP3, Windows Server 2003 SP2, Windows Vista黄金,SP1, SP2, Windows Server 2008黄金,SP2, R2,和Windows 7字段不正确验证请求,远程经过身份验证的用户可以执行任意代码通过一个畸形的请求,又名“SMB路径名溢出漏洞。”

CVE-2010-0021: SMB中的多个竞争条件实现在服务器服务在微软Windows Vista黄金,SP1, SP2, Windows Server 2008黄金,SP2, R2,和Windows 7允许远程攻击者造成拒绝服务(系统挂)通过精心设计(1)或(2)SMBv2 SMBv1包谈判,又名“SMB内存腐败漏洞。”

CVE-2010-0022:SMB实现在服务器服务在Microsoft Windows 2000 SP4, Windows XP SP2和SP3, Windows Server 2003 SP2, Windows Vista黄金,SP1, SP2, Windows Server 2008黄金,SP2, R2,和Windows 7不正确验证共享和servername领域SMB包,它允许远程攻击者造成拒绝服务(系统挂)通过一个精心包,又名“SMB空指针的弱点。”

CVE-2010-0231:SMB实现在服务器服务在Microsoft Windows 2000 SP4, Windows XP SP2和SP3, Windows Server 2003 SP2, Windows Vista黄金,SP1, SP2, Windows Server 2008黄金,SP2, R2,和Windows 7不使用足够源的熵,它允许远程攻击者获得访问文件和其他SMB资源通过大量的身份验证请求,与注册服务器生成的挑战,某些重复的值,和欺骗的身份验证令牌,又名“SMB NTLM认证缺乏熵漏洞”。
网络监听与扫描攻击
②匿名FTP登录报告
报告远程FTP服务器是否允许匿名登录,可以通过以下匿名帐户登录到远程FTP服务:
[email protected]
ftp: [email protected]
基于此匿名FTP登录可访问的文件和权限
这个帐户的攻击者可能能够:获取敏感文件、上传或删除文件。
网络监听与扫描攻击