一、该文章简介

网络扫描黑客攻击信息收集的有效手段,通过扫描可以了解网络主机相关情况,为下一步渗透做准备。同时,扫描需要借助工具本篇介绍Kali Linux中的Nmap工具通过工具使用设置一定的参数,得到网络主机操作系统端口状态服务版本漏洞等信息

1、目标

技能目标:

知识目标:

2、任务

二、认识Kali Linux

Kali Linux是黑客攻击的常用工具集成了Nmap、Dmitry、Nikto网络扫描工具,Crunch、John等密码生成破解工具,Burp、Wireshark抓包工具,同时有基于Metasploit框架渗透模块等。

1、知识准备

1.1 Linux操作系统

Linux是一套免费使用和自由传播的类UNIX操作系统,是一个基于UNIX的多用户多任务支持多线程和多CPU的操作系统。并能运行主要的UNIX工具软件应用程序网络协议。同时支持32位和64位硬件。Linux继承了UNIX以网络核心设计思想,是一个性能稳定的多用户网络操作系统。
Linux与其他操作系统相比,具有开放源码没有版权、技术社区用户多等特点。开放源码使得用户可以自由裁剪、灵活性高,功能强大、成本低。尤其是系统中内嵌网络协议栈,经过适当的配置可以实现路由器功能。这些特点使得Linux成为路由交换设备的理想开发平台
Linux发行版本以及特点

版本名称 网址 特点 软件包管理器
Debian Linux www.debian.org 开放开发模式,并易于进行软件包升级 apt
Fedora Core www.redhat.com 拥有数量庞大的用户、优秀的社区技术支持、并有很多创新 yum(rpm) up2date(rpm)
CentOS www.centos.org CentOS是一种对RHEL源码再编译的产物 rpm
SUSE Linux www.suse.com 专业操作系统,易用的YaST软件包管理系统 YaST(rpm)
Mandriva www.mandriva.com 操作界面友好,使用图形配置工具支持NTFS分区大小变更 rpm
KNOPPIX www.knoppix.com 可以在CD上运行具有优秀的硬件检测适配能力,可作为系统的急救盘使用 apt
Gentoo Linux www.gentoo.org 高度的可定制性,使用手册完整 portage
Ubuntu www,.ubuntu.com 优秀的桌面环境 apt

1.2 Kali Linux系统

Kali Linux是一个基于Debian的Linux发行版,包括很多安全和取证方面的相关工具。其有32位和64位得镜像下载地址,可用于x86指令集。同时,它还有基于ARM架构得镜像,可用于树莓派和三星得ARM Chromebook用户可以通过硬盘、Live CD或Live USB来运行Kali Linux操作系统。
Kali Linux下载地址为:https://www.kali.org/downloads/
在这里插入图片描述
Kali Linux预装了许多渗透测试软件,包括Nmap、Wireshark、John the Ripper,以及Aircrack – ng。Kali-Linux有着永远开源免费支持多张无线网卡定制内核、支持无线注入、支持手机/PAD/ARM平台高度可定制及更新频繁等特点,是渗透测试者、安全研究者、电子取证者、逆向工程者及黑客常用的工具。

1.3 常用网络服务端

网络协议是指一些在网络上运行的、面向服务的、基于分布式程序软件模块。TCP协议、UDP协议是现实通信中的重要协议、它们为这些软件模块提供了通信端口
(1)TCP端口
TCP端口,即传输控制协议端口,需要客户端服务器之间建立连接,这样能提供可靠数据传输。常用的包括FTP服务的21端口、Telnet服务的23端口、SMTP服务的25端口及HTTP服务的80端口等等。
(2)UDP端口
UDP端口,即用户数据包协议端口,无须在客户端服务器之间建立连接安全性得不到保障,常见的有DNS服务的53端口、SNMP(简单网络管理协议)服务的161端口,QQ使用的8000和4000端口等等。

