作者:
Blood_Zero
·
2015/12/18 16:57
0x00 審計命令
在linux中有5個用於審計的命令:
- last:這個命令可用於檢視我們系統的成功登入、關機、重啟等情況;這個命令就是將/var/log/wtmp檔案格式化輸出。
- lastb:這個命令用於檢視登入失敗的情況;這個命令就是將/var/log/btmp檔案格式化輸出。
- lastlog:這個命令用於檢視使用者上一次的登入情況;這個命令就是將/var/log/lastlog檔案格式化輸出。
- who:這個命令使用者檢視當前登入系統的情況;這個命令就是將/var/log/utmp檔案格式化輸出。
- w:與who命令一致。
關於它們的使用:man last,last與lastb命令使用方法類似:
#!bash
last [-R] [-num] [ -n num ] [-adFiowx] [ -f file ] [ -t YYYYMMDDHHMMSS ] [name...] [tty...]
lastb [-R] [-num] [ -n num ] [ -f file ] [-adFiowx] [name...] [tty...]
who [OPTION]... [ FILE | ARG1 ARG2 ]
引數說明:
檢視系統登入情況
last:不帶任何引數,顯示系統的登入以及重啟情況
只針對關機/重啟
使用-x
引數可以針對不同的情況進行檢視
只針對登入
使用-d
引數,並且引數後不用跟任何選項
顯示錯誤的登入資訊
lastb
檢視當前登入情況
who、w
0x01 日誌檢視
在Linux系統中,有三類主要的日誌子系統:
- 連線時間日誌: 由多個程式執行,把記錄寫入到/var/log/wtmp和/var/run/utmp,login等程式會更新wtmp和utmp檔案,使系統管理員能夠跟蹤誰在何時登入到系統。(utmp、wtmp日誌檔案是多數Linux日誌子系統的關鍵,它儲存了使用者登入進入和退出的記錄。有關當前登入使用者的資訊記錄在檔案utmp中; 登入進入和退出記錄在檔案wtmp中; 資料交換、關機以及重啟的機器資訊也都記錄在wtmp檔案中。所有的記錄都包含時間戳。)
- 程式統計: 由系統核心執行,當一個程式終止時,為每個程式往程式統計檔案(pacct或acct)中寫一個記錄。程式統計的目的是為系統中的基本服務提供命令使用統計。
- 錯誤日誌: 由syslogd(8)守護程式執行,各種系統守護程式、使用者程式和核心透過syslogd(3)守護程式向檔案/var/log/messages報告值得注意的事件。另外有許多Unix程式建立日誌。像HTTP和FTP這樣提供網路服務的伺服器也保持詳細的日誌。
日誌目錄:/var/log
(預設目錄)
檢視程式日誌
cat /var/log/messages
檢視服務日誌
cat /var/log/maillog
0x02 使用者檢視
Linux不同的使用者,有不同的操作許可權,但是所有使用者都會在/etc/passwd /etc/shadow /etc/group /etc/group- 檔案中記錄;
檢視詳細
- less /etc/passwd:檢視是否有新增使用者
- grep :0 /etc/passwd:檢視是否有特權使用者(root許可權使用者)
- ls -l /etc/passwd:檢視passwd最後修改時間
- awk -F: '$3==0 {print $1}' /etc/passwd:檢視是否存在特權使用者
- awk -F: 'length($2)==0 {print $1}' /etc/shadow:檢視是否存在空口令使用者
注:linux設定空口令:passwd -d username
0x03 程式檢視
普通程式檢視
程式中我們一般使用ps來檢視程式;man ps
- ps -aux:檢視程式
- lsof -p pid:檢視程式所開啟的埠及檔案
檢查隱藏程式
- ps -ef | awk '{print }' | sort -n | uniq >1
- ls /proc | sort -n |uniq >2
- diff 1 2
注:以上3個步驟為檢查隱藏程式
0x04 其他檢查
檢查檔案
- find / -uid 0 -print:查詢特權使用者檔案
- find / -size +10000k -print:查詢大於10000k的檔案
- find / -name "..." -prin:查詢使用者名稱為...的檔案
- find / -name core -exec ls -l {} \;:查詢core檔案,並列出詳細資訊
- md5sum -b filename:檢視檔案的md5值
- rpm -qf /bin/ls:檢查檔案的完整性(還有其它/bin目錄下的檔案)
檢查網路
- ip link | grep PROMISC:正常網路卡不應該存在promisc,如果存在可能有sniffer
- lsof -i
- netstat -nap:檢視不正常埠
- arp -a:檢視arp記錄是否正常
計劃任務
- crontab -u root -l:檢視root使用者的計劃任務
- cat /etc/crontab
- ls -l /etc/cron.*:檢視cron檔案是變化的詳細
- ls /var/spool/cron/
檢查後門
對於linux的後門檢查,網路上有一些公開的工具,但是在不使用這些工具的前提時,我們可以透過一些命令來獲取一些資訊。
首先就是檢測計劃任務,可以參考上面;
第二:檢視ssh永久連結檔案:vim $HOME/.ssh/authorized_keys
第三:lsmod:檢查核心模組
第四:chkconfig --list/systemctl list-units --type=service:檢查自啟
第五:服務後門/異常埠(是否存在shell反彈或監聽)
其它:
ls /etc/rc.d
ls /etc/rc3.d
本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!