扫描工具(一)

article/2025/9/21 19:12:23

一、 nmap工具

Nmap 是一种常用工具,可用于判定网络的布局。我们可以在网络上使用 Nmap 来查找主机系统以及打开这些系统的端口。

nmap作用

  1. 检测存活在网络上的主机(主机发现)
  2. 检测主机上开放的端口(端口发现)
  3. 检测相应的服务(服务发现)
  4. 检测操作系统,硬件地址以及软件版本
  5. 检测脆弱性的漏洞(Nmap的脚本)

常用的端口扫描指令

-sS:TCP SYN扫描
-p:指定端口号进行扫描
-v: 显示扫描过程
-F:快速扫描
-Pn:禁止Ping扫描后,跳过主机发现的过程进行端口扫描
-A:全面的系统扫描,包括打开操作系统探测,版本探测,脚本扫描,路径跟踪
-sU:UDP扫描
-sT:TCP扫描
-sV:扫描系统版本和程序版本号检测
--script=vuln:全面的漏洞扫描
-n:禁止反向域名解析
-R:反向域名解析
-6:启用IPV6扫描nmap更多命令可使用man nmap进行查看

端口扫描状态

Opend:端口开启

Closed:端口关闭

Filtered:端口被过滤,数据没有到达主机,返回的结果为空,数据被防火墙过滤

Unfiltered:未被过滤,数据有到达主机,但是不能识别端口的当前状态

Open|filtered:开放或者被过滤,端口没有返回值,主要发生在UDP,IP,FIN,NULL和Xmas扫描中

Closed|filtered:关闭或者被过滤,只发生在IP,ID,dile扫描

漏洞脚本扫描

脚本保存位置:/usr/share/nmap/scripts,“script=”后的参数为脚本的名字

官方脚本网址:- Revision 38406: /nmap/scripts

wohis信息扫描

nmap --script=whois-domain 站点根域名

使用whois脚本对站点进行whois信息查询,即域名注册信息

DNS解析爆破扫描

nmap --script=dns-brute 站点根域名

使用DNS爆破脚本进行dns解析扫描,查找相关域名(子域名)

扫描结果保存

将输出结果保存到指定文件

  • 保存为txt文件nmap --script=dns-brute 站点 -oN test.txt
  • 保存为xml格式nmap --script=dns-brute 站点 -oX test.xmlxml格式需要用浏览器打开,查看结果

二、Nessus

Nessus是目前全世界最多人使用的系统漏洞扫描与分析软件。总共有超过75,000个机构使用Nessus 作为扫描该机构电脑系统的软件。Nessus是一个可提供全方位服务的安全扫描程序。Nessus的插件式结构允许用户自定义其系统和网络。与其他的扫描软件一样,Nessus只能在其依赖的签名数据库中发挥作用。Nessus会时常更新,且具有全面报告、主机扫描以及实时漏洞搜索的功能。但是,Nessus也可能会出现误报和漏报。 这是一款收费软件,对于一般用户有7天的使用时间。

官方网站为:Nessus Product Family

Nessus安装

(1)下载软件包

进入官网下载 Download Nessus | Tenable®

(2)选择I agree

(3)将下载的软件包拖到Kali中

(4)kali上输入下面这条命令 /opt/nessus/sbin/nessuscli update 下载插件

(5)安装Nessus

(6)启动Nessus

(7)查看Kali的IP

(8)在物理机上进行连接

(9)获取激活码(邮箱一定写正确,否则收不到激活码)

(10)输入激活码

(11)注册一个账号

(12)开始读条 第一次读条特别特别慢,请耐心等待。

(13)然后进入用户名密码进入Nessus,查看是否有插件

Nessus配置及使用

更新插件
添加规则

basic中设置好policy的名称,建议写好描述

主机发现中一般要开启Ping功能其他的需要按照需求进行配置,比较全面的扫描建议勾选Ping Methods中UDP选项,但是会降低效率和准确性,由于日常资产收集只对服务器进行资产统计,不对网络设备和打印机等进行统计,所以Fragile Devices中的内容不进行设置。

在Port Scanning中进行资产信息收集时,将Port scan range:设置为1-65535进行全端口的扫描

NESSUS支持进行登录扫描,登录扫描可以使用netstat获取端口信息所以需要将Local Port Enumerators中的SSH(netstat),WMI(netstat),SNMP以及Only run network port scanners if local port enumeration failed进行勾选。

Network Port Scanners中可以配置扫描的方式,默认是SYN半开扫描,勾选Override automatic firewall detection会自动进行防火墙探测,选择Use soft detection(松散的探测方式),提高扫描效率的同时也进行防火墙探测。

可以设置端口服务探测,SSL/TLS服务探测,勾选Probe all ports to find services,对所有端口上运行的服务进行探测,

