蓝队技能-应急响应篇&内网攻防&爆破事件&代理隧道&流量提进程&系统日志&处置封锁

知识点
1、应急响应-爆破事件-定性&排查
2、应急响应-代理隧道-应急&分析
- 爆破事件在外网出现几率较低,因为外网防护相对到位如复杂密码,存在防护策略如限制登录次数,爆破大概率失败
- 爆破事件在内网比较常见,内网口令往往取决于前期信息收集,且口令可能为弱密码
口令横向
场景说明:不管在内网还是在外网,协议口令爆破一直是攻击最常见的方式。
1、明确对应口令爆破的日志存储路径及查看
2、明确日志中有哪些属性和判断依据(筛选)
3、对于大量日志可在后面要讲到的效率项目工具
爆破事件分析
爆破定性:关注登录日志的时间、次数的比例
成功失败:事件ID、关键字提示如“Accept”
日志查看:系统自带日志如Windows安全日志、应用日志如MSSQL日志、Redis日志、软件日志等
应急处置:拉黑IP封锁协议加上防护软件或者安全策略(多次验证就会触发)
Linux平台爆破方向及分析方法
Linux-SSH
1 | netstat -anpt |
Linux系统日志存放位置
1 | /var/log/auth.log //Ubuntu |
Linux日志筛选
查看成功登陆:
1 | cat /var/log/secure | grep "Accept" |
查看失败登陆:
1 | cat /var/log/secure | grep "Failed password for" |
其他筛选登陆见打包PDF细节
Windows平台爆破方向及分析方法
Windows安全日志的详细信息会记录登录者的IP地址、主机名等信息
Windows安全日志字段含义
事件ID
事件ID字段对应着操作后的状态
- 4624:成功事件,如登录成功、注销成功
- 4625:失败事件,如登录失败、注销失败
登录类型
登录类型字段记录,一般关注2、3、5、10
- 2:用户在计算机的本地控制台直接输入用户名和密码登录
- 3:通过网络远程访问共享资源,例如访问文件共享文件夹或网络打印机,如SMB(Server Message Block)协议在进行网络文件或打印机共享访问时其登录类型就是3
- 5:Windows服务启动时,系统为配置好的特定用户账户创建登录会话
- 10:通过远程桌面(RDP)、终端服务或远程协助等方式登录到系统。需要注意的是,Windows XP之前的系统(如Windows 2000)会将远程桌面登录记录为类型2
Windows-RDP
- 事件ID:4625/4624
- 登陆类型:2/3/5/10
- 事件日志:Windows日志>安全
Windows-SMB
- 事件ID:4625/4624
- 登陆类型:2/3/5/10
- 事件日志:Windows日志>安全
Windows-MSSQL
- 事件日志:管理>SqlServer日志

其日志如下所示

注意:WMI全称”windows管理规范”,从win2003开始一直存在。它原本的作用是方便管理员对windows主机进行管理。因此在内网渗透中,我们可以使用WMI进行横向移动,支持用户名明文或者hash的方式进行认证,并且该方法不会在目标日志系统留下痕迹。
除上述外还有FTP、Redis、MYSQL、STMP等协议爆破事件,具体分析无非就是找对应日志存储文件后,文件中筛选失败登录请求进行排查应急,一般处理方式就是拉黑攻击IP。
==00:59:29==
隧道技术
常见代理隧道技术是ICMP隧道、DNS隧道、SSH隧道(内网隧道技术的知识点)
场景说明:内网或不出网的情况下,协议隧道技术很常见,如何定位到进程及攻击者?
1、明确隧道最常使用的协议技术
2、明确Windows,Linux中分析技术
3、对于有需要自定义排查协议可学后续开发脚本实现
ICMP比较有挑战性和代表性,我们下面进行演示,至于DNS或者其他协议的隧道或者恶意程序其实都是一样的处置方法
Linux-ICMP
本实验是做一个Linux到Linux的隧道通信,然后在目标主机上定位分析通信的特征
ICMP隧道攻击原理
ICMP隧道攻击是一种利用ICMP(Internet Control Message Protocol)协议进行隐蔽通信的网络攻击技术。由于ICMP报文(如常见的ping请求和回复)通常被防火墙允许通过,攻击者便利用这一特性,将恶意数据隐藏在这些看似正常的网络管理数据包中,从而绕过安全设备的检测,建立隐蔽通道。
对于防火墙和入侵检测系统来说,这看起来只是一系列普通的ping包交换,从而实现了通信的隐蔽性
攻击者会在目标内网中植入一个客户端程序,并在其控制的外部服务器上运行服务端程序。当需要通信时:
- 攻击者(服务端) 将指令或数据隐藏在一个ICMP Echo Request(ping请求)包的数据字段中,发送给内网的客户端。
- 客户端 收到后,解析出隐藏的指令并在本地执行,然后将结果隐藏在一个ICMP Echo Reply(ping回复)包的数据字段中,发送回服务端。
ICMP隧道攻击案例
使用icmpsh直接反弹Shell场景
攻击者已在内网一台Windows主机上获得了执行权限,但该主机除ICMP外其他协议均无法出网。过程:攻击者先在自己的公网服务器上运行icmpsh服务端,并暂时关闭系统本身的ping回复功能以避免干扰。随后在目标主机上运行icmpsh客户端,指向攻击者服务器。客户端会通过ICMP请求包持续“询问”服务器是否有指令。服务器通过回复包下达指令(如whoami),客户端执行后再将结果通过请求包送回。这样,攻击者就获得了一个交互式的Shell。
使用pingtunnel实现端口转发场景
内网有一台开启了远程桌面(RDP,端口3389)的服务器,但从外网无法直接访问。过程:
攻击者在公网VPS上运行
pingtunnel -type server。在内网的跳板机上运行
pingtunnel -type client -l :4444 -s <VPS_IP> -t <内网RDP服务器IP>:3389 -tcp 1。此命令意为:在客户端本地开启4444端口监听,将所有到达此端口的TCP流量,通过ICMP隧道发送给VPS上的服务端,再由服务端最终转发到内网RDP服务器的3389端口。
攻击者只需在自己的电脑上连接
localhost:4444,就能穿透防线,访问到内网的远程桌面。
课程实验
实验:https://github.com/esrrhs/pingtunnel
攻击者:
1 | sudo ./pingtunnel -type server -key 1234 //运行ICMP隧道工具并开始监听 |
这条命令以超级管理员权限,在当前目录下启动 pingtunnel程序,并将其配置为服务器模式,同时设置了一个简单的认证密钥 1234。它的核心任务是监听并处理来自客户端的特殊ICMP数据包,对其解封装,并将里面真正的流量转发到指定的目标地址。
受害者:
1 | sudo ./pingtunnel -type client -l :4445 -s 121.196.209.235 -t 121.196.209.235:4444 -tcp 1 -key 1234 |
这条命令启动了一个名为 pingtunnel 的工具的客户端(client),其核心功能是:将本机的TCP流量封装在ICMP协议包(即ping请求和回复)中,发送给远程服务器,从而绕过网络中对常规TCP/UDP端口的限制
分析:
https://github.com/Just-Hack-For-Fun/request_monitor
https://blog.csdn.net/native_lee/article/details/124751325
安装:
1 | sudo apt update |
流量:Wireshark分析
处置:封IP及防火墙限制协议
Windows-ICMP
实验:https://github.com/esrrhs/pingtunnel
1 | sudo ./pingtunnel -type server -key 1234 |
分析:Microsoft Message Analyzer
流量:Wireshark分析
处置:封IP及防火墙限制协议