前言
前陣子因為疫情的緣故,我們都在家中,但發生了這麼一件事,看到標題你應該知道是什麼了,我被黑了!!!咳咳咳,不能説是被黑了,只能説是我下載了一個後門軟件,對後門軟件,比如説灰鴿子,流光這種,那邊的黑客遠程控制了我,我知道,這是最基礎的軟件了。但是我還是中了,最後,我的賬號,密碼都被盜取。很難受對吧,所以我寫個這個文章。
如何防護這種後門,木馬?
很容易,不去下載就好了。哎,你這不是廢話嗎?咳咳,最好的方法,360。360?你在説什麼?360不是毒瘤嗎?360雲大腦知道嗎?雖然這個東西經常抽風,説這個是木馬,那個是病毒。但是不去理就好了。不然你可試試不裝360會怎麼樣,首先,我們要知道360的重要性,不然你可以換成卡巴斯基。咳咳,進入正題
(1)360只是第一種方法
(2)第二種linux,比如説ubuntu,本文用CentOS系統演示
(3)防火牆軟件,比如説天網
(4)還有最後一個方法,按我説的做
第一種方法:360,騰訊電腦管家,火絨,卡巴斯基等殺毒
360你不會裝嗎?笨蛋,自己找教程。
第二種方法:Linux下chkrootkit+RKHunter直接性防護
第二種方法開始。rootkit聽説過嗎?沒有就百度去
1. 文件級別rootkit
文件級別的rootkit一般是通過程序漏洞或者系統漏洞進入系統後,通過修改系統的重要文件來達到隱藏自己的目的。在系統遭受rootkit攻擊後,合法的文件被木馬程序替代,變成了外殼程序,而其內部是隱藏着的後門程序。通常容易被rootkit替換的系統程序有login、ls、ps、ifconfig、du、find、netstat等,其中login程序是最經常被替換的,因為當訪問Linux時,無論是通過本地登錄還是遠程登錄,/bin/login程序都會運行,系統將通過/bin/login來收集並核對用户的賬號和密碼,而rootkit就是利用這個程序的特點,使用一個帶有根權限後門密碼的/bin/login來替換系統的/bin/login,這樣攻擊者通過輸入設定好的密碼就能輕鬆進入系統。
此時,即使系統管理員修改root密碼或者清除root密碼,攻擊者還是一樣能通過root用户登錄系統。攻擊者通常在進入Linux系統後,會進行一系列的攻擊動作,最常見的是安裝嗅探器收集本機或者網絡中其他服務器的重要數據。在默認情況下,Linux中也有一些系統文件會監控這些工具動作,例如ifconfig命令,所以,攻擊者為了避免被發現,會想方設法替換其他系統文件,常見的就是ls、ps、ifconfig、du、find、netstat等。如果這些文件都被替換,那麼在系統層面就很難發現rootkit已經在系統中運行了。
這就是文件級別的rootkit,對系統維護很大,目前最有效的防禦方法是定期對系統重要文件的完整性進行檢查,如果發現文件被修改或者被替換,那麼很可能系統已經遭受了rootkit入侵。檢查件完整性的工具很多,常見的有Tripwire、 aide等,可以通過這些工具定期檢查文件系統的完整性,以檢測系統是否被rootkit入侵。
2. 內核級別的rootkit
內核級rootkit是比文件級rootkit更高級的一種入侵方式,它可以使攻擊者獲得對系統底層的完全控制權,此時攻擊者可以修改系統內核,進而截獲運行程序向內核提交的命令,並將其重定向到入侵者所選擇的程序並運行此程序,也就是説,當用户要運行程序A時,被入侵者修改過的內核會假裝執行A程序,而實際上卻執行了程序B。
內核級rootkit主要依附在內核上,它並不對系統文件做任何修改,因此一般的檢測工具很難檢測到它的存在,這樣一旦系統內核被植入rootkit,攻擊者就可以對系統為所欲為而不被發現。目前對於內核級的rootkit還沒有很好的防禦工具,因此,做好系統安全防範就非常重要,將系統維持在最小權限內工作,只要攻擊者不能獲取root權限,就無法在內核中植入rootkit。
瞭解,安裝,準備,使用chkrootkit
chkrootkit是一個Linux系統下查找並檢測rootkit後門的工具。chkrootkit沒有包含在官方的CentOS源中,因此要採取手動編譯的方法來安裝,不過這種安裝方法也更加安全。下面簡單介紹下chkrootkit的安裝過程。
1.準備gcc編譯環境
對於CentOS系統,需要安裝gcc編譯環境,執行下述三條命令:
2.安裝chkrootkit
為了安全起見,建議直接從官方網站下載chkrootkit源碼,然後進行安裝,操作如下:
3.使用chkrootkit
安裝完的chkrootkit程序位於/usr/local/chkrootkit目錄下,執行如下命令即可顯示chkrootkit的詳細用法:
chkrootkit各個參數的含義如下所示:
chkrootkit的使用比較簡單,直接執行chkrootkit命令即可自動開始檢測系統。針對被感染rootkit的系統,最安全而有效的方法就是備份數據重新安裝系統。
4. chkrootkit的缺點
chkrootkit在檢查rootkit的過程中使用了部分系統命令,因此,如果服務器被黑客入侵,那麼依賴的系統命令可能也已經被入侵者替換,此時chkrootkit的檢測結果將變得完全不可信。為了避免chkrootkit的這個問題,可以在服務器對外開放前,事先將chkrootkit使用的系統命令進行備份,在需要的時候使用備份的原始系統命令讓chkrootkit對rootkit進行檢測。這個過程可以通過下面的操作實現:
上面這段操作是在/usr/share/下建立了一個.commands隱藏文件,然後將chkrootkit使用的系統命令進行備份到這個目錄下。為了安全起見,可以將.commands目錄壓縮打包,然後下載到一個安全的地方進行備份,以後如果服務器遭受入侵,就可以將這個備份上傳到服務器任意路徑下,然後通過chkrootkit命令的"-p"參數指定這個路徑進行檢測即可。
rootkit後門檢測工具RKHunter
RKHunter是一款專業的檢測系統是否感染rootkit的工具,它通過執行一系列的腳本來確認服務器是否已經感染rootkit。在官方的資料中,RKHunter可以作的事情有:
MD5校驗測試,檢測文件是否有改動
檢測rootkit使用的二進制和系統工具文件
檢測特洛伊木馬程序的特徵碼
檢測常用程序的文件屬性是否異常
檢測系統相關的測試
檢測隱藏文件
檢測可疑的核心模塊LKM
檢測系統已啓動的監聽端口
下面詳細講述下RKHunter的安裝與使用。
安裝RKHunter
建議從官方網站下載RKHunter,這裏下載的版本是rkhunter-1.4.0.tar.gz。RKHunter的安裝非常簡單,過程如下:
這裏採用RKHunter的默認安裝方式,rkhunter命令被安裝到了/usr/local/bin目錄下。
使用rkhunter指令
rkhunter命令的參數較多,但是使用非常簡單,直接運行rkhunter即可顯示此命令的用法。下面簡單介紹下rkhunter常用的幾個參數選項。
[root@server ~]#/usr/local/bin/rkhunter–help
Rkhunter常用參數以及含義如下所示:
同時,如果想讓檢測程序每天定時運行,那麼可以在/etc/crontab中加入如下內容:
30 09 * * * root /usr/local/bin/rkhunter --check --cronjob
這樣,rkhunter檢測程序就會在每天的9:30分運行一次。
第三種:防火牆軟件
第一個,windows自帶防火牆
windows自帶的防火牆windows Defender,在控制面板\系統和安全\Windows Defender 防火牆中,開啓即可。但是默認是開啓的,反正檢查一下看看有沒有開啓,有些軟件可以關閉防火牆,檢查一下就對了!
第二個:360家庭防火牆
沒錯,又是360,個人認為360的防火牆還可以,下載獨立版的就好了,連接一下雲大腦,簡直是浪的飛起,雖然並沒有什麼卵用,定時檢查一下端口就好了,我這種前端開發的,看的就是端口,wifi的近期使用情況,誰在用wifi,什麼手機,電腦在用,看的就是這個,所以這個防火牆很好的解決了我的問題,自然我就推薦了。主要是我們這些開發者使用,推薦一下。
第三個:GlassWire
GlassWire是windows下的一款軟件,對windows的,界面很美觀,很簡潔就像這樣 :
這是切換中文的圖片。你不會想到這是windows下的軟件,它太簡潔了!所以我強推這款軟件,一個字"好!"
第四個:Firewall App Blocker
Firewall App Blocker 超級簡單易用的bai限制軟件訪問網絡的防火牆:
對於大多數用户,Windows自帶的防火牆雖然實用但並沒有好好利用起來,主要是因為設置略顯繁瑣。使用 Firewall App Blocker (Fab) 來禁止應用聯網變得超級簡單方便。用户只需將需要限制的應用程序添加到軟件的列表裏即可,勾選狀態下為禁止聯網,取消勾選可以臨時允許聯網,就是這麼簡單。
這個軟件很好用的,它最大的好處是解決了Windows自帶防火牆的難用問題。也推薦。但是界面沒有GlassWire那麼好看。
也許你會説:“為什麼只有windows的軟件?MAC的去哪裏了?”我的回答是,你也不自己去數落數落MAC的防禦力,不説是木馬了,來個頂級黑客攻進去也要費很多時間!至於Linux的,或許你已經看過了,就不用我來説了,如果你想秀技術,來個反黑客我沒意見。如果你真的黑成功了,那你可以做什麼呢?等着網警來找你?不要無罪變有罪了。
最後一種方法
最後一種方法是反黑客後門軟件,直接進入正題
瞭解什麼是後門程序
後門程序是指那些繞過安全性控制而獲取對程序或系統訪問權的程序方法。一般在軟件開發時,程序員會在軟件中創建後門程序,這樣就可以修改程序設計中的缺陷。但是,如果這些後門被其他人知道,或是在發佈軟件之前沒有刪除後門程序,那麼它就成了安全風險,容易被黑客當成漏洞進行攻擊。通俗的講,後門程序就是留在計算機系統中,供某位特殊使用者通過某種特殊方式控制計算機系統的途徑。
一、遠程控制的兩個通性
(1)任何一款的遠程控制技術都必須與目標(被控端)建立至少一個TCP或者UPD連接。如果黑客未上線,則會每隔30秒向黑客發起連接請求。
**(2)任何一款遠控木馬都會向系統寫入至少一個隨機啓動項、服務啓動項,或者劫持某個系統必備的正常啓動項。並且會在某個目錄中隱、釋放木馬。以方便隨機啓動。
二、基於遠控通性反遠程控制法——兩條命令判斷是否被控制
1.最簡單的方法就是通過兩條命令,一條是“netstat “ 。另一條就是“tasklist “命令,這兩條命令可真為是絕配的反黑客遠控的方法啊。首先我們就在虛擬機中測試,在本機使用灰鴿子主控端生成一個木馬放入到虛擬機中運行。
netstat # 在cmd,powershell,Git等終端中運行,直接監聽端口,tasklist # 查看所有程序的佔用端口
2.確認虛擬機已經中了我們的遠控木馬之後我們開始執行第一條命令,首先大家先在聯網的情況,把所有聯網的程序都關閉,包括殺毒軟件、QQ、迅雷、等存在聯網的程序關閉,保存最原始的進程。這樣很方便我們識別。再次打開開始菜單——運行——輸入“cmd”。進入到黑色的DOS窗口下,輸入命令“netstat -ano“。這條命令的意思是查看當前網絡的連接狀態。輸入之後我們查看中主要看”state”的狀態,如果是“listenning”是端口的監聽這個可以放心,如果是“ESTABLISHED”可要注意了,這個狀態意思是正在連接!我們肯定會想,我們都沒開任何程序在聯網,何來正在與遠程主機連接呢?下面是中了遠程控制木馬的虛擬機中網絡連接狀態。
3.此時捕捉到正在連接的狀態的最後一行PID值為:3920,這就是我們説的遠控至少與目標建立一個TCP或UDP連接,而這裏建立了一個TCP連接,並且仔細看下,“Foregin Address”意思是外網地址,這個IP地址可以百度進行查詢下就可以知道是哪個地區的人在控制我們的電腦,再仔細看下IP地址後面的端口為:8000,現在很多主流的遠程軟件都是8000或者80端口,這又更值得懷疑了。這樣我們就可以查看進程,因為木馬要想進行連接就必定會在內存中進行運行,否則就無法進行連接了,我們查看內存中可疑的進程,上面捕獲的連接PID為:3920。我們輸入命令“tasklist /svc“這條命令是查看當前進程與PID值和啓動的服務。
4.通過上面的命令找到了網絡連接對應的PID值進程3920,並且發現該進程名是一個IE的進程,很明顯這就有問題,因為我們根本沒打開瀏覽器,何來IE進程呢?果斷的就知道它的一個遠程控制木馬偽裝的進程。我們應該馬上去進行一個查殺掉該進程,從內存中幹掉它。我們輸入命令“taskkill /f /pid 3920” 這條命令是強制結束PID值為3920的進程。當我們強制結束掉了木馬之後發現主控端遠程控制軟件上的肉雞馬上就下線了。這樣黑客就無法進行控制了。
5.在這裏説明,我們只是暫時現在已經讓黑客無法控制我們的電腦,結束了它的遠程控制的連接程序。但是我們要知道遠程控制的第二個通性,就是遠程控制軟件為了讓對方能夠重啓系統後繼續在黑客的遠控軟件上面上線,就必須會在被控者的電腦上寫入一個隨機啓動項,這個隨機啓動項就是當系統啓動的時候立馬運行木馬,運行了木馬就可以再次上線。所以我們還需要檢測我們的啓動項。很多啓動項都是寫入註冊表的,我們這裏給大家列出一些木馬可能寫入的啓動鍵值。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 下的shell鍵值
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows 下的load鍵值**
* 在CMD下切換到該目錄下進程一個強制刪除吧,切換到目錄後輸入命令“del /ah /f svchot.exe “ 就可以強制刪除隱藏的木馬了。2.此時我們把隱藏的以服務啓動的木馬乾掉了,你可以去停止服務,或者通過sc delete 去刪除服務,這裏就不多講了,因為服務啓動的木馬已經被幹掉了,即使服務存在也無法找到啓動程序了。我們這裏將虛擬機重啓下,再查看下網絡連接是否還會與黑客建立TCP遠程控制連接呢?
三、基於遠控的通性反黑客遠程控制法——兩個軟件判斷是否存在後門
1.這兩個工具分別是icesword(中文:冰刃)和SSM軟件。第一個軟件主要是應對一些DLL進程注入或者是存在Rootkit的木馬,所謂的Rootkit就是隱藏的意思,這樣的木馬有隱藏網絡連接狀態、隱藏進程的功能。但是使用iceword查看就能查看到這種內核級隱藏的木馬。例如下面就是GHOST木馬的DLL注入,它是通過DLL注入到svchost.exe進程的,從icesword就可以找到可疑的dll模塊。
並且大家都説”Svchost.exe“如果與外界的IP連接就肯定是被控制了,這是有道理的。因為現在的遠控比如ghost、白金遠控就是會有這種現象就是DLL注入到“svhochst.exe“進程進行控制的,所以會有連接,一般來説“svchost.exe“除了在微軟更新的時候可能存在與美國IP的連接,但是其它時候都不會存在與外界進行IP連接的。通過360的網絡連接就可以直接看的出來。
icesword裏面的進程都是黑色顯示的,如果出現有紅色的進程,一般都是運用了內核級的rootkit技術的木馬。這樣的木馬通過任務管理器或者tasklist /svc 一般都是查看不到進程的,但是用冰刃卻可以很快的查看到。
2.icesword的軟件很強大這裏就不多説了,上面已經舉例説了。下面説下SSM工具的使用,首先我先在虛擬機裏面安裝下這個軟件吧。並且開啓這個軟件,開啓這個軟件後只要我們運行任何一個程序都會報警説明軟件執行了什麼動作!這裏我們將一個灰鴿子遠控木馬拷貝進到我們的虛擬機,當我們點擊遠控木馬的時候SSM馬上就報警了,提示程序啓動,這個動作是正常的,因為該程序需要explorer圖形化程序進程啓動的。
3.當我們運行之後會發現,這時候程序突然來了一個註冊表修改的動作,懂註冊表的都知道這個就是向HKLC\System\CurretcontrolSet\services裏面寫入服務。這個就不太正常了,不是安裝什麼程序,一個簡單的程序居然寫入服務,增加服務,可疑!
4.當我們允許此次操作的時候,你會發現不停的會向註冊表寫入服務鍵值,這個肯定就是個可疑的動作,最後發現木馬又釋放了程序到系統目錄。照理説一個執行程序不會隨意釋放程序到系統目錄,可疑!
5.此允許發現最後一步又有一個進程嘗試注入到IE裏面進行以IE後台啓動木馬,很明顯就能分析出就是個可疑的木馬程序,很可能就是後門木馬,它有寫入服務的這一通性!通過SSM的攔截程序動作就可以分析一個程序是不是綁有後門木馬。
以上就是我分享的反黑客教程,希望可以幫助你