藍隊反制后的自動化信息收集
前言
在攻防演練對抗的過程中,藍隊往往會采取反制手段來獲取紅隊的一些信息,那么在拿到一臺機器后,需要收集一些關鍵信息,所以就想到這些操作完全可以通過腳本來完成。linux下可以使用gscan,或者使用自己寫的shell腳本,windows下可以使用bat或powershell腳本。 目的很簡單,使用腳本簡化一些操作步驟,同時提示一些操作。
溯源思路
在拿到一臺主機后,我們往往會進行以下操作來獲取關于攻擊者的一些信息。
查用戶
查看主機名或者用戶名信息,通過該信息進一步查找。
連接信息
通過查詢正在建立連接的情況,篩選出上一跳IP。
查日志
通過查詢歷史的遠程登錄信息,來獲取上一跳IP。
查密碼
查詢工具獲取windwos下密碼,或者linux下的公鑰文件,這些地方也可能會暴露ID信息,RDP保存的密碼也是一個重點,密碼獲取到還能進一步操作,如查看瀏覽器密碼,嘗試連接上一跳機器等 windwos高版本默認不再儲存在緩存中,抓密碼需要先修改注冊表,然后其重新登錄才能獲取。
歷史痕跡
歷史執行命令中可能會存在遠程下載的操作,瀏覽器中歷史瀏覽記錄等信息。
敏感目錄與文件
下載目錄,最近查看的文件,配置文件,其他密碼如navicat、xshell等。
腳本編寫
根據我們想要信息,我們可以編寫實用腳本,這里放一下平時使用的自動化腳本。
windows bat
@ECHO OFF TITLE windows-info v0.1 echo -------------------------機器名------------------------- hostname echo -------------------------用戶信息------------------------- net user echo -------------------------在線用戶------------------------- query user echo -------------------------正在連接的IP------------------------- netstat -ano |findstr ESTABLISHED | findstr /v 127.0.0.1 echo -------------------------正在監聽的端口------------------------- netstat -ano |findstr LISTENING | findstr /v 127.0.0.1 echo -------------------------嘗試備份安全日志到當前目錄------------------------- wevtutil epl Security %USERPROFILE%\desktop\Sec.evtx echo -------------------------嘗試獲取遠程登錄日志------------------------- wevtutil qe Security "/q:*[System [(EventID=4648)]]" /f:text /rd:true /c:10 echo -------------------------其他·提示------------------------- echo 查詢隱藏用戶:HKEY_LOCAL_MACHINE --SAM–SAM(需要右擊權限修改管理員權限)-Domains-Account-users echo 查詢密碼信息:mimikatz privilege::debug sekurlsa::logonpasswords echo 查詢web瀏覽記錄、瀏覽器密碼 PAUSE

linux sh
#! /bin/bash
# linux-info v0.1
echo "-------------------------機器名-------------------------"
hostname
echo "-------------------------查看用戶信息-------------------------"
cat /etc/passwd |grep -v nologin |grep -v /bin/false
echo "-------------------------查看登錄信息-------------------------"
w
echo "-------------------------查看正在連接的IP-------------------------"
netstat -antlp |grep ESTABLISHED
echo "-------------------------查看對外監聽的端口-------------------------"
netstat -antlp |grep LISTEN | grep -v 127.0.0.1
echo "-------------------------查看歷史登錄信息-------------------------"
last -F -n 10
echo "-------------------------查看安全日志中登錄成功信息-------------------------"
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
echo "-------------------------查看歷史命令,查找外聯-------------------------"
history | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}"
echo "-------------------------查看計劃任務-------------------------"
crontab -l
echo "-------------------------查找隱藏文件-------------------------"
find / ! -path "/proc/*" ! -path "/usr/*" ! -path "/var/*" ! -path "/sys/*" -name ".*" -print
echo "-------------------------其他·提示-------------------------"
echo "查看用戶進程:lsof -u hack"
echo "查看端口占用:lsof -i:8888"
echo "查看公鑰信息:~/.ssh/id_dsa.pub"
echo "查看進程:ps -aux"

web日志分析Tips
通過web日志的分析,我們可能查到攻擊者的攻擊路徑及意圖,這對我們進一步抓取攻擊團隊可以提供有效幫助。
首先我們需要確定大致入侵事件段,以此為線索,查找這個時間范圍內可疑的日志。通過后門文件也可以定位其途徑。
下面分享下抄來的一些命令 :
1、列出當天訪問次數最多的IP命令:
cut -d- -f 1 log_file|uniq -c | sort -rn | head -20
2、查看當天有多少個IP訪問:
awk '{print $1}' log_file|sort|uniq|wc -l
3、查看某一個頁面被訪問的次數:
grep "/index.php" log_file | wc -l
4、查看每一個IP訪問了多少個頁面:
awk '{++S[$1]} END {for (a in S) print a,S[a]}' log_file
5、將每個IP訪問的頁面數進行從小到大排序:
awk '{++S[$1]} END {for (a in S) print S[a],a}' log_file | sort -n
6、查看某一個IP訪問了哪些頁面:
grep ^111.111.111.111 log_file| awk '{print $1,$7}'
7、去掉搜索引擎統計當天的頁面:
awk '{print $12,$1}' log_file | grep ^\"Mozilla | awk '{print $2}' |sort | uniq | wc -l
MySQL數據庫
在一些服務器上會開放MySQL數據庫服務,攻擊者會通過數據庫獲取服務器權限,在操作數據庫時也會留下一些痕跡。
1、 查看當前正在登錄的用戶
SELECT user,db,command,current_statement,last_statement,time FROM sys.session;
2、 查看重要的數據庫以及表
select table_schema,table_name,sum(io_read_requests+io_write_requests) io from sys.schema_table_statistics group by table_schema,table_name order by io desc;
3、通過數據庫歷史連接記錄
SELECT host,total_connections FROM sys.host_summary;