检测网络安全漏洞 工具
实验一的名称为信息收集和漏洞扫描
实验环境:VMware下的kali linux2021和Windows7 32,网络设置均为NAT,这样子两台机器就在一个网络下。攻击的机器为kali,被攻击的机器为Windows 7。
理论知识记录:
1.信息收集的步骤
2.ping命令
3.arp主机发现
4.端口扫描
tcp扫描
tcp SYN扫描
Nmap
nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取哪台主机正在运行以及提供什么服务等信息。
5.漏洞扫描
漏洞库匹配法
插件技术
理论知识就记录那么多,接下来记录一下实操。
首先是主机发现,先用fping扫描。首先熟悉一下fping的参数。
使用一个工具之前一定要对参数有所了解。分享一下作为英语学渣看英文解释的办法,首先安装了vmtoors的话直接复制粘贴,打开百度在线翻译,然后就能开始看了。
然后我们进行一下内网扫描:fping -a -g 192.168.48.1/24 -q
解释一下这个指令,-a 是显示网段内存活主机(包括自己),-g代表了扫的是ip的范围,后面跟的192.168.48.1/24, -q这个参数非常重要,如果不设置的话,每ping失败一次就会显示一次ping失败,一般一个IPping三个包,256x3条信息。
这里可以通过返回的包的ttl判断一下操作系统的类型,ttl接近128是windows操作系统,ttl接近64是,Linux操作系统。
然后我们开启防火墙一个回复都没有收到。
这时候我们试一下arping扫描,就可以得到回复,下面是开启防火墙时的ping扫描和当机器挂起时的ping扫描的结果。
为什么ping扫描没有回复但是arping扫描有回复呢,现在我们解释一下arping扫描到底是啥。
arping实现了简单的二层发现,即基于物理层和链路层的发现。由于没有ip层的参与,所以是不可路由的。优点是速度快,准确性高;缺点是不可路由,无法发现局域网以外的主机。
arping,用来向局域网内的其它主机发送ARP请求的指令,它可以用来测试局域网内的某个IP是否已被使用。
arping命令无法一次性实现多个ip的扫描,但是可以配合shell脚本实现整个局域网的扫描。
arping主要干的活就是查看ip的MAC地址及IP占用的问题。
我们老师说如果一个机器如果对ARP包不回复是没有办法上网的,因为在网络上别人给你发数据包实际上还是发到mac地址上,因为mac地址是固定且唯一的,IP地址是会变得,而ARP报文就是询问ip对应的mac地址,所以是会回复的,就算开了防火墙也会回复,所以可以通过arping去检测局域网内机器是否存活。
下面记录一下下Nmap扫描学习,同样的我们先输入nmap -h看一下参数
这里搬运一下别人整理的翻译,做自己的学习记录。
1、 TARGET SPECIFICATION 目标说明-iL 从主机地址列表文件中导入扫描地址(批量扫描,可自己创建地址列表文件)
-iR 随机选择目标进行扫描,num hosts表示数目,设置为0则无休止扫描
–exclude 排除某个主机地址
–excludefile 排除主机地址列表文件中的地址
2、 HOST DISCOVERY 主机发现-sL 列表扫描,仅将指定的目标IP列举出来,不进行主机发现
-sn 和-sP一样,只利用ping扫描进行主机发现,不扫描目标主机的端口
-Pn 将所有指定的主机视为已开启状态,跳过主机发现过程
-PS TCP SYN ping,发送一个设置了SYN标志位的空TCP报文,默认端口为80,也可指定端口
-PA TCP ACK ping,发送一个设置了ACK标志位的空TCP报文,默认端口为80,也可指定端口
-PU UDP ping,发送一个空的UDP报文到指定端口,可穿透只过滤TCP的防火墙
-P0 使用IP协议ping
-PR 使用ARP ping
-n/-R -n不用域名解析,加速扫描,-R为目标IP做反向域名解析,扫描慢一些
-dns-servers 自定义域名解析服务器地址
-traceroute 目标主机路由追踪3、SCAN TECHNIQUES 端口扫描
Nmap将目标端口分为6种状态:
-open(开放的)
-closed(关闭的)
-filtered(被过滤的)
-unfiltered(未被过滤)可访问但不确定开放情况
-open|filtered(开放或者被过滤)无法确定端口是开放还是被过滤的
-closed|filtered(关闭或者被过滤)无法确定端口是关闭还是被过滤的
Nmap产生结果是基于目标机器的响应报文的,而这些主机可能是不可信任的,会产生迷惑或者误导Nmap的报文-sS TCP SYN扫描,半开放扫描,速度快隐蔽性好(不完成TCP连接),能够明确区分端口状态
-sT TCP连接扫描,容易产生记录,效率低(不推荐)
-sA TCP ACK扫描,只设置ACK标志位,区别被过滤与未被过滤的
-sU UDP服务扫描,例如DNS/DHCP等,效率低4、 PORT SPECIFICATION AND SCAN ORDER 端口说明和扫描顺序
-p 指定扫描的端口,可以是单个端口,也可以是端口范围,可以指定UDP或TCP协议扫描特定端口
-p 指定扫描的协议,例如-p http即可扫描http协议的端口状态
–exclude-ports 排除指定端口不扫描
-F 快速模式,仅扫描100个常用端口5、SERVICE/VERSION DETECTION 服务与版本探测
Nmap-services 包含大量服务的数据库,Nmap通过查询该数据库可以报告哪些端口可能对应于什么服务,但不一定正确
-sV 进行服务版本探测
–version-intensity 设置版本扫描强度,范围为0-9 默认是7,强度越高,时间越长,服务越可能被正确识别6、SCRIPT SCAN 脚本扫描
允许用户自己编写脚本来执行自动化的操作或者扩展Nmap的功能,使用Lua脚本语言。
-sC 使用默认类别的脚本进行扫描
–script= 使用某个或某类脚本进行扫描;支持通配符描述7、OS DETECTION 操作系统探测
用TCP/IP协议栈fingerprinting进行探测,Nmap发送一系列TCP和UDP报文到远程主机,检查响应中的每一个比特。测试后Nmap把结果和数据库中超过1500个一直的fingerprints比较,如匹配则输出结果。
-O 启用操作系统探测
-A 同时启用操作系统探测和服务版本探测
–osscan-limit 针对指定的目标进行操作系统检测
–osscan-guess 当Nmap无法确定所检测的操作系统时,会尽可能地提供最相近的匹配8、TIMING AND PERFORMANCE 时间和性能
Nmap开发的最高优先级是性能,但实际应用中很多因素会增加扫描时间,比如特定的扫描选项,防火墙配置以及版本扫描等。-T<0-5> 设置时间模块级数,在0-5中选择。T0、T1用于IDS规避,T2降低了扫描速度以使用更少的带宽和资源。默认为T3,未做任何优化。T4假设具有合适及可靠的网络从而加速扫描。T5假设具有特别快的网络或者愿为速度牺牲准确性
-host-timeout 放弃低速目标主机,时间单位为毫秒9、FIREWALL/IDS EVASION AND SPOOFING 防火墙/IDS规避和欺骗
-f(报文分段);–mtu(使用指定的MTU)将TCP头分段在几个包中,使得包过滤器、IDS以及其他工具的检测更加困难
-D <decoy1,deoy2[,ME]…>隐蔽扫描;使用逗号分隔每个诱饵主机,用自己的真实IP作为诱饵使用ME选项。如在6号或更后的位置使用ME选项,一些检测器就不报告真实IP。如不适用ME,真实IP将随机放置
-S <IP_Address> 伪造数据包的源地址
-source-port/-g 伪造源端口10、OUTPUT 输出选项
-oN 标准输出
-oX XML输出写入指定的文件
-oS 脚本小子输出,类似于交互工具输出
-oG Grep输出
-oA 输出至所有格式
-v 提高输出信息的详细度
-resume 继续中断的扫描
然后我们记录一下实验用的语句。
1.A对B进行TCP端口扫描(范围1-150)
nmap 192.168.48.134 -p 1-150
2.对B进行UDP端口扫描,范围也是1-150
nmap 192.168..48.134 -sU -p 1-150
3.对主机B进行TCP/IP指纹特征扫描
nmap -A 192.168.48.134 -Pn
这里学习记录一下tcp/ip指纹特征的原理。
TCP/IP堆栈指纹识别技术是基于TCP/IP协议来实现的,主要是TCP/IP四层模型中网络层的IP协议和传输层的TCP协议。操作系统为了实现网络功能,一般由操作系统来实现传输层、网络层、链路层协议, 而由专门的应用软件来支持相关的应用层协议,如安装QQ软件才能支持QQ协议,这样的实现方式为TCP/IP堆栈指纹技术提供了前提。
比如,IP协议的initial ttl在不同的操作系统就不太一样,TCP协议和IP协议在不同操作系统中体现的细微差异,可以组合成TCP/IP堆栈的指纹特征,每个指纹都代表着一种操作系统在网络活动上的特征。
4.对活动主机运行服务进行探测。
namp -sV 192.168.48.134
5.对主机B进行协议探测
nmap 192.168.48.134 -PO ip(-PO是协议探测,我这里指定是ip协议探测)
nmap 192.168.48.134 -PO ip
scapy项目学习记录
Scapy能完成绝大多数工具所能完成的功能,例如:扫描,网络发现,跟踪路由,探测,攻击,这是kali已经集成的python的工具包,使用方法是,在shell页面输入scapy就能启动。
send、sendp、sr、sr1 发送数据包函数使用,send函数工作在第二层,可用于发送IP包,sendp函数工作在第三层,可用于发送Ether帧。
“/”表示加上一层
例如:send(IP(dst="192.168.64.133")/ICMP()) 生成一个IP包,并加上一层ICMP然后给地址192.168.48.133发送。
sendp(Ether()/IP(dst="192.168.64.133"),iface="eth0")
sr()函数用来发送数据包和接收响应,例如
sr(IP(dst="192.168.64.133")/ICMP())是给IP地址发送一个数据包并且接收响应
通过summary函数查看响应的结果。
由于这次实验没有学多少关于scapy所以我就记录到这里。
下面记录一下实验的漏洞扫描,使用的工具为Nessus,我费了好大的劲才装上的。
用Nessus进行漏洞扫描的过程在我的另一篇博客,我就不在这写啦~
这里记录到我的另一篇博客去啦,扫描的过程我就不放上来了。
靶机是metasploitable2,利用的漏洞是php_cgi_arg_injection
启动metasploit,搜索相关的漏洞利用模块
输入use 0可以选择该攻击的payload。
然后查看需要配置的参数,show options
一般我们就配个IP就行了
输入指令,set rhost 192.168.48.129就能设置了
然后设置好了以后输入exploit,或者run,我一般输exploit,因为比较酷。
可以看到执行以后,有一个meterpreter,那个就是攻击成功了好像。可以输一些指令试试。
我cd切进了我自己写的文件的目录,执行cat指令查看我自己写的内容。
这次的试验记录就到这里结束啦~
网络安全学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
需要网络安全学习路线和视频教程的可以在评论区留言哦~
最后
- 如果你确实想自学的话,我可以把我自己整理收藏的这些教程分享给你,里面不仅有web安全,还有渗透测试等等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,我都已经学过了,都可以免费分享给大家!
给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果。
黑客工具&SRC技术文档&PDF书籍&web安全等(可分享)
结语
网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
特别声明:
此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失
相关文章:

