什么是渗透测试
渗透测试就是模拟真实黑客的攻击手法对目标网站或主机进行全面的安全评估,与黑客攻击不一样的是,渗透测试的目的是尽可能多地发现安全漏洞,而真实黑客攻击只要发现一处入侵点即可以进入目标系统。
一名优秀的渗透测试工程师也可以认为是一个厉害的黑客,也可以被称呼为白帽子。
一定要注意的是,在进行渗透测试前,需要获得目标客户的授权,如果未获得授权,千万不要对目标系统进行渗透测试,后果请查看《网络安全法》。同时要有良好的职业操守,不能干一些违法的事情。
针对网络的渗透测试项目一般包括:信息收集、端口扫描、指纹识别、漏洞扫描、绘制网络拓扑、识别代理、记录结果等。下面就一一介绍。
dns 信息包含 ( A, MX, NS, SRV, PTR, SOA, CNAME ) 记录,了解不同记录的含义至关重要。
A 记录列出特定主机名的 IP 地址。这是名称解析的重要记录。
CNAME 标准名称 此记录指定标准主机名的别名。
MX 邮件交换器此记录列出了负责接收发到域中的电子邮件的主机。
NS 名称服务器此记录指定负责给定区域的名称服务器。
SRV 指明某域名下提供的服务
SOA 表明了 DNS 服务器之间的关系。SOA 记录表明了谁是这个区域的所有者。
PTR 反向 DNS 查找,借助于 IP ,您可以获得与其关联的域。
ping 作为主机发现的重要工具,能够确定主机是否存在。
root@kali:~# nmap -sn 192.168.169.128
root@kali:~# nmap -sn 192.168.169.128-20 IP范围
root@kali:~# nmap -sn 192.168.169.* 通配符
root@kali:~# nmap -sn 192.168.169.128/24 子网
不管域名还是 IP 的 whois 信息对我们渗透测试都是非常重要的。
root@kali:~# whois testdomain.com
Traceroute 是一个网络诊断工具,显示数据包中的路由路径和传输延迟。
Linux:rtraceroute google.com
windows:tracert google.com
端口扫描作为发现网络中存在的服务信息的重要方式,在网络渗透测试中是不可或缺的一步,最常用的工具就是 nmap 了。
root@kali:~# nmap –open gbhackers.com 扫描所有端口
root@kali:~# nmap -p 80 192.168.169.128 扫描指定端口
root@kali:~# nmap -p 80-200 192.168.169.128 扫描端口列表
root@kali:~# nmap -p “*” 192.168.169.128 扫描所有端口
通常针对端口的指纹识别,简单的可以使用 nc、telnet 等连接该端口,通常会返回一些 banner,通过 banner 可以大概知道该端口上运行着什么样的服务。
root@kali:~# nmap -A 192.168.169.128
root@kali:~# nmap -v -A 192.168.169.128 显示扫描详细信息
在识别端口指纹后,接下来的步骤就是通过指纹信息,查找相应的漏洞进行测试,确定其是否存在漏洞。
推荐工具:Nessus
Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件。
绘制网络拓扑对于我们理解企业内部网络非常关键,它让我们在下一步渗透测试时思路更加清晰,让我们的渗透测试更加顺利有效。
推荐工具:LANmanager, LANstate, Friendly pinger, Network view
有些时候,我们在做渗透测试的时候,我们所处的网络并不通透,通常需要代理接入到内网中,所有使用代理软件是非常关键的。
常用代理软件: Proxifier, SSL Proxy, Proxy Finder等
在渗透测试中的任何环节都是需要记录下来的,不仅仅是为了方便我们的整个渗透测试的过程,而且在客户验收的时候也很关键,可以避免不必要的麻烦。
针对这个记录方式不同的公司有不同的标准,依照标准来即可。
渗透框架
侦查工具
发现工具
端口扫描
枚举工具
漏洞扫描
密码破解
嗅探工具
中间人攻击
漏洞利用
工具何其多,适合自己才是最关键的,在不同的环境使用不同的工具,别人的经验只有自己亲自测试之后才能真正转化为自己的经验,俗话说,光说不练假把式。我这也算是假把式了,其中很多工具都没用过,如何使用我就不教大家了,都是聪明人,一学就会,欢迎投稿。