通过信息收集掌握了目标网络的外部特征信息之后,可以对目标网络进行有针对性的扫描,扫描的最终结果决定了能否对目标网络进行攻击,任何扫描得到的漏洞信息,都可能成为突破网络的切入点。
当然扫描得到的结果不一定就是可以直接利用的系统漏洞。从利用方式来说,可以将信息分为两类:一类是安全敏感信息,这包括第一阶段收集到的信息,以及扫描阶段得到的关于端口开放以及操作系统类型信息,这些信息虽然不能直接用于对目标网络的渗透与攻击,但有助于全面了解目标网络的信息;另一类就是安全漏洞信息,这类安全漏洞可能是系统配置上的疏忽造成的(例如没有及时打补丁),也可能是操作系统或应用程序自身的缺陷,结果是都可能导致利用漏洞突破并控制目标网络。
探测类扫描的常用手段有:端口扫描、操作系统探测、应用服务探测、路由器探测、防火墙探测等。
漏洞发掘类扫描主要有:Web、CGI安全漏洞扫描,Windows、Unix、Linux操作系统漏洞扫描,SNMP漏洞扫描、SQL Server等数据库服务漏洞扫描,路由器、防火墙漏洞扫描。
扫描过程实际上已经与目标主机或网络发生物理链接,可以看作是程度较轻的攻击行为。扫描结果决定了攻击者的下一步行动。
3、攻击
通过信息收集和扫描阶段得到相关线索以后,经过分析和筹划,下一步就可以采取各种手段以实现直接的攻击目的。
从黑客攻击的目的来看,可以分为两种,一种是给目标以致命打击,使目标系统受损,甚至瘫痪;另一种攻击则更加常见,其目的在于获取直接的利益,比如下载到目标系统的机密信息,或者是得到目标系统的最高控制权,在此过程中,攻击者无意对目标系统的正常能力进行破坏,他可能更希望非常隐蔽地实现自己的目的。
4、植入后门
在一次成功的攻击之后,为了以后的再次进入和控制目标主机,一般要放置一些后门程序。由于网络主机系统经常升级,一些原来被利用突破系统的漏洞在系统升级以后就可能被修补,而后门程序就可以不依赖于原来用于突破的漏洞,保持长期稳定的控制能力。后门可能是一个隐藏的管理员账号、一个具有超级权限的服务进程,有时甚至是一个故意置入的系统漏洞。好的后门程序在保证最高的系统权限的同时,必须不易被目标用户察觉。许多木马程序、远程控制程序都可以作为后门程序植入,最新的一些后门采取可卸载内核模块(LKM)的办法,动态地修改系统内核,一般情况下无法检测出来。功能强大的后门程序,可以利用被控主机运行扫描、嗅探等技术突破整个网络。
5、消除痕迹
作为一次完整的Web攻击,黑客在取得需要的战果以后,就要打扫战场了,也就是消除痕迹。在信息收集、扫描、攻击阶段,即使采取了许多防护措施,也会留下直接或间接的攻击痕迹。攻击痕迹可能会在目标主机的管理员进行例行检查时暴露出来,进一步的安全检查则可能导致攻击行为的完全暴露,甚至发现植入的后门程序;攻击痕迹也可能使富有经验的安全调试员反向跟踪到真正的攻击源头,同时,攻击痕迹是攻击技术和手段的直接反映。
消除痕迹是一项细心的工作,系统的审计日志、Web的访问记录、防火墙的监控日志、攻击留下的残余线索都必须认真清理。对于一些必须留下的后门程序,需要采取进程掩藏、文件隐藏、核心文件替换、程序加密等多种手段避免被发现。
最后,作为Web 渗透测试人员在进行上述测试内容的基础上,还要为被评测单位出具风险评估报告,从而形成一次完整的渗透测试服务。
需要注意的是,真实的网站中有许多可能存在漏洞而被黑客攻陷,从而导致网站被挂马和植入病毒等恶意操作,这使得我们在进行Web渗透测试时可能会中病毒,故可以考虑安装虚拟机,在虚拟机环境中进行安全测试,从而减少本地计算机受危害的几率。
(五)网站渗透实践
1、密码破解攻击实践
假如我们知道某自有测试网站中某用户的ID,可以尝试进行密码破解攻击。安装Python的sqlmap模块,将其中的wordlist.tx_文件解压后得到wordlist.txt文件,该文件中包含超过120万个密码。编写程序,以便从该文件中逐个读取密码,反复尝试登录,直到获得正确的密码:
2、Web shell攻击实践