Linux伺服器入侵檢測常用命令

2021-08-04 08:21:09 字數 4448 閱讀 5642

審計命令

last

這個命令可用於檢視我們系統的成功登入、關機、重啟等情況,本質就是將/var/log/wtmp檔案格式化輸出,因此如果該檔案被刪除,則無法輸出結果。

last -10(-n) 檢視最近10條記錄

last -x reboot 檢視重啟的記錄

last -x shutdown 檢視關機的記錄

last -d 檢視登陸的記錄

last –help 命令幫助資訊

last -f wtmp 用last命令檢視wtmp檔案(直接開啟無法檢視)

lastb

這個命令用於檢視登入失敗的情況,本質就是將/var/log/btmp檔案格式化輸出。

lastb name(root) 檢視root使用者登陸失敗記錄

lastb -10(-n) 檢視最近10條登陸失敗記錄

lastb –heplp 命令幫助資訊

lastlog

這個命令用於檢視使用者上一次的登入情況,本質就是將/var/log/lastlog檔案格式化輸出。

lastlog 所有使用者上一次登陸記錄

lastlog -u username(root) root使用者上一次登陸記錄

lastlog –help 命令幫助資訊

who這個命令使用者檢視當前登入系統的情況,本質就是將/var/log/utmp檔案格式化輸出。主要用來檢視當前使用者名稱,以及登陸的ip位址資訊,w命令與who一樣,會更詳細一些。

history

檢視歷史命令記錄,其實就是檢視root/.bash_history檔案內容,刪除這個檔案,記錄就沒了。

history 檢視所有歷史記錄

history -10 檢視最近10條記錄

history | grep 「wget」 檢視wget相關資訊的記錄

history –help 命令幫助資訊

history顯示時間戳:

export histtimeformat=」%f %t `whoami` 」

history | more

檢查使用者

linux不同的使用者,有不同的操作許可權,但是所有使用者都會在/etc/passwd、/etc/shadow、/etc/group檔案中記錄。

less /etc/passwd  檢視是否有新增使用者

grep :0 /etc/passwd  檢視是否有特權使用者(root許可權使用者)

ls -l /etc/passwd  檢視passwd最後修改時間

awk -f: 『$3==0 』 /etc/passwd  檢視是否存在特權使用者

awk -f: 『length($2)==0 』 /etc/shadow  檢視是否存在空口令使用者

注:linux設定空口令:passwd -d username

檢查程序

一般被入侵的伺服器都會執行一些惡意程式,或是挖礦程式,或者ddos程式等等,如果程式執行著,那麼通過檢視程序可以發現一些資訊。

普通程序

ps -aux  檢視程序

top 檢視程序

lsof -p pid  檢視程序所開啟的埠及檔案

lsof -c 程序名  檢視關聯檔案

ps -aux | grep python | cut -d 『 『 -f 2 | xargs kill 殺死python相關的程序

檢查/etc/inetd.conf檔案,輸入:cat /etc/inetd.conf | grep –v 「^#」,輸出的資訊就是你這台機器所開啟的遠端服務。

如果程序中沒有發現異常,那麼可以看看有沒有開啟某些隱藏程序。

隱藏程序

ps -ef | awk 『』 | sort -n | uniq >1

ls /proc | sort -n |uniq >2

diff 1 2

注:以上3個步驟為檢查隱藏程序。

檢查檔案

被入侵的**,通常肯定有檔案被改動,那麼可以通過比較檔案建立時間、完整性、檔案路徑等方式檢視檔案是否被改動。

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目錄下的檔案)

whereis 檔名  檢視檔案路徑

ls -al 檔名  檢視檔案建立時間

du -sh 檔名 檢視檔案大小

檢查網路

檢查網路的目的,是檢視黑客是否通過篡改網絡卡型別,進行流量嗅探等操作。

ip link | grep promisc  正常網絡卡不應該存在promisc,如果存在可能有sniffer

lsof -i

netstat -nap  檢視不正常埠

arp -a  檢視arp記錄是否正常

ifconfig -a  檢視網絡卡設定

檢查計畫任務

當我們嘗試kill惡意程式時,往往會遇到被kill程式自動啟動的問題,那麼就要檢查下計畫任務(cron)了。

crontab -u root -l  檢視root使用者的計畫任務

cat /etc/crontab

