突破内网上传大文件的两种方法

  • A+
所属分类:安全文章

点击蓝字

突破内网上传大文件的两种方法

关注我们



声明

本文作者:TeamsSix

本文字数:1804

阅读时长:15~20分钟

附件/链接:点击查看原文下载

本文属于【狼组安全社区】原创奖励计划,未经许可禁止转载


由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,狼组安全团队以及文章作者不为此承担任何责任。

狼组安全团队有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经狼组安全团队允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。





欢迎喜欢一起研究的小伙伴加入团队~
[email protected]



前言


在内网中,有时偶尔会因为种种限制,导致无法上传大文件,以至于只能上传小文件。


在前段时间就碰到了这个问题,当时在拿下目标 shell 后发现只能上传几百 K 的小文件,文件稍微大些比如几 M 的文件就会提示上传失败,在此简单记录下当时解决的办法。


针对这种情况,就需要将大文件变成小文件后再进行上传,个人觉着可以简单的分为两种方式,一种是常规的压缩文件一种是分割文件,先来看看第一种方法。


一、

压缩文件

这里以 7-Zip 为代表,其他的压缩软件还有 WinRAR 等,7-Zip 文件下载地址:https://www.7-zip.org/


如果目标主机没有安装 7-Zip,可以现在自己的主机上安装 7-Zip,然后把安装目录下的 7z.exe 拷贝到目标主机上,默认路径为「C:Program Files7-Zip7z.exe」。


7z.exe 只有 400 多 K 的大小,可以说很是小巧了,以下为 7z.exe 的常用命令。


 a     添加压缩文件
x 解压压缩文件
-p 指定密码
-v 分卷压缩
-r 递归压缩
-o 指定输出目录


普通的压缩/解压文件


把 fscan.exe 压缩成 fscan.7z,压缩密码为『teamssix.com』


7z.exe a -pteamssix.com fscan.7z fscan.exe


C:7-Zip>7z.exe a -pteamssix.com fscan.7z fscan.exe

7-Zip 21.02 alpha (x64) : Copyright (c) 1999-2021 Igor Pavlov : 2021-05-06
Scanning the drive:
1 file, 2911744 bytes (2844 KiB)
Creating archive: fscan.7z
Add new data to archive: 1 file, 2911744 bytes (2844 KiB)
Files read from disk: 1
Archive size: 2794266 bytes (2729 KiB)
Everything is Ok


把 fscan.7z 解压成 fscan.exe


7z.exe x -pteamssix.com fscan.7z


C:7-Zip>7z.exe x -pteamssix.com fscan.7z

7-Zip 21.02 alpha (x64) : Copyright (c) 1999-2021 Igor Pavlov : 2021-05-06
Scanning the drive for archives:
1 file, 2794266 bytes (2729 KiB)
Extracting archive: fscan.7z
--
Path = fscan.7z
Type = 7z
Physical Size = 2794266
Headers Size = 170
Method = LZMA2:3m BCJ 7zAES
Solid = -
Blocks = 1
Everything is Ok
Size: 2911744
Compressed: 2794266


fscan.7z 的大小是 2729 KB,fscan.exe 的大小是 2844 KB,可以看到其实大小差别也不大,没能达到我们将大文件变成小文件的目的,这种大小上传可能还是会失败,那再来试试分卷上传。


分卷压缩/解压文件


分卷压缩其实和下面介绍的分割文件有点类似,区别还是在于一个对文件进行了压缩,一个没有进行压缩。


把 fscan.exe 以 500 K 大小进行分卷压缩。


7z.exe a -pteamssix.com -v500k fscan.7z fscan.exe


C:7-Zip>7z.exe a -pteamssix.com -v500k fscan.7z fscan.exe

7-Zip 21.02 alpha (x64) : Copyright (c) 1999-2021 Igor Pavlov : 2021-05-06
Scanning the drive:
1 file, 2911744 bytes (2844 KiB)
Creating archive: fscan.7z
Add new data to archive: 1 file, 2911744 bytes (2844 KiB)
Files read from disk: 1
Archive size: 2794266 bytes (2729 KiB)
Everything is Ok


C:7-Zip>dir
驱动器 C 中的卷没有标签。
卷的序列号是 2C2C-615D
C:7-Zip 的目录
2021/06/29 21:42 <DIR> .
2021/06/29 21:42 <DIR> ..
2021/05/06 15:00 489,472 7z.exe
2021/06/29 21:40 512,000 fscan.7z.001
2021/06/29 21:40 512,000 fscan.7z.002
2021/06/29 21:40 512,000 fscan.7z.003
2021/06/29 21:40 512,000 fscan.7z.004
2021/06/29 21:40 512,000 fscan.7z.005
2021/06/29 21:40 234,266 fscan.7z.006
2021/06/18 14:58 2,911,744 fscan.exe
8 个文件 6,195,482 字节


把 fscan.7z 解压成 fscan.exe


7z.exe x -pteamssix.com fscan.7z.001


C:7-Zip>7z.exe x -pteamssix.com fscan.7z.001

7-Zip 21.02 alpha (x64) : Copyright (c) 1999-2021 Igor Pavlov : 2021-05-06
Scanning the drive for archives:
1 file, 512000 bytes (500 KiB)
Extracting archive: fscan.7z.001
--
Path = fscan.7z.001
Type = Split
Physical Size = 512000
Volumes = 6
Total Physical Size = 2794266
----
Path = fscan.7z
Size = 2794266
--
Path = fscan.7z
Type = 7z
Physical Size = 2794266
Headers Size = 170
Method = LZMA2:3m BCJ 7zAES
Solid = -
Blocks = 1
Everything is Ok
Size: 2911744
Compressed: 2794266


可以看到,使用分卷压缩可以把一个大文件分成多个小文件,然后将小文件上传上去后,再进行解压就可以了。


但这样做感觉还是有些麻烦,直接使用下文的 split 进行文件分割个人觉着是更为方便的方法,使用 split 进行分割也是我个人解决前段时间碰到不能上传大文件问题时的方法。


二、

分割文件

使用 split 以 500 K 大小分割 fscan.exe 文件,split 命令在 Linux 和 MAC 下都是自带的,因此在自己的电脑上分割好后,直接上传即可。


split -b 500k fscan.exe teamssix


合并分割文件为 fscan.exe


cat teamssix* > fscan			# 适用于 Linux、Mac
copy /b teamssix* fscan.exe # 适用于 Windows


突破内网上传大文件的两种方法


个人觉着直接用 split 分割文件是较为方便的做法,无需第三方软件,且不论目标是 Linux 还是 Windows 都能支持。






后记





作者



突破内网上传大文件的两种方法

TeamsSix

我靠着那加给我力量的,凡事都能作。(腓立比书 4:13 和合本)



扫描关注公众号回复加群

和师傅们一起讨论研究~


WgpSec狼组安全团队

微信号:wgpsec

Twitter:@wgpsec


突破内网上传大文件的两种方法
突破内网上传大文件的两种方法


本文始发于微信公众号(TeamsSix):突破内网上传大文件的两种方法

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: