官术网_书友最值得收藏!

第2章 網(wǎng)絡(luò)安全應(yīng)急響應(yīng)工程師基礎(chǔ)技能

2.1 系統(tǒng)排查

在進(jìn)行受害主機排查時,首先要對主機系統(tǒng)進(jìn)行基本排查,方便對受害主機有一個初步的了解。

2.1.1 系統(tǒng)基本信息

1.Windows系統(tǒng)

在基礎(chǔ)排查時,可以使用Microsoft系統(tǒng)信息工具(Msinfo32.exe),它是Microsoft Windows NT診斷工具(Winmsd.exe)的更新版本。

1)系統(tǒng)信息工具

在命令行中輸入【msinfo32】命令,打開【系統(tǒng)信息】窗口,如圖2.1.1所示,可以顯示出本地計算機的硬件資源、組件和軟件環(huán)境的信息。除了各方面的概述信息,還可以對正在運行任務(wù)、服務(wù)、系統(tǒng)驅(qū)動程序、加載的模塊、啟動程序等進(jìn)行排查。

img

圖2.1.1 【系統(tǒng)信息】窗口

2)正在運行任務(wù)

在【系統(tǒng)信息】窗口中,單擊【軟件環(huán)境】中的【正在運行任務(wù)】選項,可查看正在運行任務(wù)的名稱、路徑、進(jìn)程ID等詳細(xì)信息,如圖2.1.2所示。

img

圖2.1.2 查看【正在運行任務(wù)】

3)服務(wù)

在【系統(tǒng)信息】窗口中,單擊【軟件環(huán)境】中的【服務(wù)】選項,可查看服務(wù)的名稱、狀態(tài)、路徑等詳細(xì)信息,如圖2.1.3所示。

img

圖2.1.3 查看【服務(wù)】

4)系統(tǒng)驅(qū)動程序

在【系統(tǒng)信息】窗口中,單擊【軟件環(huán)境】中的【系統(tǒng)驅(qū)動程序】選項,可查看系統(tǒng)驅(qū)動程序的名稱、描述、文件等詳細(xì)信息,如圖2.1.4所示。

img

圖2.1.4 查看【系統(tǒng)驅(qū)動程序】

5)加載的模塊

在【系統(tǒng)信息】窗口中,單擊【軟件環(huán)境】中的【加載的模塊】選項,可查看加載的模塊的名稱、路徑等詳細(xì)信息,如圖2.1.5所示。

img

圖2.1.5 查看【加載的模塊】

6)啟動程序

在【系統(tǒng)信息】窗口中,單擊【軟件環(huán)境】中的【啟動程序】選項,可查看啟動程序的命令、用戶名、位置等詳細(xì)信息,如圖2.1.6所示。

img

圖2.1.6 查看【啟動程序】

如果只是簡單了解系統(tǒng)信息,還可以通過在命令行中輸入【systeminfo】命令實現(xiàn),如圖2.1.7所示,可查看主機名、操作系統(tǒng)版本等詳細(xì)信息。

img

圖2.1.7 輸入【systeminfo】命令顯示系統(tǒng)信息

2.Linux系統(tǒng)

對于Linux系統(tǒng)的主機排查,可以使用相關(guān)命令查看CPU(中央處理器)信息、操作系統(tǒng)信息及模塊信息等,初步了解主機情況。

1)CPU信息

在命令行中輸入【lscpu】命令,可查看CPU相關(guān)信息,包括型號、主頻、內(nèi)核等信息,如圖2.1.8所示。

img

圖2.1.8 CPU相關(guān)信息

2)操作系統(tǒng)信息

在命令行中輸入【uname-a】命令,可查看當(dāng)前操作系統(tǒng)信息,如圖2.1.9所示。

img

圖2.1.9 當(dāng)前操作系統(tǒng)信息

或在命令行中輸入【cat/proc/version】命令,可查看當(dāng)前操作系統(tǒng)版本信息,如圖2.1.10所示。

img

圖2.1.10 當(dāng)前操作系統(tǒng)版本信息

3)模塊信息

在命令行中輸入【lsmod】命令,可查看所有已載入系統(tǒng)的模塊信息,如圖2.1.11所示。

img

圖2.1.11 所有已載入系統(tǒng)的模塊信息

