工具介绍

Python-Iocextract是一款高级入侵威胁标识符IoC提取工具,它可以从文本语料库提取URL、IP地址、MD5/SHA哈希、电子邮件地址和YARA规则,其中还包括某些已编码或已被“破坏”的入侵威胁标识符。

因为网络犯罪分子为了防止暴露自己的恶意活动以及攻击内容,通常都会想办法“破坏”类似URL和IP地址这样的入侵威胁标识符。在这种情况下,有效提取和汇总这些IoC对于安全分析人员来说就非常有价值了。但不幸的是,对于现有的IoC提取工具来说,标准的正则表达式往往无法捕捉到这些东西。

比如说,下面这个样本就使用了括号来进行IoC隐藏:127[.]0[.]0[.]1

这种情况下,基于简单正则表达式匹配的工具就无法提取出这种IoC了。

但是对于Python-Iocextract来说,情况就不一样了。通过使用精心设计的正则表达式以及反混淆检测技术,我们既可以检测到“被破坏”的IoC,也可以还原初始的IoC,为分析人员节省了时间和精力。

工具安装

在使用Python-Iocextract之前,我们需要安装Python开发环境以及regex依赖。在Ubuntu和Debian等Linux系统中,可以使用下列命令完成安装:sudo apt-get install python-dev

接下来,使用pip命令安装iocextract:pip install iocextract

在Windows平台下,点击【这里】下载regex安装包:pip install regex-2018.06.21-cp27-none-win_amd64.whl

工具使用

提取某些已被破坏的URL地址:>>>content = """

... Ireally love example[.]com!

...All the bots are on hxxp://example.com/bad/url these days.

...C2: tcp://example[.]com:8989/bad

..."""

>>>import iocextract

>>>for url in iocextract.extract_urls(content):

...     print url

...

hxxp://example.com/bad/url

tcp://example[.]com:8989/bad

example[.]com

tcp://example[.]com:8989/bad

如果匹配到多个正则表达式的话,可能会有某些URL地址出现两次。

如果有需要的话,你还可以还原IoC并移除某些常见的混淆技术:

你甚至还可以提取并解码十六进制编码或Base64编码的URL地址:>>>content ='612062756e6368206f6620776f72647320687474703a2f2f6578616d706c652e636f6d2f70617468206d6f726520776f726473'

>>>for url in iocextract.extract_urls(content):

...     print url

...

687474703a2f2f6578616d706c652e636f6d2f70617468

>>>for url in iocextract.extract_urls(content, refang=True):

...     print url

...

该工具中所有的extract_*函数返回的都是迭代器,而不是列表。因此,iocextract可以处理大量数据输入。但如果你想要迭代处理多次IoC,你将需要把结果存储为列表:>>>list(iocextract.extract_urls(content))

['hxxp://example.com/bad/url','tcp://example[.]com:8989/bad', 'example[.]com','tcp://example[.]com:8989/bad']

命令行工具还包括:$iocextract -h

usage:iocextract [-h] [--input INPUT] [--output OUTPUT] [--extract-emails]

[--extract-ips] [--extract-ipv4s][--extract-ipv6s]

[--extract-urls] [--extract-yara-rules][--extract-hashes]

[--custom-regex REGEX_FILE][--refang] [--strip-urls]

[--wide]

AdvancedIndicator of Compromise (IOC) extractor. If no arguments are

specified,the default behavior is to extract all IOCs.

optional arguments:

-h, --help            show this help message and exit

--input INPUT         default: stdin

--output OUTPUT       default: stdout

--extract-emails

--extract-ips

--extract-ipv4s

--extract-ipv6s

--extract-urls

--extract-yara-rules

--extract-hashes

--custom-regex REGEX_FILE

file with custom regexstrings, one per line, with one

capture group each

--refang              default: no

--strip-urls          remove possible garbage from the endof urls. default:

no

--wide                preprocess input to allowwide-encoded character

matches. default: no

目前,该工具只支持恢复URL、电子邮件以及IPv4地址。

Python-Iocextract支持的IoC

IP地址

1、 完全支持IPv4

2、 部分支持IPv6

URL地址

1、 协议标识符:http, https, tcp,udp, ftp, sftp, ftps

2、 [.]锚点

3、 十六进制编码URL:http, https, ftp

4、 URL编码URL:http, https, ftp, ftps, sftp

5、 Base64编码URL:http, https, ftp

电子邮件地址

支持部分@或at锚点

YARA规则

导入、包含和注释

哈希

1、 MD5

2、 SHA1

3、 SHA256

4、 SHA512

针对IPv4地址,支持扫描下列混淆技术:

针对电子邮件地址,支持扫描下列混淆技术:

针对URL地址,支持扫描下列混淆技术:

项目地址

Python-Iocextract:【GitHub传送门】

* 参考来源:inquest,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

