本文是阅读《基于Kali_Linux的渗透研究》之后写下的笔记。
渗透信息收集
主机探测与端口扫描
活跃主机扫描
ICMP Ping
Metasploit主机发现模块
modules/auxiliary/scanner/discovery
目录下的模块,主要有arp_sweep
、ipv6_multicast_ping
、ipv6_nerghbor
、udp_probe
、udp_sweep
。arp_sweep
使用ARP请求美剧本地局域网络中的所有活跃主机,udp_sweep
通过发送UDP数据包探查指定主机是否活跃,并发现其主机上的UDP服务。Nmap主机探测
nmap -sn 192.168.0.1/24
C段扫描,发现活跃主机
操作系统识别
nmap -O [靶机IP地址]
,如果识别的信息不够,可以加上-sV
参数
端口扫描与服务类型探测
目前常见的端口扫描有:TCP Connect 扫描、TCP SYN 扫描 、TCP ACK 扫描 、TCP FIN扫描。
Nmap扫描端口
常见的扫描类型参数有:
-sT
TCP Connect 扫描-sS
TCP SYN扫描-sP
通过发送ICMP Ping 请求探测主机是否存活,原理同Ping-sA
TCP ACK 扫描
常见的扫描选项有:
-Pn
在扫描之前,不发生ICMP echo 测试目标是否活跃-O
启用TCP/IP协议栈的指纹特征来获取主机操作系统类型信息-F
快速扫描模式,只扫描默认端口
Python编程实现端口扫描
使用BSD套接字的接口进行编程
Nmap探测服务
端口扫描可以得到服务的简单信息,如果需要获取更加详细的服务版本信心,需要添加-sV
选项。
探测结果分析
将探测到的信息汇总在表上,将端口和服务信息进行归类,并按照可能的攻击路线进行分类。
网络服务扫描与查点
对网络上特定服务进行扫描,可以增加渗透成功的概率。在确定开放端口后,通常会对相应端口上运行服务的信息进行更加升入的挖掘,这被称为服务查点。
Telnet 服务扫描
Telnet是一个历史悠久但缺乏安全性的网络服务,由于Telnet没有对传输过程中的数据进行加密,这使得使用Telnet的网络设备存在安全风险。可以使用Metasploit中的辅助模块telnet_version
进行Telnet服务查点。
SSH服务扫描
与Telnet服务相比,SSH采用的是安全的加密信息传输方式。可以使用Metasploit中的ssh_version
进行SSH服务查点。
FPT服务查点
FPT(File Transfer Protocol)是用于在网络上进行文件传输的一套协议标准,使用的是客户/服务模式,属于网络传输协议的应用层。可以使用Metasploit中的fpt_version
进行FPT服务查点。
数据库服务查点
这是漏洞频发的“重灾区”,常见的有:SQL Server 的1433端口、Oracle SQL的1521端口、MySQL的3306端口、Postgre SQL的5453。可以使用Metasploit中不同的数据库查询模块进行服务查点:msssql_ping
、tnssnr_version
、mysql_version
、postgres_version
。
网络漏洞扫描
常见的获取漏洞的方法是使用漏洞扫描工具,主要有Nessus和OpenVas,还可以直接到官方网站获取一些设备或系统的漏洞信息。
Web渗透测试
常见的Web攻击类型
SQL注入攻击
SQL注入漏洞产生需要满足两个条件:
- 参数用户可控,即前端传给后端的参数内容是用户可以控制的
- 参数是带入数据库查询,即传入的参数拼接到SQL语句且带入数据库查询
SQL注入实例分析
测试是否存在注入点,以及注入的类型
获取数据库相关信息
首先使用
order by num
判断数据库查询字段数,然后通过union select 1,2,3...
联合查询语句判断出具体显示字段的显示位,确定显示位后,可以使用SQL注入常用的内置函数获取数据库的信息,最后获取数据库中表名和列名并导出数据库中的数据,验证数据的有效性可以到www.cmd5.com。
XSS跨站脚本攻击
跨站脚本攻击允许用户将恶意代码注入到网页中,其他使用者在浏览网页时会受到影响/根据XSS脚本注入方式的不同,XSS攻击一般可以分为三种:反射型XSS、存储型XSS、DOM型XSS。
- 反射性XSS又称非持久性XSS,此攻击类型具有一次性,其攻击方式为:攻击者通过电子邮件等方式将包含XSS代码的恶意链接发送给目标用户。
- 存储型XSS又称为持久型XSS,攻击脚本将被永久放在服务器的数据库或文件中。这种攻击多见于论坛、博客和留言板。
- DOM型XSS是一种特殊的反射型XSS,它是基于DOM文档对象模型的一种漏洞。DOM型XSS攻击方式为:用户请求一个专门被设计的URL,它由攻击者提交且其中包含XSS代码,而服务器的响应不会以任何形式包含攻击者的脚本,当用户的浏览器处理这个响应时,DOM对象就会处理XSS代码。
文件上传攻击
上传webshell工具:BurpSuit
终端主机渗测试
网络服务渗透
网络服务渗透攻击指的是以远程主机所运行的网络服务为目标,向目标服务开放端口发送内嵌而已内容并符合该网络协议的数据包,利用网络服务程序内部的安全漏洞,劫持目标程序控制流,实施远程执行代码的行为,最终达到控制目标系统的目的。
在利用漏洞进行渗透测试时,需要注意:
- 网络环境需要满足需求,测试主机和目标主机至少能够互相ping通
- 高危漏洞要明确,需要通过漏洞扫描工具识别
- 有可能会由于网络环境不稳定导致入侵失败,需要多次尝试
Windows Server 2003
- Windows远程桌面漏洞:MS12-020
- SMB网络服务漏洞:MS17-010
Linux
- Samba服务渗透攻击
- Tomcat 服务渗透攻击
- Telnet远程服务渗透攻击
Windows 7
- SMB服务漏洞:MS17-010
- DNS解析漏洞:MS11-030