检测网络安全漏洞 工具
实验一的名称为信息收集和漏洞扫描 实验环境:VMware下的kali linux2021和Windows7 32,网络设置均为NAT,这样子两台机器就在一个网络下。攻击的机器为kali,被攻击的机器为Windows 7。 理论知识记录: 1.信息收集的步骤 2.ping命令…...
frameworks 之 Activity添加View
frameworks 之 Activity添加View 1 LaunchActivityItem1.1 Activity 创建1.2 PhoneWindow 创建1.3 DecorView 创建 2 ResumeActivityItem 讲解 Activity加载View的时机和流程 涉及到的类如下 frameworks/base/core/java/android/app/Activity.javaframeworks/base/services/cor…...
UWB技术中的两种调制方式:PPM与PAM
Ultra-Wideband (UWB) 技术以其低功耗、宽频谱和高精度定位的特点,广泛应用于物联网(IoT)、智能家居、资产追踪和无线通信等领域。在UWB中,信号的调制方式对于数据传输的效率和精度起着至关重要的作用。本文将深入探讨UWB中常用的…...

达梦:用户和模式
目录标题 数据库管理系统与用户权限管理**四权分立****用户管理与权限划分****用户管理界面与权限控制****用户创建与管理****实操**1. **默认创建用户与模式**:2. **用户权限和角色分配**:3. **命令行管理用户与角色**:4. 模式也可以创建 **…...

