蜜罐介绍

Mailoney是T-pot蜜罐系统中针对SMTP协议的一个蜜罐,该蜜罐中有三种工作模式,分别为open_relay,postfix_creds,schizo_open_relay。各种模式功能如下:
open_relay-只是一个通用的open relay,将收到的邮件远程主机地址,收件方,发件方和传输的数据都存到了logs/mail.log中。
postfix_creds-此模块只记录登录尝试的用户名密码,将其存放在存放在logs/credentials.log中。
schizo_open_relay-此模块记录所有内容,将收到的邮件远程主机地址,收件方,发件方和传输的数据都存到了logs/mail.log中,同时增加了对shellcode的检测和记录,若存在shellcode,则将数据存放在shellcode.log中;增加了对命令的检测和记录,若存在命令执行,则将命令存放在commands.log中。该模式还增加了hpfeeds协议,方便在集成的 T-pot系统中进行信息传输。

工作原理

工作流程

Maioney通过命令行模式运行蜜罐,设定的参数如下:

> usage: mailoney.py [-h] [-i <ip address>] [-p <port>] [-s mailserver] -t
                   {open_relay,postfix_creds,schizo_open_relay}
                   [-logpath <logpath>] [-hpfserver <hpfeeds-server>]
                   [-hpfport <hpfeeds-port>] [-hpfident <hpfeeds-ident>]
                   [-hpfsecret <hpfeeds-secret>]
                   [-hpfchannelprefix <hpfeeds-channel-prefix>]

使用时必须指定-t参数确定工作模式
项目的ip和监听端口在不指定的情况下默认为0.0.0.0:25
蜜罐运行时会首先根据参数设定变量值,创建日志存放目录,根据指定的模式运行对应脚本。

接下来对几种模式进行介绍。

功能实现

open_relay

open_relay工作模式记录尝试发送的全文电子邮件,其中定义了一个OpenRelay类,并创建OpenRelay对象对SMTP进行搭建,监听,OpenRelay类继承了smtpd 中的SMTPServer类,并对该类的process_message方法进行了重写。重写的process_message方法将收到的邮件远程主机地址,收件方,发件方和传输的数据都存到了logs/mail.log中,代码如下图所示:

点击收藏 | 1 关注 | 1
登录 后跟帖