banner
[面包]MrTwoC

[面包]MrTwoC

你好,欢迎来到这个基于区块链的个人博客 名字:面包 / MrTwoc 爱好:跑步(5/10KM)、咖啡、游戏(MMORPG、FPS、Minecraft、Warframe) 兴趣方向:Rust、区块链、网络安全、量子信息(量子计算)、游戏设计与开发
bilibili
steam
email
github

Linux應急響應

應急響應概述#

當企業發生黑客入侵、系統崩潰或其它影響業務正常運行的安全事件時,急需第一時間進行處理,使企業的網絡信息系統在最短時間內恢復正常工作,進一步查找入侵來源,還原入侵事故過程,同時給出解決方案與防範措施,為企業挽回或減少經濟損失。
常見的應急響應事件分類:
web 入侵:網頁掛馬、首頁篡改、Webshell
系統入侵:病毒木馬、勒索軟件、遠控後門
網絡攻擊攻擊、DNS 劫持、ARP 欺騙。

基礎信息獲取#

這部分基礎信息獲取都是使用 linux 自身命令或者工具即可實現。這部分包括系統信息獲取、網絡信息獲取、進程信息獲取、用戶信息獲取、服務信息獲取、文件信息獲取、文件權限信息獲取、SUID 信息獲取、當前用戶登錄信息獲取、系統命令信息獲取。

系統信息獲取#

uname -a 獲得當前系統內核版本
ifconfig 獲取相關網絡信息
netstat -napt 查看當前端口開放情況
lsof -i 顯示進程和端口的對應關係 (Linux)
netstat -an |grep tcp 查看所有 tcp 鏈接包括 Listen 狀態
netstat -an |grep syn 查看所有 tcp 鏈接包括 Listen 狀態
top -c 快速查看進程命令
ps -aux 查看進程的關聯
a:顯示終端機下的所有程序,包括其他用戶的程序
u:以用戶為主的格式來顯示程序狀況。
x:顯示所有程序,不以終端機來區分
pstree 直觀展現子進程與父進程之間的關係
cat /proc/ 進程 id/maps 可查看該進程下關聯的一些相關文件如 so 等
lsof -p 21269 (PID) 查看進程佔用信息

用戶信息獲取#

cat /etc/passwd 檢查是否存在異常用戶
awk -F : '$3==0 {print}' /etc/passwd 查看 uid 為 0 的用戶
more /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL)" 查看擁有 sudo 權限的賬號
awk '/$1|$6/{print $1}' /etc/shadow 查看可以遠程登錄的賬號信息
通過命令行在 root 權限下檢查 home 文件夾下東西,一般新建用戶會在 home 文件夾下創建一個與用戶名相同的文件夾名字。

服務信息獲取#

Linux 系統下各服務的啟動腳本存放在 /etc/init.d/ 和 /etc/xinetd.d 目錄,可以檢查一下這些目錄下的腳本是否存在異常。
另外還需要檢查一下定時任務,crontab -1 可檢測當前用戶的定時任務,crontab-u 用戶名 - 1 可檢查對應用戶名的定時任務。

文件信息獲取#

根據文件名特徵查找文件:grep -rni "www" *
按文件大小查找:find /-size 114k (文件大小)
按創建時間查找:find ./-mtime 0 #查找一天內修改的文件

簡單介紹一下參數:
-ctime -n 查找距現在 n24H 內修改過的文件
-ctime n 查找距現在 n
24H 前, (n+1)*24H 內修改過的文件
-ctime +n 查找距現在 (n+1)*24H 前修改過的文件
[alclm] min [最後訪問 | 最後狀態修改 | 最後內容修改] min
[alc|m] time [最後訪問 | 最後狀態修改 | 最後內容修改] time

簡單介紹一下參數:
Linux 文件的幾種時間 (以 find 為例):
atime 最後一次訪問時間,如 ls, more 等,但 chmod,chown,ls,stat 等不會修改些時間,使用 ls -utl 可以按此時間順序查看;
ctime 最後一次狀態修改時間,如 chmod,chown 等狀態時間改變但修改時間不會改變,使用 stat file 可以查看;
mtime 最後一次內容修改時間,如 vi 保存後等,修改時間發生改變的話,atime 和 ctime 也相應跟著發生改變.

文件權限信息獲取#

/etc/passwd 默認權限為 644,其最小權限為 444,首先應對該文件權限進行檢查,以確認配置是否正確:
ls -l /etc/passwd
shadow 默認權限為 600,最小權限為 400,檢查權限配置是否正確:
ls -l /etc/shadow

當前用戶登錄信息獲取#

