在了解渗透测试攻防手段之前,让我们先了解一下渗透测试的常用术语。若将黑客比作僵尸,那么僵(黑)尸(客)在进行网路攻击时,都有哪些妙计绝招?让我们见识一下。

渗透测试可以帮助客户发现系统安全弱点,并尽可能控制该弱点,观察它影响的业务范围,为系统安全修护提供支持。进行渗透测试,首先要明确测试目标。测试目标是主机操作系统,资料库,还是应用系统,亦或是其他网路设备。

渗透测试的攻击流程,具体如下:

接下来,让我们用「植物大战僵尸」的故事,重现黑客从「信息收集」到「漏洞扫描」再到「漏洞利用」,进行攻击「家园」的全过程。

看到家园中井然有序的植物防线,僵尸团才不会贸然进攻。他们正在悄悄收集家园的信息。知己知彼,才能百战百胜。

优秀的僵尸收集信息,经常光顾这些网站:

杰出的僵尸还会利用Google Hacking技术,即:利用搜索引擎输入特定语法、关键字寻找可利用的渗透点,如:inurl:login、site:baidu.com等,获取目标站点信息、存储密码文件、后台管理和文件上传页面、资料库信息、特定扩展名文件、特定web程序等各类敏感信息。

僵尸团在完成信息收集后,开始进行埠扫描,希望从中发现植物防守中的薄弱防线。该技术主要应用于TCP/UDP/RPC协议上,当确定目标主机可达后,即可使用埠扫描技术,发现目标主机的开放埠,包括网路协议和各种应用监听的埠。很多基于埠的扫描器都以埠扫描后的返回数据作为判断服务状态的依据。

对僵尸团来说,一个开放的埠就是一个潜在的入侵通道。僵尸团经常使用如下漏洞扫描工具,寻找开放的埠:

根据前辈经验,僵尸团发现家园隐藏著无数把钥匙,但是仅有一把钥匙(账户口令)能打开房门(Web伺服器)。只要找到这把钥匙,就能直接通关,进入家园。

图为常见的爆破口令示例

除了默认账户口令,僵尸团也从常用埠应用的弱口令出发,寻找开门钥匙,如:Windows针对RDP服务的3389埠,Linux提供SSH服务的22埠,以及Oracle、MySQL、SQLServer等资料库,或是如:FTP之类可提供远程服务的应用。

僵尸王深知走捷径无望,准备与之正面交锋。于是,僵尸王派遣了先锋部队使用「SQL注入」攻打头阵。

但「SQL注入」不仅被代码层面过滤,还被防火墙过滤HTTP包中的SQL语句拦截,如:hotel-tenjikai.jp/tenji。第二波僵尸,全部覆灭。

僵尸王看著先锋部队成员纷纷倒下,伤心不已,决定使出「跨站脚本攻击(XSS)」的攻击招式,为他们报仇。

果然不负众望,「跨站脚本攻击(XSS)」成功躲过了代码层面和防火墙的过滤。正当僵尸王欢呼雀跃时,僵尸团突然溃败。原来他们不是被Web程序的输入、输出过滤,就是被植物设置的WAF拦截策略拦截。最终,第三波僵尸败北而归。

经过前几次交锋,僵尸王发现植物的安全防御不可小觑。最后,僵尸王决定另辟蹊径,使出「任意文件读取」的攻击招式,进行最后一搏。

「任意文件读取」攻击,轻松避开植物的四层防御系统:代码层面过滤、防火墙过滤、Web程序过滤和WAF拦截。正当僵尸王认为这次终于取胜了的时候,令人意想不到的事情再次发生。植物利用Web程序进行文件名和路径校验,或通过设置白名单,或通过在WAF中针对可能被访问的文件进行拦截。就这样,「任意文件读取」的攻击,最终以失败告终。

植物王在监控室里安排了安全人员,实时监控Linux系统和Windows系统,随时查看僵尸团是否成功爆破,以便及时阻挡攻击。

Linux系统:利用lastb命令查看;
图为Linux lastb命令

Windows系统:通过控制面板-->系统和安全-->查看事件日志-->事件查看器-->windows日志-->安全这一方式,查看系统日志。

图为查看系统安全

除了注意防止爆破,防止入侵也不容忽视。如何检查自己的系统是否被入侵?可以从检查账户是否异常、开机启动项是否异常、最近打开文件或文件夹是否异常、是否存在隐藏文档、是否存在异常的登录失败记录及检查系统路径、利用工具对Web文件进行Webshell查杀以及排查进程等方式进行检查。

由于植物的安全防御全面到位,僵尸团直到最后也没能成功攻破。僵尸王对植物说:「不要高兴的太早,我一定会打穿你的!!!」随后僵尸王面露诡异的微笑,化成一缕青烟消失......

了解最新「智驭安全」产品、技术与解决方案,欢迎关注微信公众号:丁牛科技(Digapis_tech)。

推荐阅读:

相关文章