近源渗透|HID ATTACK从0到1

news2024/11/22 11:57:36

前言

对于“近源渗透”这一术语,相信大家已经不再感到陌生。它涉及通过伪装、社会工程学等手段,实地侵入企业办公区域,利用内部潜在的攻击面——例如Wi-Fi网络、RFID门禁、暴露的有线网口、USB接口等——获取关键信息,并以隐蔽的方式将评估结果带出并上报,以此揭示企业安全防护的漏洞。

在此,我们仅作为学习交流,提醒大家,近源渗透涉及相关法律规定,请务必谨慎行事!

我自己对HID ATTACK的启蒙非常早,在16年左右,就有使用过类似橡皮鸭的HID(Human interface device,缩写HID,直译为人类接口设备)设备,最初的时候应该是在freebuf上看到的,以及国内的badusb网站。使用便宜的Digispark USB开发板基于ATTiny85,其速度较慢,且对于win7不免驱。使用Arduino IDE开发相关的payload,如今在github还是可以找到很多案例,对于入门HID非常简单。然后又找到一个速度较快的,基于ATmega32U4的开发板,免驱,但开发的代码比较复杂,但github也有案例。

我本人最终选择了2个方案,树莓派pico(RP2040)与DIY基于CH552/554的开发板,因为他们俩都能实现自带flash,本篇文章将主要循序渐进的讲这两个方案的实现过程

当然还有一个高阶方案就是给支持Nethunter Kali内核的手机刷上Nethunter系统,内自带两种HID ATTACK方式,本人使用的是Google Pixel 6p

PicoDucky

此方案主要围绕https://github.com/dbisu/pico-ducky来实现

需要准备

  • RP2040开发板 or 树莓派pico开发板 (成本20以内)!

  • 一根带数据传输功能的 Type-C线

开始部署

设备到手后先长按BOOT按钮,如图,然后使用数据线连接上电脑,直到出现一个名为RPI-RP2的存储设备

将adafruit-circuitpython-raspberry_pi_pico-en_US-8.x.x.uf2复制进去,版本不限只需是8.x.x即可,可以到上方GitHub链接中获取,也可以到文末的附件中获取,此操作为安装micro-python到设备

复制完成后刚刚的存储设备名字会变为U盘,若没变的话请重新接入设备,发现其中文件消失,此时再复制pico-ducky的文件进去,此操作为安装pico-ducky进去,过程消耗1分钟左右

复制完成后,单点RST按钮,等待几秒会自动打开notepad输入Hello World!字样,即完成

具体攻击代码可在payload.dd中修改,其语法规范为橡皮鸭duck的规范,但某些功能不支持,最后面会阐述

此方案还可以使用W版本,就是带WIFI的版本,可以手机连接热点切换payload,具体看作者GitHub中内容

此方案成本控制在20以内甚至更低

CH552G

此方案主要围绕https://github.com/Push3AX/USBAirborne来实现

