乐趣区

关于程序员:蓝队反制后的自动化信息收集

目录

前言

溯源思路

 查用户

查连贯信息

查日志

查明码

历史痕迹

敏感目录与文件

脚本编写

windows bat

linux sh

web 日志剖析 Tips

MySQL 数据库

前言

在攻防演练反抗的过程中,蓝队往往会采取反制伎俩来获取红队的一些信息,那么在拿到一台机器后,须要收集一些要害信息,所以就想到这些操作齐全能够通过脚本来实现。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;
退出移动版