前言
github 上曾经有很多开源的蜜罐产品了,然而感觉都不是我想要的,我想要的是 360 的 Anglerfish 这种蜜罐,可能伪造 web 服务,坑骗攻击者,获取 web 攻打的 payload 状况
然而很遗憾,没在网上找到这款产品,暂且当它是外部的吧,所以只能本人简略的剽窃一个进去
之前用 flask 写了一个,感觉成果很现实,就是 bug 比拟多;所以这次筹备间接用成熟的 apache 来搭建部署。
外围思路:定义一个蕴含敏感内容的模板 html,让所有申请都返回这个后果,apache 记录所有申请日志
Apache 配置
本次应用版本:
apache 默认状况下,是只会记录申请的头部信息,如办法、路由、GET 参数和 UA 等,保留在 /var/log/apache2/access.log 下(能够通过配置批改);然而如果是 POST 的申请,是不能看到传输的数据的,而咱们作为蜜罐,则须要记录所有的申请内容
因而咱们须要开启 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
systemctl restart apache2
尔后,所有的数据都将会记录到谬误日志 /var/log/apache2/error.log 中
此时记录 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
其余可参考的 /etc/modsecurity/modsecurity.conf 配置;modSecurity 规则学习(一)——配置文件
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/
查看源码,能够看到外面有大量的伪造信息,来不便搜索引擎抓取
间接 copy 下来,能够点击我下载
给它放到 /var/www/html 目录下,而后拜访 IP 或者配置的域名,呈现一样的界面就阐明 OK 了,大体就实现了
扩大
暗藏 Server 信息
这个 header 还是太显著了,能够批改 apache 的配置文件 /etc/apache2/apache2.conf 来暗藏
在配置文件中增加几行(须要装置 mod_security),参考:http://www.modsecurity.cn/chm…
<IfModule security2_module>
SecServerSignature "Microsoft-IIS/6.0"
</IfModule>
成果
重写路由
拜访一些不存在的页面会返回 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
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