av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

python 郵件檢測工具mmpi的使用

瀏覽:113日期:2022-06-30 15:15:47
概要介紹

mmpi,是一款使用python實現(xiàn)的開源郵件快速檢測工具庫,基于community框架設(shè)計開發(fā)。mmpi支持對郵件頭、郵件正文、郵件附件的解析檢測,并輸出json檢測報告。

mmpi,代碼項目地址:https://github.com/a232319779/mmpi,pypi項目地址https://pypi.org/project/mmpi/

mmpi,郵件快速檢測工具庫檢測邏輯:

支持解析提取郵件頭數(shù)據(jù),包括收件人、發(fā)件人的姓名和郵箱,郵件主題,郵件發(fā)送時間,以及郵件原始發(fā)送IP。通過檢測發(fā)件人郵箱和郵件原始發(fā)送IP,實現(xiàn)對郵件頭的檢測。 支持對郵件正文的解析檢測,提取text和html格式的郵件正文,對text郵件正文進行關(guān)鍵字匹配,對html郵件正文進行解析分析檢測,實現(xiàn)探針郵件檢測、釣魚郵件檢測、垃圾郵件檢測等其他檢測。 支持對郵件附件等解析檢測

ole文件格式:如doc、xls等,提取其中的vba宏代碼、模板注入鏈接zip文件格式:提取壓縮文件列表,統(tǒng)計文件名、文件格式等rtf文件格式:解析內(nèi)嵌ole對象等其他文件格式:如PE可執(zhí)行文件

檢測方式包括

基礎(chǔ)信息規(guī)則檢測方式y(tǒng)ara規(guī)則檢測方式

適用前提

mmpi的分析判定檢測前提:郵件系統(tǒng)環(huán)境。脫離郵件環(huán)境上下文,檢測規(guī)則的依據(jù)就不可靠了。

使用方式

1. 安裝

$ pip install mmpi

備注:windows安裝yara-python,可以從這里下載

2. 命令執(zhí)行

$ mmpi-run $email_path3. 快速開始

from mmpi import mmpidef main(): emp = mmpi() emp.parse(’test.eml’) report = emp.get_report() print(report)if __name__ == '__main__': main()4. 輸出格式

