这是一个在 GitHub 上找到的开源项目,名叫 Cowrie : https://github.com/micheloosterhof/cowrie 。
简单地测试了一下,支持记录暴破用的密码,支持记录登录蜜罐后执行的命令,“登录”后是一个伪装的 Debian 系统,还支持伪装的 apt-get install (笑)。
还可以配置成让对方暴破一定随机次数后“登录”,简直神器。
我尝试做了一个 Docker image ,让蜜罐跑在 Docker 里的非 root 用户下,看起来不错:
https://github.com/vfreex/docker-cowrie
看起来好不靠谱啊…
这个别人中招了以后又怎么样呢
挺有恶趣味,我喜欢
我觉得这是作者怕蜜罐出现漏洞,被提权。
我自己的 VPS 上是这样处理的: VPS 上安装 Docker ,开启 SELinux ,然后让 Cowrie 跑在 Docker 里面,同时还是 Docker 里面的非 root 用户。我觉得这样处理后被提权的可能性就很小了,除非 Linux 的 namespaces/cgroups 或者 Docker 出现严重的安全漏洞。
反正我是直接改了 openssh 源码,所有登陆全部记下密码然后返回失败
第一次听说蜜罐,看了下还挺有意思的
分享一个列表 https://github.com/paralax/awesome-honeypots
关于安全问题,我是这么想的。
如果对方能从 Docker 的非 root 用户下逃逸出去,这基本上得利用 Linux 内核里面包括 namespaces/cgroups/SELinux 等等的重大漏洞,直接搞个大新闻,全球的顶尖安全公司争着要,还用得着做黑产?
很全,多谢。
好东西,先收藏了
不会用,看上去是个好东西,刚学建立网站!
不错,感谢分享
mark~~
2333333 这个酷
弱弱地问一下 这样蜜罐有什么用
楼主撸个教程吧,很感兴趣。
虽然暂时还不想玩这个,但是 mark 一下,万一哪天感兴趣了呢^_^
不错,不错, mark 一下
好主意,哈哈,分享代码么?
docker 就算是 root 用户,你怎么逃出去?这也很难吧?
暴破密码的人会得到一个伪装的 Shell 和伪装的文件系统,执行任何命令都会被记录下来。
在这个伪装的 Shell 里执行命令本身并不会对你的系统造成任何影响,也看不到任何真实的文件。
所以我刚刚说,如果能逃出去,“直接搞个大新闻” XD
我在试这个 docker,这个能不能记录下来别人使用的命令?
一般他们都会向这服务器传些东西的,我想看看他们到底是想干吗
当然可以啊,你可以用我做的 dockerfile 和 compose file: https://github.com/vfreex/docker-cowrie
说明里面有写找日志的位置。如果你没改 git clone 下来的目录的名字的话,日志文件在
/var/lib/docker/volumes/dockercowrie_cowrie-log/_data/cowrie.log
挺好玩。。
Traceback (most recent call last):
File "
", line 3, in
File "compose/cli/main.py", line 61, in main
File "compose/cli/main.py", line 113, in perform_command
File "contextlib.py", line 35, in __exit__
File "compose/cli/errors.py", line 56, in handle_connection_errors
TypeError: log_timeout_error() takes exactly 1 argument (0 given)
docker-compose returned -1
好像不行啊,有错误
这个好玩。
1.测试一下你的 docker 运行是否正常:
docker info
2. 检查 docker-compose 运行是否正常:
docker-compose -v
另外你的 docker-compose 是怎么安装的呢?用 pip 升级一下试试?
sudo pip install docker-compose -U
对了,如果你是用普通账号运行 docker 或者 docker-compose 命令,你的账号比须在 docker 组里。
否则,你就只能用 sudo 执行 docker 或者 docker-compose 命令了。
可以了,可惜默认密码还是有点复杂啊,哈哈,要是能随便什么密码都能通过就好了
各种配置都在 cowrie.cfg 里面,包括密码配置。
它默认是允许任何密码登录的,如果你用的我的 docker 镜像的话,我的那个配置更改成了随机 2-5 次才会登录成功,和你用什么密码没什么关系。见“ auth_class_parameters = 2, 5, 10 ”这一行。
蜜罐原来是这么个意思,我还以为和火罐差不多呢……
刚刚拔了次火罐的路过……
我记得蜜罐还有一个很贱的 feature 。
就是你在 ssh 登录后输入 exit ,并不会断开,
但是你以为断开了,就尝试连接下一个成果了。
可是,直接禁止密码登录不就好了吗……
楼主,要是对方玩 fork 炸弹或者 io 给你塞满呢?
fio 写满磁盘 io
iperf netperf 打满带宽
memtest stress 跑满内存 CPU
哼,
哈哈哈 这个蜜罐不错,还模拟了内网的网络 回头内网部署一个加个告警监控 钓鱼执法
mark~~~
这个好酷
对方能够执行的命令十分有限,没有试过 fork 炸弹能否运行,回头测试一下。谨慎起见的话,跑在 docker 里可以限制资源使用。
@matrix67
专门测试了一下,伪 SHELL 根本不支持&后台进行,也不支持定义函数。
iperf,fio,memtest,stress 命令不支持(肯定不能支持啊)。
docker-compose up 报错
ERROR: In file './docker-compose.yaml' service 'version' doesn't have any configuration options. All top level keys in your docker-compose.yml must map to a dictionary of configuration options.
@raysonx
sorry 升级 docker-compose 到 1.8 解决
https://docs.docker.com/compose/install/
我直接在我的 vps 上部署了。