image.png
簡單普及一下這幾個字段的意思:
1.USER 字段顯示當前登錄系統的用戶名
2.TTY 字段顯示分配給用戶會話的終端。ttyX 表示在控制台登錄,pts/X 和 ttypX 表示網絡連接
3.FROM 字段顯示遠程登錄主機的 IP 地址
4. LOGIN@字段顯示登錄用戶的本地起始時間
5. IDLE 字段顯示最近一個進程運行開始算起的時間長度
6. JCPU 字段顯示在該控制台或網絡連接的全部進程所用的時間
7. PCPU 字段顯示 WHAT 欄中當前進程所使用的處理器時間
8. WHAT 字段顯示用戶正在運行的進程

系統命令信息獲取#

有些情況下系統命令是否正確。病毒木馬可能會偽裝成系統命令,因此這裡需要確認一下原先的
ls -alt /usr/bin/ | head -n 10
image.png
通過. bash_history 查看帳號執行過的系統命令
1、root 的歷史命令
history
2、打開 /home 各帳號目錄下的.bash_history,查看普通帳號的歷史命令為歷史的命令增加登錄的 IP 地址、執行命令時間等信息:
1)保存 1 萬條命令
sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile

Linux 日誌分析#

重要文件
/var/log/wtmp
/var/log/utmp
/var/log/lastlog—— 日誌子系統的關鍵文件,記錄了用戶登錄的情況,都包含時間戳
/var/run/wtmp 永久記錄了每個用戶登錄、註銷、及系統啟動
var/run/utmp 記錄有關當前登錄的每個用戶信息。會隨著用戶登錄和註銷系統而變化
var/log/lastlog 記錄最近成功登錄的事件和最後一次不成功的登錄事件由 log 生成,為二進制文件,需要用 lastlog 命令查看。如果某用戶從來沒有登錄過,就顯示為”。Neverloggedin” 系統賬戶諸如 bin、 daemon、adm、uucp、 mail 等決不應該登錄,如果發現這些賬戶已經登錄,就說明系統可能已經被入侵了。

以下是一些常用的日誌 messages 日誌
RedHat 的 messages 日誌位置為 /var/log/messages, messages 中記錄有運行信息和認證信息,對於追查惡意用戶的登錄行為有很大幫助,例如,下面即為一條 su 日誌:
Mar 22 11:11:34 abc PAM_pwdb[999] failure;cross(uid=500)->root for su service
cron 日誌
RedHat 的 cron 日誌默認記錄在 /var/log/cron 中,主要用來記錄 crontab 的日誌記錄。
secure 日誌
Linux 的 ssh 登錄日誌會存儲於 /var/log/secure 中,若日誌中出現連續大量的登錄錯誤信息,則可能意味著遠程主機在嘗試破解 ssh 登錄口令
Last 日誌
last 命令用於查看最近的用戶登錄情況, last 命令讀取 wtmp 內容。在 Linux 還中還存在 lastlog 命令,用於查看系統內所有帳戶最後一次登錄信息,該命令讀取 /var/log/lastlog 內容。
shell 日誌
Bash 日誌存儲於用戶目錄的.bash_history 文件中,有些攻擊者 SSH 登錄進來之後可能會執行命令,所以該日誌可能會記錄下執行的命令。該日誌存儲條目數量與 shell 變量 $HISTSIZE

常用工具
chkrookit:
chkrootkit 是一款用於 UNIX/Linux 的本地 rootkit 檢查工具。
chkrootkit 官方站點:http: //www.chkrootkit.org/
一般操作指南:
編譯:
tar xvzf chkrootkit.tar. gz
cd chkrootkit 一 xx
make sense
檢測 rootkit: ./chkrootkit - q
若使用 Live CD 啟動主機,將原主機硬盤(被入侵)掛接在 /mnt 下,我們可以使用 - r 參數指定被入侵主機的根目錄,進行離線檢查,chkrootkit 最終僅輸出可疑的項目:
./chkrootkit -q -r /mnt

rkhunter :
Rootkit Hunter 結果比 chkrootkit 更為詳細和精確,若有條件,建議使用 Rootkit Hunter 對系統進行二次復查。
Rootkit Hunter 下載訪問: http://sourceforge.net/projects/rkhunter/
一般操作指南:
安裝 Rootkit Hunter:
tar xvzf rkhunter-xx.tar. gz
cd rkhunter-xx
./install.sh --layout default --install
(若自定義安裝路徑,需執行:./install --layout custom /custom_path --install)
使用 Rootkit Hunter: rkhunter - check(若自定義安裝目錄,需寫全路徑)

lynis :
這裡我比較推薦這個,上面兩個已經沒有維護了,而且該工具除了可以檢查 rootkit,還可以審計一些 Linux 的安全基線方面的東西。建議在 root 下運行,效果會很好。
項目地址: https://github.com/CISofy/lynis
一般操作指南:
cd lynis
./lynis audit system
image.png

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。