1 概述
渗透测试:是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。
信息收集:减少渗透测试范围,加强针对性,不破坏,仅踩点
网站,搜索引擎,站长工具:组织架构,管理架构,合作伙伴(钓鱼攻击),业务,产品,公司大事,员工信息,招聘信息,企业位置(wifi无线网络渗透测试),使用技术,IP段端口和服务,二级域名,whois信息,使用的硬件软件信息,可能的网络安全配置和网络拓扑。
漏洞信息:公开漏洞平台,渗透报告。
黑客入侵:运用计算机技术,在未授权的情况下挫败信息网络访问控制措施、策略,非法访问、利用信息系统,谋取资金、物品、信息等。
安全漏洞:计算机信息系统在需求、设计、实现、配置、运行等过程中,有意或无意产生的缺陷。这些缺陷以不同形式存在于计算机信息系统的各个层次和环节之中,一旦被恶意主体所利用,就会对计算机信息系统的安全造成损害,从而影响计算机信息系统的正常运行。
2 黑客攻击流程
2.1 目标选取
扫描网络:在出招之前需要了解、分析对手,掌握目标的弱点,熟悉目标的网络环境。
被动扫描(踩点):被动式信息收集,就是在不接触目标的情况下收集与目标相关的信息。
工具:Google Hacking,Shodan,Discover Scripts
主动扫描:主动式信息收集,就是通过主动扫描确认目标安装的操作系统和网络服务等信息,并发现潜在漏洞的过程。
工具:Nmap,Nexpose/Nessus,Peeping Tom。
Web扫描:完成基本的网络、系统、主机、端口、Banner等信息的扫描和截图之后,大致揭露了目标的网络结构和主要系统。
工具:Burp Suite,ZAP,WebScarab。
2.2 资料收集
公开资料和技术文档。
2.3 确定可访问接口与优先级排序
2.4 逐接口分析与测试:模糊测试,静态二进制分析,动态二进制分析
2.5 发现漏洞利用
2.6 嗅探
非常隐蔽地获取网络大量敏感信息,是一种有效的“被动攻击”技术。与主动攻击技术相比,嗅探行为更易实现、更难被察觉。
2.7 攻击
2.7.1欺骗和劫持
IP欺骗、ARP欺骗、DNS欺骗、Web欺骗、电子邮件欺骗、路由欺骗等。
会话劫持攻击:中间人攻击和会话注射攻击等。
2.7.2拒绝服务攻击
并非某种具体的攻击方式,而是攻击所表现出来的结果:服务器不能正常对外界提供服务(可用性)。
攻击结果:内存损耗、带宽损耗。
2.7.3缓冲区溢出
缓冲区:程序运行时内存分配的一个连续区域,保存字符数组在内的各种类型数据。
溢出:所填充数据超过原有缓冲区边界,并非法占据另一段内存,导致程序执行出错。
缓冲区溢出攻击:黑客精心构造填充数据,用自己代码覆盖原来的返回地址,让程序改变现有流程去执行特定代码,最终获取系统控制权。
2.7.4口令破解口令破解
手工尝试(猜测),对口令文件使用破解工具(字典/暴力/组合攻击),使用嗅探技术获得口令,账号口令锁定机制 →拒绝服务攻击,使用社会工程方法获得口令,联机/下载破解散列口令文件,恶意网页和恶意电子邮件,通过键盘记录器获得口令,直接获得明文口令文件,缺省账号口令。
2.7.5Web渗透技术
攻击Web浏览器:对ActiveX和JavaScript脚本的攻击,攻击会话跟踪(cookie)机制跨站脚本(Cross-Site Scripting,XSS)攻击,同形异义词(Homograph)漏洞。
攻击Web服务器:样板文件和源代码泄露、缓冲区溢出攻击资源解析和二次解码攻击(即同义异名攻击),服务器功能扩展模块问题,服务器端包含(Server Side Include,SSI)问题,SQL注入(SQL Injection)攻击。
2.8 权限提升
得到系统的控制权(最终目的,root或最高管理员权限)。
2.9 掩盖踪迹
隐藏自己踪迹,以防被管理员发觉,以便能随时返回被入侵系统继续破坏或作为跳板。
①隐藏上传的文件
②禁止或篡改日志审计信息
③清除日志记录
④改变系统时间造成日志文件数据紊乱
⑤干扰入侵检测系统的正常运行
⑥修改完整性检测数据
⑦使用Rootkit工具
2.10 创建后门
无论用户账号增加/减少、服务开启/关闭等配置如何改变,“后门程序”都能为攻击者提供访问权限。
①重新开放不安全的服务端口
②修改系统配置留下漏洞
③安装嗅探器和建立隐藏通道
④创建具有root权限的虚假用户账号
⑤安装批处理文件
⑥安装远程控制工具
⑦使用木马程序替换系统程序