您好,登錄后才能下訂單哦!
Linux手工入侵排查思路是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
當(dāng)Linux主機發(fā)生安全事件需要進(jìn)行入侵排查時,一般可以使用常見的shell命令,通過分析主機的異?,F(xiàn)象、進(jìn)程端口、啟動方式、可疑文件和日志記錄等信息以確認(rèn)主機是否被入侵。
從攻擊者的角度來說,入侵者在入侵成功后,往往會留下后門以便再次訪問被入侵的系統(tǒng),而創(chuàng)建系統(tǒng)賬號是一種比較常見的后門方式。在做入侵排查的時候,用戶配置文件/etc/passwd和密碼配置文件/etc/shadow是需要去重點關(guān)注的地方。
(1)查詢特權(quán)用戶特權(quán)用戶(uid 為0)
awk -F: '$3==0{print $1}' /etc/passwd
(2)查詢可以遠(yuǎn)程登錄的帳號信息
awk '/\$1|\$6/{print $1}' /etc/shadow
(3)除root帳號外,其他帳號是否存在sudo權(quán)限。如非管理需要,普通帳號應(yīng)刪除sudo權(quán)限
more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"
(4)禁用或刪除多余及可疑的帳號
usermod -L user 禁用帳號,帳號無法登錄,/etc/shadow第二欄為!開頭 userdel user 刪除user用戶 userdel -r user 將刪除user用戶,并且將/home目錄下的user目錄一并刪除
(5)當(dāng)前登錄當(dāng)前系統(tǒng)的用戶信息
who 查看當(dāng)前登錄用戶(tty本地登陸 pts遠(yuǎn)程登錄) w 查看系統(tǒng)信息,想知道某一時刻用戶的行為 uptime 查看登陸多久、多少用戶,負(fù)載
02、檢查異常端口
(1)使用netstat 網(wǎng)絡(luò)連接命令,分析可疑端口、IP、PID等信息。
netstat -antlp|more
(2)如發(fā)現(xiàn)異常的網(wǎng)絡(luò)連接需要持續(xù)觀察,可抓包分析
tcpdump -c 10 -q //精簡模式顯示 10個包
03、檢查可疑進(jìn)程
(1)使用ps命令列出系統(tǒng)中當(dāng)前運行的那些進(jìn)程,分析異常的進(jìn)程名、PID,可疑的命令行等。
ps aux / ps -ef
(2)通過top命令顯示系統(tǒng)中各個進(jìn)程的資源占用狀況,如發(fā)現(xiàn)資源占用過高
top
(3)如發(fā)現(xiàn)異常,可使用一下命令進(jìn)一步排查:
查看該進(jìn)程啟動的完整命令行: ps eho command -p $PID 查看該進(jìn)程啟動時候所在的目錄: readlink /proc/$PID/cwd 查看下pid所對應(yīng)的進(jìn)程文件路徑:ls -l /proc/$PID/exe 查看該進(jìn)程啟動時的完整環(huán)境變量: strings -f /proc/1461/environ | cut -f2 -d '' 列出該進(jìn)程所打開的所有文件: lsof -p $PID
04、檢查系統(tǒng)服務(wù)
Linux系統(tǒng)服務(wù)管理,CentOS7使用systemd控制 CentOS6之前使用chkconfig控制。
(1)對于systemd服務(wù)管理器來說,可以通過下述方式查看開機自啟的服務(wù):
systemctl list-unit-files --type=service | grep "enabled"
(2)chkconfig就是CentOS6以前用來控制系統(tǒng)服務(wù)的工具,查看服務(wù)自啟動狀態(tài):
chkconfig --list chkconfig --list | grep "3:on\|5:on"
05、檢查開機啟動項
(1)檢查啟動項腳本
more /etc/rc.local /etc/rc.d/rc[0~6].d ls -l /etc/rc.d/rc3.d/
(2)例子:當(dāng)我們需要開機啟動自己的腳本時,只需要將可執(zhí)行腳本丟在/etc/init.d目錄下,然后在/etc/rc.d/rc*.d中建立軟鏈接即可
ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh
此處sshd是具體服務(wù)的腳本文件,S100ssh是其軟鏈接,S開頭代表加載時自啟動;如果是K開頭的腳本文件,代表運行級別加載時需要關(guān)閉的。
06、檢查計劃任務(wù)
利用計劃任務(wù)進(jìn)行權(quán)限維持,可作為一種持久性機制被入侵者利用。檢查異常的計劃任務(wù),需要重點關(guān)注以下目錄中是否存在惡意腳本。
/var/spool/cron/* /etc/crontab /etc/cron.d/* /etc/cron.daily/* /etc/cron.hourly/* /etc/cron.monthly/* /etc/cron.weekly/ /etc/anacrontab /var/spool/anacron/*
07、檢查異常文件
1、查看敏感目錄,如/tmp目錄下的文件,同時注意隱藏文件夾,以“..”為名的文件夾具有隱藏屬性
2、得到發(fā)現(xiàn)WEBSHELL、遠(yuǎn)控木馬的創(chuàng)建時間,如何找出同一時間范圍內(nèi)創(chuàng)建的文件?
可以使用find命令來查找,如 find /opt -iname "*" -atime 1 -type f 找出 /opt 下一天前訪問過的文件
3、針對可疑文件可以使用stat進(jìn)行創(chuàng)建修改時間。
08、檢查歷史命令
一般而言,入侵者獲取shell之后,會執(zhí)行一些系統(tǒng)命令從而在主機上留下痕跡,我們可以通過history命令查詢shell命令的執(zhí)行歷史。
(1)查詢某個用戶在系統(tǒng)上執(zhí)行了什么命令
使用root用戶登錄系統(tǒng),檢查/home目錄下的用戶主目錄的.bash_history文件
(2)默認(rèn)情況下,系統(tǒng)可以保存1000條的歷史命令,并不記錄命令執(zhí)行的時間,根據(jù)需要進(jìn)行安全加固。
a)保存1萬條命令sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profileb)在/etc/profile的文件尾部添加如下行數(shù)配置信息:######jiagu history xianshi#########USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`if [ "$USER_IP" = "" ]thenUSER_IP=`hostname`fiexport HISTTIMEFORMAT="%F %T $USER_IP `whoami` "shopt -s histappendexport PROMPT_COMMAND="history -a"######### jiagu history xianshi ##########c)source /etc/profile讓配置生效
09、檢查系統(tǒng)日志
在Linux上一般跟系統(tǒng)相關(guān)的日志默認(rèn)都會放到/var/log下面,若是一旦出現(xiàn)問題,用戶就可以通過查看日志來迅速定位,及時解決問題。常用日志文件如下:
/var/log/btmp:記錄錯誤登錄日志,這個文件是二進(jìn)制文件,不能直接vi查看,而要使用lastb命令查看。/var/log/lastlog:記錄系統(tǒng)中所有用戶最后一次登錄時間的日志,這個文件是二進(jìn)制文件,不能直接vi,而要使用lastlog命令查看。/var/log/wtmp:永久記錄所有用戶的登錄、注銷信息,同時記錄系統(tǒng)的啟動、重啟、關(guān)機事件。同樣這個文件也是一個二進(jìn)制文件,不能直接vi,而需要使用last命令來查看。/var/log/utmp:記錄當(dāng)前已經(jīng)登錄的用戶信息,這個文件會隨著用戶的登錄和注銷不斷變化,只記錄當(dāng)前登錄用戶的信息。同樣這個文件不能直接vi,而要使用w,who,users等命令來查詢。/var/log/secure:記錄驗證和授權(quán)方面的信息,只要涉及賬號和密碼的程序都會記錄,比如SSH登錄,su切換用戶,sudo授權(quán),甚至添加用戶和修改用戶密碼都會記錄在這個日志文件中
一般,我們需要重點去關(guān)注secure安全日志,檢查系統(tǒng)錯誤登陸日志,統(tǒng)計IP重試次數(shù),成功登錄的時間、用戶名和ip,確認(rèn)賬號是否存在暴力破解或異常登錄的情況。
1、定位有多少IP在爆破主機的root帳號:grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more定位有哪些IP在爆破:grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c爆破用戶名字典是什么? grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr2、登錄成功的IP有哪些:grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more登錄成功的日期、用戶名、IP:grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。