暗网靶场搭建和暗网攻击模拟溯源实践

暗网靶场搭建和暗网攻击模拟溯源实践

1
暗网基本介绍
暗网是指存储在网络数据库里,但不能通过超链接访问,而是需要通过动态网页技术访问的资源集合,不属于可以被标准搜索引擎索引的表面网络。暗网是深网的一个分支,暗网的域名数量约是表层网络的400-500倍,存储着互联网90%以上的信息。
暗网通过常规手段无法访问,一般需要用TOR浏览器访问,通过复杂的路由跳转和加密手段,隐匿访问者的真实位置,用户的请求会在分布全球的主机随机跳转三次,最终才到达服务器,这就造成了溯源的极其困难,从而使得所有的访问者完全没有身份区别。大多数的暗网就建立在这样的技术之上。
由于暗网的隐蔽性,大量的黑灰产违法交易都在暗网中催生,但暗网绝非法外之地,如何追溯暗网上发生的违法事件也成为了信息安全领域中的一项重要研究,本次研究,我们模拟搭建了小型暗网,以尝试探索进行暗网攻击和溯源。


2
暗网靶场搭建

我们在暗网靶场的搭建过程中,主要利用了docker容器技术,借助docker,我们可以将容器当作轻巧、模块化的虚拟机使用,同时还能够获得高度的灵活性,对容器进行高效的创建、部署以及复制操作。在本次实践中,我们主要利用docker容器技术来实现我们的暗网靶场,我们使用容器来模拟真实暗网中的各个类型的节点,包括Tor的用户节点、普通中继节点、带特殊标志的中继节点、Tor的权威认证服务器、Tor的匿名服务节点以及普通的Web服务节点,我们都可以使用docker容器来实现,并且将这些容器节点通过一个docker网桥连接在一起实现节点间的通信,节点之间的通信机制与真实的暗网并没有什么区别。

同时,我们利用了Skydive这一开源项目,实现了容器网络的可视化,便于我们观察网络的拓扑结构、流量路径等信息。

我们基于docker容器技术实现了小型暗网靶场的搭建,其基本结构如图1所示,为多个docker容器利用docker的bridge模式连接在一起,实现容器节点之间的通信和互联,节点类型包括T用户、普通中继、出口节点、权威授权服务器、匿名服务节点、普通Web服务节点以及漏洞靶机。同时,我们对Tor的底层通信机制进行了观察,其如图2所示,当我们使用Tor访问互联网上的服务时,用户节点首先会向权威授权服务器请求一份consensus文档,里面记录了当前网络中所有可用的节点的信息,之后用户节点会从其中挑选3个节点在构建Tor电路,其中入口节点需要具有Guard的标签,而出口节点需要具有Exit的标签,之后,用户节点便会通过这条Tor电路来发送请求和接收服务器的响应,而这条Tor电路上的节点,每个节点都只有它前一个节点和后一个节点的信息,即入口节点虽然知道用户节点的ip信息,但是它不知道用户节点访问了什么服务,而出口节点虽然能获得明文的请求信息,但是它不知道是谁发送的请求,这样,用户访问了目标服务这一信息就被隐藏起来了。同时,Tor也能为服务器提供这种匿名的能力,匿名服务首先需要选择Tor网络中的一些节点作为自己的代表节点,然后将这些节点的信息上传到权威授权服务器,当用户想要访问该匿名服务时,需要先从权威授权服务器上下载这些代表节点的信息,然后通过这些代表节点向匿名服务节点发起建立连接的请求,然后选择一个约定节点,用户节点和匿名服务节点都通过前面描述的Tor电路建立到约定节点的连接,之后的所有数据都通过约定节点进行传输,这样,匿名服务节点就可以在隐藏自己ip的情况下为用户提供服务了。

暗网靶场搭建和暗网攻击模拟溯源实践

图 1 暗网靶场基本结构


暗网靶场搭建和暗网攻击模拟溯源实践

