【创宇小课堂】渗透测试-apache简易蜜罐

admin 2022年2月17日01:55:26评论80 views字数 2877阅读9分35秒阅读模式

前言:github 上已经有很多开源的蜜罐产品[1]了,但是感觉都不是我想要的,我想要的是 360 的Anglerfish[2]这种蜜罐,能够伪造 web 服务,欺骗攻击者,获取 web 攻击的 payload 情况

但是很遗憾,没在网上找到这款产品,暂且当它是内部的吧,所以只能自己简单的抄袭一个出来

之前用 flask 写了一个,感觉效果很理想,就是 bug 比较多;所以这次准备直接用成熟的 apache 来搭建部署。

核心思路:定义一个包含敏感内容的模板 html,让所有请求都返回这个结果,apache 记录所有请求日志

Apache 配置

本次使用版本:

【创宇小课堂】渗透测试-apache简易蜜罐
image-20220208171531843

apache 默认情况下,是只会记录请求的头部信息,如方法、路由、GET 参数和 UA 等,保存在/var/log/apache2/access.log下(可以通过配置修改);但是如果是 POST 的请求,是不能看到传输的数据的,而我们作为蜜罐,则需要记录所有的请求内容

【创宇小课堂】渗透测试-apache简易蜜罐
image-20220208170228899

因此我们需要开启 apache 的 post 数据记录功能

方法一:使用 mod_dumpio

[!note]

apache 自带的插件,但是格式很乱,且 mod_dumpio 在第一个空字符处停止记录二进制有效负载。例如,gzip 文件的multipart/form-data上传可能仅显示 mod_dumpio 的前几个字节。

执行下列命令:

sudo a2enmod dump_io
systemctl restart apache2

编辑 apache 的配置文件/etc/apache2/apache2.conf,添加如下内容

vim /etc/apache2/apache2.conf
LoadModule dumpio_module modules/mod_dumpio.so
DumpIOInput On
DumpIOOutput On
#DumpIOLogLevel DEBUG # apache 2.2 version
LogLevel dumpio:trace7 # apache 2.4
【创宇小课堂】渗透测试-apache简易蜜罐
image-20220208171348893

再次重启 apache

systemctl restart apache2

此后,所有的数据都将会记录到错误日志/var/log/apache2/error.log

【创宇小课堂】渗透测试-apache简易蜜罐
image-20220208171940362

此时记录 post 的数据就大功告成了

方法二:安装 mod_security

# 安装
sudo apt install libapache2-mod-security2 -y
# 使用推荐的配置文件
sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
# 重新加载Apache
sudo service apache2 reload

查看记录的日志/var/log/apache2/modsec_audit.log

【创宇小课堂】渗透测试-apache简易蜜罐
image-20220208173245382

其他可参考的/etc/modsecurity/modsecurity.conf配置

SecRuleEngine On
SecAuditEngine On
SecAuditLog /var/log/apache2/modsec_audit.log
SecRequestBodyAccess on
SecAuditLogParts ABIJDFHZ

网站部署

有了日志记录的功能,我们还需要一个蜜罐界面,最好是包括各种产品信息的,如

  • http://199.247.15.174:8089/
  • http://80.240.20.208:8089/

查看源码,可以看到里面有大量的伪造信息,来方便搜索引擎抓取

【创宇小课堂】渗透测试-apache简易蜜罐
image-20220208173817589

直接 copy 下来,可以点击我[3]下载

【创宇小课堂】渗透测试-apache简易蜜罐
image-20220208173703843

给它放到/var/www/html目录下,然后访问 IP 或者配置的域名,出现一样的界面就说明 OK 了,大体就完成了

【创宇小课堂】渗透测试-apache简易蜜罐
image-20220208212929586

扩展

隐藏 Server 信息

这个 header 还是太明显了,可以修改 apache 的配置文件/etc/apache2/apache2.conf来隐藏

【创宇小课堂】渗透测试-apache简易蜜罐
image-20220208213310161

在配置文件中添加几行(需要安装mod_security),参考:http://www.modsecurity.cn/chm/SecServerSignature.html

<IfModule security2_module>
SecServerSignature "Microsoft-IIS/6.0"
</IfModule>

效果

【创宇小课堂】渗透测试-apache简易蜜罐
image-20220208214650687

重写路由

访问一些不存在的页面会返回 404,就暴露了,所以我们可以重写一下路由,访问任意链接都返回首页 index.html

执行如下命令:

sudo a2enmod rewrite
systemctl restart apache2
vim /etc/apache2/sites-available/000-default.conf

添加如下内容:

	<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
【创宇小课堂】渗透测试-apache简易蜜罐
image-20220208220511531

再次重启 apache

systemctl restart apache2

创建并编辑/var/www/html/.htaccess

vim /var/www/html/.htaccess

写入如下内容

RewriteEngine On
RewriteRule ^.*?$ index.html [NC]

参考:How To Rewrite URLs with mod_rewrite for Apache on Ubuntu 16.04[4]

参考资料

[1]

开源的蜜罐产品: https://github.com/paralax/awesome-honeypots/blob/master/README_CN.md

[2]

Anglerfish: https://drive.google.com/file/d/1seWgXZBf-pHPgW3JFrCzPji29IuvqFm_/view

[3]

点击我: apache简易蜜罐.assets/web_source.zip

[4]

How To Rewrite URLs with mod_rewrite for Apache on Ubuntu 16.04: https://www.digitalocean.com/community/tutorials/how-to-rewrite-urls-with-mod_rewrite-for-apache-on-ubuntu-16-04

【创宇小课堂】渗透测试-apache简易蜜罐

原文始发于微信公众号(安全宇宙):【创宇小课堂】渗透测试-apache简易蜜罐

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年2月17日01:55:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【创宇小课堂】渗透测试-apache简易蜜罐http://cn-sec.com/archives/781650.html

发表评论

匿名网友 填写信息