蜜罐技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机。
Cowrie是一款中度交互的SSH与Telnet蜜罐,它可以获取攻击者用于暴力破解的字典、输入的命令以及上传或下载的恶意文件。它是被动型蜜罐,不会自动发送流量给攻击者,让攻击者主动攻击IP地址来获得字典和使用的工具。
特性:
1)伪装的文件系统可增加/移除文件;完整的文件系统搭配有Debian 5.0
2)可增加文件内容,攻击者就能用cat命令查看如/etc/passwd等文件;系统中进包含最少的文件内容
3)会话日志记录在UML兼容格式中,便于重演
4)Cowrie保存文件,下载用wget/curl,或者为后续检查——上传采用SFTP和scp
参考文章 https://www.cnblogs.com/HacTF/p/8094516.html
安装流程
1)创建普通用户1
2useradd cowrie
passwd cowrie
2)下载Cowrie1
2
3yum install -y git python-virtualenv bzip2-devel libffi-devel vim net-tools mysql-devel
yum groupinstall "Development Tools"
git clone https://github.com/cowrie/cowrie.git
3)安装Python虚拟环境1
2
3
4
5
6virtualenv -p python2.7 cowrie-env
source cowrie-env/bin/activate
pip install six packaging appdirs -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip freeze > requirements.txt
pip install -r requirements.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
4)修改配置文件,启动cowrie端口为2222 真实机器端口改为222 利用防火墙把22端口指向到蜜罐1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16cd etc/
cp cowrie.cfg.dist cowrie.cfg
chown -R cowrie ~/cowrie/
vim cowrie.cfg
listen_port = 2222
vim /etc/ssh/sshd_config
Port 222
firewall-cmd --permanent --add-port=222/tcp
firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=2222 --permanent
firewall-cmd --permanent --list-all
firewall-cmd --reload
systemctl restart sshd
配置好防火墙策略并重启服务后,蜜罐就可以使用了,为了更好的记录攻击者的数据日志 这里安装数据库来记录数据日志
5)安装MySQL1
2
3
4
5
6wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum localinstall -y mysql57-community-release-el7-11.noarch.rpm
yum install -y mysql-community-server
systemctl start mysqld
systemctl enable mysqld
systemctl daemon-reload
6)设置MySQL默认密码,并创建cowrie数据库和创建cowrie用户并授权访问权限
1 | grep 'password' /var/log/mysqld.log |
7)下载Python的mysql数据结构并导入
1 | cd ~/cowrie |
8)修改配置文件并切换到cowrie用户启动蜜罐1
2
3
4
5
6
7
8
9
10
11
12vim /root/cowrie/etc/cowrie.cfg
[output_mysql]
enabled = true
host = localhost
database = cowrie
username = cowrie
password = Root1234!
port = 3306
su cowrie
./bin/cowrie start
报错 缺少twistd等模块1
2
3
4
5Join the Cowrie community at: http://bit.ly/cowrieslack
Using activated Python virtual environment "/root/cowrie-env"
Starting cowrie: [twistd --umask=0022 --pidfile=var/run/cowrie.pid --logger cowrie.python.logfile.logger cowrie ]...
./cowrie: 第 114 行:exec: twistd: 未找到
安装对应缺少的模块1
pip install cryptography pyasn1 configparser pyOpenSSL tftpy service_identity -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
开启蜜罐后,我们模拟黑客使用暴力破解密码来进入蜜罐
1 | hydra -l root -P ./password.txt -f ssh://192.168.0.200 |
在后台机器的数据库中可以查看到具体的攻击者的行为1
2
3
4
5
6
7
8mysql -ucowrie -p
mysql> use cowrie;
mysql> select * from sessions; #攻击者登录ip信息
mysql> select * from auth; #攻击者登录时输入的用户名和密码
mysql> select * from input; #攻击者登录后执行的命令
elastichoney蜜罐
elastichoney可以模拟成安装了elasticsearch的服务器来收集黑客入侵的信息,它是由go语言编写的。
安装流程
1)进入官网https://golang.google.cn/dl/ 下载tar包
2)配置go语言环境
1 | vim /etc/profile |
3)下载环境1
2go get github.com/fw42/go-hpfeeds
git clone https://github.com/jordan-wright/elastichoney.git
4)修改配置文件中获取蜜罐IP地址的网址
1 | cd elastichoney/ |
把"public_ip_url": "http://queryip.net/ip/"
修改为 "public_ip_url": "https://ifconfig.co/ip"
5)编译和运行1
2
3
4
5
6
7go build -o elastichoney
mkdir log #创建日志目录
./elastichoney -config="config.json" -log="logs/elastichoney.log" -verbose=true
#显示模拟的外网地址和端口
main.go:368: Using sensor ip: 120.84.145.35
main.go:380: Listening on :9200
6)使用其他机器访问模拟的外网地址
1 | curl http://120.84.145.35:9200 |