图 2 Tor底层通信机制


3
暗网攻击模拟和流量溯源
在实现暗网攻击场景时,我们主要也是使用的docker容器技术,引入了带有漏洞的docker容器作为我们的目标靶机,并通过暗网靶场对目标靶机进行了网络攻击,我们主要复现了两个基于HTTP协议的漏洞的攻击过程,分别为gitlab的预授权导致的远程执行漏洞和gitea的目录穿越导致命令执行漏洞,其中gitlab远程执行漏洞是由于服务器程序没有合适地对图片文件进行验证,便传递给了文件解析程序,导致了未经授权的远程命令执行,利用该漏洞,我们可以通过上传精心构造的图片文件远程执行任意我们想要执行的命令,另一个漏洞相对比较复杂,主要是因为Gitea的LFS功能而导致的,其处理POST请求的函数,在用户没有权限的情况下,没有立即停止程序,给了权限绕过的机会,导致任意用户都可以为某个项目创建一个Git LFS对象,之后通过访问这个Git LFS对象,就可以获取目标服务器上的一些文件内容,但是查看Git LFS文件对象的程序不存在漏洞,这要求用户具有查看该项目文件的权限,需要项目是公开的。
目前网络攻击在获取服务器远程命令执行权限之后,通常会进行进一步的一些攻击,例如反弹shell和上传后门程序,其中,反弹shell指的是攻击者在本地开启端口监听,然后通过远程命令执行,让目标服务器开启一个新的终端,并将输入输出重定向到攻击主机,之后攻击主机就可以直接在这个新终端上执行指令并查看指令的执行结果,而上传后门程序的类型比较丰富,常见的后门程序包括webshell、一句话木马、网站木马等等,其中的webshell是一种利用http进行通信,可以在服务器上执行指令的脚本文件,其可以接受来自web用户的指令,然后在服务器上执行,并将结果返回给用户。
在生成流量时,我们主要使用了Python爬虫技术和Python用于控制Tor网络行为的stem库,以及用于抓取流量的Tcpdump工具。我们利用远程命令执行漏洞,每次随机执行一些系统指令,并利用Tcpdump将该段时间的内的Tor客户端和Tor入口节点之间的以及Tor出口节点和目标节点之间的流量捕获。
加密流流关联技术指的是将经过多个节点的加密流的对应两端给对应上,在本次实践中,具体的场景为攻击者利用Tor隐匿自身ip的特性,发起网络攻击,而我们需要在仅拥有Tor两端流量(Tor用户和Tor入口节点之间的入口流量、Tor出口节点和目标服务器之间的出口流量)的情况下,将攻击流量的出口流量和入口流量对应起来。方法上我们主要采用了22年S&P的一篇论文《DeepCoFFEA: Improved Flow Correlation Attacks on Tor via Metric Learning and Amplification》(以下简称Deepcoffea),如图3所示,Deepcoffea的主要结构可分为两部分,即特征提取和流关联系数计算两部分,其中特征提取部分主要是利用带标签的数据,通过训练一个特征提取器,来将流量的原始信息,在本方法中主要是IPD(两包之间的到达时间间隔)以及包大小等信息,提取为更具识别度的特征向量,该部分使用到的模型为Triplet Network,为视觉神经网络的经典网络模型,该神经网络由3个子网络(简单CNN网络)组成,分别为A(Anchor)网络、P(Positive)网络和N(Negative)网络,A网络的输入为入口流量,P网络的输入为对应的出口流量,而N网络的输入为非对应的出口流量,而整个Triplet Network的优化目标为,P网络输出的特征向量应该与A网络输出的特征向量在新的特征空间中尽可能的接近,而N网络输出的特征向量与A网络输出的特征向量在新的特征空间中尽可能的远离,也就是说对应入口流和出口流在经过特征提取后,在新的特征空间中会处在相近的位置,训练完成之后,A网络作为入口流的特征提取器,P网络和N网络可任意选择其中一个作为出口流的特征提取器。第二部分是基于第一部分生成的特征向量来计算两个流量之间的相似度的,同时,Deepcoffea也做了一些改进来获得更佳的结果。对于一个入口流Fin和一个出口流Fout来说,首先会将两个流量按相同的时间间隔进行分段,分段之后便成了入口流集合Fin[1~n]和出口流集合Fout[1~n],之后,对每个对应的流量,即Fin[i]和Fout[i],使用对应的特征提取器进行特征提取,得到对应的特征向量Finf[i]和Foutf[i],然后计算两个特征向量的余弦相似度作为两个向量的相似度,然后根据阈值t判断两个流量是否相关,然后对于总共有n个这样的流量对,如果其中有超过阈值T个流量对被判断为相关的,则这两个流量Fin和Fout是相对应的入口流和出口流,使用这一方法能极大的降低对非关联流的误判。

