网络安全技术实验一 信息收集和漏洞扫描

一、实验目的和要求

        了解信息搜集和漏洞扫描的一般步骤,利用Nmap等工具进行信息搜集并进行综合分析;掌握TCP全连接扫描、TCP SYN扫描的原理,利用Scapy编写网络应用程序,开发端口扫描功能模块;使用漏洞扫描工具发现漏洞并进行渗透测试。

二、实验步骤

1.主机探测

主机A开启命令行,对B进行ping探测,根据B的回复,可以确定主机A和B的连通情况,还可以根据回复数据包的TTL值对操作系统进行猜测。

1.1 B关闭防火墙。

回复数据包的TTL值:   128     ,B运行的操作系统可能为: Windows NT/2000/XP系统      

1.2 B开启防火墙。

Ping测试显示目标主机无响应,且所有的数据包都丢失了。这表明目标主机不可达,可能是由于目标主机开启了防火墙。

1.3 arping

       arping是一个在LAN中使用ARP地址解析协议发现目标主机的工具。arping工具测试特定IP地址在网络中是否在线。该命令只能在本地局域网内运行,无法跨越路由器和网关,常用的选项为arping -c。Wireshark抓包分析该工具的工作原理(有截图及分析)。

基于ARP协议,使用arping -c 1 192.168.113.134命令向目标主机发送一个arp包命令后停止退出,wireshark抓到两个arp包,第一个是本机发出的request广播包,询问网络中IP地址为192.168.113.134的MAC地址是多少

然后接收到目标IP的reply回复包,回复了它的MAC地址,后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间。

分析并回答:在同一子网中判断目标主机存活性,ping和arping谁更具优势?

答:arping更具有优势。由于ARP主机发现的原理,A只要发送了ARP请求,在线的主机B就会做出应答,而A的ARP缓存里就会有B的IP和MAC地址,这样就获得了B的IP,无所谓B主机是否关闭了防火墙。而对于PING命令,由于发送的是ICMP报文,如果B主机的防火墙处于活跃状态,则会拦截该报文,A接收不到B主机的回复,那么ping命令就无法探测出主机B是否处于存活状态。

2.Nmap扫描

2.1对活动主机进行端口扫描

主机A使用Nmap工具对主机B进行TCP端口同步扫描(范围80-90):

Nmap命令   nmap -sS -p 80-90 192.168.113.134     

需将目标主机的防火墙关闭再扫描,否则扫描的所有端口会被过滤掉。

关闭防火墙后,扫描到的80-90的端口都是关闭状态。

wireshark抓包过滤TCP,利用TCP协议中的三次握手过程,本机向目标主机发送TCP SYN包,收到了目标主机回复的TCP RST包,识别端口为关闭状态。

对主机B进行UDP端口扫描(范围是130-140):

Nmap命令  nmap -sU -p 130-140 192.168.113.134    

当一个数据包被发送到一个开放的UDP端口时,应该没有响应。发生这种情况时,Nmap 将端口称为open|filtered。也就是它怀疑端口是开放的,但它可能被防火墙过滤了。如果它得到一个UDP响应(这是非常不寻常的),那么该端口被标记为open。更常见的是没有响应,在这种情况下,请求会再次发送以进行双重检查。如果仍然没有响应,则将该端口标记为open|filtered。

当一个数据包被发送到一个关闭的UDP端口时,目标应该用一个 ICMP (ping) 数据包来响应,其中包含一个端口不可达的消息。例如这里的131端口,目标主机就回复了一个ICMP端口不可达报文。

2.2对活动主机操作系统进行探测

主机A对主机B进行TCP/IP指纹特征扫描:

Nmap命令  nmap -sT -O 192.168.113.134     ;

扫描到目标操作系统是Microsoft Windows 7|2008|8.1

首先本机选择一个open的端口和一个closed的端口,向其发送TCP/UDP/ICMP数据包,根据返回的数据包生成一份系统指纹。将探测生成的指纹与nmap-os-db中指纹进行对比,查找匹配的系统。如果无法匹配,以概率形式列举出可能的系统。