23. AI-大语言模型-DeepSeek
文章目录 前言一、DeepSeek是什么1. 简介2. 产品版本3. 特征4. 地址链接5. 三种访问方式1. 网页端和APP2. DeepSeek API 二、DeepSeek可以做什么1. 应用场景2. 文本生成1. 文本创作2. 摘要与改写3. 结构化生成 3. 自然语言理解与分析1. 语义分析2. 文本分类3. 知识推理 4. 编程…...

Spring-GPT智谱清言AI项目(附源码)
一、项目介绍 本项目是Spring AI第三方调用整合智谱请言(官网是:https://open.bigmodel.cn)的案例,回答响应流式输出显示,这里使用的是免费模型,需要其他模型可以去 https://www.bigmodel.cn/pricing 切换…...

计算机网络(涵盖OSI,TCP/IP,交换机,路由器,局域网)
一、网络通信基础 (一)网络通信的概念 网络通信是指终端设备之间通过计算机网络进行的信息传递与交流。它类似于现实生活中的物品传递过程:数据(物品)被封装成报文(包裹),通过网络…...

云计算架构学习之Ansible-playbook实战、Ansible-流程控制、Ansible-字典循环-roles角色
一、Ansible-playbook实战 1.Ansible-playbook安装软件 bash #编写yml [rootansible ansible]# cat wget.yml - hosts: backup tasks: - name: Install wget yum: name: wget state: present #检查playbook的语法 [rootansible ansible]…...

《运维工程师如何利用DeepSeek实现智能运维:分级实战指南》
目录 智能运维革命:DeepSeek带来的范式转变DeepSeek核心运维能力全景解析分级实战场景与解决方案 3.1 初级工程师:自动化运维入门3.2 中级工程师:复杂系统诊断与优化3.3 高级工程师:架构级智能运维典型项目案例深度剖析 4.1 金融系统全链路监控体系构建4.2 电商大促资源弹性…...

windows事件倒计时器与提醒组件
widgets 这是桌面组件前端开源组件,作者称:项目还在持续完善中,目前包含键盘演示、抖音热榜、喝水提醒、生日列表、待办事项、倒计时、灵动通知、打工进度等多个组件 有vue编程能力的可以自己做组件 百度网盘 夸克网盘 桌面组件 | Ca…...
Mac OS JAVA_HOME设置
个人博客地址:Mac OS JAVA_HOME设置 | 一张假钞的真实世界 在MacOS上使用DMG文件安装了Jdk8 之后,在默认路径下找不到JDK的HOME路径: $ which java /usr/bin/java $ ls -l /usr/bin/java lrwxr-xr-x 1 root wheel 74 12 6 2015 /usr/b…...

6.3 DBMS的功能和特征
文章目录 DBMS的6大功能DBMS的3个特征DBMS的分类 DBMS的6大功能 DBMS包含数据定义,数据库操作(检索、插入、修改、删除),数据库运行管理(保证多用户环境下正常运行),数据组织、存储、管理&…...
C# ConcurrentQueue 使用详解
总目录 前言 在C#多线程编程中,数据共享如同走钢丝——稍有不慎就会引发竞态条件(Race Condition)或死锁。传统Queue<T>在并发场景下需要手动加锁,而ConcurrentQueue<T>作为.NET Framework 4.0 引入的线程安全集合&a…...
python脚本文件设置进程优先级(在.py文件中实现)
在 Python 代码中可以直接通过 psutil 模块或 系统调用 来设置进程优先级,无需依赖终端命令。以下是具体方法和示例: 1. 使用 psutil 模块(跨平台推荐) psutil 是一个跨平台库,支持 Windows、Linux 和 macOS。通过其 …...

基于Django快递物流管理可视化分析系统(完整系统源码+数据库+详细开发文档+万字详细论文+答辩PPT+详细部署教程等资料)
文章目录 基于Django快递物流管理可视化分析系统(完整系统源码数据库详细开发文档万字详细论文答辩PPT详细部署教程等资料)一、项目概述二、项目说明三、研究意义四、系统设计技术架构 五、功能实现六、完整系统源码数据库详细开发文档万字详细论文答辩P…...

el-table树状表格,默认展开第一个节点的每一层
效果如图 <template><el-table:data"tableData"style"width: 100%":tree-props"{ children: children, hasChildren: hasChildren }":expand-row-keys"expandRowKeys"row-key"id"expand-change"handleExpan…...
【雅思博客05】New Guy in Town
Daily Life ‐ New Guy in Town 原文: A: Oh, I don’t know if you heard, but someone moved into that old house down the road. B: Yeah, I know. I met the owner of the house yesterday as he was moving in. His name is Armand. A: Really? What’s h…...

【Spring详解三】默认标签的解析
三、默认标签的解析 Spring的标签中有 默认标签和 自定义标签,两者的解析有着很大的不同,这次重点说默认标签的解析过程。 DefaultBeanDefinitionDocumentReader.class 默认标签的解析是在 DefaultBeanDefinitionDocumentReader.parseDefaultElement()函…...

Windows 图形显示驱动开发-IoMmu 模型
输入输出内存管理单元 (IOMMU) 是一个硬件组件,它将支持具有 DMA 功能的 I/O 总线连接到系统内存。 它将设备可见的虚拟地址映射到物理地址,使其在虚拟化中很有用。 在 WDDM 2.0 IoMmu 模型中,每个进程都有一个虚拟地址空间,即&a…...

简单易懂,解析Go语言中的Channel管道
Channel 管道 1 初始化 可用var声明nil管道;用make初始化管道; len(): 缓冲区中元素个数, cap(): 缓冲区大小 //变量声明 var a chan int //使用make初始化 b : make(chan int) //不带缓冲区 c : make(chan stri…...

docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...

【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...