目录
一、前期交互阶段
渗透测试人员与客户组织进行讨论,确定渗透测试的范围和目标。此阶段需要收集客户组织的需求、渗透测试的计划、范围、限制条件、服务合同等细节。
二、情报搜集阶段
可以获取网络拓扑、系统配置、安全防御措施等信息。
1、踩点
攻击者通过公开的渠道获取目标组织的各种信息,该过程称为收集公开资源情报(OSINT,Open Source Intelligence),可收集的信息包括:
●因特网域名、网络地址块及子网信息、联网的各个系统(如:组织机构的Web站点、DNS服务器)的IP地址及关键系统的软硬件信息。
●远程访问的类型、身份认证机制、VPN及相关协议(如:IPSec)。
●与合作组织的网络连接地址、连接类型及访问控制机制等。
可通过以下技术来获取:
公开信息源搜索
●目标Web站点的HTML源代码中的注释语句(如::<!-->)里往往包含重要信息。
●通过镜像整个Web站点的Wget工具将Web站点保存到本地进行查阅,效率更高、
●了解目标组织是否建有其他站点(如:www1.test.com),组织机构是否适用VPN(如:vpn.test.com)。
●目标组织机构的相关组织也需要特别注意,比如公司的合作伙伴等,如果合作伙伴没有足够的 安全意识,就可能会治露目标组织的机密信息。
●目标组织机构的员工信息也同样重要, 比如组织机构的联系人名单和电子邮件地址,当攻击者获得系统的访问权限时,一个合法的用户名就非常重要。同时,黑客还可以发起针对目标组织机构员工的:“社会工程学”(Social Enginccing)攻击或钓鱼攻击(Phishing),一个刚刚被开除并对组织有包言的员工信息可能给黑客带来组织机构的重要信息。组织机构近期的重大事件(合并、丑闻、 裁员等)也会引起黑客的极大兴趣。
●高级搜索功能(如:Google、百度、Bing、Shodan、钟馗之眼、Maltego)等。
whois查询
whois是个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库,由ICANN (互联网名称与数字地址分配机构,The Intermnet Corporation for Assigned Names andNiumbers)负责管理。
通过whois查询,可以查询到以下信息:注册机构、机构本身信息、域名、网络信息(如:IP地址)、联系信息。
DNS查询
确认关联域名后就可以进行DNS (Domain Name System,域名系统)查询了。DNS 是因特网上作为域名和IP地址相互映射的个分布式数据库。
如果DNS配置不够安全,就可能泄露组织的重要信息。其中允许不受信任的用户执行DNS区域传送(Zone Transfer) 就是最为严重的错误配置之一。区域传送是一种DNS服务器的冗余机制,允许第二主服务器使用来自主服务器的数据刷新自己的区域数据库。般而言,DNS区域传送只能在第二域名服务器上才能执行,但许多DNS服务器却错误的配置成只要有人发出请求,就会进行传送,以致目标域中的所有主机(包括内部私有DNS信息)信息泄露。
常用的DNS查询工具有dig和大多数Linux和Windows系统都支持的nslookup命令。
网络侦察
黑客在找到攻击目标的网络之后,就可以尝试确定网络的拓扑结构和可能存在的网络访问路径。常用的网络侦察工具有大多数Unix/L inux系统提供的taceroute程序和Windows系统下的tacert程序。
2、扫描
网络扫描是通过对一定范围内主机的某些特征进行试探性连接或读取,以发现目标网络中哪些系统是存活的以及这些系统都提供了哪些服务。常用的扫描工具有NMAP、SuperScan。
3、查点
查点会对目标系统进行主动的连接和查询,因此可能被目标系统记录日志。甚至触发警报。通过查点,攻击者一般可以获得用户名(后期可以进行口令破解攻击)、错误配置的共享资源和存在漏洞的软件系统等。
查点往往与扫描仪器进行,常用工具有Nessus。
三、威胁建模阶段
针对获取的信息进行威胁建模和攻击规划。
四、漏洞分析阶段
综合分析汇总的情报信息, 从漏扫结果、查点信息等,找出可实施攻击的点。
五、渗透攻击阶段
利用找出的系统漏洞入侵系统,获取访问控制权限。为了获得对目标系统的更为深入的控制,黑客一般要尝试获取尽可能高的权限(如:Linux系统的root用户权限、Windows系统的NT/System权限或Administrator权限)。常用工具为Metasploit。
获取目标系统访问权限的方式
Windows系统
NetBIOS SMB密码猜测、窃取LM及NTLM认证散列、攻击IIS Web服务以及缓冲区溢出攻击
Linux系统
暴力破解、密码窃取、RPC攻击
攻击的主要阶段
攻击的主要阶段包括预攻击探测、口令破解、权限提升和实施攻击。
预攻击探测主要为进一步入侵获取更多有用的信息。口令破解和权限提升可以获得系统的更高级访问权限。实施攻击过程可以使用缓冲区溢出、后门、木马及病毒等攻击手段。
攻击的结果
一旦攻击者得到了目标系统的完全控制权,接下来的工作就是窃取信息或进行破坏活动,这包括系统敏感文件的篡改、添加、删除及复制等。
如果黑客未能获取系统访问权,那么他所能采用的攻击手段就是拒绝服务攻击,即用精心准备好的漏洞代码攻击目标系统以使目标系统资源耗尽或资源过载,从而导致无法对合法用户提供服务。
六、后渗透攻击阶段
根据目标组织业务经营模式,保护资产形式等自主设计攻击目标,寻找客户组织最具价值和尝试安全保护的信息和资产,最终实施能造成重要业务响的攻击。
七、报告阶段
凝聚所有阶段获取的关键情报信息、 探测和发掘出的系统安全漏洞、成功的渗透攻击过程,同时站在防御者角度上分析安全体系中最薄弱的环节及修补与升级技术方案。
你要站在客户客户组织机构的立场上撰写渗透测试报告。一份完整的渗透测试报告至少应该包括摘要、过程描述、技术发现和结论几个部分。著名安全公司Offensive Security公司在其官网发布的一份渗透测试报告样例《Penetration TestReport:MegaCorp One》可作为参考。