端口 服务 说明
21 FTP FTP服务所开放的端口,用于上传下载文件
22 SSH 用于通过命令行模式远程连接软件连接Linux实例
23 Telnet 用于Telnet远程登录ECS实例
25 SMTP SMTP服务所开放的端口,用于发送邮件
80 HTTP 用于HTTP服务提供访问功能例如Apache,Nginx等服务
110 POP3 用于POP3协议,POP3是电子邮件收发的协议
143 IMAP 用于电子邮件接收的协议
443 HTTPS 用于HTTPS服务提供访问功能。是一种能提供加密通过安全端口传输的协议
1433 SQL Server SQL Server的TCP端口,用于供对外提供服务
1434 SQL Server SQL Server的UDP端口,用于返回使用了哪个TCP/IP端口
1521 Oracle 通信端口
3389 Windows Server Remote Desktop Services 远程桌面服务端口,可以通过这个端口使用软件连接windows实例
8080 代理端口 同80端口一样,8080端口常用于WWW代理服务实现网页浏览,如果使用8080端口,访问网站或使用代理服务器时,需要在IP地址后面加上8080,安装Apache Tomcat服务后,默认服务端口为8080
137
138
139
NetBIOS协议137,138为UDP端口,通过网上邻居传输文件时使用的端口,通过139这个端口库进入的连接视图获得NetBIIOS/SMB服务,NetBIOS协议常被用于Windows文件、打印机共享和Samba

2、利用Dmitry进行端口扫描

Dmitry是Kali Linux中的信息收集工具。在Kali终端输入dmitry,回车即可
在这里插入图片描述

在dmitry后加上参数-p,扫描百度网开放的端口,结果显示百度服务器开放了80端口:
在这里插入图片描述

3、利用Nikto扫描网页漏洞

Nikto是一款使用Perl语言开发的开源代码的、功能强大的Web扫描评估软件,能对Web服务器多种安全项目进行测试,在Kali Linux终端输入nikto -H,回车即可
在这里插入图片描述
参数说明

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在nikto后加上参数-host扫描项目网站结果如图,带+号的是网站的敏感信息
在这里插入图片描述

4、利用Crunch生成密码字典

网站入侵靠的是数据字典,Crunch是Kali Linux中的字典生成工具,在Kali Linux终端输入crunch,回车:
在这里插入图片描述
输入man crunch即可查看手册
在这里插入图片描述
crunch参数说明

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
crunch后加上参数6 6 01234567890 – o mum6.dic生成6位的数字密码,并保存mum6.dic中:
在这里插入图片描述

三、Nmap主机发现和服务扫描

1、知识准备

1.1 Nmap介绍

Nmap是一个网络连接端扫描软件,用来扫描网络中主机开放的连接端口,确定哪些服务运行哪些连接端,并且推断计算机运行哪个操作系统,它是网络管理员必用的软件之一,还用于评估网络系统安全
Nmap命令的格式为:
Nmap [扫描类型][通用选项]{扫描目标说明}

1.2 Nmap扫描参数

下面哦我们nmap命令的参数进行说明
(1)扫描类型

参数 说明
-sT TCP connect()扫描,这是最基本的TCP扫描方式,这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求错误信息
-sS TCP同步扫描(TCP SYN),因为不必全部打开一个TCP连接,所以该技术通常称为半开扫描(halfopen),该技术最大的好处是很少有系统能够把这计入系统日志,不过,需要root权限来定制SYN数据包
-sF
-sX
-sN
秘密FIN数据包扫描、圣诞树、空扫描模式,这些扫描方式的理论依据是:关闭端口需要对你的探测包回应RST包,而打开的端口必须忽略问题的包
-sP ping扫描,用ping方式检查网络上哪些主机正在运行,当主机阻塞ICMP echo请求包时,ping扫描是无效的。Nmap在任何情况下都会进行ping扫描,只有目标主机处在运行状态时,才会进行后续的扫描。
-sU 如果想知道在某台主机上提供哪些UDP服务,可以使用此选项
-sA ACK扫描,这项高级的扫描方法通常可以用来穿过防火墙
-sW 滑动窗口扫描,类似于ACK扫描
-sR RPC扫描,和其他不同的端口扫描方法结合使用
b FTP反弹攻击,连接到防火墙后面的一台FTP服务器代理,接着进行端口扫描

