只要你的服务器暴露在公网,就随时有可能被别人爆破。
我也是天天登上 SSH 就看到几万次暴力登录记录,然后就想着搞个蜜罐来玩玩,调戏下爆破的黑客。
首先,我们把服务器的 SSH 端口改成其他的。
vim /etc/ssh/sshd_config
把 Port 22
改为其他的,比如 521
输入 :wq
保存,然后退出,接下来你想重新连接就需要更改一下你的设置,连接到新的端口了。
接下来我们开始安装 Cowrie 这个蜜罐软件,首先新建一个用户组用于运行蜜罐:
groupadd cowrie
useradd cowrie -g cowrie
passwd cowrie
然后输入 cowrie 的密码,设置一个复杂一点的,记不住也没关系,脸滚键盘都可以。
接着我们安装一些必要的软件包。
yum install wget git gcc-c++ openssl-devel python-devel python-setuptools -y
稍等片刻执行完毕,然后安装虚拟环境变量 virtualenv
easy_install virtualenv
然后安装 Python Pip
easy_install pip
然后我们就可以登录到 Cowrie 用户了,登录后进入用户主目录
su cowrie
cd ~
把 Github 上的项目拉取下来,储存到本地的 cowrie 文件夹中。
git clone https://github.com/micheloosterhof/cowrie.git
进入到项目目录,并创建虚拟环境变量
cd cowrie/
virtualenv cowrie-env
然后应用环境变量设置
source cowrie-env/bin/activate
接下来安装 Python 必要的环境依赖,同时升级一下 Pip
pip install --upgrade pip
pip install --upgrade -r requirements.txt
过一会就好了,至此安装步骤已经完成,接下来开始配置。
首先我们把默认配置文件复制一份到当前目录下
cp etc/cowrie.cfg.dist cowrie.cfg
编辑配置文件
vi cowrie.cfg
简单解释一下各个部分的作用,具体看下面:
[honeypot]
# 蜜罐里显示的主机名
hostname = ZeroDream-Server
# 日志储存的位置
log_path = var/log/cowrie
# 攻击者下载的文件储存位置
download_path = ${honeypot:state_path}/downloads
# 虚拟的文件共享目录
share_path = share/cowrie
# 静态文件,变量目录
state_path = var/lib/cowrie
# 虚拟系统目录
etc_path = etc
# 虚拟系统内容储存目录
contents_path = honeyfs
# 文本命令储存目录
txtcmds_path = txtcmds
# 是否记录 tty
ttylog = true
# tty 日志储存位置
ttylog_path = ${honeypot:state_path}/tty
# 无操作断开超时时间,默认 180
interactive_timeout = 300
# 登录超时时间,默认 120
authentication_timeout = 120
# 后端类型,默认 shell
backend = shell
# 用户登录类型,默认 UserDB
auth_class = UserDB
[shell]
# 包含虚拟系统配置的 Python 配置文件(喵喵喵?)
filesystem = ${honeypot:share_path}/fs.pickle
# 命令行输出内容(当攻击者执行 ps 命令)
processes = share/cowrie/cmdoutput.json
# 虚拟系统的架构,具体请看默认配置文件
arch = linux-x64-lsb
# 当攻击者执行 uname 命令时输出的内容
kernel_version = 3.2.0-4-amd64
kernel_build_string = #1 SMP Debian 3.2.68-1+deb7u1
hardware_platform = x86_64
operating_system = GNU/Linux
[ssh]
# 是否启用 SSH
enabled = true
# 公钥和私钥
rsa_public_key = ${honeypot:state_path}/ssh_host_rsa_key.pub
rsa_private_key = ${honeypot:state_path}/ssh_host_rsa_key
dsa_public_key = ${honeypot:state_path}/ssh_host_dsa_key.pub
dsa_private_key = ${honeypot:state_path}/ssh_host_dsa_key
# SSH 版本,修改此处可以迷惑攻击者
version = SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u2
# 监听地址,默认 0.0.0.0
listen_addr = 0.0.0.0
# 监听端口,请不要使用低于 1024 的端口,否则无法运行
listen_port = 2222
# 这里的 2222 和上面的端口保持一致即可
listen_endpoints = tcp:2222:interface=0.0.0.0
# 是否启用 SFTP,我默认关闭了
sftp_enabled = false
# 是否允许 SSH 转发
forwarding = true
# 是否允许 SSH 转发到其他地址
forward_redirect = false
# 是否允许 SSH 转发隧道
forward_tunnel = false
[telnet]
# 是否启用 Telnet
enabled = false
# Telnet 监听地址
#listen_addr = 0.0.0.0
# Telnet 监听端口
#listen_port = 2223
# 这里的 2223 和上面的端口保持一致即可
listen_endpoints = tcp:2223:interface=0.0.0.0
[output_jsonlog]
# 输出 Json 格式日志
enabled = true
# 日志储存位置
logfile = ${honeypot:log_path}/cowrie.json
# 记录时间戳
epoch_timestamp = false
然后我们就可以开始运行 Cowrie 了
bin/cowrie start
接下来,Cowrie 就会运行在 2222 端口了,但是攻击者一般都是爆破 22 端口的,所以我们需要做一个 iptables 转发。
iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222
现在,你就可以通过查看 /home/cowrie/cowrie/var/log/cowrie/cowrie.log
得到爆破服务器的黑客 IP 等等了。
迎娶斯汀
nice 支持一下