使用bitsadmin.exe 下载文件,配合bcn.bat玩出更多的花样~~
bitsadmin的简单介绍与基本用法:
bitsadmin.exe 可以用来在windows 命令行下下载文件。bitsadmin是windows 后台智能传输服务的一个工具,windows 的自动更新,补丁之类的下载就是用这个工具来实现的。
跟据我查到的资料 《Use bitsadmin to maintain persistence and bypass Autoruns》 一文当中对bitsadmin的各种用法写得很详细,我这里就必要额外多写了。
后面我会写其它一些我自己能想得到的方法的技巧。
bitsadmin 基本用法:
bitsadmin /transfer 任务名 http://files.cnblogs.com/files/gayhub/bcn.js c:\bcn.bat
如以上以一行命令可以用来下载bcn.bat,下载完成后会显示:
DISPLAY: '任务名' TYPE: DOWNLOAD STATE: TRANSFERRED
PRIORITY: NORMAL FILES: 1 / 1 BYTES: 11392 / 11392 (100%)
Transfer complete.
"任务名" 可以随意起,保存文件的文件路径必须是已经存在的目录,否则不能下载。
默认情况下bitsadmin下载速度极慢,下载较大文件需要设置优先级提速,以下是用法示例:
#下载filezilla FTP客户端,任务名是333
start bitsadmin /transfer 333 http://dwz.cn/fffftp c:\333.exe
#设置任务333为最高优先级
bitsadmin /setpriority 333 foreground
bitsadmin的一些特性:
bitsadmin 可以在网络不稳定的状态下下载文件,出错会自动重试,可靠性应该相当不错。
bitsadmin 可以跟随URL跳转.
bitsadmin 不像CURL WGET 这类工具那样能用来下载HTML页面。
关于bcn.bat介绍与基本用法:
bcn.bat是一个由bathome论坛出品的,非常精巧的命令行包管理器,由bat和js混合编写实现,体积仅10K,bcn.bat解决了windows下获取第三方命令不方便的问题。
bcn.bat的基本用法:
#下载curl
bcn gt curl
#下载wget
bcn get-tool wget
如上,如需要下载常用的命令行工具,都是需要一行命令就能下载到了。像linux下的包管理器一样方便~~。
bitsadmin配上bcn.bat、gist、短网址的花式玩法:
github代码托管类的网站提供了类似gist功能,以及类似pastebin服务的网站都可以把代码贴上去分享出来,并且可以获取RAW数据。
我们可以把程序代码帖在上面,在需要的时候下载后调用。我看到过一个chrome扩展,支持用户把自定义的配置写在自己的gist中,这样来实现配置的同步。
由于gist上的编码是utf8,而批处理.bat不支持utf8,所以需要把bcn.bat base64后放上去。
我把bcn.bat base64贴到gist上: https://gist.github.com/FGFW/7949fa503c16c46ef4c0b5b854fd696e
对应的raw 地址是 https://gist.githubusercontent.com/FGFW/7949fa503c16c46ef4c0b5b854fd696e/raw/20d84464d8bde640a3e4bff5f99dc31c43326e2c/bcn.bat
上面的地址太长不易记,用网址缩短之后可以得到: http://dwz.cn/bcntxt
当执行成功以下命令之后就可以愉快地使用bcn去下载各种命令行工具了:
@echo off
::2017-3-10 17:48:00 codegay
set bcndir=%systemdrive%\bcnx
set bcn=%bcndir%\bcn.bat
md %bcndir%
cd /d %bcndir%
bitsadmin /transfer 111 http://dwz.cn/bcntxt %bcndir%\bcn.txt
#certutil.exe 这个工具可以用来解码base64文件,2000以上系统自带
certutil -decode bcn.txt %bcn%
#用bcn.bat去下载setx.exe,这是一个设置环境变量的小工具。
%bcn% get-tool setx
pause
参考资料:
《 Use bitsadmin to maintain persistence and bypass Autoruns 》http://www.tuicool.com/articles/rqe63qj
《 15 Ways to Download a File 》 https://blog.netspi.com/15-ways-to-download-a-file/#windows
certutil.exe http://www.cnblogs.com/gayhub/p/5832836.html
→_→补充:
国内有些关于bitsadmin的文章翻译自《 15 Ways to Download a File 》,然后国内有些平台上的文章是不署名摘抄来的。
《 Use bitsadmin to maintain persistence and bypass Autoruns 》 作者是 三好学生 他的github https://github.com/3gstudent
bcn.bat首发地址: http://www.bathome.net/thread-32322-1-1.html
codegay 2017-3-8 7:43:55
使用bitsadmin.exe 下载文件,配合bcn.bat玩出更多的花样~~的更多相关文章
- 使用Bitsadmin 命令下载文件
如果你碰到一个 Sa权限的注入点,你可以执行dos命令,但是你发现站库分离,数据库和web不在一个服务器上,而且悲剧的是数据库服务器又是个内网,这个时候你该怎么办? 这里就需要用到Bitsadmin来 ...
- 使用CertUtil.exe下载远程文件
使用CertUtil.exe下载远程文件 证书 https://www.cnblogs.com/17bdw/p/8728656.html 1.前言 经过国外文章信息,CertUtil.exe下载恶意软 ...
- 使用批处理文件在FTP服务器 上传下载文件
1.从ftp服务器根目录文件夹下的文件到指定的文件夹下 格式:ftp -s:[配置文件] [ftp地址] 如:ftp -s:c:\vc\ftpconfig.txt 192.168.1.1 建立一个 ...
- 转:Windows下用sftp自动下载文件
远程服务器是Linux操作系统,没有ftp服务,可以ssh,数据库每天2:00会自动创建一个备份文件,本地计算机是windows操作系统,希望用sftp每天3:00下载远程服务器上的备份文件.本地系统 ...
- QUICK-AP + BETTERCAP 替换局域网内其他用户的下载文件为自定义文件
环境需求 :kali系统 , .0版本 :quick-ap :bettercap :bettercap-proxy-modules :...... 主要环境搭建 目的:替换局域网用户的下载文件,变为我 ...
- Windows执行命令与下载文件总结
1.前言 在渗透或是病毒分析总是会遇到很多千奇百怪的下载文件和执行命令的方法. 2.实现方式 2.1.Powershell win2003.winXP不支持 $client = new-object ...
- Javaweb程序打包或exe执行文件
java程序的打包与发布 这里主要是讲解一下怎样将 Java程序打包成独立运行的exe程序包,以下这种方法应该是最佳的解决方案了.NetDuke的EXE程序包了是使用这种方案制作的.在操作步骤上还是比 ...
- cmd 环境下载文件的几种方法
今天渗透测试面试提到cmd下载文件 ,自己只写了js和certutil,还有几种常见的方法自己没想起来 这里记录和总结下 . (自己还是太菜太垃圾.) 0x01 certutil certutil ...
- 利用certutil.exe实现在批处理(bat)中嵌入可执行文件或者各种媒体、图片之类二进制文件的简单方法!
实际上利用certutil.exe 把二进制文件(包括各种文件,exe可执行程序,图片,声音,mp3) 经过base64编码为文本,可以实现把这些文件嵌入到批处理代码中. 有什么用?: 举个例子,批处 ...
随机推荐
- PowerDesigner概念(概念数据模型概述)
- 虹软离线人脸识别 ArcFace 2.0 Demo [C++]
环境: win10(10.0.16299.0)+ VS2017 sdk版本:ArcFace v2.0 OPENCV3.43版本 x64平台Debug.Release配置都已通过编译 下载地址:http ...
- 雷林鹏分享:YAF路由问题
这2天休年假,在家宅着学习研究了YAF框架,用YAF做过APP接口的项目,但是没有用来做过WEB方面的应用.趁着这2天在家想把博客用YAF进行一下改版,目的也想进一步学习一下YAF. 在这过程中遇到不 ...
- springboot缓存注解——@CacheEvict
@CacheEvict:缓存清除 可以通过key指定清除的数据 如果不写默认参数的值 allEntries = true (是否删除该缓存名中所有数据,默认为false) beforeInvocati ...
- Vue项目使用bootstrap
①npm install boostrap@4.0.0 --save @4.0.0为版本号 ②在项目的main.js中添加 import 'bootstrap/dist/css/bootstrap.m ...
- Android Satudio的使用记录
Satudio的使用记录之导入新项目: Satudio导入项目的心得[基本分为4步完成]1.需要保证自己的satudio中项目能够运行,同时找到该工作空间的和项目的各个参数 {项目-->右键—— ...
- 前后端token机制 识别用户登录信息
Token,就是令牌,最大的特点就是随机性,不可预测.一般黑客或软件无法猜测出来. 那么,Token有什么作用?又是什么原理呢? Token一般用在两个地方: 1)防止表单重复提交. 2)anti c ...
- github项目上传与克隆
1. 先去git官网https://git-scm.com/下载git: 2. 桌面新建文件夹,例如project,文件夹中新建任意文件例如index.html: 3. 打开文件夹,按住shift+右 ...
- mybatis逆向工程generatorConfiguration详细配置
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generatorConfiguratio ...
- vs.net2015发布web网站时,提示JsonIgnoreAttribute无法找到的解决办法
产生该问题的原因是因为项目中引用了两个版本的newtonsoft.json.dll,具体解决办法参见: 用记事本打开项目文件(*.csproj) 可以找到在这个文件中,有两处Newtonsoft.Js ...