开启Search for SSL/TLS services对SSL/TLS服务进行探测,并且Search for SSL/TLS on应选择All port,此项主要是为了避免使用了端口映射,导致常规端口与服务对应信息发生改变,所以建议对全端口进行SSL/TLS的探测,其他选项可以根据实际情况进行配置。

在Settings / assessment / General中有如下的配置项,通常在日常使用中均不需要配置

其中Only use credentials provided by the user是需要勾选的,勾选此项可以避免账号锁定的风险。

可以对Web应用进行测试,需要对扫描选项进行配置,可以参考如下的配置项,当然也可以根据实际需求进行配置,这个Web 应用扫描还是非常灵活的。

配置恶意软件的扫描。

Credentials(认证)设置登录扫描,登录扫描肯定会比不登录扫描的结果更为准确,下面以Windows(已开启防火墙,效果和未开启不一样)为例,在windows 虚拟机上开启3389远程连接服务,在Credentials中选择host-Windows,然后输入用户名,密码以及主机名(或IP),其他选项使用默认即可,然后点击save保存。

通常情况下是不建议对已上线系统进行登录扫描的,因为登录扫描可能会影响正常业务,所以应该要在系统部署上线前,使用NESSUS进行一次全面的登录扫描,发现主机和应用服务的漏洞,并及时修复。

添加扫描

选择后有两个选项,一个是scanner,一个是user defined

scanner就是新添加policy,因为我们前面已经定义过policy了,所以这里选择user defined

选择好要扫描的内容及插件后,点击save,然后点击开始扫描

三、OpenVAS

OpenVAS (Open Vulnerability Assessment System,开放式漏洞评估系统)是一套可用于扫描漏洞和全面漏洞管理的工具和服务系统。 OpenVAS 框架可提供许多基于网络、桌面和命令行的工具,用于控制解决方案的不同组件。 OpenVAS 的核心功能是其所提供的安全扫描器,可使用超过 33,000 每日更新的网络漏洞测试(NVT, Network Vulnerability Test )。使用OpenVAS并不需要订阅。稍后的文章我会详细介绍一下这个软件的安装与使用。

安装OpenVas

由于OpenVas基于python,有很多依赖包跟Kali有关系,安装之前先建议吧Kali升级到最新版本

apt update && apt upgrade && apt dist-upgrade   #升级kali
apt-get  install openvas                        #安装OpenVas
openvas-setup                                   #下载依赖包
openvas-check-setup                             #检查安装
openvasmd -h                                    #查看帮助
openvas-feed-update                             #升级OpenVas

OpenVas启动

OpenVas启动之前建议先修改OpenVas默认密码:
openvasmd --user=admin --new-password=123456
启动OpenVas:
openvas-start

启动之后在Kali的浏览器中输入https://本地回环地址:端口号打开OpenVas

由于链接是https,我们可以点击底部的AddException

输入用户名和我们刚刚修改的密码即可登录OpenVas控制台

OpenVas使用

登录之后进入OpenVas首页的Dashboard仪表盘显示页面,该页面会展示之前扫描得到些信息结果,包括之前新建的任务,以及扫描出来的漏洞统计。

扫描测试网站

根据《网络安全法》的规定,未获得网站授权不能对其发起攻击,漏洞扫描实际上也是属于一种攻击行为,所以我们只能在一些测试网站上进行漏洞扫描,可以用以下的测试网站进行漏洞扫描测试。

http://testhtml5.vulnweb.com
http://testphp.vulnweb.com
http://testasp.vulnweb.com
http://testfire.net

新建扫描任务

方法一

点击Scans下的targets以后进入如下页面,然后再点击左上角的紫色按钮

点击紫色按钮以后 有两种新建任务模式即Task Winzard快速模式和Advanced Task Winzard 高级模式

Task Winzard快速模式中我们只需添加ip地址或域名即可新建扫描任务

Advanced Task Winzard 高级模式 我们按要求填入想要的信息即可

方法二

点击configuration下的targets以后可以创建扫描任务

新建任务之后默认会开启任务扫描,我们可以点击任务边上的按钮暂停或启动任务,也可以对新建的任务进一步修改。

查看扫描完成的任务

点击已经扫描完任务即可进入该任务详细

点击详情里的result 可进一步查看扫描后的任务详细信息。包括漏洞的类型 每个漏洞的详情

导出扫描报告

首先点击Scans下的Reports按钮

页面会显示扫描的大概结果

点击某个扫描任务,在左上角可以选择扫描报告提交的格式

点击边上的下载按钮即可下载扫描报告

四、Niktou

Nikto 是一款杰出的“ 通用网关接口 ”(CGI,common gateway interface) 脚本扫描器。 Nikto 不仅可用于检查 CGI 漏洞,还可以躲避的方式运行,以便躲避入侵探测系统。Nikto 所提供完整的文档资料,在运行程序前,应当仔细查核。如果您有提供 CGI 脚本的网络服务器,那么Nikto 就是用于检查此类服务器安全的最佳资源。