2.1.2 用戶信息

在服務(wù)器被入侵后,攻擊者可能會建立相關(guān)賬戶(有時是隱藏或克隆賬戶),方便進(jìn)行遠(yuǎn)程控制。攻擊者會采用的方法主要有如下幾種:第1種是最明目張膽的,即直接建立一個新的賬戶(有時是為了混淆視聽,賬戶名稱與系統(tǒng)常用名稱相似);第2種是激活一個系統(tǒng)中的默認(rèn)賬戶,但這個賬戶是不經(jīng)常使用的;第3種是建立一個隱藏賬戶(在Windows系統(tǒng)中,一般在賬戶名稱最后加$)。無論攻擊者采用哪種方法,都會在獲取賬戶后,使用工具或是利用相關(guān)漏洞將這個賬戶提升到管理員權(quán)限,然后通過這個賬戶任意控制計算機。

1.Windows系統(tǒng)

對于Windows系統(tǒng)中的惡意賬戶排查,主要有以下4種方法。

1)命令行方法

在命令行中輸入【net user】命令,可直接收集用戶賬戶信息(注意,此方法看不到以$結(jié)尾的隱藏賬戶),若需查看某個賬戶的詳細(xì)信息,可在命令行中輸入【net user username】命令(username為具體的用戶名)。使用【net user k8h3d】命令,查看k8h3d賬戶的詳細(xì)信息,如圖2.1.12所示。(注意:本書文中使用“賬戶”的正確寫法,截圖中仍保留“帳戶”。)

img

圖2.1.12 查看k8h3d賬戶的詳細(xì)信息

2)圖形界面方法

打開【計算機管理】窗口,單擊【本地用戶和組】中的【用戶】選項,可查看隱藏賬戶,名稱以$結(jié)尾的為隱藏賬戶。圖2.1.13中的“admin$”就是一個隱藏賬戶。也可以在命令行中輸入【lusrmgr.msc】命令,直接打開圖形界面,查看是否有新增/可疑的賬戶。

img

圖2.1.13 查看用戶信息

3)注冊表方法

打開【注冊表編輯器】窗口,選擇【HKEY_LOCAL_MACHINE】下的【SAM】選項,為該項添加【允許父項的繼承權(quán)限傳播到該對象和所有子對象。包括那些在此明確定義的項目】和【用在此顯示的可以應(yīng)用到子對象的項目替代所有子對象的權(quán)限項目】權(quán)限,使當(dāng)前用戶擁有SAM的讀取權(quán)限,如圖2.1.14所示。

img

圖2.1.14 設(shè)置SAM權(quán)限

添加權(quán)限完成后按【F5】鍵,刷新后即可訪問子項并查看用戶信息,如圖2.1.15所示。

img

圖2.1.15 查看用戶信息

同時,在此項下導(dǎo)出所有以00000開頭的項,將所有導(dǎo)出的項與000001F4(該項對應(yīng)Administrator用戶)導(dǎo)出內(nèi)容做比較,若其中的F值相同,則表示可能為克隆賬戶。000001F4的F值如圖2.1.16所示,000001F5的F值如圖2.1.17所示。

img

圖2.1.16 000001F4的F值

img

圖2.1.17 000001F5的F值

對導(dǎo)出的F值進(jìn)行比較,發(fā)現(xiàn)相同,說明系統(tǒng)中存在克隆賬戶,如圖2.1.18所示。

img

圖2.1.18 對導(dǎo)出的F值進(jìn)行比較

4)wmic方法

wmic擴(kuò)展WMI(Windows Management Instrumentation,Windows管理工具),提供從命令行接口和批命令腳本執(zhí)行系統(tǒng)管理支持。在命令行中輸入【wmic useraccount get name,SID】命令,可以查看系統(tǒng)中的用戶信息,如圖2.1.19所示。

img

圖2.1.19 查看系統(tǒng)中的用戶信息

2.Linux系統(tǒng)

1)查看系統(tǒng)所有用戶信息