2.3对活动主机运行服务进行探测

Nmap命令   nmap -sV 192.168.113.134 

Nmap只能对Open和Open|Filtered状态的端口进行判断。对应TCP端口,尝试建立TCP连接,在等待时间内,会接收到目标机发送的Welcome Banner信息,nmap将接收到的Banner与nmap-services-probes中NULL probe中的签名进行对比,查找对应应用程序的名字与版本信息。

2.4主机A使用Nmap命令对主机B进行IP协议探测

Nmap命令   nmap -sO 192.168.113.134   

不是通过发送常规的TCP或UDP数据包,而是通过发送只包含协议头部的数据包来实现探测目标主机支持哪些IP协议。如果目标主机响应了这些数据包,那么就表示它支持相应的协议。

3.Scapy项目

3.1 初识Scapy

send、sendp、sr、sr1 发送数据包函数使用

send函数工作在第三层,只发送数据包。

如:send(IP(dst="192.168.113.134")/ICMP())   '/' 表示加上一层

生成一个IP包,并加上一层ICMP然后给地址192.168.113.134发送。

Wireshark捕获报文,截图显示以上操作相关报文

sendp函数工作在第二层,只发送数据包。

如:sendp(Ether()/IP(dst="192.168.64.133"),iface="eth0")

Wireshark捕获报文,截图显示以上操作相关报文。

sr()函数用来发送数据包和接收响应。

如:sr(IP(dst="192.168.64.133")/ICMP())

Wireshark捕获报文,截图显示以上操作相关报文。

3.2 构造数据包来实现TCP SYN端口扫描

Wireshark捕获报文,截图显示以上操作相关报文。

3.3模拟三次握手实现TCP连接(以下为目标192.168.113.134:445 为例)

from scapy.all import *h1=IP(dst="192.168.113.134")/TCP(dport=445)注意用自己的IP,及注意445端口是否开放rsp=sr1(h1)h3=IP(dst="192.168.113.134")/TCP(dport=445,flags="A",seq=rsp.ack,ack=rsp.seq+1)rsp2=sr1(h3)

备注(kali关闭内核发送RST):iptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP

截图显示与目标主机TCP连接建立情况。

本机向目标IP的445端口发送一个TCP SYN报文请求建立连接,其中Seq=0

目标主机向本机回复SYN ACK报文,其中Seq=0,Ack=1。由于时间内没有收到本机的回复确认包,故重传了两次SYN ACK报文。

本机回复 ACK确认包,Ack=1,三次握手建立连接成功。

3.4 基于scapy实现端口扫描功能模块(TCP SYN扫描)

如果端口对SYN报文响应为开放(SA),则打印Open,如果端口响应为关闭(RST),或无响应,则打印Close。

def tcpSynScan_single(target, port):send = sr1(IP(dst=target) / TCP(dport=port, flags="S"), timeout=2, verbose=0)if (send is None):print("Close")elif send.haslayer("TCP"):if send["TCP"].flags == "SA":print("Open")elif send["TCP"].flags in ["RA", "R"]:  # RST响应print("Close")else:print("Close")

4漏洞扫描