python入侵手机_Python-Iocextract:高级入侵威胁标识符IoC提取工具相关推荐

  1. python elif 用法_Python入门高级教程--Python 条件语句

    Python 条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和 ...

  2. python的映射_Python学习:映射函数(map)和函数式编程工具(filter和reduce)

    在序列中映射函数map map函数会对一个序列对象中的每一个元素应用被传入的函数,并且返回一个包含了所有函数调用结果的一个列表. 例1:def sum(x): return x + 10 L1 = [ ...

  3. pip升级python包命令_python安装扩展库常用的是什么工具

    pip 是 Python 包管理工具,该工具提供了对Python 包的查找.下载.安装.卸载的功能. 目前如果你在 http://python.org 下载最新版本的安装包,则是已经自带了该工具. P ...

  4. python编辑器安卓手机版_python编译器安卓下载-python编译器手机版下载v1.8.0 安卓版-2265安卓网...

    python编译器手机版是一款超棒的编程工具.专业的编程内容设计,多种多样的语言选择,完美的脚本,强大的功能,没有任何广告,快速的编写,还有快速提示,自由复制等等! python编译器安卓软件介绍 - ...

  5. “棱镜”入侵手机App, 爱加密有效防窃听

    "棱镜门"爆发以后,全球媒体的相关报道纷至沓来,关于美国"棱镜"项目在中国涉及范围的各种传闻也层出不穷.中国有关部门经过了几个月的查证,发现针对中国的窃密行为的 ...

  6. 小心,你的充电宝可能被黑了!能烧毁元件,入侵手机程序

    作者|刘俊寰 出品|大数据文摘 社畜了一天,好不容易和朋友出去吃顿饭,发现手机没电了,你借来朋友的移动电源,20分钟就充了25%. 回到家后,想起约了朋友开黑,插上笔记本的电源就开始快充,准备slay ...

  7. 小心,你的充电宝可能被黑了!改变充电功率烧毁元件,还能直接入侵手机程序

    大数据文摘出品 作者:刘俊寰 社畜了一天,好不容易和朋友出去吃顿饭,发现手机没电了,你借来朋友的移动电源,20分钟就充了25%. 回到家后,想起约了朋友开黑,插上笔记本的电源就开始快充,准备slay全 ...

  8. 黑产上演《三体》剧情:蠕虫病毒入侵手机群发“钓鱼”短信

    "我是这个世界的一个和平主义者,我首先收到信息是你们文明的幸运,警告你们:不要回答!不要回答!不要回答!!!" --<三体> <三体>是国内科幻小说界里程碑 ...

  9. AIDE --Linux高级入侵检测

    AIDE--(文件系统)高级入侵检测 1.aide的概述 AIDE(Adevanced Intrusion Detection Environment,高级入侵检测环境)是个入侵检测工具,主要用途是检 ...

最新文章

  1. Struts2_day02--封装数据到集合里面
  2. Python应用实战-如何通过python对Excel进行常规性操作
  3. Stanford UFLDL教程 反向传播算法(BP算法)
  4. 微型计算机,单片机和单板机是,9、微型计算机、单片机和单板机是()
  5. 读进程和写进程同步设计_浅谈unix进程进程间通信IPC原理
  6. teamviewer类似软件_TeamViewer系统后台被黑客组织APT攻破,请注意防范
  7. 《Ray Tracing in One Weekend》——Chapter 2: The vec3 class
  8. Centos 7忘记密码,如何重置
  9. 类申明 java,申明Java类必须使用的关键字是( )。
  10. 如何搜索视频和字幕?
  11. 制作一个简易的即时聊天工具
  12. 系统集成项目管理工程师10大管理47个过程域输入输出工具(项目进度管理)
  13. Three.js搭配OrbitControls.js实现flyTo()
  14. 牛客网利用C语言解兔子序列
  15. 连续分配存储的四种管理方式
  16. 360全景图制作的原理是什么?有哪些必备的装备?
  17. vue3中reactive赋值失败
  18. 主板和bsd小板传输的数据采样问题
  19. 系列学习分布式任务调度 XXL-JOB 之第 2 篇 —— 调度中心集群
  20. centos7在net连接下ifcfg-ens33的配置

热门文章

  1. 网站流量的算法是怎么算的?网站每月10G流量够用吗
  2. 操作系统之进程管理习题
  3. HDU 1069 Monkey and Banana
  4. 微软良心伙伴,OneDrive首发支持iOS11的文件App
  5. 打乱魔方软件_魔方 打乱步骤生成 算法
  6. 就让这大雨全都落下 - 容祖儿
  7. 计算机主机内有的硬件有,怎么看电脑配置?查看电脑配置方法有哪些?
  8. TL-WR886N路由器+树莓派绑定IP地址
  9. mysql 合计 小计_用SQL实现统计报表中的小计与合计的方法详解
  10. 基于JavaEE的健身器材产品专卖店管理系统_JSP网站设计_MySQL数据库设计