Windows
開機啟動文件檢測
有些病毒木馬喜歡藏在一些系統文件里,然后開機后隨着系統文件的啟動而運行木馬程序。
1、查看啟動菜單:
C:\Users\leo\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
2、運行執行msconfig命令
3、查看注冊表自啟動配置
Win10自啟動注冊表如下:
計算機\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
win7自啟動注冊表如下:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Temp臨時文件異常
有些PE(exe,dll,sys)文件會隱藏在Temp文件目錄里,還有一些比較大的TMP文件,這些都是比較可疑的,然后將可疑的文件發到檢測病毒的網站
Temp文件目錄如下:
C:\Users\leo\AppData\Local\Temp
可以在運行里搜索%temp%
直接跳轉到temp目錄
瀏覽器信息分析
可以通過分析瀏覽器的一些信息來判斷服務器是否被黑客入侵了
1、分析瀏覽器的瀏覽記錄,可以使用browserhistoryview工具進行查看
2、分析瀏覽器的下載記錄,可以使用browserdownloadview工具進行查看
3、分析瀏覽器的cookie信息,可以使用IEcookieview工具進行查看
文件時間屬性分析
文件的創建時間永遠是早於或等於修改時間,如果修改時間早於創建時間,就說明該文件十分可疑,因為一些webshell管理工具是可以修改文件的修改時間的
文件打開時間分析
可以通過最近打開過的文件來分析是否含有病毒或者木馬程序,Recent目錄里含有最近打開過的文件,目錄地址如下
C:\Users\leo\Recent
在cmd使用find命令可以快速查詢到含有指定內容的文件
分析可疑進程
如果計算機被種植了木馬,那么木馬肯定會與外部進行通信,每一次通信都會有不同的端口,所以可以通過網絡連接狀態來查找到木馬的程序,以下是對進程操作的cmd命令。
netstat -ano | find "ESTABLISHED"
查看已建立的網絡連接,可以通過非尋常的端口來確認可疑程序,443,80端口大部分都為正常
tasklist /SVC | find "12760"
列出指定pid的任務進程,/svc是列出所有的進程任務

