本文讲的是<b>使用apache mod_rewrite方法随机提供payloads</b>,本文中讲述的方法更适用于真实渗透测试环境中,因为电子邮件钓鱼往往是威胁到整个公司,而不是只威胁到红队的测试环境。因为电子邮件钓鱼具有高针对性,并且手动设置攻击载荷对攻击来说也是很麻烦的。所以请阅读这篇文章,我会通过设置一个apache重定向器或者直接设置一个服务器,通过RewrieMap从预定义的攻击payload列表中随机选取payload进行提供。
apache中RewriteMap方法允许外部的程序比如脚本,数据库,文本文件等映射到服务器内部。在官方文档中使用最多的例子:如果一家网店的url结构想从item-1234到iphone-7-white,那么网站管理员无需更改任何硬编码的代码,只需当访问item-1234时,apache来提供iphone-7-white这一url。RewriteMap提供了大量修改这些资源的方法。我们会使用RewriteMap从一个文本文档中提取的payload转换为URI,并且当被访问时,进行302跳转,使目标能够访问到我们随机的payload文件。
下图就是攻击的主要内容:
环境配置
如果你的重定向器的网站根目录不是默认的/var/www,你需要去更改一下AllowOverride的响应目录。
在配置服务器的文档中,我们需要在底部添加:
这一行代码就告诉mod_rewrite方法,当我们使用RewriteMap调用payload变量时,就会从/var/www/payloads.txt提取。apache用户必须具有读取这一文件的权限。并且应该储存在web根目录之外,比如在这个例子中,就是在/var/www/html目录之外。
创建/var/www/payloads.txt文件,并且在文件中写入如下内容:
上述代码中windows就是触发的key,以及payload.link,payload.hta,payload.exe则是变量。当RewriteMap函数被调用时,此时就会提供windows这个Key,然后通过管道符号分割的变量就会随机选取一个。我们可以增加多次payload名字,以便它可以更大概率的输出。这个文件可以立即更新,所以修改这个文件之后无需重启apache服务。如果你确定有的payload不起作用了,你完全可以在payload.txt中删除。
通过以下命令开启依赖的mod_rewrite模块,重启apache服务。
启动的最后一步就是创建htaccess文件,比如在/var/www/html/.htaccess文件写入如下内容:
以下是规则的详细划分:Enable the rewrite engine
现在,服务端已经完全配置好了。
当用户连续两次访问http://spoofdomain.com/payload时,第一次会提供可执行文件,第二次会提供html 应用程序(HTA)。
总结
Apache mod_rewrite为渗透测试人员以及红队提供了丰富的选择,这一方法加强了他们的攻击范围以及钓鱼攻击的成功率。这个技术可以和别的技术结合起来,会获得更大的效果。用户点击后可以尽可能的收集更多的信息。
原文发布时间为:2017年6月17日
本文作者:xnianq
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
<a href="http://www.4hou.com/technology/5399.html" target="_blank">原文链接</a>