ATT&CK视角下的红蓝对抗:十三.内网穿透之Linux文件传输技巧详解

2023-11-10 08:32:36 浏览数 (2)

一.前言

在“后渗透测试阶段”中,假设当我们获取到了服务器的权限后,此服务器中没有压缩工具,但又需要将一个文件传输至本地计算机中查看,此时我们会用到文件打包、文件传输等技术。简单来说“文件传输技术”就是在目标服务器中获取的信息传递出来的一系列技术。下面将介绍一下具体Linux文件传输技巧详解。

二.前文推荐

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文件传输技巧详解


三. Linux文件传输技巧详解

Tar是linux系统中最常用的打包命令。文件打包和文件压缩是两个概念,文件打包是将一大堆文件或目录变成一个总的文件,文件压缩是将一个大文件通过压缩使其体积缩小,tar本身没有压缩功能,但可以调用压缩功能来实现相关功能,下述以tar命令为案例进行演示。

1.常用的参数表

tar的具体参数如表1-1 所示。

表1-1常用参数

常用参数

参数作用

-A

新增压缩文件到已存在的压缩

-b<>

设置每笔记录的区块数目,每个区块大小为12Bytes

-x

从压缩的文件中提取文件

-B

读取数据时重设区块大小

-c

建立新的压缩文件

-d

记录文件的差别

-f

指定备份文件名或设备

-r

添加文件到已经压缩的文件

-u

解开压缩文件还原文件之前,先解除文件的连接

-t

显示压缩文件的内容

-z

通过gzip解压文件

-j

通过bzip2解压文件

-Z

通过compress解压文件

-v

显示操作过程

-l

文件系统边界设置

-k

保留原有文件不覆盖

-m

还原文件时,不变更文件更改时间

-W

确认压缩文件的正确性

假设在linux系统中有名为file的目录下有file1和file2两个目录,file1文件夹中有1.txt、2.txt、3.php三个文件,file2文件夹中有4.txt、5.txt两个文件,下面我们以这个file目录下的文件来进行演示相关操作,如图1-1所示。

图1-1实验环境图1-1实验环境

2.单个文件夹打包

使用Tar命令压缩文件夹时,执行tar -cvf file.tar file1命令可以将文件夹先打包,如图3-268所示,其中file.tar是打包后的文件名,file1是待打包的文件夹。

图1-2单个文件夹打包图1-2单个文件夹打包

3.多个文件夹打包

打包多个文件夹只需要在后面添加相关文件夹地址即可,例如将file目录下的file1与file2一起打包为file1.tar,执行tar -cvf file3.tar file1 file2,成功打包如图1-3所示。

图1-3 多个文件夹打包图1-3 多个文件夹打包

4.解包文件

解包文件与打包相比只需要将cvf变成xvf即可,例如将上文中的file1.tar解包,执行tar -xvf file1.tar,成功如图1-4所示。

图1-4解包文件图1-4解包文件

5. 压缩文件

前面我们已经说过如果想压缩一个文件夹我们必须先将其打包,但大多数情况我们是打包压缩一起执行,这里有两个参数供我们选择,-z参数是压缩或解压缩.tar.gz格式文件,而-j参数压缩或解压缩.tar.bz2格式文件。

1)这里我们配合打包命令,将file1文件夹压缩为file5.tar.gz执行命令tar -zcvf file5.tar.gz file1,如图1-5所示。

图1-5压缩文件 -j参数同上述原理一样图1-5压缩文件 -j参数同上述原理一样

6. 解压解包

解压解包文件很简单,同上只需要将-zcvf换为-zxvf即可,比如要将上文生成的file.tar.gz解压解包,则使用命令tar -zxvf file5.tar.gz,如图1-6所示。

图1-6解压解包图1-6解压解包

7.分卷压缩加解密

如果我们想对单个文件夹进行分卷压缩加密,我们可以通过Openssl Gizp Tar命令的方式来实现分卷压缩加密,Openssl是一个可以实现“密钥证书管理”“对称加密“和“非对称加密”的一个安全套接字层密码库,其主要包含了密码算法、常见的密钥和证书封装管理功能及 SSL协议,我们可以通过使用其对称加密的方式来对文件进行加密,对称加密所使用的标准命令为openssl enc -ciphername,具体命令参数说明如表1-2所示。

表1-2命令参数

常用参数

参数作用

-e

指定一种加密算法,不指定将会使用默认加密算法

-a/-base64

使用-base64位编码格式

-salt

自动插入一个随机数作为文件内容加密

-k

指定密码(兼容以前版本)

-in filename

指定将要加密的文件路径

-out filename

指定加密后的文件路径

1)若要对文件夹file1中的1.txt这个文件进行对称加密的话,可以执行openssl enc -e -des3 -a -salt -k password -in 1.txt -out 1.code命令进行加密,如图1-7所示,加密后我们通过more命令查看加密后的文件内容已为加密字符串。

图1-7对名为1.txt文件执行对称加密并查看加密后的内容图1-7对名为1.txt文件执行对称加密并查看加密后的内容

2)若要对加密后的1.code文件进行解密操作的话,我们可以执行openssl enc -e -des3 -a -salt -k password -in 1.txt -out 1.code来对已加密名为1.code的文件执行解密,如图1-8所示,解密后我们通过more命令即可看到解密后的内容。

图1-8对1.code文件进行解密并查看解密内容图1-8对1.code文件进行解密并查看解密内容

3)与此同时,我们也可以对整个文件夹进行分卷压缩加密,在本案例演示中我们将通过tar命令压缩file文件夹下面的所有文件,并通过管道符重定向的方式将tar压缩执行的结果传递给openssl进行加密,经过openssl加密完成后再通过管道符重定向的方式传递给dd命令进行输出,如图1-9所示,我们首先执行tar -czPf - file/ |openssl enc -e -des3 -a -salt -k password | dd of=file.tar.gz.desc来完成整个分卷压缩加密操作,其中“tar -czPf - ”后面为实际将要进行加密的文件存放路径,“dd of= ”后面为要输出的文件名称,完成分卷压缩加密操作后,我们再通过head命令来去查看验证下我们分卷压缩加密的文件内容,如图1-10所示。

图1-9对名为file文件执行分卷压缩加密图1-9对名为file文件执行分卷压缩加密
图1-10通过Head命令查看验证分卷压缩加密文件内容图1-10通过Head命令查看验证分卷压缩加密文件内容

4)若要对分卷压缩加密的压缩包执行解密操作,我们需要先使用dd命令输入文件,并通过管道符重定向的方式传递给openssl,由openssl执行解密操作,openssl解密后再通过管道符重定向的方式传递给tar,由tar执行命令进行解压。通过执行dd if=file.tar.gz.desc |openssl enc -d -des3 -a -salt -d -k password |tar -zxPf -命令来对经过分卷压缩加密后名为file.tar.gz.desc的压缩包执行解密操作,如图1-11所示,解密完毕以后即可看到具体的文件内容。

图1-11 为file.tar.gz.desc执行解密输出结果图1-11 为file.tar.gz.desc执行解密输出结果

四.本篇总结

本文介绍了Linux系统中最常用的打包命令Tar,以及其参数和功能。Tar本身没有压缩功能,但可以调用压缩功能来实现相关功能。文章还介绍了单个文件夹打包、多个文件夹打包、解包文件、压缩文件、解压解包、分卷压缩加解密等操作。分卷压缩加解密部分,通过Openssl Gizp Tar命令实现分卷压缩加密,Openssl是一个安全套接字层密码库,可以实现“密钥证书管理”“对称加密“和“非对称加密”。


我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

0 人点赞