(2)通用选项

参数 说明
-P0 在扫描之前,不ping主机
-PT 在扫描之前,使用TCP ping确定哪些主机正在运行
-PS 对于root用户,这个选项让Nmap使用SYN包而不是ACK包来对目标主机进行扫描
-PI 设置这个选项,让Nmap使用真正的ping(ICMP echo请求)来扫描目标主机是否正在运行
-PB 这是默认ping扫描选项,它使用ACK(-PT)和ICMP(-PI)两种扫描类型并行扫描。如果防火墙能够过滤其中一种包,使用这种方法就能够穿过防火墙
-O 这个选项激活对TCP/IP指纹特征fingerprinting)的扫描,获得远程主机的标志,也就是操作系统类型
-I 打开Nmap的反向标志扫描功能
-f 使用碎片IP数据包发送SYN、FIN、XMAS、NULL。包增加包过滤、入侵检测系统的难度,使其无法知道你的意图
v 冗余模式,强烈推荐使用这个选项,它会给扫描过程中的详细信息
-S<IP&gt; 在一些情况下,Nmap可能无法确定你的源地址(Nmap会告诉你),这时使用这个选项给出的IP地址
-g port 设置扫描的源端口。一些天真的防火墙和包过滤器规则集允许源端口为DNS(53)或者FTP-DATA(20)的包通过和实现连接,显然,如果攻击者把源端口修改为20或者53,就可以摧毁防火墙防护
-oN 把扫描结果重定向到一个可读的文件logfilename
-oS 把扫描结果输出到标准输出
host_timeout 设置扫描一台主机的时间,以ms单位默认的情况下,没有超时限制
max_rtt_timeout 设置对每次检测的等待时间,以毫秒为单位。如果超过这个时间限制,就重传或者超时默认值是大约9000ms
min_rtt_timeout 设置Nmap对每次检测至少等待你指定的时间,以ms为单位
-M count 设置进行TCP connect()扫描时,最多使用多少个套接字进行并行的扫描

(3)扫描目标

参数 说明
目标地址 可以为IP地址、CIRD地址等
-iL filename filename文件中读取扫描的目标
-iR 让Nmap自己随机挑选主机进行扫描
-p 这个选项让你选择要进行扫描的端口号范围
exclude 排除指定主机
excludefile 排除指定文件中的主机

2、Nmap发现存活主机

利用Nmap工具对Kali Linux所在网段进行扫描,在Nmap后加上-sP 192.168.217.0/24 -T5(以速度5进行扫描),Host is up表示存活的主机:

nmap 192.168.217.0/24 -T5

在这里插入图片描述

3、Nmap扫描主机端口

利用Nmap主机对网段中存活的主机(192.168.217.143)进行端口扫描,在nmap后面加上-p 1-65535 -T5,可以看到目标主机开放了以下几个端口:
在这里插入图片描述

nmap 192.168.217.143 -p 1-65535 -T5

4、Nmap扫描主机服务版本

继续对目标主机192.168.217.143进行服务版本的扫描,输入nmap -sV 192.168.217.143,可以看到主机是一个Windows系统,开放服务有以下几个,同时显示了对应的服务版本
在这里插入图片描述

四、Nmap漏洞发现与渗透

1、知识准备

1.1 Nmap扫描中常见漏洞检测脚本

在Nmap扫描中可以利用漏洞脚本检测漏洞类型:

脚本名 描述
ftp – anon.nse 检查目标FTP是否允许匿名登录自动检测目录是否可读写
ftpbrute.nse FTP爆破脚本,默认只会尝试一些比较简单的弱口令
ftpvuln – cve2010 -4221. nse ProFTPD 1.3.3c之前的 netio.c 文件中的 pr_netio_telnet_gets 函数存在多个溢出
ftpproftpdbackdoor. nse 检查 ProFTPD 服务是否被插入后门,如果被插入后门,会运行脚本弹出 shell 指令
ftp – vsftpdbackdoor. nse 检查 VSFTPD服务是否被插人后门,如果被插人后门,会运行脚本弹出 shell 指令
sshvl.nse 检查SSH 服务(版本1)是否存在被中间人攻击的漏洞
smtpbrute. nse 简单爆破 SMTP 弱口令
smtp – enumusers. nse 枚举目标 SMTP 服务器的邮用户名,前提是目在此错误配置
smtp – vuln – cve2010 -4344. nse Exim 4.70之前的版本 string 文件中的 string_vformat 函数存在堆溢出
smtp – vuln – cve2011 -1720. nse osfix 2.5.13 之前的版本、2.6.10 之前的2.6. 版本、2.7. 之前的2.7.x 版本和 2.8.3 之前的 2.8 版本,存在溢出
smtp – vuln – cve2011 -1764. nse 检查 Exim dkim_exim_verify_finsh()是否存在格式字符串漏洞,此漏洞现在不常见
pop3 – brute. nse POP简单口令爆破
imap – brute. nse IMAP简单口令爆破
dns – zone – transfer. nse 检查目标 NS 服务器是否允许传送,如果允许,直接把子域拖出来即可
hostmap –ip2hosts.nse 旁站查询,目测了一下脚本,用的是 p2hosts 接口,不过该接口似平早已停用,如果想继续用,可自行到脚本里把接口部分代码改掉
informix – brute. nse Informix爆破脚本
mysqlemptypassword.nse MySQL 扫描 root 空密码,比如批量抓 MySQL
mysql– brute.nse MySOLroot 弱口简单爆破
mysqldumphashes.nse 检查能否导出MySOL中所有用户哈希
mysqlvuln – cve2012 -2122.nse MySOL身份认证漏洞 (MariaDB和MySOL 5.1.61,52115355.522),利用条件有些苛刻(需要目标的MySOL 是自己源码编译安装的,这样的成功率相对较高)
ms – sqlemptypassword.nse 扫描MSSOL sa空密码,比如批量抓MSSOL
ms – sql – brute. nse SA弱口令爆破
ms – sql – xp – cmdshell nse 利用xp_cmdshell远程执行系统命令
ms – sqldumphashes. nse 检查能否导出MSSOL中所有数据库用户的密码对应的哈希值
pgsql – brute. nse 尝试爆破 Postgresql
telnet – brute. nse 简单爆破Telnet
oracle – brute – stealth. nse 尝试爆破Oracle
httpiiswebday – vuln. nse 检查否有IIS50和IS60的WebDAV可写漏洞
http – vuln – cve2015 – 1635nse IIS60远程代码执行
smb – vuln – ms08 -067 nse
smb – vuln -ms10-054.nse
smb– vuln – ms10 – 061. nse
smb – vuln – ms17 -010. nse
SMB远程执行

1.2 Metasploit介绍

Metasploit是一款开源安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题验证服务漏洞,对系统和服务安全性进行评估,提供安全风险情报。这些功能包括智能开发代码审计、Web应用扫描、社会工程。Metasploit适用于所有流行的操作系统,Kali Linux已经预装了Metasploit框架

2、Nmap扫描系统漏洞

首先我们依旧对192.168.217.143的扫描得知目标主机开放了445端口(smb服务),那么我们利用Nmap中著名的漏洞检测脚本smb – vuln描述7 -010.nse对目标主机进行扫描,如图,目标主机445端口存在着严重的漏洞。
在这里插入图片描述

nmap -p445 --script smb-vuln-ms17-010.nse 192.168.217.143

在这里插入图片描述

3、Metasploit漏洞渗透

打开Kali Linux的Metasploit模块,查找MS17010漏洞模块,选择exploit目录下的ms17_010_enternalblue模块并查看设置参数,此时只有RHOST一个参数要配置,设置RHOST为目标主机地址192.168.217.143并进行攻击主机的命令shell
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

原文地址:https://blog.csdn.net/weixin_63172698/article/details/134710173

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_25674.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注