基礎准備--命令防篡改與命令記錄
很多黑客入侵到操作系統后,會做兩個常見的操作unset history和替換命令文件(或者對應的鏈接庫文件),針對這兩點要做好記錄shelllog並且檢查鏈接庫類文件和命令文件最近有沒有改動。
RootkitHunter
#安裝
$sudo wget https://jaist.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.4/rkhunter-1.4.4.tar.gz
$sudo tar zxvf rkhunter-1.4.4.tar.gz
$sudo cd rkhunter-1.4.4
$sudo sh install.sh --install
#使用
$/usr/local/bin/rkhunter --propupd
$/usr/local/bin/rkhunter -c --sk --rwo
症狀研判--根據主機異常狀態判斷異常點
性能資源緊張(變現為卡慢)##
free -m #以MB為單位查看內存使用情況
free -l #查看內存使用細節
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head #查看內存使用前十名
vmstat -a #查看內存和CPU使用情況
vmstat -s #查看內存和CPU使用詳情
vmstat -d #查看讀寫IO情況
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head # 查看CPU使用前十名
top #查看進程性能資源消耗
主機宕機死機(表現為主機宕機或死鎖或重啟)
dmesg -T #按時間點查看內核日志
dmesg -T | grep memory #查看和內存相關的日志記錄
dmesg -T | grep crash #查看和崩潰相關的日志記錄
dmesg -T | grep reboot #查看和重啟相關的日志記錄
cat /var/log/dmesg #內核日志
cat /var/log/syslog #系統日志
cat /var/log/kernel.log #內核日志(Ubuntu下是kern.log)
斷網斷連排查(變現為網絡不通或間斷性連通)
iptables -L #查看防火牆
cat /etc/resolv.conf #查看域名解析
ifconfig -a #查看網卡信息
應用服務問題診斷
HTTP /var/log/httpd/access.log #或者是HTTP服務器配置文件中的日志路徑
FTP /var/log/vsftp.log #或者是同路徑下的xferlog
Squid /var/log/squid #或者是squid.access.log
NFS /var/log/nfs
IPTABLES /var/log/iptables/……
Samba /var/log/samba
DNS /var/log/message
DHCP /var/log/message #或者/var/lib/dhcp/db/dhcpd.leases
Mail /var/log/maillog
入侵點入侵特征排查
## 可疑網絡通信及進程排查 ##
netstat -antlop #查看異常連接和對應的進程、文件
ps -ef #查看進程信息
ps aux # 查看進程信息
lsof #查看進程關聯賬戶信息lsof -g pid
可以登錄和爆破排查
last #登錄或重啟日志
lastb #登錄失敗日志 或者是/var/log/faillog
who /var/log/wtmp #登錄日志 另外可以 last -f /var/run/utmp
cat /var/log/lastlog #最后的登錄日志
cat /var/log/secure #安全日志
cat /var/log/cron #計划任務日志
cat ~/.bash_history | more #歷史操作
grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -nr | more #查看root賬戶登錄爆破嘗試
grep "Accepted" /var/log/auth.log | awk '{print $11}' | sort |uniq -c | sort -nr | more #查看登錄成功日志信息
strings /usr/bin/.sshd | egrep '[1-9]{1,3}.[1-9]{1,3}.' #查看sshd的信息
漏洞利用入侵及后滲透特征
檢查~/.ssh/目錄下有沒有異常的文件(密鑰文件)redis未授權訪問等
檢查/etc/passwd 以及 /etc/shawdow有沒有異常賬戶和權限
檢查/etc/rc.local 查看開機啟動項
檢查/usr/bin /usr/sbin /bin等敏感目錄(命令文件所在目錄)
檢查/tmp 臨時文件
檢查能登錄用戶cat /etc/passwd | grep -E "/bin/bash$"
檢查環境變量echo $PATH
檢查/etc/init.d/rc.local 和 /etc/ssh等等
web入侵點檢查
#webshell查找
find /var/www/ -name "*.php" | xargs egrep 'assert | phpspy | c99sh | milw0rm | eval | \( gunerpress | \(bas464_encode | spider _bc | shell_exec | passthru | \(\$\_\POST\[|eval\(str_rotl3 | .chr\c|\$\{\"\_P|eval\C\$\_R | file_put_contents\C\.\*\$\_ | base64_decode'
# 腳本文件打包
find /var/www/html/ |grep -E ".asp$|.aspx$|.jsp$|.jspx$|.jspf$|.php$|.php3$|.php4$|.php5$|.inc$|.phtml$|.jar$|.war$|.pl$|.py$|.cer$|.asa$|.cdx$|.ashx$|.ascx$|.cfm$|.cgi$ "|xargs tar zcvf /tmp/shellscript.tar.gz
# 文件查找的相關命令:
sudo find / -mtime(atime/ctime) -x #按照創建、修改時間查找
sudo find ./ -perm 4777 #按照權限查找文件
find ./ -mtime -1 -type f #按照文件類型查找
根據歷史經驗查看access.log 可以使用https://github.com/cisp/AccessLogAnylast工具進行分析(本人開發維護);
附錄一:
- 部分后門文件刪除是后要先修改權限為000
- rookitHunter 詳細使用部分--引用自:https://yq.aliyun.com/ziliao/75349