taibeihacker
Moderator
应急响应
1 Windows 应急响应
1.1 文件分析
1.1.1 开机启动项
利用操作系統中的啟動菜單:1
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

利用系統配置msconfig:

利用註冊表:
1
2
HKCU\software\Microsoft\Windows\CurrentVersion\Run
HKLM\software\Microsoft\Windows\CurrentVersion\Run

1.1.2 tmp 临时文件夹
使用cmd,輸入%tmp%,直接打開臨時文件夾查看該文件夾下是否有可疑文件(exe、dll、sys)
1.1.3 浏览器历史记录
工具地址:https://launcher.nirsoft.net/downloads/index.htmlbrowsinghistoryview

browserdownloadsview

1.1.4 文件属性分析
在Windows 系統下,文件屬性的時間屬性具有:創建時間、修改時間、訪問時間(默認情況下禁用)默認情況下,計算機是以修改時間作為展示。如果修改時間要早於創建時間那麼這個文件存在很大可疑。使用中國菜刀等工具修改的修改時間,通過文件屬性可以查看到創建時間、修改時間、訪問時間。
1.1.5 最近打开文件分析
Windows 系統中默認記錄系統中最近打開使用的文件信息。可以在目錄C:\Documents and Settings\Administrator\Recent 下查看,也可以使用win+R 打開運行,輸入%UserProfile%\Recent 查看。然後利用Windows 中的篩選條件查看具體時間範圍的文件

1.2 进程分析
1.2.1 可疑进程发现与关闭
計算機與外部網絡通信是建立在TCP 或UDP 協議上的,並且每一次通信都是具有不同的端口(0~65535)。如果計算機被木馬後,肯定會與外部網絡通信,那麼此時就可以通過查看網絡連接狀態,找到對應的進程ID,然後關閉進程ID 就可以關閉連接狀態。1
2
3
4
5
# 查看網絡建立連接狀態
netstat -ano | find 'ESTABLISHED'
# 查看具體PID 進程對應的程序
tasklist /svc | find 'PID'
taskill /PID pid值/T 關閉進程
1.2.2 Window 计划任务
在計算機中可以通過設定計劃任務,在固定時間執行固定操作。一般情況下,惡意代碼也有可能在固定的時間設置執行。使用at 或schtasks 命令可以對計劃任務進行管理,直接輸入at 可以查看當前計算機中保存的計劃任務。

也可以在計劃任務程序中打開:

1.2.3 隐藏账户发现与删除
隱藏賬號,是指“黑客”入侵之後為了能夠持久保持對計算機訪問,而在計算機系統中建立的不輕易被發現的計算機賬戶。最為簡單的隱藏賬戶建立:
net user test$ test /add net localgroup administrator test$ /add 其中$ 符號可以導致系統管理員在使用net user 時無法查看到test$ 用戶。
1.3 系统信息
1.3.1 补丁查看与更新
Windows 系統支持補丁以修補漏洞。可以使用systeminfo 查看系統信息,並展示對應的系統補丁信息編號。 也可以在卸載軟件中查看系統補丁和第三方軟件補丁。1.4 webshell 查杀
常見工具:D 盾2 linux 分析排查
2.1 文件分析
2.1.1 tmp 目录
在Linux 系統下一切都是文件。其中/tmp 是一個特別的臨時目錄文件。每個用戶都可以對它進行讀寫操作。因此一個普通用戶可以對/tmp目錄執行讀寫操作。
2.1.2 开机启动项
查看開機啟動項內容/etc/init.d/,惡意代碼很有可能設置在開機自啟動的位置。
查看指定目錄下文件時間順序的排序:Is-alt| head -n 10
查看文件時間屬性:stat 文件名
使用update-rc.d 程序名稱enable 設置開機自啟
使用update-rc.d 程序名稱disable 禁止開機自啟
2.1.3 文件修改时间搜索
新增文件分析:查找24 小時內被修改的文件
find ./-mtime 0 -name '*.php'
查找72 小時內新增的文件
find ./-ctime -2 -name '*.php'
權限查找
find ./-iname '*.php' -perm 777
-iname 忽略大小寫,-perm 篩選文件權限
2.2 进程分析
2.2.1 网络连接分析
在Linux 中可以使用netstat 進行網絡連接查看。1
netstat -Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
常用命令netstat -pantl 查看處於tcp 網絡套接字相關信息。
關閉未知連接kill -9 PID 即可。
2.2.2 进程对应的文件
在linux 中可以使用ps 查看進程相關信息使用ps aux 查看所有進程信息
使用ps -aux| grep PID 篩選出具體PID 的進程信息,lsof -i:端口號也可以實現類似功能
2.3 登录分析
在Linux 做的操作都會被記錄到系統日誌中,對於登錄也可以查看日誌信息查看是否有異常登錄。 last 命令last -i | grep -v 0.0.0.0 查看登錄日誌,篩選非本地登錄。w 命令實時查看登錄用戶
2.4 异常用户的分析排查
在Linux 中root 用戶是一個無敵的存在,可以在Linux 上做任何事情。新建用戶useradd username
設置密碼passwd username 輸出密碼
設置用戶uid 和gid 都為0。 (root 用戶uid 為0 gid 為0)修改文件即可/etc/passwd
1
2
3
4
5
6
cat /etc/passwd
grep '0:0' /etc/passwd
ls -l /etc/passwd
awk -F: '$3==0 {print $1}' /etc/passwd
awk -F:'$2=='! ”{print $1}' /etc/shadow 或
awk -F:'length($2)==0 {print $1}' /etc/shadow
2.5 历史命令分析
在Linux 系統中默認會記錄之前執行的命令/root/bash history 文件中。用戶可以使用cat /root/.bash_history 進行查看或者使用history 命令進行查看
2.6 计划任务排查
在Linux 系統中可以使用命令crontab 進行計劃任務的設定其中-e 可以用來編輯設定計劃任務,-l 可以用來查看當前計劃任務,-d 用來刪除計劃任務。特別注意計劃任務中未知內容
2.7 异常 $PAHT 环境变量的排查
環境變量決定了shell 將到哪些目錄中尋找命令或程序,PATH 的值是一系列目錄,當您運行一個程序時,Linux 在這些目錄下進行搜尋編譯鏈接。修改PATH :
1
2
3
export PATH=$PATH:/usr/locar/new/bin
# 本次終端中有效,重啟後無效。
# 在/etc/profile或/home/.bashrc(source ~/.bashrc)才能永久生效。
2.8 后门自动排查 - rkhunter
Rkhunter 具有以下功能:系統命令檢測,MD5 校驗
Rookit 檢測
本機敏感目錄、系統配置異常檢測
安裝:apt install rkhunter
基本使用:
1
2
3
rkhunter -check-sk
-c,--check # Check the local system
-sk --skip-keypress # Don't wait for a keypress after each test