Goby应用(https://gobies.org)

4.1收集资料,描述其功能及优点

Goby是一款新的网络安全测试工具,它能够针对一个目标企业梳理最全的攻击面信息,同时能进行高效、实战化漏洞扫描,并快速地从一个验证入口点,切换到横向。具有以下功能:

①资产收集:自动探测当前网络空间存活的IP及解析域名到IP,轻量且快速的分析出端口对应的协议、Mac地址、证书、应用产品、厂商等信息。

②子域名扫描:自动爬取子域名,AXFR监测,二级域名字典爆破,关联域名查询。同时支持连接FOFA,扩大数据源。

③网站截图:通过截图,快速判断网站系统应用,无需再一一打开。

④深度分析:发现非标准端口或非标准应用系统资产,进行深入的应用识别。在实战场景中非常有效。

⑤代理扫描:通过socket5代理,快速进入内网,开启内网渗透。

⑥漏洞利用:对扫描出来的风险资产进行批量验证,验证成功后,可进行利用,利用成功后,不需要自己搭建服务器,直接进行shell管理。

⑦生成报告:扫描完成后,生成分析报告,并支持PDF、Excel导出,方便本地分析及呈报传阅。

⑧CS模式:远程服务,区分扫描模块及展示模块。

优点:

①实战性:Goby 并不关注漏洞库的数量有多么多,而是关注真正用于实际攻击的漏洞数量,以及漏洞的利用深度(最小精准体,打造权威性);

②体系性:打通渗透前,渗透中,以及渗透后的完整流程完整 DOM 事件收集,自动化触发。

③高效性:利用积累的规则库,全自动的实现 IT 资产攻击面的梳理;效率提升数倍,发包更少速度更快、更精准;

④平台性:发动广泛的安全人员的力量,完善上面提到的所有资源库;包括基于社区的数据共享,插件发布,漏洞共享等;

⑤艺术性:安全工具原本就比较偏门,我们更多的关注功能而非美观度,所有大部分的安全工具都是其貌不扬;我们希望使用 Goby 能给大家带来感官上的享受。

4.2使用测试(截图)。

用Goby来扫描虚拟机win server 2008,发现其存在Eternalblue/DOUBLEPULSAR MS17-010 SMB RCE漏洞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/25794.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8款高效电脑维护与多媒体工具合集!

AI视频生成:小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频https://h5.cxyhub.com/?invitationhmeEo7 1. 系统安装利器——WinNTSetup 系统安装利器,目前最好用的系统安装器,Windows系统安装部署工具。支持所…

跟我学,数据结构和组原真不难

我个人认为408中计算机组成原理和数据结构最难 难度排行是计算机组成原理>数据结构>操作系统>计算机网络。 计算机组成原理比较难的原因是,他涉及的硬件的知识比较多,这对于大家来说难度就很高了,特别是对于跨考的同学来说&#x…

ABB机械人模型下载

可以下载不同格式的 https://new.abb.com/products/robotics/zh/robots/articulated-robots/irb-6700 step的打开各部件是分开的,没有装配在一起,打开看单个零件时,我们会发现其各零件是有装配的定位关系的。 新建一个装配环境,点…

【qt】MDI多文档界面开发

MDI多文档界面开发 一.应用场景二.界面设计三.界面类设计四.实现功能1.新建文档2.打开文件3.关闭所有4.编辑功能5.MDI页模式6.瀑布展开模式7.平铺模式 五.总结 一.应用场景 类似于vs的界面功能,工具栏的功能可以对每个文档使用! 二.界面设计 老规矩,边做项目边学! 目标图: 需…

【JMeter接口测试工具】第二节.JMeter项目实战(上)【实战篇】

文章目录 前言项目实战零、接口测试流程一、测试数据准备二、接口功能测试三、掌握测试用例编写四、自动化脚本架构搭建总结 前言 零、接口测试流程 1、制定测试计划,分配任务 2、从 API 文档中提取接口清单:对 API 文档简化,提高测试效率,接口清单就是对 API 文档…

【研发日记】Matlab/Simulink软件优化(三)——利用NaNFlag为数据处理算法降阶

文章目录 前言 背景介绍 初始算法 优化算法 分析和应用 总结 前言 见《【研发日记】Matlab/Simulink软件优化(一)——动态内存负荷压缩》 见《【研发日记】Matlab/Simulink软件优化(二)——通信负载柔性均衡算法》 背景介绍 在一个嵌入式软件开发项目中,需要开…

OpenAI与核聚变公司寻求合作,白宫拨款1.8亿美元用于核聚变商业化研究

在当下,由 AI 引发的新一轮能源危机已经不再是一个小概率的「黑天鹅」事件,而是一头正在向我们猛冲而来的「灰犀牛」。 Helion Energy,是一家总部位于美国华盛顿州埃弗雷特的能源创业公司。 3.5研究测试:hujiaoai.cn 4研究测试&am…

Mysql的底层实现逻辑

Mysql5.x和Mysql8性能的差异 整体性能有所提高, 在非高并发场景下,他们2这使用区别不大,性能没有明显的区别。 只有高并发时,mysql8才体现他的优势。 2. Mysql数据存储结构Innodb逻辑结构 数据选用B树结构存储数据&#xff0…

如何画系统架构图学习

原文链接:https://learn.lianglianglee.com/%E4%B8%93%E6%A0%8F/%E4%BB%8E%200%20%E5%BC%80%E5%A7%8B%E5%AD%A6%E6%9E%B6%E6%9E%84/51%20%E5%A6%82%E4%BD%95%E7%94%BB%E5%87%BA%E4%BC%98%E7%A7%80%E7%9A%84%E8%BD%AF%E4%BB%B6%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E5%9B%BE%EF…

C++ 11 【可变参数模板】【lambda】

💓博主CSDN主页:麻辣韭菜💓   ⏩专栏分类:C修炼之路⏪   🚚代码仓库:C高阶🚚   🌹关注我🫵带你学习更多C知识   🔝🔝 目录 前言 一、新的类功能 1.1默认成员函数—…

【数据分析基础】实验三 文件操作、数组与矩阵运算

一.实验目的 掌握上下文管理语句with的使用方法。掌握文本文件的操作方法。了解os、os.path模块的使用。掌握扩展库Python-docx、openpyxl的安装与操作word、Excel文件内容的方法。熟练掌握numpy数组相关运算和简单应用。熟练使用numpy创建矩阵,熟悉常用…

新技术前沿-2024-构建个人知识库和小语言模型

OllamaWebUIAnythingLLM,构建安全可靠的个人/企业知识库 1 技术路线一 1.1 搭建本地大模型Ollama 1.2 搭建用户界面open WebUI 使用Docker Desktop Open-webui。它可以快速基于Ollama构筑本地UI。 如果没有科学上网,很可能会拉不动,可以试…

linux网络服务“PXE网络批量装机和Kickstart全自动化安装”

PXE网络批量装机 pxe自动装机: 服务端和客户端 pxe c/s 模式:允许客户端通过网络从远程服务器(服务端)下载引导镜像,加载安装文件,实现自动化安装操作系统。 无人值守 :安装选项不需要人为干预&#xf…

FlexJavaFramwork

FlexJavaFramwork架构

【高校科研前沿】广西大学博士生冯德东为一作在Habitat Int发文:区域乡村性与贫困治理变化的时空格局及相关效应——以滇桂黔石漠化地区为例

1.文章简介 论文名称:Spatio-temporal patterns and correlation effects of regional rurality and poverty governance change: A case study of the rocky desertification area of Yunnan-Guangxi-Guizhou, China(区域乡村性与贫困治理变化的时空格…

从零开始搭建Electron项目(二)之例程解析

本专栏,前面学习了怎么下载例程并运行。 这里解析例程的构成 从零开始搭建Electron项目之运行例程-CSDN博客文章浏览阅读22次。最好的学习方式就是:给一段能够运行的代码示例。本文给出了例程资源,以及运行的步骤。在国内开发electron有一点特…

【吊打面试官系列-Mysql面试题】MySQL_fetch_array 和 MySQL_fetch_object 的区别是什么 ?

大家好,我是锋哥。今天分享关于 【MySQL_fetch_array 和 MySQL_fetch_object 的区别是什么 ?】面试题,希望对大家有帮助; MySQL_fetch_array 和 MySQL_fetch_object 的区别是什么 ? 以下是 MySQL_fetch_array 和 MySQL…

让AI做2024新高考1卷数学最后一题:AI智商横向对比!

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,所以创建了“AI信息Gap”这个公众号,专注于分享AI全维度知识…

【Python】成功解决SyntaxError: invalid syntax

【Python】成功解决SyntaxError: invalid syntax 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高校的普通本硕&am…

探索OrangePi AIpro:单板计算机的深度体验之旅

准备阶段:环境与资料 在开始我们的探索之旅前,确保您已准备好以下装备: OrangePi AIpro:我们的主角,一台功能强大的单板计算机。Windows 10笔记本电脑:作为我们的辅助工具,用于管理和测试。路…