需要准备

  • 首先注册嘉立创,下载嘉立创下单助手到其中左侧下拉栏中免费领取打板券(需进行考试,内容为电子相关

  • 下载工程Gerber文件导入到嘉立创内进行生产PCBhttps://raw.githubusercontent.com/Push3AX/USBAirborne/main/Hardware/Gerber_PCB1_2022-06-19.zip也可以在嘉立创开源平台中自己编辑项目后导出Gerber文件(主要是添加点自己的丝印等)https://oshwhub.com/PushEAX/3079905e2c434c54902d77ab60f6c747

  • 打板的时候,板子2层 1.6厚即可,沉金,其他参数默认
  • 物料 10uf电容 100NF电容 22k电阻 W25QFLASH CH552G/554G单片机 拨码开关2PIN USB公头

  • 电阻电容焊接点位

开始焊接

热风枪焊接(推荐)

电烙铁焊接

焊接前将双手去静电,焊接时准备防静电镊子

根据点位焊接,注意器件的方向

  • 最终成品如下

  • 也可以购买一个G2版型通用的U盘外壳搭配使用

开始部署

下载烧录软件WCHISPTool

将拨码开关2打开开启烧录模式

插入设备后打开烧录软件

配置型号 用户程序文件 且USB设备列表成功显示了CH552设备

关闭烧录模式,插入设备,会HID打开百度网站,说明此设备已经部署成功

关闭攻击模式使得设备flash可读写,Autorun.inf文件中为具体payload,其可利用Windows的自动播放功能进行攻击也可以使用HID攻击,我们只使用HID功能,因为前者在部分系统中是默认关闭的,没有效果

[BadUSB]
[Win+R]
[Delay][Delay]
notepad[Enter]
[Delay]
Hi![Enter]
ThisisatestofUSBAirborne[Enter]
[Win+R]
[Delay]
[Delay]
https://www.bilibili.com/video/BV1uT4y1P7CX/
[Enter]
[BadUSB]

;后续是AutoRun攻击的配置文件。USBAirborne支持同时进行两种攻击。
[AutoRun]
autoplay=true

;将驱动器图标伪装为U盘图标
icon=c:\windows\system32\shell32.dll,79

;驱动器名称
label=Nothinginside

;攻击Payload,此处为调用cmd打开网页
open=cmd.exe/c"start https://www.bilibili.com/video/BV1uT4y1P7CX"
run=cmd.exe/c"start https://www.bilibili.com/video/BV1uT4y1P7CX"

;劫持右键菜单
shell\open=打开(&O)
shell\open\Command=cmd.exe/c"start https://www.bilibili.com/video/BV1uT4y1P7CX"
shell\opennewwindow=在新窗口中打开(&E)
shell\opennewwindow\Command=cmd.exe/c"start https://www.bilibili.com/video/BV1uT4y1P7CX"

设备根据[BadUSB]中框起的代码作为HID攻击代码,其语法类似橡皮鸭duck,我们可以在作者固件源码中得到具体内容,后续[AutoRun]则为一些配置和Windows自动播放攻击的代码

BadUSB的配置文件支持一些组合键和高级命令:

[Enter]:按下回车键
[Shift]:按下Shift键
[Capslock]:切换大小写
[Win]:按下Win键
[Win+R]:打开“运行”窗口
[Alt+F4]:关闭当前窗口
[Win+D]:显示桌面
[Win+L]:锁定计算机
[Win+E]:打开Windows资源管理器
[Ctrl+Alt+Del]:打开安全选项
[Delay]:等待500毫秒
[Format]:格式化储存

此方案成本控制在10以内甚至更低(单个)

思考问题

  • 这两个方案的操作是否过于复杂了?对于其他现成方案来说有什么优点呢?

其实我们可以使用市面上的其他开发板来实现HID攻击,但是本文章所述的两个方案他们都自带4-16mb的flash(取决于购买的设备)可以存储,可以作为U盘使用,更重要的是,可以存储恶意进程到U盘之内,使用cmd或者powershell指令,低风险的执行,不用远程下载

有些人说,是不是可以直接把恶意进程转base64后使用HID设备全部打出来然后解码转二进制文件运行?是可以,但太慢了

  • 方案目前是最优解吗?

其实并不是最优解,这两个方案的伪装效果不如数据线类型的HID设备

方案一其中的pico-ducky只不过是将pico废物利用了,其不兼容很多外壳,且其USB-A版本价格偏高,虽小但也没有外壳可用,如图,且其会发出光亮,伪装效果不佳,但速度较快,部署简单

方案二作为自diy的设备,可以实现外壳兼容,flash存储,且可以自写固件添加功能,例如格式化设备清除痕迹等,但其不是最优解主要体现在他的速度稍慢,连接上电脑需要5秒左右的初始化时间,且其固件功能不够多

  • 能过输入法吗?

过输入法常常出现在中文系统下,输入法开启导致HID输入的内容变更,导致无法执行

常用的方法是开大小写,但是遇到一些区分大小写的内容,就无法使用了

解决问题

  • 如何取flash中的恶意进程出来
((wmiclogicaldiskwheredrivetype=2getdeviceid|findstr/v"DeviceID")-join""-replace"[\s]","")+"\\1.exe"|Out-File-FilePath"c:\\users\\public\\x";Invoke-Expression(Get-Content"c:\\users\\public\\x")

使用这个powershell代码可从最新插入的U盘设备(type2)中获取1.exe的路径,保存在public文件夹内,然后取这个路径文件运行,算是比较好用的一个取文件方案,欢迎补充优化!

  • 伪装性

解决这个问题最优解是使用hackusb数据线,在几年前其作者因当兵鸽子了很久,现在复出了(很多人以为是进去了),听说现在迭代到很强的版本了

对于本文方案一的解决思路就是,重绘RP2040的PCB制作一个类似G2板样的,去除或保留RGB灯,这个思路成本太高了

对于其他建议我认为可以使用无flash版本的最小ch552g板子的HID设备,开源地址https://oshwhub.com/Inkusa/ch552g-zui-xiaobadusb_copy 基本上就是贴着usb母口来执行了,缺点是难扣下来,成本非常低,还可以使用usb接收器外壳的HID设备,https://oshwhub.com/hexesdesu/USBjie-shou-qi-wai-qiao-Badusb,自认为挺不错的,当然还有数据线版本,https://oshwhub.com/monkeylord/badusb-cable

  • 输入法

解决这个问题目前我个人知道的方案就是使用 橡皮鸭v3版本其固件可以读取大小写锁定状态 使用if语句判断来看是否要大小写来绕过,而输入法是系统软件层面的,我们可以使用阶段payload,比如一阶段执行一个程序将输入法切换为英文后使用阶段二来进一步利用,提供一个思路:Windows在不同进程窗口中会自动切换输入法状态为英文或中文

  • 速度

速度取决于单片机,越高端的理论上速度越快,当然也需要搭配一个较好的固件,不如方案二中作者给了解决方法,将payload直接在编译前写死在代码中,不用等待5秒初始化就可以执行payload了,毕竟还需要读取autorun.inf中的内容再执行

  • 什么是最优解

没有最优解,适合自己的才是最优解

免责声明

(1)本文提到的两个方案均取自于网络

(2) 本项目仅用于网络安全技术的学习研究。旨在提高安全开发能力,研发新的攻防技术。

(3) 若执意要将本项目用于渗透测试等安全业务,需先确保已获得足够的法律授权,在符合网络安全法的条件下进行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2245307.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据入门-什么是Flink

这里简单介绍Flink的概念、架构、特性等。至于比较详细的介绍,会单独针对这个组件进行详细介绍,可以关注博客后续阅读。 一、概念 Apache Flink 是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。 Flink的四大基…

Excel如何批量导入图片

这篇文章将介绍在Excel中如何根据某列数据,批量的导入与之匹配的图片。 准备工作 如图,我们准备了一张员工信息表以及几张员工的照片 可以看到,照片名称是每个人的名字,与Excel表中的B列(姓名)对应 的卢易…

9个最佳WordPress PDF插件(查看器、嵌入和下载)

在过去的几年里,我们一直在使用不同的 PDF 插件在我们的网站上创建、编辑和嵌入文档。 然而,经过多次尝试和错误,我们意识到并不是每个插件都是相同的。事实上,为您的企业或电子商务网站选择合适的 PDF 插件可能是一项艰巨的任务…

java-贪心算法

1. 霍夫曼编码(Huffman Coding) 描述: 霍夫曼编码是一种使用变长编码表对数据进行编码的算法,由David A. Huffman在1952年发明。它是一种贪心算法,用于数据压缩。霍夫曼编码通过构建一个二叉树(霍夫曼树&a…

Seatunnel运行时报错Caused by: java.lang.NoClassDefFoundError: com/mysql/cj/MysqlType

报错 [] 2024-11-21 16:46:27,526 ERROR org.apache.seatunnel.core.starter.SeaTunnel - Fatal Error, [] 2024-11-21 16:46:27,526 ERROR org.apache.seatunnel.core.starter.SeaTunnel - Please submit bug report in https://github.com/apache/seatunnel/issues[] 2024-11…

vue自定义指令--一键复制

vue项目中想要实现点击按钮一键复制,可以通过vue的自定义指令directive来实现。 一、新建directive.js文件 新建directive.js文件,用于定义所有的自定义指令。 import { Toast } from vant;const directive {// 一键复制copy:{bind (el, { value }) …

AI 大模型重塑软件开发的未来

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

python: generator model using sql server 2019

設計或生成好數據庫,可以生成自己設計好的框架項目 # encoding: utf-8 # 版权所有 :2024 ©涂聚文有限公司 # 许可信息查看 :言語成了邀功盡責的功臣,還需要行爲每日來值班嗎 # 描述: : 生成实体 # Author …

使用redis-shake工具进行redis的数据同步

前言: 工作中将常遇到测试环境和正式环境的数据同步或者需要进行数据迁移,对于mysql数据库的方案倒是不少,但是redis中如何快速便捷的迁移呢?答案是阿里云提供的:redis-shake RedisShake是阿里云基于豌豆荚开源的redis-port进行…

轻松实现文件远程传输:使用PicoShare搭建轻量级文件共享系统

文章目录 前言1. 本地安装Docker2. 本地部署PicoShare3. 如何使用PicoShare4. 公网远程访问本地 PicoShare4.1 内网穿透工具安装4.2 创建远程连接公网地址 5. 固定PicoShare公网地址 前言 什么是PicoShare? PicoShare 是一个由 Go 开发的轻量级开源共享文件系统。…

路由缓存后跳转到新路由时,上一路由中的tip信息框不销毁问题解决

上一路由tip信息框不销毁问题解决 路由缓存篇问题描述及截图解决思路关键代码 路由缓存篇 传送门 问题描述及截图 路由缓存后跳转新路由时,上一个路由的tip信息框没销毁。 解决思路 在全局路由守卫中获取DOM元素,通过css去控制 关键代码 修改文…

iOS 18.2 Beta 4开发者预览版发布,相机新增辅助功能

昨天刚连发iOS 18.1.1正式版、iOS 17.7.2正式版,今天凌晨,苹果就又发布iOS 18.2 Beta 4,据了解iOS18.2正式版将在 12 月初发布。那么这次的更新又有哪些变化呢?下面我们就来一起了解一下。 iOS 18.2 Beta 4的版本号为:…

PCB 间接雷击模拟

雷击是一种危险的静电放电事件,其中两个带电区域会瞬间释放高达 1 千兆焦耳的能量。雷击就像一个短暂而巨大的电流脉冲,会对建筑物和电子设备造成严重损坏。雷击可分为直接和间接两类,其中间接影响是由于感应能量耦合到靠近雷击位置的物体。间…

易语言学习-cnblog

易语言数据类型 数值转换命令(自己学) 数值到大写()将一个数值转换到中文读法,第二个参数为是否为简体。 数值到大写(123.44,假) 猜测结果 数值到金额()将双…

接口小练习

文章目录 1.字符串最后一个单词的长度2.字符串中的第一个唯一字符3.验证回文串 1.字符串最后一个单词的长度 计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾) 输入描…

26届JAVA 学习日记——Day14

2024.11.21周四 今天仍然在补充基础知识,项目进度较慢,明天再回顾一下Java8的新特性。 八股 操作系统 什么是缓冲区溢出? 缓冲区溢出是一种常见的计算机安全漏洞,它发生在程序试图将过多的数据写入缓冲区(即一块用…

Element UI 组件库详解【Vue】

文章目录 一、引言二、安装并使用1. 安装2. 使用 三、常见组件说明1. 基础组件2. 布局组件3. 布局容器4. 选择框组件5. 输入框组件6. 下拉框组件7. 日期选择器8. 上传组件9. 表单组件10. 警告组件11. 提示组件12. 表格组件 一、引言 官方网站,element.eleme.cn El…

【腾讯云产品最佳实践】腾讯云CVM入门技术与实践:通过腾讯云快速构建云上应用

目录 前言 什么是腾讯云CVM? 腾讯云CVM的技术优势 基于最佳技术实践,使用腾讯云CVM搭建应用 1. 开通CVM实例 2. 连接CVM实例 3. 配置Web环境 4. 部署PHP应用 腾讯云CVM行业应用案例:电商平台的双十一攻略 1. 弹性伸缩解决高并发问题…

2024信创数据库TOP30之达梦DM8

近年来,中国信创产业快速崛起,其中数据库作为基础软件的重要组成部分,发挥了至关重要的作用。近日,由DBC联合CIW/CIS共同发布的“2024信创数据库TOP30”榜单正式揭晓,汇聚了国内顶尖的数据库企业及产品,成为…

SSA-XGBoost分类预测 | Matlab实现SSA-XGBoost麻雀算法优化XGBoost的多特征分类预测

分类预测 | Matlab实现SSA-XGBOOST麻雀算法优化XGBOOST的多特征分类预测 目录 分类预测 | Matlab实现SSA-XGBOOST麻雀算法优化XGBOOST的多特征分类预测效果一览基本介绍程序设计参考资料效果一览 基本介绍 Matlab实现SSA-XGBoost麻雀算法优化XG