检测网络安全漏洞 工具 网络安全 漏洞扫描 实验

实验一的名称为信息收集和漏洞扫描

实验环境: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指令查看我自己写的内容。

这次的试验记录就到这里结束啦~

相关推荐
iknow18118 分钟前
【安全靶场】信息收集靶场
安全
代码改变世界ctw34 分钟前
《Android13安全架构详解》
安全·安全架构
亚信安全官方账号41 分钟前
亚信安全正式接入DeepSeek
安全
黑客笔记1 小时前
snort3.0 获取注册规则(19000多条)
web安全·网络安全
fan_0001 小时前
LKT4202UGM新一代安全认证加密芯片,守护联网设备和服务安全
安全
AI服务老曹1 小时前
国产化人工智能“产学 研用”一体化创新模式的智慧快消开源了
运维·人工智能·安全·开源
深圳特力康何哈哈3 小时前
输电杆塔沉降智能监测系统:如何用数据守护电网安全
运维·安全
安科瑞 华楠4 小时前
安科瑞光伏发电防逆流解决方案——守护电网安全,提升能源效率
安全·能源
辛勤搬砖的门卫6 小时前
汽车ECU实现数据安全存储的一种方案
安全·汽车·安全存储·gb44495
xcLeigh6 小时前
网络安全 | 网络安全自动化:让防护更智能高效
安全·web安全·自动化