{ // 固定字段 'headers': [], 'body': [], 'attachments': [], 'signatures': [] // 動態(tài)字段 'vba': [], 'rtf': [],}工具特色

mmpi完全基于python開發(fā),使用python原生email、html、zip庫進行解析,基于oletool做定制化修改,支持對office文檔和rtf文檔的解析,再結(jié)合yara實現(xiàn)對其他文件的檢測。

項目代碼結(jié)構(gòu)

.├── mmpi│ ├── common│ ├── core│ ├── data│ │ ├── signatures│ │ │ ├── eml│ │ │ ├── html│ │ │ ├── ole│ │ │ ├── other│ │ │ ├── rtf│ │ │ └── zip│ │ ├── white│ │ └── yara│ │ ├── exe│ │ ├── pdf│ │ └── vba│ └── processing└── tests └── samples mmpi/common:基礎(chǔ)模塊,實現(xiàn)基本流程功能 mmpi/core:核心調(diào)度模塊,實現(xiàn)插件的加載及相關(guān)模塊的初始化 mmpi/data:核心檢測模塊,實現(xiàn)基本檢測規(guī)則及yara檢測規(guī)則 mmpi/processing:核心解析模塊,實現(xiàn)eml、html、zip等文件格式的解析 tests:測試模塊 檢測規(guī)則示例說明

1. PE文件偽裝文檔類檢測檢測規(guī)則:壓縮包中文件名以.exe結(jié)尾,并且中間插入20個以上空格的

class PEFakeDocument(Signature): authors = ['ddvv'] sig_type = ’zip’ name = 'pe_fake_document' severity = 9 description = 'PE File Fake Document' def on_complete(self): results = self.get_results() for result in results: if result.get(’type’, ’’) == self.sig_type:infos = result.get(’value’, {}).get(’infos’, [])for info in infos: file_type = info.get(’type’) file_name = info.get(’name’) space_count = file_name.count(’ ’) if ’exe’ == file_type and space_count > 20: self.mark(type='zip', tag=self.name, data=info.get(’name’)) return self.has_marks() return None

2. DLL劫持檢測檢測規(guī)則:壓縮包中同時存在exe和dll文件

class DLLHijacking(Signature): authors = ['ddvv'] sig_type = ’zip’ name = 'dll_hijacking' severity = 9 description = 'DLL Hijacking' def on_complete(self): results = self.get_results() for result in results: if result.get(’type’, ’’) == self.sig_type:infos = result.get(’value’, {}).get(’infos’, [])file_types = [info.get(’type’) for info in infos]if set([’exe’, ’dll’]).issubset(file_types): self.mark(type='zip', tag=self.name) return self.has_marks() return None

3. RTF漏洞利用檢測檢測規(guī)則:RTF文檔中存在OLE對象,并且class_name是OLE2Link或者以equation開頭

class RTFExploitDetected(Signature): authors = ['ddvv'] sig_type = ’rtf’ name = 'rtf_exploit_detected' severity = 9 description = 'RTF Exploit Detected' def on_complete(self): results = self.get_results() for result in results: if result.get(’type’, ’’) == self.sig_type:infos = result.get(’value’, {}).get(’infos’, [])for info in infos: if info.get(’is_ole’, False): class_name = info.get(’class_name’, ’’) if class_name == ’OLE2Link’ or class_name.lower().startswith(’equation’): self.mark(type='rtf', tag=self.name) return self.has_marks() return None結(jié)果示例

結(jié)果說明:郵件包含漏洞利用的RTF文檔,屬于惡意郵件。

包括收發(fā)件人信息、主題信息、發(fā)送時間,郵件正文,以及附件信息。 vba和rtf字段為附件檢測基本信息。 signatures字段說明命中規(guī)則。

{ 'headers': [ { 'From': [{ 'name': 'Mohd Mukhriz Ramli (MLNG/GNE)', 'addr': 'info@vm1599159.3ssd.had.wf'} ], 'To': [{ 'name': '', 'addr': ''} ], 'Subject': 'Re: Proforma Invoice', 'Date': '2020-11-24 12:37:38 UTC+01:00', 'X-Originating-IP': [] } ], 'body': [ { 'type': 'text', 'content': ' nDEAR SIR, nnPLEASE SIGN THE PROFORMA INVOICE SO THAT I CAN PAY AS SOON AS POSSIBLE.nnATTACHED IS THE PROFORMA INVOICE,nnPLEASE REPLY QUICKLY, nnTHANKS & REGARDS’ nnRAJASHEKAR nn Dubai I Kuwait I Saudi Arabia I India I Egypt nKuwait: +965 22261501 nSaudi Arabia: +966 920033029 nUAE: +971 42431343 nEmail ID: help@rehlat.co [1]mn nnLinks:n------n[1]nhttps://deref-mail.com/mail/client/OV1N7sILlK8/dereferrer/?redirectUrl=https%3A%2F%2Fe.mail.ru%2Fcompose%2F%3Fmailto%3Dmailto%253ahelp%40rehlat.com' } ], 'attachments': [ { 'type': 'doc', 'filename': 'Proforma Invoice.doc', 'filesize': 1826535, 'md5': '558c4aa596b0c4259182253a86b35e8c', 'sha1': '63982d410879c09ca090a64873bc582fcc7d802b' } ], 'vba': [], 'rtf': [ { 'is_ole': true, 'format_id': 2, 'format_type': 'Embedded', 'class_name': 'EQUATion.3', 'data_size': 912305, 'md5': 'a5cee525de80eb537cfea247271ad714' } ], 'signatures': [ { 'name': 'rtf_suspicious_detected', 'description': 'RTF Suspicious Detected', 'severity': 3, 'marks': [{ 'type': 'rtf', 'tag': 'rtf_suspicious_detected'} ], 'markcount': 1 }, { 'name': 'rtf_exploit_detected', 'description': 'RTF Exploit Detected', 'severity': 9, 'marks': [{ 'type': 'rtf', 'tag': 'rtf_exploit_detected'} ], 'markcount': 1 } ]}

以上就是python 郵件檢測工具mmpi的使用的詳細內(nèi)容,更多關(guān)于python mmpi庫實現(xiàn)郵件檢測的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 激情欧美日韩一区二区 | 色吊丝2| 国产视频福利一区 | 欧美精品久久 | 美女在线一区二区 | 亚洲另类春色偷拍在线观看 | 91精品国产综合久久久久蜜臀 | 欧美一区二区在线观看视频 | 国产男女精品 | 中文字幕乱码一区二区三区 | 成人国产一区二区三区精品麻豆 | 亚洲免费在线观看视频 | 久久精品国产99国产 | a级免费视频| 亚洲精品视频免费 | 日韩欧美一级片 | 99精品国产一区二区三区 | 国产精品一区二区在线 | 日韩精品免费在线观看 | 色婷婷av一区二区三区软件 | 久久网国产 | www成人免费 | 亚洲成av人片在线观看 | 在线观看成人小视频 | 久久天堂| 成人毛片视频在线播放 | 亚洲精品一级 | 亚洲精品二区 | 久久国产高清 | 亚洲精品1 | 91久久精品日日躁夜夜躁欧美 | 午夜在线影院 | 秋霞av国产精品一区 | 亚洲精品久久嫩草网站秘色 | www.99热.com| 亚洲精品久 | 国产成人精品久久 | 欧美一区二区三区在线观看 | 成人日韩 | 国产一区在线免费 | 久久国产精品99久久久久 |