一.前言
在“后渗透测试阶段”中,假设当我们获取到了服务器的权限后,此服务器中没有压缩工具,但又需要将一个文件传输至本地计算机中查看,此时我们会用到文件打包、文件传输等技术。简单来说“文件传输技术”就是在目标服务器中获取的信息传递出来的一系列技术。下面介绍一下常见的几种案例。
二.前文推荐
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文件传输技术详解
三. Windows文件传输技巧详解
1.Makecab文件压缩命令
在内网渗透时,当没有rar、7z等压缩工具时候,拖取文件的时候为了防止流量过大,又必须把文件压缩,这时候可以使用Makecab工具,它是Windows自带的压缩文件工具,使用简单方便,不容易暴露,此时该工具是个不错的选择。
(1)单文件压缩和解压
在Windwos操作系统某个特定的场景中,当需要把1.txt文件压缩成1.zip进行传输,可利用Makecab工具去进行压缩(它支持压缩格式zip、rar、cab),执行命令Makecab 1.txt 1.rar,执行成功,压缩在当前目录下,如图1-1所示。
如果需要将解压缩,以上述所讲1.rar的文件为例,我们将其压缩包解压为2.txt,直接使用Makecab命令,执行解压命令expand 1.rar 2.txt即可解压缩到当前目录下,如图1-2示。
(2)多个文件压缩和解压
1)假如需要压缩一个文件夹下的多个文件时,可以将待压缩的文件名放置到一个文件夹中,执行dir /b > file.txt命令,把要压缩的文件名写入一个txt。上述操作完成后,执行文件压缩命令makecab /f file.txt即可成功,但压缩多个文件的时,无法指定压缩后的格式,如图1-3所示。
2)执行压缩命令成功之后,目录下将生成一个disk1目录,还有两个文件setup.inf和setip.rpt文件,如图1-4所示。
3)进入disk1目录下面,发现这里只有一个1.cab文件,如图1-5所示。
4)将其解压,执行对应的解压命令expand 1.cab -f:* C:Users用户名/Desktop新建文件夹123,值得注意的是必须指定解压文件存放的目录,否则会报错,即C:Users用户名/Desktop新建文件夹123,如图1-6所示。
注意:如果压缩的文件过大需要加上/d maxdisksize=1024000,设置压缩文件允许大小为10M,默认1424KB。
2.Rar文件解压缩工具
Rar.exe是Winrar安装目录下的rar.exe文件,当安装完Winrar后,在目录下一般路径为C:Program FilesWinRAR,去复制该文件到指定Windows主机即可使用。Rar常见命令参数如表1-1所示。
表1-1 常用命令参数
常用命令参数 | 参数作用 |
---|---|
a | 添加文件到压缩文件中 |
d | 从压缩文件中删除文件 |
e | 解压文件到当前目录 |
u | 更新压缩文件中的文件,把不在压缩文件中的文件添加到里面 |
x | 带绝对路径解压 |
-r | 递归压缩 |
-r- | 不递归压缩 |
-m<n> | 设置压缩模式(按照压缩率)-m0:存储 -m1:最快 -m2:较快 -m3:标准 -m4:较好 -m5:最好 |
-v | 分卷打包(压缩大文件时使用) |
-x<f> | 排除指定文件 |
-y | 对所有问题回答yes |
-hp[p] | 加密数据和头 |
-v | 设置分卷大小 |
(1)单个文件压缩和解压
1)在windows系统中进入到rar文件所在目录即C:Program FilesWinRAR,使用命令行工具打开,执行rar a -r -hptest -m3 file.tar C:UsersAdministratorDesktopfile命令对C:UsersAdministratorDesktop目录下的file文件夹进行加密递归压缩,执行命令如图1-7所示。
2)压缩后的文件会保存在C:Program FilesWinRAR路径下,其中a参数表示将文件添加到压缩文件中,-r参数表示递归压缩,-hp参数表示加密数据和头,-m参数表示设置压缩级别,file表示压缩后文件名,C:......Desktopfile表示将要进行文件压缩的路径。
3)解压缩文件也是需要同上面步骤一样,使用命令行工具打开rar.exe的文件所在地址,在目录下执行rar e ./file.tar -hptest命令,该命令会指定解压缩当前目录下的file.tar文件,解压密码为test。解压成功后会如图1-8所示。
(2)忽略指定后缀文件压缩
假设在某些特定的场景中,由于目录中某些格式的文件过大,不需要该文件,进行压缩时需要忽略,可执行rar a -r -hptest -m3 -x*.txt file.tar C:UsersAdministratorDesktopfile命令,该命令会在压缩文件时忽略目标文件夹下的所有txt格式文件,如图1-9所示。
(3)分卷压缩和解压
1)首先进入rar的文件所在目录,使用命令行工具打开,假如想要通过分卷压缩file文件夹内部文件,可以执行“rar a -r -v1m -m3 file.tar C:UsersAdministratorDesktopfile”命令,-v1m压缩设置分卷压缩的文件为1MB,可以看到生成了4个分卷,如图1-10所示
2)相反,如果我们想要解压缩分卷文件也很简单,只需要对当前目录下的分卷压缩的第一个文件,执行rar x ./file.tar.part01.rar ./file命令即可,虽然命令中只有file.tar.part01.rar文件,但它还是可以将这四个文件全部解压到当前目录下的file文件夹内,如图1-11所示。
(4)分卷压缩加解密
1)当我们使用Rar压缩工具对数据进行分卷加密压缩时,可以执行Rar.exe a -m5 -v1m test.rar test -ppassword命令,将一个名为test的文件夹分卷压缩加密成10个单个分卷大小为1MB,压缩级别为5级、压缩密码为password的分卷压缩文件。成功执行命令后如图1-12所示,其中a参数表示将文件添加到压缩文件中,-m参数表示设置压缩级别,-v参数表示设置分卷大小,-p参数为设置密码,test.rar表示分卷压缩加密后的压缩包名称,test表示将要添加到压缩文件中的文件名称。
2)当需要对分卷加密压缩的文件进行解密解压时,我们只需对test.part01.rar这个加密压缩文件进行解密解压操作即可,如图1-13所示,我们通过执行rar x test.part01.rar -ppassword命令已完成了分卷解密解压操作。
3. 7z文件压缩工具
7z是一款压缩比很高的开源软件,支持Windows系统和linux系统版本,当下载并安装完成后,我们需要到安装目录将其命令行工具(7z.exe)及同目录下的7z.dll共同保存到一个文件夹。使用7z.exe进行命令行操作即可,7z常见命令参数如表1-2所示,下面以7z工具为案例进行演示使用方法。
(1)常见参数
表1-2 7z常见命令参数
常见参数 | 参数作用 |
---|---|
a | 添加压缩文件 |
x | 完整路径释放 |
-r | 递归压缩 |
-p | 指定密码 |
-o | 指定输出目录 |
-v{size} | 分卷压缩 |
(2)压缩文件
假设通过漏洞进入内网获取到权限后,要对其桌面下的test文件夹进行下载读取,考虑到文件存储较大的情况,可利用7z压缩工具的命令行进行压缩,将桌面的文件压缩到当前目录为test.7z的压缩文件,执行7z.exe a -r ./test.7z ./test命令即可压缩,如图1-14所示。
(3)解压文件
当需要将文件解压时,可以将上述生成的test.7z文件,解压并改名为test2执行命令7z.exe x ./test.7z -o./test2,如图1-15所示,此时查看当前目录下,已成功解压缩。
(4)分卷压缩加解密
1)当我们需要使用7z压缩工具对数据进行分卷加密压缩时,可以执行7z.exe a -r -v2m -ptest ./test.7z ./test命令将一个大小为26MB,名称为test的文件夹进行分卷压缩加密,执行成功后如图1-16所示。
在这条命令中,-a表示压缩文件,-r表示递归压缩,-v表示分卷压缩,-v参数后面指定了分卷大小,-p表示压缩密码,./test.7z表示分卷压缩加密后的文件名,./test表示将要分卷压缩加密的文件夹。
在次实验中我们通过7z命令参数将大小为26MB,名称为test的文件夹进行了分卷压缩,每个分卷设置大小为2MB,并指定了分卷压缩密码为test。
2)执行完相关分卷压缩命令后,如图1-17所示,可以查看到test文件已经被分卷压缩成了13个加密压缩包。
3)当需要对分卷加密压缩的文件进行解密解压的时候,我们只需选定test.7z.001这个文件进行解密解压即可,如果我们想将上述的分卷加密压缩的文件解压到一个名为test2的文件夹中,我们即可在当前目录下执行7z.exe x -ptest ./test.7z.001 -o./test2命令来完成分卷解密解压操作,执行成功后如图1-18所示。
图1-18成功执行分卷解密解压
四.本篇总结
本文介绍了在“后渗透测试阶段”中,当服务器中没有压缩工具时,如何利用Makecab、Rar和7z等文件传输技术将文件从目标服务器传输到本地计算机。Makecab工具支持压缩格式zip、rar、cab,使用简单方便,不易暴露。Rar.exe是Winrar安装目录下的rar.exe文件,复制该文件到指定Windows主机即可使用。7z是一款压缩比很高的开源软件,支持Windows和Linux系统版本。通过这些工具,可以实现文件压缩、解压缩、分卷压缩、分卷解压缩等功能。
我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!