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

一、实验目的和要求

        了解信息搜集和漏洞扫描的一般步骤,利用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漏洞

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java使用XWPFTemplate将word填充数据,并转pdf

poi-tl poi-tl&#xff08;poi template language&#xff09;是基于Apache POI的Word模板引擎。纯Java组件&#xff0c;跨平台&#xff0c;代码短小精悍&#xff0c;通过插件机制使其具有高度扩展性。 主要处理区域有这么几个模块: 依赖 <dependency><groupId>…

CentOS Stream 9 磁盘扩容

当Linux系统磁盘被占满且资料无法删除&#xff0c;需要新添加磁盘&#xff0c;并将新磁盘扩容到相应的满载磁盘中 查看现有磁盘分区 [rootwcg-lvm-001 ~]# fdisk -l Disk /dev/sda&#xff1a;180 GiB&#xff0c;193273528320 字节&#xff0c;377487360 个扇区 磁盘型号&am…

MySQL—多表查询—小结

一、引言 前面的博客已经全部学习完了关于多表查询。接下来对多表查询进行一个小结。 &#xff08;1&#xff09;多表查询主要是讲了两个方面 多表关系 &#xff08;不管业务关系如何的复杂&#xff0c;最终多表的关系基本上可以分为三类&#xff09; "一对多"、&qu…

【解读】核密度图

def&#xff1a;what 核密度估计&#xff08;Kernel Density Estimation&#xff0c;简称KDE&#xff09;是一种用来估计随机变量概率密度函数的非参数方法 实现&#xff1a;&#xff08;库函数&#xff09;how import seaborn as sns import matplotlib.pyplot as plt# 使用…

[手游] 三色绘恋S Mobile Link

语音合成TTS: 文字转成语音的工具 WPS免登录一键修改器: 去除烦人的登录且能正常使用 故事简介&#xff1a; 深秋的雨季即将到来&#xff0c;正值那个为人所熟知的故事发生的前一年—— 地点&#xff1a;湖北省的重点高中&#xff0c;武汉师贰高校。 新学年开始&#xff0c;各…

Qt for Android 之 OpenCV编译(Windows下编译)

简介 前两天刚好更新了4.10, 这里以4.10作为示例进行编译&#xff0c; Qt版本是Qt6.6.2。 准备OpenCV的Android库 一. 使用官方编译好的库 1. 下载OpenCV android SDK opencv-4.10.0-android-sdk.zip 2. 解压缩 官方提供的包含了多个架构的opencv android库 二. 自行编译…

【iOS】界面推出的方法

【iOS】界面推出的方法 在学习过程中我们发现在iOS中有两种界面推出的方法&#xff1a;push 和 present这两种方法都可以用来推出一个新的界面 但是这两者是存在区别的 push 方法是通过 UINavigationController 进行导航,新的视图控制器会被压入导航栈中&#xff0c;可以跨级…

java版本ERP管理系统源码 Spring Cloud erp系统,更专业的ERP管理系统

ERP管理系统是一款基于Java技术的企业资源规划系统&#xff0c;集成了Spring Cloud Alibaba、Spring Boot、MybatisPlus、Redis等先进技术&#xff0c;以及前端框架VUE3和ElementUI&#xff0c;致力于为企业提供一个功能全面、性能卓越的微服务架构平台。 系统功能模块及其描述…

实现JWT认证与授权的Spring Boot项目详解

我们将详细介绍如何使用JWT&#xff08;JSON Web Tokens&#xff09;结合Spring Boot框架实现用户认证和授权系统。此方案将包括用户注册、登录以及通过JWT令牌进行后续请求的身份验证过程。我们将从引入必要的依赖开始&#xff0c;然后逐步构建项目的各个部分&#xff0c;包括…

随便写写之——CSDN个人主页布局

最近一直在看题&#xff0c;真的好无聊&#xff0c;晚上睡觉前脑子里想的都是JS&#xff0c;不会是焦虑症犯了吧&#xff0c;赶紧写点东西&#xff0c;现在是上午9点38分&#xff0c;想着写个csdn的布局练练手吧。 现在是11点半&#xff0c;写个将近两个小时就写了那么点&#…