查看系統(tǒng)所有用戶信息可以在命令行中輸入【cat/etc/passwd】命令,后續(xù)各項由冒號隔開,分別表示“用戶名”“密碼加密”“用戶ID”“用戶組ID”“注釋”“用戶主目錄”“默認(rèn)登錄shell”,如圖2.1.20所示。查詢的用戶信息中,最后顯示“bin/bash”的,表示賬戶狀態(tài)為可登錄;顯示“sbin/nologin”的,表示賬戶狀態(tài)為不可登錄。(注意:本書截圖中的部分敏感信息已進(jìn)行隱藏處理。)

2)分析超級權(quán)限賬戶

在命令行中輸入【awk-F: '{if($3==0)print $1}'/etc/passwd】命令,可查詢可登錄賬戶UID為0的賬戶,如圖2.1.21所示。root是UID為0的可登錄賬戶,如果出現(xiàn)其他為0的賬戶,就要重點排查。

img

圖2.1.20 查看系統(tǒng)所有用戶信息

img

圖2.1.21 分析超級權(quán)限賬戶

3)查看可登錄的賬戶

在命令行中輸入【cat/etc/passwd|grep '/bin/bash'】命令,可查看可登錄的賬戶,如圖2.1.22所示,賬戶root和exam是可登錄的賬戶。

img

圖2.1.22 查看可登錄的賬戶

4)查看用戶錯誤的登錄信息

在命令行中輸入【lastb】命令,可查看顯示用戶錯誤的登錄列表,包括錯誤的登錄方法、IP地址、時間等,如圖2.1.23所示。

img

圖2.1.23 查看用戶錯誤的登錄信息

5)查看所有用戶最后的登錄信息

在命令行中輸入【lastlog】命令,可查看系統(tǒng)中所有用戶最后的登錄信息,如圖2.1.24所示。

img

圖2.1.24 查看所有用戶最后的登錄信息

6)查看用戶最近登錄信息

在命令行中輸入【last】命令,可查看用戶最近登錄信息(數(shù)據(jù)源為/var/log/wtmp、/var/log/btmp、/var/log/utmp),如圖2.1.25所示。其中,wtmp存儲登錄成功的信息、btmp存儲登錄失敗的信息、utmp存儲當(dāng)前正在登錄的信息。

img

圖2.1.25 查看用戶最近登錄信息

7)查看當(dāng)前用戶登錄系統(tǒng)情況

在命令行中輸入【who】命令,可查看當(dāng)前用戶登錄系統(tǒng)情況,如圖2.1.26所示。

img

圖2.1.26 查看當(dāng)前用戶登錄系統(tǒng)情況

8)查看空口令賬戶

在命令行中輸入【awk-F: 'length($2)==0 {print $1}'/etc/shadow】命令,可查看是否存在空口令賬戶,如圖2.1.27所示,admin用戶未設(shè)置登錄口令。

img

圖2.1.27 查看空口令賬戶

2.1.3 啟動項

啟動項是開機時系統(tǒng)在前臺或者后臺運行的程序。操作系統(tǒng)在啟動時,通常會自動加載很多程序。啟動項是病毒后門等實現(xiàn)持久化駐留的一種常用方法,在應(yīng)急響應(yīng)中也是排查的必要項目。

1.Windows系統(tǒng)

Windows系統(tǒng)中的自啟動文件是按照2個文件夾和5個核心注冊表子鍵來自動加載程序的。除了通過相關(guān)的工具查看,還可以通過以下兩種方法進(jìn)行查看。

1)通過【系統(tǒng)配置】對話框查看

在命令行中輸入【msconfig】命令,打開Windows系統(tǒng)中的【系統(tǒng)配置】對話框,單擊【啟動】選項卡,可查看啟動項的詳細(xì)信息,如圖2.1.28所示。

img

圖2.1.28 【系統(tǒng)配置】對話框

2)通過注冊表查看

注冊表是操作系統(tǒng)中一個重要的數(shù)據(jù)庫,主要用于存儲系統(tǒng)所必需的信息。注冊表以分層的組織形式存儲數(shù)據(jù)元素。數(shù)據(jù)項是注冊表的基本元素,每個數(shù)據(jù)項下面不但可以存儲很多子數(shù)據(jù)項,還可以以鍵值對的形式存儲數(shù)據(jù)。注冊表的啟動項是惡意程序的最愛,很多病毒木馬通過注冊表來實現(xiàn)在系統(tǒng)中的持久化駐留。特別是我們在安裝了新的軟件程序后,一定不要被程序漂亮的外表迷惑,需要看清楚它的本質(zhì),是否是木馬的偽裝外殼或是捆綁程序,必要時可以根據(jù)備份來恢復(fù)注冊表。

