# blackhole部署说明

本文详细介绍了如何部署Blackhole蜜罐,包括设置自签名SSL证书、配置iptables重定向网络流量、使用virtualenv和gevent优化Python环境,以及创建PoC版本以监控和记录网络活动。
摘要由CSDN通过智能技术生成

blackhole部署说明

提示:

sudo su -跳转到root账户

install

sudo apt install python
sudo git clone https://github.com/dudeintheshell/blackhole.git
cd blackhole
sudo apt-get install python-virtualenv python-setuptools python-dev build-essential
sudo virtualenv env
source env/bin/activate
sudo pip install gevent

注释:
virtualenv
是一个工具,用于创建独立的Python环境,这样你就可以在一个项目中安装特定版本的Python库,而不会影响系统上其他Python项目或系统Python环境。python3-virtualenv是专门为Python 3设计的版本

source env/bin/activate
是一个命令,用于激活一个使用 virtualenv 或 Python 自带的 venv 创建的虚拟环境。当你运行这个命令时,它会修改你的 shell 环境,使得后续执行的 Python 命令都在这个虚拟环境中运行

pip install gevent
pip 是Python的包管理工具,它可以帮助你安装、更新和卸载Python的库和工具。
install 是告诉pip你想要安装某个东西。
gevent 是一个Python的库,它可以让你的Python程序运行得更快,特别是当你需要处理大量的网络请求或者并发任务时。

创建没有密码的自签名 SSL 证书

这是支持 HTTPS 请求所必需的。
如何为测试服务器创建没有密码的自签名 SSL 证书-贾斯汀·凯利

使用 openssl 生成密钥
openssl genrsa -out ssl.key 1024

创建“证书签名请求” - 并将密码留空
openssl req -new -key ssl.key -out ssl.csr

创建SSL证书
openssl x509 -req -days 366 -in ssl.csr -signkey ssl.key -out ssl.crt

设置 iptables 规则

  1. tcp和udp流量定向流动到blackhole
sudo iptables -t nat -A PREROUTING -p tcp --dport 1:65535 -j REDIRECT --to-ports 5000
sudo iptables -t nat -A PREROUTING -p udp --dport 1:65535 -j REDIRECT --to-ports 5000
  • iptables: 命令行工具,用于配置 Linux 内核防火墙规则。
  • -t nat: 指定操作的是 NAT 表。NAT 表用于网络地址转换。
  • -A PREROUTING: 在 PREROUTING 链中添加一条新规则。PREROUTING 链用于处理路由选择之前的数据包。
  • -p tcp/udp: 仅匹配 TCP UDP协议的数据包。
  • --dport 1:65535: 匹配目标端口范围为 165535 的数据包。这实际上匹配了所有可能的 TCP 端口。
  • -j REDIRECT: 跳转目标为 REDIRECT,即重定向数据包。
  • --to-ports 5000: 将数据包重定向到本地的 5000 端口。

运行黑洞

source env/bin/activate
python blackhole.py

专有名词注释(人话)

-[ ] Blackhole: 是一个低交互性的蜜罐,可以捕获和记录所有内容。使用 iptables,所有传入的 TCP 和 UDP 请求都被重定向到单个端口,因此看起来蜜罐似乎正在侦听所有端口。Telnet(23) 和 HTTPS ([0-65]443) 请求以有限的方式得到支持。蜜罐被编写为PoC来捕获所有请求,因此功能有限。

-[ ] iptables: 可以被看作是一个Linux上的“守门员”,它负责检查和控制进出计算机的数据包。当计算机连接到互联网或局域网时,iptables就能帮助筛选哪些数据包可以进入或离开计算机,这样就能增强计算机的安全性。

-[ ] Telnet(23)请求: Telnet就像是一把神奇的钥匙,可以打开远程计算机的“大门”。当你想要进入某个远程主机程序,就像想要进入别人的家一样,你就得用Telnet这把钥匙。

-[ ] PoC(Proof of Concept): 而蜜罐如果是个PoC版本,那它就像是一个简易版的“陷阱玩具”,用来展示怎么吸引和记录攻击者的动静。

-[ ] nf_conntrack: 是Linux内核里一个“记忆助手”,专门用来记住电脑上的网络连接信息。它像一个侦探,跟踪着每一个网络连接的“足迹”,记录下每个连接的细节,比如是谁发起的连接、连接的目标是谁、用了什么端口等等。这样,当需要处理网络数据包时,其他模块就能借助nf_conntrack的“记忆”来做出正确的决策。

  • 17
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值