ls -l /etc/cron.*  檢視cron檔案是否變化的詳細資訊

ls /var/spool/cron/

檢查系統後門

可以使用工具,如:conmodo、rkhunter等,當然也可以手工輸入命令檢查。

vim $home/.ssh/authorized_keys  檢視ssh永久鏈結檔案

lsmod  檢查核心模組

chkconfig –list/systemctl list-units –type=service  檢查自啟

檢視著名的木門後門程式:

ls /etc/rc.d #系統開機後,此目錄下的檔案會被啟動

ls /etc/rc3.d

find / -name 「.rhosts」 –print

find / -name 「.forward」 –print

檢查**後門

如果伺服器上執行著web程式,那麼需要檢查是否通過web漏洞入侵伺服器,具體的判斷方法可以結合分析中介軟體日誌以及系統日誌,但過程需要較長時間。我們也可以通過檢查伺服器上是否留有入侵者放置的**後門木馬,以此判斷黑客是否通過web應用入侵到伺服器。

method one

將**目錄下,檔名中含有jsp、php、asp、aspx的檔案(注意是含有)都copy出來並壓縮。

通過windows下的d盾工具掃瞄打包出來的目錄,掃瞄是否存webshell(**後門)

method two

直接使用maskfindshell工具,進行webshell掃瞄(目前只能掃瞄jsp與php的**,並且php的誤報比較高)

關於maskfindshell詳細用法,可以參考:maskfindshell-document

尋找伺服器物理路徑

無論哪種方法的webshell查詢,首先要確定的是web伺服器安裝的路徑,因為webshell都是放在web路徑下的。

詢問管理員、**開發商

searchwebpath,具體用法參考:searchwebpath用法

打包檔案

當我們做好一切入侵檢測分析後,我們需要把一些日誌檔案copy到本地進行更進一步詳細的分析時,怎麼打包伺服器相關資訊,並且copy到本地呢?

打包web檔案

打包檔名中包含jsp的檔案,打包後的檔案為my_txt_files.tar:

tar cvf my_txt_files.tar `find . -type f -name 「*.jsp*」`

打包日誌檔案

tar -cvf log.tar /var/log

打包其他資訊

last > last.log

netstat -an > netstat.log

……傳輸檔案到本地

將伺服器上的檔案傳輸到本地電腦上的幾種方法。

lrzsz

如果ssh連線的客戶端為xshell等,可以安裝lrzsz命令(putty無法使用)

apt-get install lrzsz

使用:開啟ftp或者http

開ftp這裡我不介紹了,網上很多教程,這裡主要說說開啟http服務。

一般linux伺服器都預設安裝了python,那麼可以借助python快速開啟乙個http服務,詳細參考:基於python的webserver

u盤掛載

如果我們不是通過ssh的方式連線,而是直接通過顯示器連線上伺服器進行操作,那麼可以嘗試u盤傳輸。

fdisk -l 檢視u盤路徑

monut /dev/sdb4 /mnt 掛載u盤

cd /mnt 進入u盤

umount /mnt 退出u盤

linux 伺服器 常用命令

一.檔案處理命令 1.命令格式與目錄處理命令 ls a 檢視隱藏檔案 ls l 檢視檔案首席資訊官格式顯示 ls d 檢視指定目錄的詳細資訊 ls i 檢視任何檔案的l節點 ll 檔名 檢視乙個檔案的詳細資訊 df 顯示磁碟情況 df lh 詳細磁碟使用情況 df a 全部檔案系統使用情況 df i...

Linux伺服器常用命令

ps 個人使用linux伺服器時常用的命令。登入伺服器 ssh 使用者名稱 iptop 顯示和管理系統程序,相當於windows任務管理器 kill 殺死程序或作業 殺死pid碼的程序或作業,釋放對應的記憶體 kill pidnvidia smi 檢視gpu使用情況和視訊記憶體占用 watch n ...

Linux伺服器常用命令

ls檢視檔案 ls命令 用於顯示指定工作目錄下之內容 列出目前工作目錄所含之檔案及子目錄 ll命令 是ls l命令的縮寫,可以詳細列出檔名 檔案型態 許可權 擁有者 檔案大小等資訊詳細列出 移動位置 cd 返回上一層 pwd 檢視當前所在路徑 clear 清屏 mkdir xx 建立資料夾 touc...