用心做分享,只为给您最好的学习教程
如果您觉得文章不错,欢迎持续学习
HonSSH是一款高度互动的Honeypot解决方案,其灵感源自Kippo。它将位于攻击者和蜜罐之间,在它们之间创建两个独立的SSH连接。
特征:· 在文本文件中捕获基于文本的攻击者会话摘要。
· 高级网络功能,可以欺骗HonSSH和蜜罐之间的攻击者IP地址。
· 所有交互都被捕获到TTY日志中(感谢Kippo),可以使用Kippo中包含的playlog实用程序进行重播。
· 应用程序挂钩以集成您自己的输出脚本。
· 可以使用docker来启动新的蜜罐并在ip基础上重用它们。
· 捕获对文本文件,数据库或电子邮件警报的所有连接尝试。
· 下载通过wget或scp传输的所有文件的副本。
· 使用文件系统观察程序保存对docker容器所做的所有修改。
· 使用管理telnet界面可以实时查看或劫持会话(再次感谢Kippo)。
· 当攻击者发送密码猜测时,HonSSH可以使用正确的密码(spoof_login选项)自动替换他们的尝试。这允许他们使用任何密码登录,但当他们尝试使用相同的密码sudo时会混淆他们。
这个怎么运作?首次运行HonSSH时,它将开始连接蜜罐,获取蜜罐的SSH服务器版本,存储然后断开连接。
当攻击者连接到HonSSH时,HonSSH将与攻击者建立SSH连接,并与蜜罐建立单独的连接。密钥交换后传输的任何数据都会从攻击者传递到蜜罐,反之亦然。
如果使用私钥,这将无效 - 建议在蜜罐SSH服务器上禁用公钥验证。
建议HonSSH使用与蜜罐相同的加密密钥来进一步欺骗攻击者。
设置和配置使用单个静态机器设置:要求:· 操作系统(目前仅在Ubuntu,Debian和OpenBSD上测试过)
· Python
· Twisted (python-twisted)
运行根据自己的喜好编辑honssh.cfg,然后运行:
./honsshctrl.sh START
honsshctrl.sh是使用运行HonSSH在后台shell脚本twistd来。使用' honsshctrl.sh HELP '获取更多选项。
您也可以使用更多配置选项手动运行它。例如,要在前台运行使用:
twistd -y honssh.tac -p honssh.pid -n
使用Docker进行设置:要求:· 操作系统(目前仅在Ubuntu,Debian和OpenBSD上测试)
· Python 2.7
· Twisted (python-twisted)
· Cryptography (python-cryptography)
· Docker
· Docker python(docker-py)
· GeoIP python(python-geoip)
· service_identity python
运行1. 根据自己的喜好编辑honssh.cfg
2. 禁用HONEYPOTSTATIC:enabled= false
3. 启用HONEYPOTDOCKER:enabled= true
4. 启用pre-auth和post-auth
5. 将image=设置为已安装并运行sshd的Docker镜像,如rastasheep / ubuntu-sshd:14.04(不要忘记使用docker pull <image>来拉动图像)提示:如果您使用的是dockerimage示例,请不要忘记将launch_cmd更改为另一个命令,因为sshd已在容器内运行。
6. 将honey_port设置为docker镜像的Openssh正在侦听的端口。
7. 启动honssh使用:
./honsshctrl.sh开始
您也可以使用更多配置选项手动运行它。例如,要在前台运行使用:
twistd -y honssh.tac -p honssh.pid -n
故障排除· 错误:TypeError:generate_private_key()得到一个意外的关键字参数'后备'
扭曲的开发商从16.0.0版本做了一个错字,你要替换的单词背到后端的文件的行121 /usr/local/lib/python2.7/dist-packages/twisted/conch/scripts/ckeygen的.py。
· 错误:使用pip安装了需求后,没有名为honssh的模块
尝试将PYTHONPATH添加到Linux变量:
export PYTHONPATH =“$ PYTHONPATH:/ folder / to / honssh”
· 连接挂起并回复,没有输出
1.使用telnet复制SSH横幅(例如:SSH-2.0-OpenSSH_6.7p1Debian-5 + deb8u3):
telnet 127.0.0.1 22
退出
2.将它放在var ssh_banner =的配置文件honssh.cfg中。
· 错误:找不到匹配的密钥交换方法。他们的提议:diffie-hellman-group1-sha1
使用pip升级需求:
pip install twisted cryptography --upgrade
高级网络如果未启用HonSSH高级网络功能,则会发生以下情况。当攻击者从互联网连接时,HonSSH在client_addr和honey_addr之间创建另一个SSH隧道。
1. honey_addr - 例如192.168.1.10
2. client_addr - 例如192.168.1.1
| 互联网| ------- | HonSSH | ------- | HoneyPot |
在上面的示例中,蜜罐将始终看到来自192.168.1.1的连接,而不是攻击者的IP地址。这有助于将HonSSH作为蜜罐系统赠送,并且不是必需的。
启用高级网络功能:HonSSH的高级网络允许HonSSH在HonSSH盒子上创建假IP地址(使用iplink和ip addr命令)并使用NAT(使用iptables)使其看起来像所有数据包来自攻击者。因此,此功能需要特权才能运行这些命令或以root身份运行。
如果HonSSH无权运行任何这些命令,它将回退到使用honey_addr而不是高级网络功能。
演练实操:
1.honey_addr - 例如192.168.1.10
2. client_addr - 例如192.168.1.1
3. 攻击者 - 例如1.1.1.1
| 攻击者| ------- | 互联网| ------- | HonSSH | ------- | HoneyPot |
当攻击者从1.1.1.1连接时,HonSSH首先创建一个名为“ honssh ” 的虚拟接口。
ip link添加名称honssh类型虚拟
ip链接设置honssh up
创建接口后,它会为其分配一个半随机IP地址。HonSSH将绑定此地址,以创建HonSSH和蜜罐之间的隧道。
ip addr add 2.2.2.2/32 dev honssh
现在HonSSH已经绑定了一个半随机的伪IP地址,我们需要使用一些iptables NAT规则来在攻击者的IP地址和我们的假地址之间进行转换。
现在,所有数据包都会显示为来自攻击者。
当攻击者断开连接时,HonSSH将检查他们没有打开其他会话。如果他们没有其他会话,HonSSH将删除假IP地址和iptables规则。
如果没有其他会话在运行,HonSSH也将删除honssh界面。
密码试错由于HonSSH位于攻击者和蜜罐之间,因此HonSSH能够修改传输中的SSH数据包。
密码欺骗背后的想法是将攻击者提供的错误密码更改为正确的密码并允许他们登录。
HonSSH中的密码欺骗现在可以支持多个用户和两种不同的密码机制 - 固定和随机。
· 已修复 - 您提供了您希望允许的密码列表。
· 随机 - 您提供百分比值,HonSSH将随机允许某些密码。
组态要启用密码欺骗:
1. 在honssh.cfg中找到名为PASSWORD SPOOFING的部分,并将enabled设置为true
2. 确保users_conf指向您的users.cfg文件
通过使用用户名创建一个部分, 可以在users.cfg中定义用户:
[root]
每个部分必须包含该帐户的实际密码:
[root]
real_password = toor
提供您想要欺骗的假密码列表:
[root]
real_password = toor
fake_passwords = fakePass1,fakePass2,fakePass3
这将允许任何人使用密码fakePass1,fakePass2和fakePass3以root身份登录。或者让攻击者随机使用登录:
[root]
real_password = toor
random_chance = 25
这将允许任何人以25%的时间使用任何密码以root身份登录。
当有人使用欺骗密码登录时,默认情况下,详细信息存储在logs / spoof.log中。如果其他人出现并使用相同的密码登录,我们可以将此IP地址与之前使用该密码的IP地址相关联。HonSSH将此记录为文本日志中IP地址之间的潜在链接。
本文仅作技术分享 切勿用于非法途径
免费,开源,自由……