如何使用免費的威脅情報源建設SIEM
寫在前面的話
全世界的安全研究專家們經常都需要對惡意軟體來進行逆向工程分析,這樣才能更加清楚地瞭解到網路攻擊者的攻擊方式以及真正意圖。對於我們來說,幸運的是,這些安全研究專家願意跟我們所有人去共享他們在威脅情報方面所取得的研究成果。
在這篇文章中,我們將跟大家介紹如何獲取並利用這些資料來保護我們自己的網路系統不受惡意軟體的攻擊。
威脅情報可以幫助我們的組織根據已知的命令、控制伺服器或動態遮蔽的網路釣魚域名來識別惡意網路活動,並在攻擊開始的初期就攔截這些惡意活動。那麼接下來,我們將從三個方面的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