安全應急之常見命令篇(Linux&Windows)
1 安全應急
1. 應急響應目標
在第一時間采取響應的措施,恢復業務到正常,調查安全事件發生的原因,避免同類事件發生,提供數字證據
2.應急響應范圍
郵件釣魚,黑客入侵,APT攻擊,漏洞利用,網絡攻擊,數據外泄,時間通報,攻擊溯源,網絡異常,網站被黑,網站掛馬,網站暗鏈,網站篡改
3.應急響應的目的
判斷這次應急是否是被成功入侵的安全事件
找到攻擊者入口點
提取惡意樣本
幫助客服梳理攻擊者的攻擊路線,提供漏洞修復方案
2 Linux
1.Linux系統基礎知識
Etc/sysconfig/network-script/ 網卡配置
目錄結構
- 1/bin 放置系統命令目錄,/bin目錄可以在維護模式下還可以被操作
- 2/boot 放置開機使用的文件,包括linux核心文件以及開機選單與開機所需設定文件
- 3/dev 放置裝置與周邊設備都是以文件的形態,存在于這個目錄當中
- 4/etc 系統主要的設定文件幾乎都放置在這個目錄內,列如人員的賬戶密碼文件,各種服務的起始文件等等
- 5/home 系統預設的使用者家目錄(home,directory) 你新增的用戶家目錄都會規范進來
- 6/lib和/lib64 系統的函試庫非常的多,而.lib或者/lib64放置常用的函數
- 7/opt 存放第三方軟件和位置目錄
- 8/root root用戶的家目錄
- 9/sbin linux有非常多指令是用來設定系統環境的,這些指令只有root才能夠利用來設置系統,里面包括了開機,修復,還原系統所需要的指令
- 10/tmp 任何人都可以讀寫的目錄,重新啟動目錄中存放的文件會被刪除
用戶組
- 1所有者,所在組,其它組
文件普通權限
- 1Rwx r=4 w=2 x=1
文件特殊權限
- 1SUID:s出現在文件所有者的X權限上
- 2SGID:s出現在文件所屬群組的X權限上
- 3SBIT:t出現在文件其他用戶的x權限上
2.Linux 常用命令
Stat 跟文件
會顯示文件UID,文件名,文件屬性,文件訪問時間,文件內容修改時間,文件元數據變化時間
- 1Access time 訪問時間:文件中的內容最后被訪問的最后時間
- 2Modified time 修改時間:文件內容被修改的最后時間
- 3Change time變化時間:文件的元數據發生變化,寫入文件,更改所有者,權限修改
Ls 命令 列出文件
- 1-a 顯示隱藏文件,-L 詳細顯示,-R 遞歸顯示
Netstat命令
- 1-a 顯示所有鏈接中的soket -n 使用ip,而不是域名顯示 -t 顯示TCP鏈接
- 2-p 顯示每個網絡鏈接對應的進程和用戶 -l 顯示處于監聽中的socket
- 3-e 顯示拓展信息,inode等信息
- 4-u 顯示UDP連接
Lsof 命令 列出來當前系統打開文件
- 1Lsof -c sshd 顯示sshd進程現在打開的文件
- 2Lsof -p pid 顯示進程號為pid的進程情況
- 3Lsof +d /tmp 顯示目錄下被進程打開的文件
- 4Lsof +D /tmp 遞歸顯示顯示目錄下被進程打開的文件
- 5Lsof -i:80 查看端口為80的tcp或者udp進程
Ps命令 常用進程
- 1Ps -a 顯示當前終端下的進程
- 2Ps -u 以用戶為主的顯示方式
- 3Ps -x 顯示所有進程
Grep命令 檢索命令
- 1Grep -I 忽略大小寫
- 2Grep -v 不包含特殊字符
Tcpdump命令 抓流量
- 1Tcpdump -I eth0 抓取網卡為eth0的流量
- 2Tcpdump tcp 抓取tcp流量
- 3Tcpdump port 53 抓取端口為53的流量,源端口或者目的端口
- 4Tcpdump host 1.1.1.1 抓取和主機1.1.1.1 有關的流量
- 5Tcpdump -w wireshark。Pcap 流量保存為圖形化分享軟件可識別的數據包
Find命令 目錄文件列出來,也可以查找文件
- 1Find path -name filename 在path路徑下查找文件名為filename的文件
- 2Find path -perm 777 在path路徑下查找文件權限為777的文件
- 3Find path -perm -700 在path路徑下查找文件權限為700以及700以上權限的文件
Md5計算文件Md5
Rz 接收文件
Sz傳輸文件
Strings 字符串顯示文件
Linux常規檢查項-關鍵文件,關鍵目錄等
文件檢測-歷史命令
Root用戶執行過的歷史命令
- 1/root/.bash_history
對應username執行過的歷史命令
- 1/home/{username}/.bash_history
當前用戶執行過的歷史命令
- 1History
文件檢測-系統關鍵文件
- 1/etc/passwd 包含系統用戶和用戶的主要信息
- 2/etc/shadow 用于儲存系統中用戶的密碼,又稱為影子文件
- 3/etc/group 記錄組ID和組名的對應文件
寫到profile里面的命令都是會被調用執行的
- 1/etc/profile 此文件涉及系統的環境,變量,會從中調用shell變量
- 2/root/.bash_profile 變量
- 3/home/{username}/.bash_profile 變量
- 4/root/.bashrc 此文件為系統的每個用戶設置的環境信息,用戶第一次登陸時,該文件被執行
- 5/home/{username}/.bashrc
- 6/root/.bash_logout 用戶退出的時候的操作
- 7/home/{username}/.bash_logout
- 8/root/.ssh/authorized_keys 存放ssh公私鑰的地方
- 9/home/{username}/.ssh/authorized_keys
文件檢測—系統關鍵目錄
- 1/root/
- 2/home/{username}
- 3/tmp
- 4/var/tmp
- 5/dev/shm
命令檢測,防止惡意命令替換
- 1/usr/bin/ps
- 2/usr/bin/netatat
- 3/usr/bin/ps
- 4/usr/sbin/lsof
- 5/usr/sbin/ss
- 6/usr/bin/stat
檢測系統安裝包
列出系統所有按照的rpm包
Rpm -qa
校驗系統所有rpm包
Rpm -V -a
校驗特定文件或者命令
Rpm -V -f /etc/sysconfig
Which ps 查看ps命令的變量路徑
3.Linux應急計劃任務
Crontab 計劃任務:系統自帶的定時執行腳本或者命令的系統服務
Systemctl status crond 查看crond服務狀態
Systemctl start crond 啟動crond服務
Systemctl stop crond 停止crond服務
Systemctl enable crond 開機啟動crond服務
Systemctl disable crond 關閉開機啟動crond服務
Crontab
- 1-l 列出crontab
- 2-u 指定用戶用戶
- 3-e 編輯crontab
從左到右依次為:
[分鐘] [小時] [每月的某一天] [每年的某一月] [每周的某一天] [執行的命令]
/etc/cron.deny /etc/cron.allow
Crontab的限制文件,用戶名存在cron.deny,且cron.allow不存在,或者用戶名不存在cron.allow的時候,不允許此用戶創建crontab
Cron.allow優先級高于cron.deny
系統默認不存在cron.allow
系統默認crontac相關配置文件目錄
- 1/etc/cron.d/
- 2/etc/cron.hourly/
- 3/etc/cron.daily/
- 4/etc/cron.monthly/
- 5/etc/cron.weekly/
- 6/etc/crontab
- 7/var/spool/cron/
- 8/var/log/cron crontab日志
- 9/etc/systemd/system/multi-user.target.wants/crond.service
4.Linux-系統日志
配置文件
- 1/etc/rsyslog.conf
- 2/etc/rsyslog.d/*
登陸相關日志
- 1/var/log/下
- 2Secure 記錄于安全相關的信息
- 3Lastlog 當前登陸的用戶日志
- 4Wtmp 永久記錄每個用戶登陸,注銷及系統的啟動,停機的事件,last命令查看
- 5Btmp 嘗試登陸且失敗日志
其他日志
- 1Messages 各種系統守護進程,用戶程序和內核相關信息
- 2Cron c rontab日志
- 3Audit/* audit日志,監控系統調用
- 4Boot.log 啟動信息相關日志
- 5Yum.log 通過yum安裝rpm相關日志
- 6Httpd/* httpd服務訪問日志和錯誤日志
- 7Firewalld 防火墻相關日志
- 8Mail 郵件相關日志
- 9Dmesg 核心啟動日志
Windows常見命令
- 1Regedit 查看策略表
- 2Msconfig 查看系統配置
- 3Taskmgr 啟動任務管理器
- 4Eventvwr,msc 打開日志的命令
- 5Gpedit.msc 打開本地組策略
- 6Compmgmt.msc 計算機管理
- 7Lusrmgr.msc 打開用戶與組
- 8Taskschd 打開計劃任務
- 9Net user xxx /add 添加用戶
- 10Net localgroup administrators xxxx /add 把某用戶放到管理員組里面
- 11Net session 查詢當前會話
- 12Net start 查看當前運行的服務
- 13Net use 查看當前共享連接
- 14Net share 查看共享映射的盤符,連接狀態
- 15Net share xxx /del 刪除共享的鏈接
- 16查看隱藏用戶可以去,用戶管理
- 17Findstr /s /I “hellow” **
- 18查詢包含hellow 的關鍵字
- 19Wmic pross
- 20Attrib 查看文件屬性
- 21Attrid 1.txt
- 22Attrid -R
系統日志收集工具
- 1Sglad_ir
- 2Gather_log
3 windows
系統變量敏感文件路徑
- 1%WINDIR% C盤 windows
- 2%WINDIR%\system32\% c盤windows system32
- 3%TEMP% 臨時目錄
- 4%APPDATA% 軟件程序
- 5%LOCALAPPDATA% 軟件程序
Windows 系統日志
- 1C:\Windows\System32\winevt\Logs\system.evtx
Windows系統安全日志
- 1C:\Windows\System32\winevt\Logs\ Security.evtx
- 24624id 是登陸成功的id
Windows 應用程序日志
- 1C:\Windows\System32\winevt\Logs\ Application.Evtx
- 2主要關注安全日志,里面記錄賬戶登陸,注銷,等等的日志
系統日志中的id
- 1Id 12 系統啟動
- 26005ID 事件日志服務啟動
- 36004ID 事件日志服務停止
- 4Id 13 系統關閉
安全日志中的id
- 14732 添加用戶啟動安全性的本地組中
- 24722 啟動用戶的id
- 34720 創建用戶
- 44624 登陸成功
- 54625 失敗登陸
- 64726 刪除用戶
- 74634 注銷
- 84776 成功/失敗的賬戶認證
- 91102 清理日志
安全日志中的 登陸日志類型
- 12 交互登陸
- 23 網絡登陸(通過net use,訪問共享網絡)
- 34 批處理(為批處理程序保留)
- 45 服務器啟動
- 56 不支持
- 67 解鎖(帶密碼保護的屏幕保護程序)
- 78 網絡明文,iis服務器登陸驗證
- 810 遠程交互(終端服務,遠程桌面,遠程輔助)
- 911 緩存域證書登陸
常用的抓包工具
- 1wireshark
- 2Tcp.port eq 25
- 3查詢tcp端口為25的
- 4Ip.addr == 127.0.0.1 包含127.0.0.1的
- 5Linux 抓包用的比較多
- 6Tcpdump
- 7Tcpdump host ip
- 8抓這個ip
- 9Tcpdump host ip1 and ip2
- 10抓
- 11Tcpdump -I eth0 監聽這個網卡
- 12Tcpdump tcp port 445 and src host ip
源ip 端口為445的
這個windows 用的比較多,比較簡單好用,用Micrsosoft Network Monitor
安全分析工具
PChunter
Autoruns
Process explorer
https://www.anquanke.com/post/id/182858
Web日志分析
- 1Apache
- 2在httpd.conf里面記錄log的訪問日志的路徑
- 3/etc/httpd/logs
- 4Access.log
- 5Nginx
現在主要的日志格式是NCSA拓展格式
- 1訪問主機(remotehost)
- 2日期時間(date)
- 3請求(request)
- 4請求類型(METHOD)
- 5請求資源(RESOURCE)
- 6協議版本號(PROTOCOL)
- 7狀態碼(status)
- 8傳輸字節數(bytes)
- 9來源頁面(referrer)
- 10瀏覽器信息(agent)