代理设计模式之JDK动态代理CGLIB动态代理原理与源码剖析

代理设计模式 代理模式(Proxy),为其它对象提供一种代理以控制对这个对象的访问。如下图 从上面的类图可以看出,通过代理模式,客户端访问接口时的实例实际上是Proxy对象,Proxy对象持有RealSubject的引用,这样一来Proxy在可以在实际执行RealSubject前后做一些操作,相当于…

微软如何打造数字零售力航母系列科普13 - Prime Focus Technologies在NAB 2024上推出CLEAR®对话人工智能联合试点

Prime Focus Technologies在NAB 2024上推出CLEAR对话人工智能联合试点 彻底改变您与内容的互动方式&#xff0c;从内容的创建到分发 洛杉矶&#xff0c;2024年4月9日/PRNewswire/-媒体和娱乐&#xff08;M&E&#xff09;行业人工智能技术解决方案的先驱Prime Focus Techn…

OpenCV 双目三角法计算点云

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 基于三角法计算点坐标的过程类似于我们人类眼睛观察事物的过程: 如上图所示,通过两个相机观察到同一位置,我们可以通过两个相机得到这一位置的投影坐标 ( u r , v r ) , ( u l , v l )

Flutter - Material3适配

demo 地址: https://github.com/iotjin/jh_flutter_demo 代码不定时更新&#xff0c;请前往github查看最新代码 Flutter - Material3适配 对比图具体实现一些组件的变化 代码实现Material2的ThemeDataMaterial3的ThemeData Material3适配官方文档 flutter SDK升级到3.16.0之后 …

时间处理基础:Rust 的 chrono 库教程

在开发过程中&#xff0c;我们经常有对时间和日期处理的需求。不论是日历应用、日程安排、还是时间戳记录&#xff0c;准确的时间数据处理都是必不可少的。Rust 社区提供的 chrono 库以其强大的功能和灵活的接口&#xff0c;在 Rust 开发者中广受欢迎。本文将简单介绍 chrono 库…

堆盘子00

题目链接 堆盘子 题目描述 注意点 SetOfStacks应该由多个栈组成&#xff0c;并且在前一个栈填满时新建一个栈 解答思路 将多个栈存储到一个List中&#xff0c;当入栈时&#xff0c;如果List中最后一个栈容量已经达到cap&#xff0c;则需要新建一个栈&#xff0c;将元素推到…

pytorch版本与torchvision版本不匹配问题处理

pytorch版本与torchvision版本不匹配问题处理 问题问题复现解决方法两点注意内容其一&#xff1a;pytorch版本与torchvision版本对应关系其二&#xff1a;CPU版本或GPU版本问题 问题 在新环境中&#xff0c;利用yolov8训练模型的时候报错&#xff0c;错误内容如下&#xff1a;…

反射...

一、反射的定义 二、获取Class对象三种方式 全类名&#xff1a;包名类名。 public class test {public static void main(String [] args) throws ClassNotFoundException {//第一种方式Class class1Class.forName("test02.Student");//第二种方法Class class2Stud…

Nginx配置详细解释:(4)高级配置

目录 1.网页的状态页 2.Nginx第三方模块(echo) 3.变量 4.自定义访问日志 5.Nginx压缩功能 6.https功能 7.自定义图标 Nginx除了一些基本配置外&#xff0c;还有一些高级配置&#xff0c;如网页的状态&#xff0c;第三方模块需要另外安装&#xff0c;支持变量&#xff0c…

宽睿数字平台兼容TDengine 等多种数据库,提供行情解决方案

小T导读&#xff1a;最近&#xff0c;涛思数据与宽睿金融宣布了一项重要合作。在此之前&#xff0c;宽睿金融对 TDengine 进行了性能测试&#xff0c;并根据测试报告的结果&#xff0c;决定将 TDengine 接入宽睿数字平台&#xff0c;以提升高密度行情处理效率。本文将详细介绍此…