taskkill /pid 12760 /F /T
強制終止指定pid進程
分析Windows計划任務
黑客會經常給受害機設置計划任務來維持木馬持久化
創建任務計划的命令如下:
schtasks /create /tn test /sc DAILY /st 23:18 /tr C:\\beacon.exe /F
任務計划可以通過at命令進行查詢,也可以通過任務計划程序(可視化界面)查看
分析隱藏賬戶
在計算機建立隱藏賬戶來維持對其的控制權限,使用net user命令也查詢不到隱藏賬戶,以下是建立隱藏賬戶的cmd命令,你可以在用戶管理界面將隱藏賬戶進行刪除或者修改其權限
net user test$ qQ123456 /add
添加用戶
net user localgroup administrators test$ /add
添加管理員
黑客還可以利用注冊表新建賬戶,這種更難被察覺到,以下利用hideadmin工具針對注冊表創建隱藏用戶。
進入注冊表的用戶目錄(需要給sam目錄給予權限),對生成的隱藏賬戶進行刪除
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users
注冊表用戶所在目錄
分析惡意進程
使用process exploer可以對任務管理器進程進行分析,可以將可疑進程發送到病毒檢測網站進行檢測,隨后進行刪除操作。
系統更新與補丁
執行cmd命令systeminfo查看系統已安裝補丁,也可以查看控制面板程序的已安裝更新面板來查看補丁。win10直接在設置里的更新與安全進行查看更新。
Windows審核策略
本地審核策略
若系統出現問題,即可查詢到日志信息或追蹤入侵者。
Windows日志篩選
通過篩選功能可以更方便查詢到指定的事件內容,不同的事件ID對應不同的事件操作
4624 | 4625 | 4634 | 4647 | 4672 |
---|---|---|---|---|
登錄成功 | 登錄失敗 | 注銷成功 | 用戶啟動的注銷 | 超級用戶(管理員)登錄 |
使用管理員賬戶遠程登錄主機時,主機會出現以下的事件ID
4776 | 4648 | 4624 | 4672 |
---|---|---|---|
憑據驗證 | 憑據登錄 | 登錄成功 | 超級用戶登錄 |
在入侵提權過程中,黑客一般都會利用net user或者net localgroup語句創建用戶,日志記錄的事件ID為:4732,4722,4724
4732 | 4724 | 4722 |
---|---|---|
添加用戶 | 重置用戶密碼 | 啟用用戶賬號 |
LINUX
分析銘感文件或目錄
TMP臨時目錄
tmp目錄是一個放置臨時文件的目錄,普通用戶對其目錄內的文件都具有讀寫的操作,因此tmp目錄經常被利用至提權
開機自啟動文件分析
查看自啟動文件:ls -alh /etc/init.d/
(-h顯示文件大小)
尋找敏感文件(例如webshell)
以下是常用到的find命令:
find ./ mtime 0 name "*.php" //查找24小時內修改過的指定文件 mtime:修改時間 0:24小時
find ./ ctime -2 name "*.php" //查找72小時內生成的指定文件 ctime:創建時間
find ./ iname "*.php*" -perm 777 //查找權限為777的指定文件 iname:不區分大小寫 perm:指定權限
進程分析
分析網絡連接
常用命令:netstat -pantl
,列出tcp相關的服務連接。
netstat -pantl | grep "ESTABLISHED"
,查看已建立的tcp服務連接。
以下是netstat的使用參數
-a (all)顯示所有選項,默認不顯示LISTEN相關
-t (tcp)僅顯示tcp相關選項
-u (udp)僅顯示udp相關選項
-n 拒絕顯示別名,能顯示數字的全部轉化成數字。
-l 僅列出有在 Listen (監聽) 的服務狀態
-p 顯示建立相關鏈接的程序名
-r 顯示路由信息,路由表
-e 顯示擴展信息,例如uid等
-s 按各個協議進行統計
-c 每隔一個固定時間,執行該netstat命令。
若要關閉某個進程,使用命令:kill -9 pid
對進程文件分析
以下是常用到的linux命令:
ps -aux
:列出所有的進程
ps -aux | grep pid
:列出指定pid的進程
lsof -i:端口號
:列出指定端口的進程
下圖為使用列子:
登錄分析
在linux的操作都會被記錄在系統日志中,可以通過日志信息查詢是否有異常登錄
last -i | grep -v 0.0.0.0
: 查詢非本地登錄的日志信息,-i顯示IP
w
命令,實時查看登錄日志
分析異常用戶
常用提權root用戶的操作
新建用戶,隨后修改用戶uid為0來變成root權限用戶
useradd test
passwd test 輸入密碼
vim /etc/passwd 修改用戶uid為0
排查異常用戶
grep "0:0" /etc/passwd
ls -l /etc/passwd
查看文件最近修改時間
awk -F: '$3==0 {print $1}' /etc/passwd
awk -F: '$2=="!" {print $1}' /etc/shadow
歷史命令history分析
linux系統之前執行的命令會保存在/root/.bash_history文件中,以下是查看history的命令。
cat /root/.bash_history
history
特別注意到的歷史命令:wegt(遠程下載)、ssh(連接內網)、tar zip(壓縮打包)
有些黑客還會修改你的系統命令,例如把netstat命令給改了,之后這命令就無法正常使用了
分析計划任務
使用crontab命令進行排查計划任務
crontab -l //列出計划任務
crontab -r //刪除計划任務
crontab -e //編輯計划任務
開機自啟動項
設置開機自啟動
ls /etc/init.d/
查看開機自啟動文件
/etc/init.d/ apache2 status
查看apache2服務狀態
/etc/init.d/ apache2 start
設置apache2服務開機自啟動
update-rc.d apache2 enable
設置apache2服務開機自啟動
關閉開機自啟動
update-rc.d apache2 disable
取消apache2服務開機自啟動
$PATH變量異常
$PATH就是環境變量,需要去查看$PATH有沒有異常的變量
echo $PATH
輸出變量
export PATH=$PATH:/usr/lol/theshy
修改變量,臨時有效,重啟無效
vim /etc/profile
,隨后添加export PATH=$PATH:/usr/lol/faker
,再source /etc/profile
。這個方法是永久修改$PATH變量。
后門排查之rkhunter工具使用
安裝工具:apt-get install rkhunter
常用命令:rkhunter --check --sk
(--sk表示自動補全)
系統加固
阻止非root用戶登錄
touch /etc/nologin
給密碼文件設置權限
chmod 644 /etc/passwd
chmod 600 /etc/shadow
chmod 644 /etc/group
修改文件默認權限
umask=027
給日志或其他重要文件加固
chattr +a /var/log/messages //設置此文件只能追加數據
chattr +i /var/log/messages.* //設置文件不能被修改且刪除
chattr +i /etc/shadow
chattr +i /etc/passwd
chattr +i /etc/group
屏蔽banner信息
vi /etc/ssh/sshd_config 將banner設置成NONE
增強秘鑰
authconfig --passalgo=sha512 --update //啟用 SHA512 替代 MD5加密
限制登錄次數
auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=120
//登錄三次后鎖定賬戶,普通用戶5秒后解鎖,root用戶120秒后解鎖
設置歷史命令最大保存條數
vim /etc/profile
,修改HISTSIZE為20(默認是1000)