注冊表目錄的含義如下。

(1)HKEY_CLASSES_ROOT(HKCR):此處存儲的信息可確保在Windows資源管理器中執(zhí)行時打開正確的程序。它還包含有關(guān)拖放規(guī)則、快捷方法和用戶界面信息的更多詳細(xì)信息。

(2)HKEY_CURRENT_USER(HKCU):包含當(dāng)前登錄系統(tǒng)的用戶的配置信息,有用戶的文件夾、屏幕顏色和控制面板設(shè)置。

(3)HKEY_LOCAL_MACHINE(HKLM):包含運行操作系統(tǒng)的計算機硬件特定信息,有系統(tǒng)上安裝的驅(qū)動器列表及已安裝硬件和應(yīng)用程序的通用配置。

(4)HKEY_USERS(HKU):包含系統(tǒng)上所有用戶配置文件的配置信息,有應(yīng)用程序配置和可視設(shè)置。

(5)HKEY_CURRENT_CONFIG(HCU):存儲有關(guān)系統(tǒng)當(dāng)前配置的信息。

這里以“驅(qū)動人生”病毒作為查詢案例,通過注冊表(如圖2.1.29所示)和命令(如圖2.1.30所示)進(jìn)行查詢,會發(fā)現(xiàn)“驅(qū)動人生”建立了WebServers和Ddriver兩個鍵值,分別是病毒的信息竊取模塊和病毒的主程序。

img

圖2.1.29 注冊表

img

圖2.1.30 命令

2.Linux系統(tǒng)

啟動項是惡意病毒實現(xiàn)持久化駐留的一種常用手段,使用以下方法可以查找啟動項相關(guān)內(nèi)容。

使用【cat/etc/init.d/rc.local】命令,可查看init.d 文件夾下的rc.local文件內(nèi)容。

使用【cat/etc/rc.local】命令,可查看rc.local文件內(nèi)容。

使用【ls-alt/etc/init.d】命令,可查看init.d文件夾下所有文件的詳細(xì)信息,如圖2.1.31所示,框內(nèi)的文件是某挖礦木馬的啟動項。

img

圖2.1.31 某挖礦木馬啟動項

2.1.4 任務(wù)計劃

由于很多計算機都會自動加載“任務(wù)計劃”,“任務(wù)計劃”也是惡意病毒實現(xiàn)持久化駐留的一種常用手段,因此在應(yīng)急響應(yīng)事件排查時需要重點排查。

1.Windows系統(tǒng)

任務(wù)計劃是Windows系統(tǒng)的一個預(yù)置實現(xiàn)某些操作的功能,利用這個功能還可實現(xiàn)自啟動的目的,獲取任務(wù)計劃的方法有以下幾種。

(1)打開【計算機管理】窗口,選擇【系統(tǒng)工具】中【任務(wù)計劃程序】中的【任務(wù)計劃程序庫】選項,可以查看任務(wù)計劃的名稱、狀態(tài)、觸發(fā)器等詳細(xì)信息,如圖2.1.32所示。

(2)在PowerShell下輸入【Get-ScheduledTask】命令,可查看當(dāng)前系統(tǒng)中所有任務(wù)計劃的信息,包括任務(wù)計劃的路徑、名稱、狀態(tài)等詳細(xì)信息,如圖2.1.33所示。

img

圖2.1.32 任務(wù)計劃程序庫

img

圖2.1.33 輸入【Get-ScheduledTask】命令

(3)在命令行中輸入【schtasks】命令,可獲取任務(wù)計劃的信息,如圖2.1.34所示。該命令是一個功能更為強大的超級命令行計劃工具,它含有【at】(在較舊的系統(tǒng)中才可以用)命令行工具中的所有功能,獲取任務(wù)計劃時要求必須是本地Administrators組的成員。

img

圖2.1.34 輸入【schtasks】命令

2.Linux系統(tǒng)

在Linux系統(tǒng)中,任務(wù)計劃也是維持權(quán)限和遠(yuǎn)程下載惡意軟件的一種手段。一般有以下兩種方法可以查看任務(wù)計劃。