暗网靶场搭建和暗网攻击模拟溯源实践

图 3 Deepcoffea结构图

在搭建了暗网靶场的基础之上,我们将漏洞环境也集成进了靶场,其中,Gitlab漏洞利用文件如图4所示,通过构造特殊的图片文件,我们可以在目标靶机上远程执行任何指令,由于该漏洞是基于http协议的文件上传导致的漏洞,我们可以很轻松的利用Tor来实现该漏洞的利用,如图5所示,我们只需要在攻击主机上安装Tor,并设置代理即可利用Tor进行漏洞利用,在靶场中进行实验的结果如图6所示,通过Tor在目标靶机上执行了“touch /tmp/s1”的命令,进入目标靶机中可以发现/tmp目录下确实创建了s1文件。在通过Tor进行远程命令执行的基础上,我们尝试了进一步的攻击行为,包括反弹shell和上传后门程序,再进一步的漏洞利用过程中也发现了一些问题,如果我们采用反弹shell的方式来进行一些进一步的操作,我们攻击主机的ip地址就会暴露出来,导致我们一开始使用tor发起攻击而隐匿自己ip地址的目的就失败了,而采用上传后门程序的方式,在理论上是可行的,我们可以通过一些方法,例如将我们的后门程序通过echo的方式写入目标靶机上的文件,然后再远程启动它,我们就可以通过http请求的方式远程执行命令,并获取命令执行的结果。

暗网靶场搭建和暗网攻击模拟溯源实践图 4 Gitlab Poc文件

暗网靶场搭建和暗网攻击模拟溯源实践图 5 Tor版Poc文件

暗网靶场搭建和暗网攻击模拟溯源实践图 6 Tor漏洞利用实验

为了实现对攻击流量的溯源工作,我们对加密流流关联方法Deepcoffea进行了复现实验,我们从原论文数据集中随机挑选了1000条流量对进行复现实验,并按照3:1的比例划分训练集和测试集,实验结果的ROC曲线如图7所示,其中横轴为fpr,纵轴为tpr,可以看到在控制fpr为0.05的时候就能够获得0.9左右的tpr,该方法对于加密流量的关联任务还是十分有效的。由于时间原因以及在利用tor进行进一步漏洞利用过程中出现的一些问题,将该方法应用到实际上的tor网络攻击溯源任务将作为之后的进一步的研究内容。

暗网靶场搭建和暗网攻击模拟溯源实践

图 7 ROC曲线图

                   

暗网靶场搭建和暗网攻击模拟溯源实践

 往期推荐

企业外部攻击面测绘实践探索
数字资产知识图谱的构建与应用
《数字安全观察·每周动态》|第77期

暗网靶场搭建和暗网攻击模拟溯源实践

原文始发于微信公众号(风眼实验室):暗网靶场搭建和暗网攻击模拟溯源实践

版权声明:admin 发表于 2022年11月18日 下午5:01。
转载请注明:暗网靶场搭建和暗网攻击模拟溯源实践 | CTF导航

相关文章

暂无评论

暂无评论...