nikto安装

kali安装

推荐使用Kali进行安装,Kali默认已经安装Nikto

apt-get update    #更新nikto
apt-get install nikto   #安装nikto

Docker容器安装

git clone https://github.com/sullo/nikto.git
cd nikto
docker build -t sullo/nikto .
Call it without arguments to display the full help
docker run --rm sullo/nikto
Basic usage
docker run --rm sullo/nikto -h http://www.example.com
To save the report in a specific format, mount /tmp as a volume:
docker run --rm -v $(pwd):/tmp sullo/nikto -h http://www.example.com -o /tmp/out.json

源码安装

Nikto使用Perl语言编写运行,若需要源码安装,请提前安装Perl语言环境

wget https://github.com/sullo/nikto/archive/master.zip

zip安装

使用unzip进行解压缩,并开始安装即可

unzip master.zip
cd nikto-master / program
perl nikto.pl

相关命令

-upodate                         升级,更新插件
-host                               扫描目标URl
-id username:password  http认证接口
-list-plugins                     列出所有可用的插件
-evasion                          IDS/IPS逃避技术(实例演示里有详细信息)
-port                                指定端口(默认80)-ssl                                 使用SSL
-useproxy                       使用http代理
-vhost  域名                    当一个IP拥有多个网站时 使用
空格        报告当前扫描状态
v             显示详细信息
d             显示调试信息
e             显示http错误信息
p             显示扫描进度
r              显示重定向信息
c             显示cookie
a             显示身份认证过程
q             退出程序
N            扫描下一个目标
P            暂停扫描

若需要查看更详细的帮助信息,可输入以下语句

man nikto 

nikto的简单使用

指定端口进行扫描

nikto默认扫描会目标80端口,http协议,我们可以控制参数使得nikto对目标https协议,443端口进行扫描,并检查 ssl 一些常见的问题

nikto -host http://ip地址 -ssl -port 443

指定目录进行扫描

有时候我们只需要扫描网站下的某个子目录,使用-c 参数指定扫描的目录,使用-c all 可进行目录爆破,并扫描

nikto -host http://ip地址 -c /dvwa

多目标扫描

nikto支持多个目标进行扫描,将多个地址写入到文本中,通过- host参数+文本的方式即可统一进行扫描

nikto -host list.txt

使用代理扫描

扫描目标时,部分目标部署了防护设备,为避免暴露 ip可以使用代理进行扫描,nikto 支持设置代理,参数是 - useproxy。在使用时需要配合其他代理工具(比如proxychains)使用

nikto -h https://www.baidu.com -useproxy http://127.0.0.1:1080

扫描结果输出

nikto可以输出四种结果

nikto -host http://www.example.com -o result.html -F html

这些工具是我近期学习过的较为好用的扫描工具,然后写的较为简略,详细的可以再看看其他人的博客,希望我的文章可以帮助到你们。


http://chatgpt.dhexx.cn/article/W0oMaoWA.shtml

相关文章

利用Google Chrome滚动截屏,截取整个网页

利用Google Chrome滚动截屏 1. 在Chrome浏览器中打开一个网址,比如www.master8687.cn,然后再页面中鼠标右键,选择 检查 项。 2. 在左侧的设备选择区域,选择iPad Pro 3. 然后再more Option选择Capture full size screenshot 4. 此时则会在浏览…

谷歌浏览器截图(截取整个网页)

1、按下键盘上的F12键,进入开发者工具 2、按下组合键CtrlShiftP 3、在搜索框中输入Capture full size screenshot 4、点击Capture full size screenshot选项即可截取长屏 补充说明:截图自动保存保存为png格式的图片文件,可右击打开保存路径的文件夹查…

浏览器截图截取整个页面的方法

浏览器截图截取整个页面的方法进入到你要截取的页面后总共就只有四步: F12 出现了开发者工具(有可能是在左边也有可能是右边,或者单独出一个小窗口) 如果没有反应的话说明那个页面的F12被禁用了,你需要点击右上方的设置&#xf…

使用谷歌浏览器截图整个网页

使用谷歌浏览器截图整个网页 一、方法一二、方法二 一、方法一 1、首先打开想要截图的网页,按键盘快捷键F12,打开开发人员工具功能。 2、在开发工具页面同时按下Ctrl Shift P,出现输入指令的工具栏 3、在工具栏输入Capture full size sc…

Chrome利器之FireShot:网页长截图工具

首先对于很多写博客写文章的笔友来说,难免少不了一些网页截图或者gif图之类的,现在这里讲的是一个便捷的谷歌浏览器长截图插件:FireShot FireShot功能特点: 可以截取整个页面、可见部分和选定区域,并且支持拖动加载截…