(1)在命令行中輸入【crontab-l】命令,可查看當(dāng)前的任務(wù)計劃,也可以指定用戶進(jìn)行查看,如輸入命令【crontab-u root-l】,可查看root用戶的任務(wù)計劃,以確認(rèn)是否有后門木馬程序啟動相關(guān)信息。如圖2.1.35所示,使用命令【crontab-l】后,查詢到一個挖礦惡意程序的任務(wù)計劃設(shè)置,其會每隔12分鐘遠(yuǎn)程下載惡意網(wǎng)站上的crontab.sh腳本文件。

img

圖2.1.35 一個挖礦惡意程序的任務(wù)計劃設(shè)置

(2)查看etc目錄下的任務(wù)計劃文件。

一般在Linux系統(tǒng)中的任務(wù)計劃文件是以cron開頭的,可以利用正則表達(dá)式的*篩選出etc目錄下的所有以cron開頭的文件,具體表達(dá)式為/etc/cron*。例如,查看etc目錄下的所有任務(wù)計劃文件就可以輸入【ls/etc/cron*】命令,如圖2.1.36所示。

img

圖2.1.36 輸入【ls/etc/cron*】命令

通常,還有如下包含任務(wù)計劃的文件夾,其中,*代表文件夾下所有文件:

/etc/crontab

/etc/cron.d/*

/etc/cron.daily/*

/etc/cron.hourly/*

/etc/cron.monthly/*

/etc/cron.weekly/

/etc/anacrontab

2.1.5 其他

Windows系統(tǒng)防火墻最基本的用途是對出、入的數(shù)據(jù)包進(jìn)行檢測。

防火墻規(guī)則包括入站規(guī)則和出站規(guī)則。入站規(guī)則:根據(jù)規(guī)則中的過濾條件,過濾從公網(wǎng)到本地主機的流量。出站規(guī)則:根據(jù)規(guī)則中的過濾條件,過濾從本地主機到公網(wǎng)的流量。兩種規(guī)則都可以按需自定義流量過濾的條件。換句話說,入站規(guī)則與進(jìn)入主機的流量有關(guān)。如果在主機上運行一個Web服務(wù)器,那就必須告訴防火墻允許外部用戶訪問主機。出站規(guī)則與流出主機的流量有關(guān),會將應(yīng)用程序分類,允許部分應(yīng)用程序訪問外網(wǎng),而其他應(yīng)用則不能。如果想讓瀏覽器(IE、火狐、Safari、Chrome、Opera等)訪問外網(wǎng),但同時阻止訪問某些網(wǎng)站,則可以在出站規(guī)則中插入命令,表示允許或不允許哪些網(wǎng)站通過防火墻。有些惡意軟件會通過設(shè)置防火墻策略進(jìn)行流量轉(zhuǎn)發(fā)等操作,如驅(qū)動人生病毒對防火墻的設(shè)置。

打開【W(wǎng)indows防火墻】窗口,單擊【高級設(shè)置】,然后選擇【入站規(guī)則】或【出站規(guī)則】可查看防火墻的入站規(guī)則或出站規(guī)則,如圖2.1.37所示。

img

圖2.1.37 查看防火墻的入站規(guī)則或出站規(guī)則

也可以在命令行中輸入【netsh】命令進(jìn)行查看。使用【netsh Firewall show state】命令,可顯示當(dāng)前防火墻的網(wǎng)絡(luò)配置狀態(tài),如圖2.1.38所示。

img

圖2.1.38 當(dāng)前防火墻的網(wǎng)絡(luò)配置狀態(tài)

主站蜘蛛池模板: 宜君县| 建平县| 孟州市| 大连市| 株洲市| 凤翔县| 昭苏县| 五原县| 砀山县| 庆元县| 九江市| 田东县| 临潭县| 山阳县| 苏尼特右旗| 凌云县| 富锦市| 宿州市| 平度市| 阳谷县| 平阳县| 南皮县| 八宿县| 崇仁县| 溧水县| 江华| 岐山县| 英山县| 铜陵市| 芦山县| 敦化市| 霸州市| 枣阳市| 奉化市| 陇南市| 安福县| 皋兰县| 新昌县| 连平县| 柞水县| 深水埗区|