如何使用免费的威胁情报源建设SIEM

2019-02-04 60791人围观 ,发现 2 个不明物体 WEB安全

写在前面的话

全世界的安全研究专家们经常都需要对恶意软件来进行逆向工程分析,这样才能更加清楚地了解到网络攻击者的攻击方式以及真正意图。对于我们来说,幸运的是,这些安全研究专家愿意跟我们所有人去共享他们在威胁情报方面所取得的研究成果。

1.png

在这篇文章中,我们将跟大家介绍如何获取并利用这些数据来保护我们自己的网络系统不受恶意软件的攻击。

威胁情报可以帮助我们的组织根据已知的命令、控制服务器或动态屏蔽的网络钓鱼域名来识别恶意网络活动,并在攻击开始的初期就拦截这些恶意活动。那么接下来,我们将从三个方面的feed来获取这些威胁情报。

1、 Cisco Talos

2、 Sans

3、 Fire Eye

何为SIEM?

SIEM,全称为Security Informationand Event Management Software,即安全信息和事件管理软件。它可以帮助我们提取、分析和管理那些来自文本文件的信息,并在不需要任何人工交互的情况下对数据进行动态标记和报警,这将帮助我们预先收到已知威胁的安全警报。如果你之前没有接触过SIEM的话,建议大家先看看这些开源的SIEM平台【传送门】。

下面给出的PowerShell脚本可以直接从威胁情报提供平台那里免费获取威胁情报信息,虽然网上还有很多各种各样不同的威胁情报feed,但是这些已经足够大家使用了。

Talos IP feed

这个脚本可以抓取当前的Talos IP列表,并将其写入到一个标题为Talos.txt的文本文件中。这个文件会直接存储在PowerShell脚本所在的相同目录下,如果你想修改文件输出路径,请修改$output变量的值。

操作样例:

$output= “$PSScriptRootTalos.txt”

可修改为:

$output= “c:\feeds\talos.txt”

[Net.ServicePointManager]::SecurityProtocol= [Net.SecurityProtocolType]::Tls12

$url= "https://talosintelligence.com/documents/ip-blacklist"

$output= "$PSScriptRootTalos.txt"

Invoke-WebRequest-Uri $url -OutFile $output

$content= Get-Content $output

TOR出口节点列表

它的功能跟上述类似,只不过它可以抓取已知的TOR出口节点列表。你可以使用跟上面相同的方法来修改文件输出地址。

$url= “https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=1.1.1.1

$output= “$PSScriptRootTorExitNode.txt”

Invoke-WebRequest-Uri $url -OutFile $output

$content= Get-Content $output

Shodan扫描器IP

现在社区有很多研究人员会共同去维护一个Shodan扫描器IP地址列表,我们可以直接把这个列表设置到防火墙里面,来保护我们的基础设施不会被收录到Shodan数据库中。很明显,这种方式并不能100%的保护设备的安全,因为攻击者依然可以自己开发一个扫描工具来实现他们的目标。研究人员Mike Hiltz曾写过一篇关于Shodan扫描器的有趣文章,感兴趣的同学可以阅读了解一下【传送门】。

这个脚本跟上述两者都不同,因为Shodan列表为XML格式,不过幸运的是,PowerShell可以处理XML文件。

$u[Net.ServicePointManager]::SecurityProtocol=

[Net.SecurityProtocolType]::Tls12

[xml]$XmlDocument= Invoke-WebRequest -Uri

https://isc.sans.edu/api/threatlist/shodan

$XmlDocument.threatlist.shodan.ipv4| Out-File “

$PSScriptRootShodanIP.txt”

Abuse.ch勒索软件追踪器

这个列表是Abuse.ch社区的开发者们创建和维护的,而且完全免费!屏蔽这个列表中的地址可以帮助我们抵御勒索软件的攻击,或者说可以及时提醒我们的系统中可能存在勒索软件。除此之外,他们还提供了各种恶意攻击的威胁情报信息,但数据最丰富的还是勒索软件。

[Net.ServicePointManager]::SecurityProtocol=

[Net.SecurityProtocolType]::Tls12

$url= “https://ransomwaretracker.abuse.ch/downloads/RW_IPBL.txt

$output= “$PSScriptRootAbuseCHRansom.txt”

Invoke-WebRequest-Uri $url -OutFile $output

$content= Get-Content $output

$content-notmatch ‘#.*#’ | Set-Content $output

这个脚本跟其他的有些不同,Abuse.ch列表有一个header域,其中包含了标题。我们的SIEM不需要获取这些信息,所以可以设置正则表达式来去掉这部分内容:

“$content -notmatch ‘#.*#’ | Set-Content $output”

后话

希望这篇文章的内容可以给大家提供帮助,还等什么?赶紧动手构建我们自己的SIEM吧!

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

发表评论

已有 2 条评论

取消
Loading...
css.php