超好用的PC截图工具Snipaste—免费便捷高效

一次电脑软件分享 文章目录 安装方式使用教学深度学习 首先附上安装包 百度网盘Snipaste-2.7.3-Beta-x64版压缩包 链接:https://pan.baidu.com/s/12mWii8lcDCKrt4HKrCUQZg 提取码:5aqj 官网下载地址 snipaste官网下载 snipaste是一款简单但是强大的截…

在电脑浏览器上怎样对一整个页面进行完整的截图?(整站截图)

整站截图 步骤: ①:将整个网站拉到最底部。 ②:右键点击,选择检查。 ③:ctrl shift p快捷键呼出输入框。(检查快捷键是否冲突) ④:在输入框中输入 capture full size screenshot …

网页滚动截图

首先打开要截屏的网页,然后按F12,打开开发者工具。 然后按CtrlShiftP,调出命令输入框,并在命令框中输入full,这时候应该会列出一个选项,“Screenshot capture full size screen”,点击它&#…

如何对整个网页截图

当网页的长度超过一屏时,如何才能对整个网页的内容截图呢?小一说两个网页截图的方法! 1、使用傲游浏览器(Maxthon) 如果你使用的是傲游浏览器,那你有福了,傲游浏览器可以直接对网页进行截图&a…

JS 实现网页截屏

要实现这个功能就必须要介绍一款特别好用的插件: html2canvas 他的用法也特别傻瓜式只需要两行代码就可以实现网页截屏的功能 html2canvas(document.body).then(function(canvas) {document.body.appendChild(canvas); });下面看例子 这里我们的body标签高度是3023, 浏览器肯…

一款实用的web截图工具(一)

码云地址: 码云 github地址: github kscreenshot 介绍 web截图工具的功能实现基于Canvas技术。其功能主要包括截图,下载,复制以及在截图过程中通过工具栏对截图进行绘制。 使用 具体使用方法请戳 码云 GitHub 实现方式 本…

谷歌浏览器自带网页截屏工具的使用

在平时,我们开发时,经常需要在网页中进行截图,那么,今天来看看谷歌浏览器的截屏工具,首先我们需要打开开发者模式,如下图: 打开开发者模式 然后,同时按"shiftcommandp"按钮…

【截取整个网页】Chrome浏览器快速截屏,高清截图

Chrome版本78,window 10系统 第一步:打开 Chrome 浏览器,输入网址,例如输入网址:https://www.golianghao.com。 第二步:Ctrl shift i 打开浏览器调试模式。 第三步:Ctrl shift p 打开浏览…

Chrome 扩展程序——FireShot:网页截图工具

FireShot是一个简单实用的网页截图工具,可以截取整个页面、可见部分和选定区域,并且支持拖动加载截图,非常方便。个人感觉比另一款Chrome网页截图工具:注释&批注插件 好用。 使用方法 截图 FireShot的使用方法非常简单&a…

浏览器截取网页截图

第一步:打开chrome开发者工具(PC)。 打开你想截图的网页,然后按下 F12(右键->检查)(macOS 是 option command i)调出开发者工具,接着按「Ctrl Shift P」&#xff…

eyeurl—一款网页批量截图工具

eyeurl使用说明 开发说明 eyeurl由作者:云小书 开发,源于日常渗透测试中,信息收集到的url过多,挨个打开查看比较繁琐,且效率极低,网上有大佬开发的eyewitness,且ui布局各方面都比较完善&#…

网页截图小技巧——利用浏览器自带功能即可(无需安装插件)

文章目录 网页截图步骤一:打开开发者工具步骤二:寻找文章主体页面步骤三:右键完成截取步骤四: 查看所截取的图片 网页截图 步骤一:打开开发者工具 按下F12 键选择需要截屏的网页 步骤二:寻找文章主体页…

【软件技巧】【截图】浏览器自带的全网页截图工具

🐚作者简介:花神庙码农(专注于Linux、WLAN、TCP/IP、Python等技术方向) 🐳博客主页:花神庙码农 地址:https://blog.csdn.net/qxhgd 🌐系列专栏:善假于物 📰如…

推荐几款网页截图工具可以全屏截图,也可对图片编辑

很多人在工作和生活中都会遇到这样的问题,有些内容需要截屏保存下来。所以我们每个人都会遇到网页截图这样的问题,有的甚者,我们还需要对截图进行编辑处理,加一些注释和说明等。我就是从这样痛苦的过程中走过来的,所以今天给大家介…

macOS 内置的端口扫描工具

于有端口扫描需求的 Mac 用户来说,其实 macOS 网络实用工具中内置了一款端口扫描程序,这意味着若没有高级的需求,您不需要再额外安装第三方的端口扫描工具(例如 nmap)来进行端口扫描。 macOS 网络实用工具 macOS 内置…