Linux應急響應重點檢查項程序員
用戶帳號審計: cat /etc/passwd & cat /etc/shadowshell
在線帳戶審計: w數據庫
登陸情況審計: last編程
空口令帳戶審計: awk -F: '($2 == "") { print $1 }' /etc/shadowwindows
主機配置檢查中不容許存在空口令帳戶,雖然空口令帳戶暫時沒發現利用的方式,可是不符合等級保護的基本原則。安全
特權帳戶審計: awk -F: '($3 ==0) { print $1 }' /etc/passwd服務器
Linux中的特權帳號通常只有root,若是出現了除root之外的帳號則有必定風險,懷疑多是黑客建立的後門帳號。網絡
進程審計:ps -ef(顯示全格式全部進程) 或 ps auxfww(顯示全部進程及全部命令行session
Linux進程審計是應急中重要關注點之一,大多數安全事件都會發現系統運行着惡意進程,跟蹤和分析進程是應急響應必備技能之一。socket
端口和進程關聯審計:lsof -p PID 或lsof -i PORT
Linux系統中惡意進程每每都會進行socket綁定,在本地打開一個端口對外通訊,一般懷疑某些端口運行惡意進程的時候都會作關聯分析
網絡鏈接審計:netstat -ano | grep ESTABLISHED(查看已經創建的網絡鏈接)或netstat -antlp | grep LISTEN(查看處於監聽狀態的端口)
網絡鏈接也是應急過程當中重點關注點之一,其中「Foreign Address」中檢查有無惡意IP(配合第三方IP信譽庫),鏈接狀態以及是否存在異常 socket。
計劃任務審計:crontab -l
Linux計劃任務中通常是經過cron程序去執行,黑客修改cron的目的通常是檢查是否權限維持,以及操控DDoS肉雞或者週期性對系統執行惡意操 做等目的。
系統運行狀態審計:top
木馬病毒等程序會對系統cpu、內存、磁盤IO、網絡IO等形成必定程度影響。
arp路由表審計:arp –a
arp是地址解析協議,Linux系統的arp路由表裏記錄的是mac地址與IP的映射,攻擊者每每經過修改arp映射來作中間人攻擊。
Linux日誌審計:
11.Linux日誌審計
1) /var/log/messages或/var/log/syslog 系統活動日誌
搜索squid程序活動日誌。
2)/var/log/auth.log 涉及系統受權身份驗證日誌
搜索失敗的的身份驗證並結合IP來看可發現窮舉攻擊。
搜索」incomplete message」關鍵字可發現openSSH用戶名枚舉攻擊。
3)/var/log/secure 主要用於跟蹤系統受權狀況,存儲全部與安全相關的消息並跟蹤系統安全服務守護進程記錄的sudo信息、SSH登陸和其餘錯誤信息。
查看pam_unix(pam是Linux中的動態加載驗證模塊) session句柄打開的記錄。
4)/var/log/boot.log 系統啓動過程當中引導信息存儲日誌
通常的安全事件不多觸發到此日誌中,除少數病毒木馬等程序會對MBR作篡改。
5)/var/log/dmesg 包含內核緩衝區消息記錄硬件設備或驅動程序相關信息
此類日誌分析較難可忽略。
6)/etc/crontab 包含計劃任務等週期性任務信息
此類日誌多容易被黑客篡改,用於執行相關計劃任務腳本, 好比黑客會每分鐘執行一次服務器上的腳原本檢查是否權限維持。
應急響應重點檢查項
相關名詞解釋:
1.windows域(Domain):
域(Domain)是Windows網絡中獨立運行的單位,域之間相互訪問則須要創建信任關係(即Trust Relation)。信任關係是鏈接在域與域之間的橋樑。當
一個域與其餘域創建了信任關係後,2個域之間不但能夠按須要相互進行管理,還能夠跨網分配文件和打印機等設備資源,使不一樣的域之間實現網絡資源的共
享與管理,以及相互通訊和數據傳輸。
經過命令運行
2.域控制器(Domain controller)
在「域」模式下,至少有一臺服務器負責每一臺聯入網絡的電腦和用戶的驗證工做,至關於一個單位的門衛同樣,做爲域控。域控制器中包含了由這
個域的帳戶、密碼、屬於這個域的計算機等信息構成的數據庫。當電腦聯入網絡時,域控制器首先要鑑別這臺電腦是不是屬於這個域的,用戶使用的登陸帳
號是否存在、密碼是否正確。若是以上信息有同樣不正確,那麼域控制器就會拒絕這個用戶從這臺電腦登陸。不能登陸,用戶就不能訪問服務器上有權限保
護的資源,他只能以對等網用戶的方式訪問Windows共享出來的資源,這樣就在必定程度上保護了網絡上的資源。
3.命令提示符
在windows系統中命令提示符是一個與操做系統命令交互的程序,經過向操做系統分發命令,系統解釋執行並反饋的一個過程,相似於微軟的DOS操
做系統。
4.powershell
能夠看作是命令提示符的升級版本,提供更多操做的訪問系統變量及函數的API,可只支持.NET編程。
5..NET
.NET是微軟的新一代技術平臺,爲敏捷商務構建互聯互通的應用系統,這些系統是基於標準的,聯通的,適應變化的,穩定的和高性能的。從技術的
角度,一個.NET應用是一個運行於.NET Framework之上的應用程序。(更精確的說,一個.NET應用是一個使用.NET Framework類庫來編寫,並運行於公
共語言運行時Common Language Runtime之上的應用程序。)若是一個應用程序跟.NET Framework無關,它就不能叫作.NET程序。好比,僅僅使用了
XML並不就是.NET應用,僅僅使用SOAP SDK調用一個Web Service也不是.NET應用。.NET是基於Windows操做系統運行的操做平臺,應用於互聯網的分
布式。
6.批處理(batch)
批處理(Batch),也稱爲批處理腳本。顧名思義,批處理就是對某對象進行批量的處理,一般被認爲是一種簡化的腳本語言,它應用於DOS和Windows
系統中。批處理文件的擴展名爲bat 。目前比較常見的批處理包含兩類:DOS批處理和PS批處理。PS批處理是基於強大的圖片編輯軟件Photoshop的,用來
批量處理圖片的腳本;而DOS批處理則是基於DOS命令的,用來自動地批量 地執行DOS命令以實現特定操做的腳本。更復雜的狀況,須要使用if、for、
goto等命令控制程式的運行過程,如同C、Basic等高級語言同樣。若是須要實現更復雜的應用,利用外部程式是必要的,這包括系統自己提供的外部命令和
第三方提供的工具或者軟件。批處理程序雖然是在命令行環境中運行,但不只僅能使用命令行軟件,任何當前系統下可運行的程序均可以放在批處理文件中
運行。
7.腳本語言(script)
腳本語言是爲了縮短傳統的編寫-編譯-連接-運行(edit-compile-link-run)過程而建立的計算機編程語言。它的命名起源於一個腳本
「screenplay」,每次運行都會使對話框逐字重複。早期的腳本語言常常被稱爲批量處理語言或工做控制語言。
一個腳本一般是解釋執行而非編譯。腳本語言一般都有簡單、易學、易用的特性,目的就是但願能讓程序員快速完成程序的編寫工做。而宏語言則可視爲腳
本語言的分支,二者也有實質上的相同之處。
8.註冊表(Registry,繁體中文版Windows操做系統稱之爲登陸檔)
註冊表是Microsoft Windows中的一個重要的數據庫,用於存儲系統和應用程序的設置信息。早在Windows 3.0推出OLE技術的時候,註冊表就已經
出現。隨後推出的Windows NT是第一個從系統級別普遍使用註冊表的操做系統。可是,從Microsoft Windows 95操做系統開始,註冊表才真正成爲
Windows用戶常常接觸的內容,並在其後的操做系統中繼續沿用至今。
9.進程(process)
進程(Process)是計算機中的程序關於某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操做系統結構的基礎。在早期面向
進程設計的計算機結構中,進程是程序的基本執行實體;在當代面向線程設計的計算機結構中,進程是線程的容器。程序是指令、數據及其組織形式的描
述,進程是程序的實體。
10.共享文件夾(share)
共享文件夾是指某個計算機用來和其它計算機間相互分享的文件夾,所謂的共享就是分享的意思。、
11.啓動項
啓動項目,就是開機的時候系統會在前臺或者後臺運行的程序。當操做系統完成登陸過程,進程表中出現了不少的進程。操做系統在啓動的時候,自動
加載了不少程序。許多程序的自啓動,給咱們帶來了不少方便,這是不爭的事實,但不是每一個自啓動的程序對咱們都有用;更甚者,也許有病毒或木馬在自
啓動行列。
12.緩衝區溢出
緩衝區溢出(buffer overflow),是針對程序設計缺陷,向程序輸入緩衝區寫入使之溢出的內容(一般是超過緩衝區能保存的最大數據量的數據),
從而破壞程序運行、趁著中斷之際並獲取程序乃至系統的控制權。
13.中斷
中斷是指計算機運行過程當中,出現某些意外狀況需主機干預時,機器能自動中止正在運行的程序並轉入處理新狀況的程序,處理完畢後又返回原被暫停
的程序繼續運行。
14.API
API(Application Programming Interface,應用程序編程接口)是一些預先定義的函數,目的是提供應用程序與開發人員基於某軟件或硬件得以訪問
一組例程的能力,而又無需訪問源碼,或理解內部工做機制的細節。
15.端口通訊
隨着計算機網絡技術的發展,原來物理上的接口(如鍵盤、鼠標、網卡、顯示卡等輸入/輸出接口)已不能知足網絡通訊的要求,TCP/IP協議做爲網絡
通訊的標準協議就解決了這個通訊難題。TCP/IP協議集成到操做系統的內核中,這就至關於在操做系統中引入了一種新的輸入/輸出接口技術,由於在TCP/IP
協議中引入了一種稱之爲"Socket(套接字)"應用程序接口。有了這樣一種接口技術,一臺計算機就能夠經過軟件的方式與任何一臺具備Socket接口的計算
機進行通訊。端口在計算機編程上也就是"Socket接口"。
16.蠕蟲病毒
蠕蟲病毒是一種常見的計算機病毒。它是利用網絡進行復制和傳播,傳染途徑是經過網絡和電子郵件。最初的蠕蟲病毒定義是由於在DOS環境下,病毒
發做時會在屏幕上出現一條相似蟲子的東西,胡亂吞吃屏幕上的字母並將其改形。蠕蟲病毒是自包含的程序(或是一套程序),它能傳播自身功能的拷貝或
自身的某些部分到其餘的計算機系統中(一般是通過網絡鏈接)。
17.木馬病毒
木馬(Trojan),也稱木馬病毒,是指經過特定的程序(木馬程序)來控制另外一臺計算機。木馬一般有兩個可執行程序:一個是控制端,另外一個是被控制
端。木馬這個名字來源於古希臘傳說(荷馬史詩中木馬計的故事,Trojan一詞的特洛伊木馬本意是特洛伊的,即代指特洛伊木馬,也就是木馬計的故事)。
「木馬」程序是目前比較流行的病毒文件,與通常的病毒不一樣,它不會自我繁殖,也並不「刻意」地去感染其餘文件,它經過將自身假裝吸引用戶下載執
行,向施種木馬者提供打開被種主機的門戶,使施種者能夠任意毀壞、竊取被種者的文件,甚至遠程操控被種主機。
18.威脅情報
什麼是威脅情報,其實安全圈一直在使用着它們,漏洞庫、指紋庫、IP信譽庫,威脅情報平臺,它們都是威脅情報的一部分。情報就是線索,威脅情報
就是爲了還原已發生的攻擊和預測未發生的攻擊所須要的一切線索。「所謂的威脅情報就是幫助咱們發現威脅,並進行處置的相應知識。這種知識就是咱們
所說的威脅情報」。
19.系統服務
系統服務(system services)是指執行指定系統功能的程序、例程或進程,以便支持其餘程序,尤爲是底層(接近硬件)程序。經過網絡提供服務時,服務
能夠在Active Directory(活動目錄)中發佈,從而促進了以服務爲中心的管理和使用。
20.AD(Active Directory)
AD全稱爲Active Directory,是指Windows服務器操做系統中的目錄服務。Active Directory提供了一系列集中組織管理和訪問網絡資源的目錄服務功
能。Active Directory還能夠集中管理對網絡資源的訪問,並容許用戶只登錄一次就能訪問在Active Directory上的全部資源。
21.病毒特徵碼
能夠表明某個病毒分類的特徵的代碼段,通常是經過反彙編病毒可執行文件,找出比較特殊的彙編代碼再反起色器碼的十六進制數做爲特徵值。
22.逆向工程(又稱逆向技術)
是一種產品設計技術再現過程,即對一項目標產品進行逆向分析及研究,從而演繹並得出該產品的處理流程、組織結構、功能特性及技術規格等設計要
素,以製做出功能相近,但又不徹底同樣的產品。逆向工程源於商業及軍事領域中的硬件分析。其主要目的是在不能輕易得到必要的生產信息的狀況下,直
接從成品分析,推導出產品的設計原理。
1.用戶帳號和組審計
1)描述:黑客一般對系統進行入侵後會添加後門帳號,因此須要審計用戶和組是否有被篡改的痕跡。
2)命令:lusrmgr.exe
3)檢查方法:查看是否有可疑的用戶名被建立,檢查是否administrators組裏有可疑的帳戶被受權。
2.自啓動配置審計
1)描述:黑客修改自啓動配置一般能夠在系統啓動以後加載黑客自定義腳本。
2)命令:msconfig.exe 或 wmic start up list full
3)檢查方法:檢查自啓動程序信息,如很是規應用程序則須要定位程序位置,可配合360殺毒工具檢查。
3.異常進程審計
1)描述:進程每每都是應急響應主要關注點之一,黑客維持對外通訊都會在被入侵主機中打開獨立進程,進程名常常會帶迷惑性,例如svch0st.exe(應爲
svchost.exe)或exp1orer.exe(應爲explorer.exe)。
2)命令:taskmgr.exe中進程菜單或tasklist.exe
3)檢查方法:仔細排查容易被木馬感染的系統進程,定位進程源程序位置,可配合360殺毒工具進行查殺,對不肯定的其餘進程經過google查詢進程功能,
有機率會得到惡意程序的威脅情報。
4.異常服務審計
1)描述:windows服務相似Linux的守護進程,黑客經過惡意程序建立自定義服務達成可持續控制肉雞的目的。
2)命令:services.msc
3)檢查方法:對windows系統常規服務進行了解,識別病毒常常建立服務的命名規則,例如:「xxxUpdate」帶有這類關鍵字。小技巧:查看指定系統服務
的屬性,看服務描述,若是服務描述不多或者比較非官方的語言,通常比較可疑。或者查看依存關係,針對使用RPC(Remote Procedure Call)的服務要重點
關注。
5.計劃任務審計
1)描述:計劃任務是計算機週期性執行的一系列操做的管理程序,黑客也會增長自定義計劃任務來檢測鏈接心跳或者發動DoS攻擊等行爲。
2)命令:schtasks.exe或者在控制面板>計劃任務中找到GUI模式
3)檢查方法:瞭解系統程序自帶的計劃任務,查看任務對應的文件夾,對照任務建立時間,釋放文件等信息來判斷是不是惡意計劃任務。
6.系統運行狀態審計
1)描述:病毒木馬通常狀況下會使系統CPU、內存、磁盤讀寫、網絡IO的利用率變高,經過監控系統狀態能夠發現潛在的惡意程序。
2)命令:taskmgr.exe
3)檢查方法:查看任務管理器中性能菜單,跟蹤單位時間內CPU、內存、磁盤、網絡運行狀況,並打開監視器配合檢查。
6.用戶會話審計
1)描述:黑客經過3389登陸系統會建立用戶session,經過審計session查看是否有攻擊者進行遠程登陸。
2)命令:query user
3)檢查方法:輸入命令查看是否會話異常,是否存在可疑的用戶會話狀態。
7.網絡鏈接審計
1)描述:審計網絡鏈接能夠發現攻擊者來源IP,以及開放端口、進程等信息。
2)命令:netstat -ano
3)檢查方法:輸入命令檢查是否存在外部可疑IP處於「ESTABLISTHED」狀態。
8.本地共享審計
1)描述:早期黑客攻擊利用經典IPC$的攻擊方式批量植入肉雞。
2)命令:net share和net use
3)檢查方法:輸入net share檢查本地開放了哪些共享,輸入net use檢查是否存在被映射的網絡鏈接。
9.組策略審計
1)描述:是微軟Windows NT家族操做系統的一個特性,它能夠控制用戶賬戶和計算機賬戶的工做環境。組策略提供了操做系統、應用程序和活動目錄中用
戶設置的集中化管理和配置。組策略的其中一個版本名爲本地組策略(縮寫「LGPO」或「LocalGPO」),這能夠在獨立且非域的計算機上管理組策略對
象。。
2)命令:gpedit.msc
3)檢查方法:打開組策略面板,重點查看計算機配置和用戶配置中的腳本子菜單,查看是否加載powershell腳本,分析腳本內容判斷是否異常等。
10.日誌審計
1)描述:windows日誌包含系統日誌,安全日誌、應用日誌等,一般經過windows內置的事件查看器查詢。
2)命令:eventvwr
3)檢查方法:打開windows日誌查看器,根據安全事件發生時間區間篩選windows日誌,通常重點查看「安全」、「應用」日誌,黑客執行的惡意命令多
數被記錄在這兩個日誌中。
通常狀況下windows自帶日誌查看器顯示不是很友好且不便於分析,因此一般配合日誌解析工具LogParser.exe,可在微軟官網下載對應的32或64位版本。
安裝好以後能夠像操做數據庫同樣查詢日誌信息。
因爲路徑問題每每將默認日誌位置c:\Windows\system32\winevt\Logs\的日誌文件拷貝到C盤根目錄中分析:
10.註冊表審計
1)描述:windows中註冊表是存儲系統和應用的設置信息數據庫,經過鍵值對來配置。
2)命令:regedit.exe
3)檢查方法:輸入命令打開註冊表程序,手工檢查指定路徑下的註冊表鍵值或者配合殺毒軟件檢查。
例如:
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 查看系統哪些程序自啓動
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 檢查EnableLUA的值(0:關閉UAC,1:啓動UAC)
\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager 下查看是否存在ExcludeFromKnownDlls,若是存在值存在lpk.dll、
usp10.dll、msimg32.dll、midimap.dll、ksuser.dll、comres.dll、ddraw.dll這些dll,則判斷異常。