目录
一、网络配置
二、nat模式
1.检查服务
2.创建虚拟网卡
3.创建kali的网卡信息
三、桥接模式
四、nmap的使用
1.端口扫描
1>扫描主机端口
2>扫描指定端口
2.主机扫描
3.服务识别
4.系统识别
5.漏洞检测
6.导出扫描结果
五、msfconsole的使用
1.简介
2.使用
1>端口扫描
2>进行服务的扫描
六、ms17-010(永恒之蓝)的复现
1.原理
2.复现
1>准备
2>步骤
七、ms08_067的复现
1.原理
2.复现
1>准备
2>步骤
一、网络配置
ifconfig可以查看网络接口
可以使用ifconfig eth0 192.168.1.100 netmask 255.255.255.0
设置网络接口的IP地址和子网掩码(root下)
注:子网掩码主机部分是0,也就是说最后结尾必须为0
补充:
-
eth0:代表以太网接口,通常用于连接到局域网(LAN)或互联网。在Kali Linux中,eth0是物理或虚拟的以太网接口,通过以太网线连接到路由器或交换机,用于进行网络通信。它允许Kali Linux机器与其他设备在同一网络中进行数据传输和通信。
-
lo:代表本地回环接口(Loopback Interface),也被称为环回接口。这是一个特殊的虚拟网络接口,用于在计算机内部进行通信。当数据包发送到lo接口时,操作系统会立即将其返回给发送者,而不会经过任何实际的网络传输。lo接口通常用于本地主机上的服务和应用程序之间的通信,如本地网络服务、测试等。
二、nat模式
nat(网络地址转换协议),nat连接就是主机分配了一个ip地址给虚拟机,相当于是和主机共享一个IP,然后虚拟机出外网的时候,先到主机,再从主机出去。nat的作用就是让多台设备共用一个外网IP上网
所以主机的ip地址可以和虚拟机的ip不在同一个网段,而虚拟机的获取方式只有dhcp一种。
1.检查服务
要检查以下服务是否开启
用win+r输入services.msc
2.创建虚拟网卡
这些服务确认都开启后就可以进行下一步操作了
接下来用win+r输入ncpa.cpl打开网络适配器
一定要一致才能保证域名解析正确
3.创建kali的网卡信息
打开kali终端并进入root
vi /etc/network/interfaces 打开kali网卡文件
这个文件就是网卡
注:Linux系统中,所有东西的存在形式都是文件
按i可进行修改,然后添加如下信息
auto eth0
iface eth0 inet dhcp
配置完以后,按Esc键,然后再按;+shift,输入wq,之后回车就可以回到终端界面,然后输
systemctl restart networking //重启网卡
重启网卡后再次输入ifconfig
可以看到成功获取了IP地址
ping一下百度,可以访问外网
三、桥接模式
桥接器是用于在两个或多个网段或子网间提供通信路径的互联设备。
桥接就相当于,将创建的虚拟网卡,变成交换机,与主机的网卡连接,使kali可以上网。
也就是说虚拟机和主机在同一个局域网下,共同使用一个网卡去访问外网,所以桥接就必须使虚拟机的ip和主机的ip在同一个网段下
首先完成如下图所示配置
接下来需要先查看一下本主机的网卡名,直接搜索网络连接
记住WLAN的名字,然后按下图操作
第三步要与上面主机的WLAN相同
桥接获取的ip地址,与主机是处于同一网段的
首先要看一下主机的IP(网段是172.16.17.0)
补充:
网段(network segment)指的是一个计算机网络中使用同一物理层设备(如传输介质、中继器、集线器等)能够直接通讯的那一部分。由具有相同网络地址的IP地址集合组成,通过子网掩码进行划分。子网掩码的作用是将IP地址划分为网络地址和主机地址两部分,从而确定网络中的设备是否属于同一网段。网段的划分是网络管理的核心要素,旨在优化网络流量、提升性能和保障安全。例如,从192.168.0.1到192.168.0.255之间的IP地址就构成了一个网段。
再对比虚拟机的IP
四、nmap的使用
namp有五种基本功能:端口扫描,主机探测,服务识别,系统识别,漏洞检测。
1.端口扫描
1>扫描主机端口
nmap 主机IP
nmap在1.81秒内扫描了1000(默认)个端口,其中只有5个开放,其他的995个都关闭了
补充:
TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议
135端口:用于远程的打开对方的telnet服务 ,用于启动与远程计算机的 RPC 连接,很容易就可以就侵入电脑。
139端口:用于获得获得NetBIOS/SMB服务。
445端口:用于在局域网中轻松访问各种共享文件夹或共享打印机,通过该端口能偷偷共享硬盘,甚至会在悄无声息中将硬盘格式化掉。
902端口:busybox进程的一个功能端口(具体什么功能未知)
912端口:虚拟机的监听端口
2>扫描指定端口
nmap IP -p 指定端口 //可以一次扫描单个端口、多个端口、或扫描一个范围的端口
补充:
端口状态
open(开放的):应用程序正在该端口接收TCP连接或者UDP报文。
closed(关闭的):关闭的端口对于Nmap也是可访问的(它接受Nmap的探测报文并作出响应), 但没有应用程序在其上监听。
filtered(被过滤的):包过滤阻止探测报文到达端口, Nmap无法确定该端口是否开放。过滤来自于防火墙。
unfiltered(未被过滤的):未被过滤状态意味着端口可访问,但Nmap不能确定它是开放还是关闭。
open|filtered(开放或者被过滤的):当无法确定端口是开放还是被过滤的,Nmap就把该端口划分成 这种状态。
closed|filtered(关闭或者被过滤的):该状态用于Nmap不能确定端口是关闭的还是被过滤的。
LPORT:本地监听地址端口号,回连端口
2.主机扫描
扫描网段中有哪些主机在线,不扫描端口,只扫描存活主机,本质上是Ping扫描,能Ping通有回包,则主机在线。
nmap -sP 172.16.17.0/24 //扫描这个网段有哪些主机存活
nmap -sn 172.16.17.0/24
#172.16.17.0是子网的起始IP地址,/24表示子网掩码是255.255.255.0,即前24位是网络部分,后8位是主机部分。扫描将包括192.168.31.1到192.168.31.254范围内的所有IP地址。
3.服务识别
默认显示端口对应的服务,但不显示服务版本。
可以使用-sV显示服务版本
补充:
VERSION字段显示服务的详细版本。
4.系统识别
使用-O
注:当识别不出具体操作系统时会将可能的操作系统列出。
5.漏洞检测
nmap --script=vuln 192.168.222.144
#--script=vuln:指定Nmap运行与漏洞有关的脚本,这些脚本可以检测常见的漏洞。
#script后跟不同的变量以实现特定的功能。
补充:
脚本分类
auth:负责处理鉴权证书(绕开鉴权)的脚本;
broadcast:在局域网内探查更多服务开启状况,如dhcp、dns、sqlserver等服务;
brute:提供暴力破解方式,针对常见的应用,如http、snmp等;
default:使用-sC或-A选项扫描时候默认的脚本,提供基本脚本扫描能力;
discovery:对网络进行更多的信息,如SMB枚举、SNMP查询等;
dos:用于进行拒绝服务攻击;
exploit:利用已知的漏洞入侵系统;
external:利用第三言的数据库或资源,例如进行whois解析;
fuzzer:模糊测试的脚本,发送异常的包到目标机,探测出潜在的漏洞;
intrusive:入侵性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽;
malware:探测目标机是否感染了病毒、开启了后门等信息;
safe:此类与intrusive相反,属于安全性脚本;
version:负责增强服务与版本扫描(Version Detection)功能的脚本;
vuln:负责检查目录机是否有常见的漏洞(Vulnerability),如是否有MS08_067
6.导出扫描结果
使用-oN
注:同样可以导出到xml文件中
五、msfconsole的使用
1.简介
简称msf是一款常见的渗透测试工具,包含了常见的漏洞利用模块和生成各种木马,方便于安全人员的使用。
2.使用
打开msfconsole
1>端口扫描
查看端口扫描模块
使用端口扫描模块(这里用的是上面扫描出的5)
使用端口扫描模块(里面的yes都要填)
设置目标IP及线程(100)然后执行(使用run或exploit)
其中open是开放的端口
退出msf
back
2>进行服务的扫描
首先查看smb_version
使用服务模板
查看模块信息
设置目标IP和线程(10)进行扫描
六、ms17-010(永恒之蓝)的复现
1.原理
永恒之蓝是在Windows的SMB服务处理SMB v1请求时发生的漏洞,这个漏洞导致攻击者在目标系统上可以执行任意代码。通过永恒之蓝漏洞会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。
2.复现
1>准备
攻击机:kali 2023,IP地址:172.16.17.27
靶机:Windows7,IP地址:172.16.17.100(改:Windows xp2,IP地址:172.16.17.185)
注:二者都要设置为桥接模式
2>步骤
先查看是否能互相ping通
首先在攻击机上使用nmap扫一下该网段靶机的存活情况
扫描靶机端口前1000的开放情况
接着使用命令扫描该主机的操作系统类型
接下来可以使用 nmap
自带的脚本扫描该靶机上的漏洞
这里不知道为什么没有扫出来漏洞,搜了也不知道,就换用Windows xp2了
发现存在 ms17-010
(永恒之蓝漏洞),使用 msfconsole的
search
命令,搜索相关漏洞
使用use
命令,选择相关模块
补充:
“EternalBlue SMB Remote Windows Kernel Pool Corruption” 指的是一个利用MS17-010漏洞的攻击模块。
这个模块利用了Windows操作系统中SMB服务的漏洞,允许远程执行代码,进而导致对Windows内核池的破坏。这个漏洞使得攻击者可以远程执行恶意代码,从而获取系统权限或者对系统进行破坏。
show options
,显示出有效的攻击载荷
使用 set 命令,设置一下 RHOSTS
(靶机的ip地址)
设置完成之后,使用 run
或者 exploit
命令执行攻击。
运行成功会出现meterpreter >
Meterpreter 是 Metasploit 的一个扩展模块,可以调用 Metasploit 的一些功能,
对目标系统进行更深入的渗透,如获取屏幕、上传/下载文件、创建持久后门等。
七、ms08_067的复现
1.原理
MS08-067漏洞是通过MSRPC over SMB通道调用Server程序中的NEtPathCanonicalize函数时触发的,而 NetPathCanonicalize 函数在远程访问其他主机时,会调用 NetpwPathCanonicalize 函数,对远程访问的路径进行规范化,而在 NetpwPathCanonicalize 函数中存在的逻辑错误,造成栈缓冲区可被溢出,而获得远程代码执行(Remote Code Execution)。漏洞全称是“Windows Server服务RPC请求缓冲区溢出漏洞”,攻击者利用受害者主机默认开放的SMB服务端口445,发送特殊RPC(Remote Procedure Call,远程过程调用)请求,造成栈缓冲区内存错误,从而被利用实施远程代码执行。
补充:
445端口
实现一些共享文件夹以及一些共享打印机的访问工作,只要在局域网络的范围之内就能进行轻松的访问工作,其中主要包括SMB网络服务(服务器消息块,首先提供了 Windows 网络中最常用的远程文件与打印机共享网络服务,其次,SMB的命名管道是 MSRPC 协议认证和调用本地服务的承载传输层)和MSRPC网络服务(微软远程过程调用,是对 DCE/RPC 在 Windows 系统下的重新改进和实现,用以支持Windows系统中的应用程序能够无缝地通过网络调用远程主机上服务进程中的过程)。
路径规范化
把路径字符串中的 / 转换成 \,同时去除相对路径。
2.复现
1>准备
攻击机:kali 2023,IP地址:172.16.17.27
靶机:Windows xp sp2 ,IP地址:172.16.17.185
2>步骤
先确认攻击机和靶机之间是可以ping通的
先是xp系统,也就是靶机ping攻击机,ping成功,拿kali去ping靶机xp系统也能ping得通,两台机器之间能互相ping通,就可以开始对漏洞信息得搜集和攻击了
使用nmap自带的脚本扫描一下靶机上的漏洞,没发现漏洞,检查后发现是防火墙未关闭,445端口未打开
445端口已打开
存在ms08-067漏洞
打开 msfconsole,搜索ms08-067漏洞:search ms08-067
进入该漏洞模块的使用:use 0 或 use exploit/windows/smb/ms08_067_netapi
显示出有效的攻击载荷:show options
显示出可以被攻击的靶机的操作系统型号:show targets
选择简体中文靶机进行攻击:set target 5(Windows XP SP2 英文版 (NX)),设置靶机ip:set RHOSTS 172.16.17.185
再次显示有效的攻击载荷:show options(确保靶机ip设置成功)
使用 run
或者 exploit
命令执行攻击
运行成功meterpreter >,可远程命令执行。