一、渗透测试流程
渗透测试分为白盒测试和黑盒测试。
白盒测试:就是在知道目标网站源码和其他一些信息的情况下对其进行渗透,内网测试。
黑盒测试:就是只告诉我们这个网站的url,其他什么都不告诉,然后让你去渗透,模拟黑客对网站的渗透。
如图为一般渗透测试流程介绍:
渗透测试基本分为以下8个步骤为:
1.明确目标
确定范围:测试目标的范围、ip、域名、内外网、测试账户。
确定规则:能渗透到什么程度,所需要的时间、能否修改上传、能否提权等等。
确定需求:web应用的漏洞、业务逻辑漏洞、人员权限管理漏洞等等。
2.信息收集
方式:主动扫描,开放搜索等。
开放搜索:利用搜索引擎获得:后台、未授权页面、敏感url等等。
基础信息:IP、网段、域名、端口。
应用信息:各端口的应用。例如web应用、邮件应用等等。
系统信息:操作系统版本
版本信息:所有这些探测到的东西的版本。
服务信息:中间件的各类信息,插件信息。
人员信息:域名注册人员信息等。
防护信息:试着看能否探测到防护设备。
3.漏洞探测
利用上一步中列出的各种系统,应用等使用相应的漏洞。
方法:
(1)漏扫,awvs,IBM appscan等。
(2)结合漏洞去exploit-db等位置找利用。
(3)在网上寻找验证poc。
内容:
系统漏洞:系统没有及时打补丁。
WebSever漏洞:WebSever配置问题。
Web应用漏洞:Web应用开发问题。
其它端口服务漏洞:各种21/8080(st2)/7001/22/3389。
通信安全:明文传输,token在cookie中传送等。
4.漏洞验证
将上一步中发现的有可能可以成功利用的全部漏洞都验证一遍。结合实际情况,搭建模拟环境进行试验。成功后再应用于目标中。
自动化验证:结合自动化扫描工具提供的结果。
手工验证,根据公开资源进行验证。
试验验证:自己搭建模拟环境进行验证。
登陆猜解:有时可以尝试猜解一下登陆口的账号密码等信息。
业务漏洞验证:如发现业务漏洞,要进行验证。
公开资源的利用
exploit-db/wooyun/
google hacking
渗透代码网站
通用、缺省口令
厂商的漏洞警告等等。
5.信息分析
为下一步实施渗透做准备。
精准打击:准备好上一步探测到的漏洞的exp,用来精准打击。
绕过防御机制:是否有防火墙等设备,如何绕过。
定制攻击路径:最佳工具路径,根据薄弱入口,高内网权限位置,最终目标。
绕过检测机制:是否有检测机制,流量监控,杀毒软件,恶意代码检测等(免杀)。
攻击代码:经过试验得来的代码,包括不限于xss代码,sql注入语句等。
6.获取所需
实施攻击:根据前几步的结果,进行攻击。
获取内部信息:基础设施(网络连接,vpn,路由,拓扑等)。
进一步渗透:内网入侵,敏感目标。
持续性存在:一般我们对客户做渗透不需要。rookit,后门,添加管理账号,驻扎手法等。
清理痕迹:清理相关日志(访问,操作),上传文件等。
7.信息整理
整理渗透工具:整理渗透过程中用到的代码,poc,exp等。
整理收集信息:整理渗透过程中收集到的一切信息。
整理漏洞信息:整理渗透过程中遇到的各种漏洞,各种脆弱位置信息。
8.形成报告
按需整理:按照之前第一步跟客户确定好的范围,需求来整理资料,并将资料形成报告。
补充介绍:要对漏洞成因,验证过程和带来危害进行分析。
修补建议:当然要对所有产生的问题提出合理高效安全的解决办法。
二、渗透测试工具介绍
1.IP 端口 系统指纹信息搜集——NMAP
NMAP是一款功能强大、界面简洁清晰的连接端口扫描软件。Nmap中文版能够轻松扫描确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统,从而帮助用户管理网络以及评估网络系统安全,堪称系统漏洞扫描之王!
2.半自动web漏洞扫描工具——Burp Suite
Burp Suite -一款功能强大的渗透测试工具,此软件能够用来分析那些不可预知的应用程序,包括会话令牌和主要数据项的随机性,还可以应用智能感应的网络爬虫,能完整的枚举应用程序的内容和功能。
Burp Suite 是用于攻击WEB 应用程序的集成平台,包含了许多工具。Burp Suite 为这些工具设计了许多接口,以加快攻击应用程序的过程,并能处理对应的HTTP消息、持久性、认证、代理、日志、警报。
3.全自动web漏洞扫描工具——AWVS
Acunetix Web Vulnerability Scanner(简称AWVS)是自动化应用程序安全测试工具,支持windows平台,主要用于扫描web应用程序上的安全问题,如SQL注入,XSS,目录遍历,命令注入等。
4.Web应用安全测试工具——AppScan
IBM AppScan是一款非常好用且功能强大的Web应用安全测试工具,曾以 Watchfire AppScan 的名称享誉业界,Rational AppScan 可自动化 Web 应用的安全漏洞评估工作,能扫描和检测所有常见的 Web 应用安全漏洞,例如 SQL 注入(SQL-injection)、跨站点脚本攻击(cross-site scripting)、缓冲区溢出(buffer overflow)及最新的 Flash/Flex 应用及 Web 2.0 应用曝露等方面安全漏洞的扫描。
5.SQL注入漏洞利用工具——SQLMAP
sqlmap 是一个开源渗透测试工具,它可以自动检测和利用 SQL 注入漏洞并接管数据库服务器。它具有强大的检测引擎,同时有众多功能,包括数据库指纹识别、从数据库中获取数据、访问底层文件系统以及在操作系统上带内连接执行命令。
6.XSS跨站脚本利用工具——Beef-XSS
BeEF是The Browser Exploitation Framework的缩写。它是一种专注于Web浏览器的渗透测试工具。
随着对包括移动客户端在内的客户网络攻击的担忧日益增加,BeEF允许专业渗透测试人员使用客户端攻击媒介来评估目标环境的实际安全状况。与其他安全框架不同,BeEF超越了强化的网络边界和客户端系统,并在一个开放的环境中检查可利用性:Web浏览器。BeEF将挂钩一个或多个Web浏览器,并将它们用作启动定向命令模块以及从浏览器上下文中对系统进一步攻击的滩头阵地。
7.系统漏洞发现收费自动化工具——Nessus
Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件。总共有超过75,000个机构使用Nessus 作为扫描该机构电脑系统的软件。尽管这个扫描程序可以免费下载得到,但是要从Tenable Network Security更新到所有最新的威胁信息,需要付费后才能获取。在Linux, FreeBSD, Solaris, Mac OS X和Windows系统下都可以使用 Nessus。
8.系统漏洞发现开源自动化工具——OpenVAS
OpenVAS是类似Nessus的综合型漏洞扫描器,可以用来识别远程主机、Web应用存在的各种漏洞。Nessus曾经是业内开源漏洞扫描工具的标准,在Nessus商业化不再开放源代码后,在它的原始项自中分支出openVAS开源项目。经过多年的发展,openVAS已成为当前最好用的开源漏洞扫描工具,功能非常强大,甚至可以与一些商业的漏洞扫描工具媲美。OpenVAS使用NVT(Network Vulnerabilty Test网络漏洞测试)脚本对多种远程系统(包括Windows、Linux、UNix以及Web应用程序等)的安全问题进行检测。