python web.py部署蜜罐

本文介绍了一种使用Python Web框架部署蜜罐的方法,通过监听特定端口并记录访问者信息,包括GET和POST请求的详细数据,以及访问者的IP和cookies,所有信息被记录在本地日志文件中。

python web模块下载地址:https://github.com/webpy/webpy/releases

部署蜜罐代码:

# coding=utf-8
import sys
import logging
# sys.setdefaultencoding("utf-8")
import web  
import platform  
import os
import time
from web.template import ALLOWED_AST_NODES
ALLOWED_AST_NODES.append('Constant')

# reload(sys) 
port = sys.argv[1] 
 
urls = ('/.*','All')  
  
class All:  
    def GET(self):  
        con = web.ctx.fullpath  
        ip = web.ctx.ip
        web.header('server','avtech cisco-IOS GoAhead-Webs zte huawei Router Start MikroTik voip mini_httpd DrayTek Vigor ADSL Canon Hikvision-Webs HP HTTP Server Oracle') 
        web.header('www_authenticate','NETCORE DVR Router')
        if ip == 'x.x.x.x':  
            pass  
        else:  
            aa=web.cookies()
            print(aa)
            fw=open('/root/python/log.txt','a')            
            txtdata=time.asctime()+'---GET---'+ip+'-'+con+'---cookie:'+str(aa)+'\r\n'
            fw.write(txtdata)
            fw.close()  
        render = web.template.render('templates/') 
        return render.index()
    def POST(self):  
        con = web.ctx.fullpath  
        postdata = web.data() 
        postdata = postdata.replace('\r\n',' ')  
        postdata = postdata.replace('\r',' ')
        ip = web.ctx.ip
        web.header('server','avtech cisco-IOS GoAhead-Webs zte huawei Router Start MikroTik voip mini_httpd DrayTek Vigor ADSL Canon Hikvision-Webs HP HTTP Server Oracle') 
        web.header('www_authenticate','NETCORE DVR Router')
        if ip == 'x.x.x.x':  
            pass  
        else:  
            fw=open('/root/python/log.txt','a')      
            aa=web.cookies()
            txtdata=time.asctime()+'---POST---'+ip+'-'+con+'---cookie:'+str(aa)+'---postdata:'+postdata+'\r\n'
            fw.write(txtdata)
            fw.close()
        print (postdata)
        render = web.template.render('templates/') 
        return render.index() 
        return ''  
  
if __name__ == '__main__':  
    app = web.application(urls,globals())  
    app.run()

在templates目录下放置蜜罐html文件

搭建一个蜜罐系统对于网络安全学习者来说是一个非常有价值的实践项目。蜜罐系统可以模拟真实的服务,吸引攻击者进行攻击,从而帮助研究人员分析攻击行为。以下是一个从零开始搭建蜜罐系统的入门教程,适用于初学者。 ### 1. 选择蜜罐软件 蜜罐软件有很多种,常见的包括 **Dionaea**、**Honeyd**、**Kippo**(SSH蜜罐)等。对于初学者来说,Dionaea 是一个不错的选择,因为它支持多种协议,并且具有较强的日志记录和文件捕获能力。 ### 2. 准备环境 Dionaea 可以运行在 Linux 系统上,推荐使用 CentOS 或 Ubuntu。以下以 CentOS 6.7 为例进行说明。 #### 安装基础依赖 ```bash yum groupinstall "Development Tools" yum install python-devel libnl-devel libpcap-devel openssl-devel libxml2-devel libxslt-devel ``` #### 安装 Python 2.7(如果系统自带的版本较低) ```bash yum install python27 ``` ### 3. 安装 Dionaea Dionaea 的安装过程包括从源码编译安装。 #### 下载源码 ```bash git clone https://github.com/DinoTools/dionaea.git cd dionaea ``` #### 安装依赖库 ```bash pip install cifs c14n lxml ``` #### 编译安装 ```bash mkdir build cd build cmake .. make make install ``` ### 4. 配置 Dionaea Dionaea 的配置文件通常位于 `/etc/dionaea/` 目录下。主要的配置文件是 `dionaea.conf`,可以通过编辑该文件来设置监听的端口、日志路径、下载路径等。 例如,设置监听的 IP 地址和端口: ```ini [general] listen_ip = 0.0.0.0 listen_port = 80 ``` ### 5. 启动 Dionaea 启动 Dionaea 时需要指定配置文件路径: ```bash dionaea -c /etc/dionaea/dionaea.conf -u nobody -g nobody ``` 启动后,Dionaea 将开始监听指定端口,并记录所有连接尝试和攻击行为。 ### 6. 配置 Web 管理界面(可选) Dionaea 可以结合 Django 搭建 Web 管理界面,方便查看攻击日志和捕获的恶意文件。 #### 安装 Django 及相关插件 ```bash pip install Django pygeoip django-pagination django-tables2 django-compressor django-htmlmin django-filter git clone https://github.com/benjiec/django-tables2-simplefilter.git cd django-tables2-simplefilter python setup.py install ``` #### 创建 Django 项目 ```bash django-admin startproject dionaea_web cd dionaea_web python manage.py startapp dashboard ``` #### 配置数据库 编辑 `settings.py` 文件,配置数据库连接信息,推荐使用 SQLite 或 MySQL。 #### 运行 Web 服务 ```bash python manage.py migrate python manage.py runserver 0.0.0.0:8000 ``` 访问 `http://your_ip:8000` 即可查看 Dionaea 的攻击日志和相关信息。 ### 7. 安全注意事项 - **蜜罐部署在隔离的网络环境中**,避免影响真实系统。 - **定期备份日志和捕获的文件**,以便后续分析。 - **监控蜜罐的流量**,确保没有异常的外部连接。 ### 8. 学习资源 - [Dionaea 官方文档](https://dionaea.readthedocs.io/) - [Honeyd 教程](http://www.honeyd.org/guide) - [Kippo SSH 蜜罐](https://github.com/desaster/kippo)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值