0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

介绍一款GNU/Linux上跟踪USB设备的取证工具

哆啦安全 来源:哆啦安全 2023-01-30 10:34 次阅读

usbrip取证工具

usbrip(源自"USB Ripper",而不是"USB RIP")是一个带有CLI界面的开源取证工具,可以让您在Linux机器上跟踪USB设备(即USB事件历史记录,"已连接"和"已断开连接"事件)。

62d356e0-9699-11ed-bfe3-dac502259ad0.png

62d356e0-9699-11ed-bfe3-dac502259ad0.png

usbrip是用Python3编写的软件,它解析Linux日志文件

/var/log/syslog*
或
/var/log/messages*

以构建USB事件历史表。

此类表格可能包含以下列:

"已连接"(日期和时间),

"用户",

"VID"(供应商ID),

"PID"(产品ID),

"产品",

"制造商",

"序列号",

"端口"和

"断开连接"(日期和时间)。

此外,它还可以:

(1).导出收集的信息作为JSON转储;

(2).生成一个授权(可信)USB设备列表作为JSON(称之为auth.json);

(3).根据以下内容搜索(违规事件)auth.json:show(或生成另一个JSON)USB设备出现在历史记录中并且不会出现在auth.json;

(4).*使用-sflag * 安装时,创建加密存储(7zip存档),以便在crontab调度程序的帮.助下自动备份和累积USB事件;

(5).根据其VID和/或PID搜索有关特定USB设备的其他详细信息。

usbrip安装

快速安装

usbrip可在PyPI下载和安装:

$ pip3 install usbrip

git安装

# 下载
~$ git clone https://github.com/snovvcrash/usbrip.git usbrip && cd usbrip
~/usbrip$


# 安装依赖
~$ sudo apt install python3-venv p7zip-full -y

有两种方法,可以将usbrip安装到系统中:

pip或setup.py。

pip要么setup.py

首先,usbrip是通过pip安装的。这意味着在git克隆了repo之后可以简单地启动pip安装过程,然后在终端的任何地方运行usbrip,如下所示:

~/usbrip$ python3 -m venv venv && source venv/bin/activate
(venv) ~/usbrip$ pip install .


(venv)~/usbrip$usbrip-h

或者,如果要在本地解析Python依赖关系(不打扰PyPI),请使用setup.py

~/usbrip$ python3 -m venv venv && source venv/bin/activate
(venv) ~/usbrip$ python setup.py install


(venv)~/usbrip$usbrip-h

注意:

您可能希望在Python虚拟环境处于活动状态时运行安装过程(如上所示)

62e6da30-9699-11ed-bfe3-dac502259ad0.png

usbrip使用

# ---------- BANNER ----------


$ usbrip banner
Get usbrip banner.


# ---------- EVENTS ----------


$ usbrip events history [-t | -l] [-e] [-n ] [-d  [ ...]] [--user  [ ...]] [--vid  [ ...]] [--pid  [ ...]] [--prod  [ ...]] [--manufact  [ ...]] [--serial  [ ...]] [--port  [ ...]] [-c  [ ...]] [-f  [ ...]] [-q] [--debug]
Get USB event history.


$ usbrip events open  [-t | -l] [-e] [-n ] [-d  [ ...]] [--user  [ ...]] [--vid  [ ...]] [--pid  [ ...]] [--prod  [ ...]] [--manufact  [ ...]] [--serial  [ ...]] [--port  [ ...]] [-c  [ ...]] [-f  [ ...]] [-q] [--debug]
Open USB event dump.


$ usbrip events gen_auth  [-a  [ ...]] [-e] [-n ] [-d  [ ...]] [--user  [ ...]] [--vid  [ ...]] [--pid  [ ...]] [--prod  [ ...]] [--manufact  [ ...]] [--serial  [ ...]] [--port  [ ...]] [-f  [ ...]] [-q] [--debug]
Generate a list of trusted (authorized) USB devices.


$ usbrip events violations  [-a  [ ...]] [-t | -l] [-e] [-n ] [-d  [ ...]] [--user  [ ...]] [--vid  [ ...]] [--pid  [ ...]] [--prod  [ ...]] [--manufact  [ ...]] [--serial  [ ...]] [--port  [ ...]] [-c  [ ...]] [-f  [ ...]] [-q] [--debug]
Get USB violation events based on the list of trusted devices.


# ---------- STORAGE ----------


$ usbrip storage list  [-q] [--debug]
List contents of the selected storage (7zip archive). STORAGE_TYPE is "history" or "violations".


$ usbrip storage open  [-t | -l] [-e] [-n ] [-d  [ ...]] [--user  [ ...]] [--vid  [ ...]] [--pid  [ ...]] [--prod  [ ...]] [--manufact  [ ...]] [--serial  [ ...]] [--port  [ ...]] [-c  [ ...]] [-q] [--debug]
Open selected storage (7zip archive). Behaves similary to the EVENTS OPEN submodule.


$ usbrip storage update  [-a  [ ...]] [-e] [-n ] [-d  [ ...]] [--user  [ ...]] [--vid  [ ...]] [--pid  [ ...]] [--prod  [ ...]] [--manufact  [ ...]] [--serial  [ ...]] [--port  [ ...]] [--lvl ] [-q] [--debug]
Update storage — add USB events to the existing storage (7zip archive). COMPRESSION_LEVEL is a number in [0..9].


$ usbrip storage create  [-a  [ ...]] [-e] [-n ] [-d  [ ...]] [--user  [ ...]] [--vid  [ ...]] [--pid  [ ...]] [--prod  [ ...]] [--manufact  [ ...]] [--serial  [ ...]] [--port  [ ...]] [--lvl ] [-q] [--debug]
Create storage — create 7zip archive and add USB events to it according to the selected options.


$ usbrip storage passwd  [--lvl ] [-q] [--debug]
Change password of the existing storage.


# ---------- IDs ----------


$ usbrip ids search [--vid ] [--pid ] [--offline] [-q] [--debug]
Get extra details about a specific USB device by its  and/or  from the USB ID database.


$ usbrip ids download [-q] [--debug]
Update (download) the USB ID database.

usbrip的使用示例

显示所有USB设备的事件历史

$ usbrip events history -ql -n 100

显示外部USB设备的事件历史

$ usbrip events history -et -c conn vid pid disconn serial -d "Dec  9" "Dec 10" -f /var/log/syslog.1 /var/log/syslog.2.gz






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • USB设备
    +关注

    关注

    0

    文章

    55

    浏览量

    16277
  • LINUX内核
    +关注

    关注

    1

    文章

    313

    浏览量

    21440
  • GNU
    GNU
    +关注

    关注

    0

    文章

    142

    浏览量

    17377
  • CLI
    CLI
    +关注

    关注

    1

    文章

    79

    浏览量

    8445

原文标题:GNU/Linux上跟踪USB设备的取证工具

文章出处:【微信号:哆啦安全,微信公众号:哆啦安全】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux内核开发工具介绍

    接触到Linux内核代码的开发人员,都有无从下手的感觉。下面推荐几个源码阅读和索引工具,能为后续内核开发提供些便利。1、Source InsightSource Insight是Windows平台下
    发表于 01-06 17:20

    Linux系统争议——是Linux还是GNU/Linux?

    这样的程序不是自由软件。GNU是什么?“GNU”这个名字是“GNU's Not Unix”的递归首字母缩写词,它是个类Unix操作系统,由多个应用程序、系统库、开发
    发表于 06-12 17:17

    介绍一款苹果操作系统的电源管理工具

    Power Manager for Mac是苹果操作系统一款笔记本电源管理工具,该工具支持苹果系列的笔记本,可以有效地优化苹果系统,结束不必要的系统任务,同时还可以提高笔记本电池的
    发表于 01-03 07:42

    一款VScode的插件介绍

    前文写到使用minGW、GNU for ARM和VScode组成编译调试链,今天又发现了一款VScode的插件,Cortex-Debug(marus25),可以用来debug ARM cortex-M系列单片机。这款插件目前功能不多,但好在配置简单,读
    发表于 01-25 08:16

    介绍一款支持Vulkan的Arm平台Linux操作系统

    介绍一款支持Vulkan的Arm平台Linux操作系统
    发表于 03-03 06:41

    一款国产USB3.0HUB集线器芯片

    *附件:和芯润德 USB3.0HUB 设计资料.rar 推荐一款国产 USB3.0 HUB芯片,型号SL6340 推荐一款国产3.0HUB,型号SL6340,是
    发表于 10-20 18:20

    LinuxGNU Radio平台的搭建以及该如何使用NI USRP设备

    GNU Radio是个开源的软件无线电开发平台,可以通过图形化界面或C++、Python等文本语言快速开发软件无线电应用,本文介绍LinuxG
    发表于 11-15 19:29 9364次阅读
    <b class='flag-5'>Linux</b>下<b class='flag-5'>GNU</b> Radio平台的搭建以及该如何使用NI USRP<b class='flag-5'>设备</b>

    Linux下的硬件驱动—USB设备

    赵明(carl__zhao@163.com) 联想软件设计中心嵌入式研发处系统设计工程师USB设备越来越多,而Linux在硬件配置仍然没有做到完全即插即用,对于
    发表于 04-02 14:35 272次阅读

    AutoGadgetFS:一款针对USB设备的安全测试工具

    AutoGadgetFS是一款开源框架,它可以帮助广大研究人员在无需深入了解USB协议的情况下对USB设备以及相关的主机/驱动器/软件进行评估。
    的头像 发表于 09-05 15:49 777次阅读

    介绍一款基于go的windows信息收集工具

    一款基于go的windows信息收集工具,主要收集目标设备rdp端口登录、mstsc远程连接记录、mstsc密码和安全事件中。
    的头像 发表于 09-09 09:47 972次阅读

    介绍一款有源滤波器的设计工具

      滤波器分为有源滤波器和无源滤波。有源滤波器主要有,Sallen-Key和Multiple Feedback滤波器。 现在介绍一款有源滤波器的设计工具,这是一款ADI自带的设计
    的头像 发表于 11-23 16:06 3773次阅读
    <b class='flag-5'>介绍</b><b class='flag-5'>一款</b>有源滤波器的设计<b class='flag-5'>工具</b>

    GNU/LinuxLinux的区别在哪?

    GNUGNU/LinuxLinux 之间到底是什么关系?什么是自由软件?什么是GPL协议?什么是自由软件基金会?什么是GNU耻辱榜?有多
    的头像 发表于 02-17 09:36 1265次阅读

    初识内存取证-volatility与Easy_dump

    Volatility是一款非常强大的内存取证工具,它是由来自全世界的数百位知名安全专家合作开发的工具, 可以用于windows,
    的头像 发表于 03-01 13:39 1991次阅读

    一款运行于windowslinux命令神器-Cmder

    Cmder是一款Windows的命令行工具,用起来和Linux的命令样顺畅。可以使用大量的Linux 命令,比如 grep, curl,v
    的头像 发表于 05-05 10:30 1686次阅读
    <b class='flag-5'>一款</b>运行于windows<b class='flag-5'>上</b>的<b class='flag-5'>linux</b>命令神器-Cmder

    什么是 GNU/Linux

    Linus本人曾经争辩说,将Linux称为GNU/Linux简直是荒谬的。
    发表于 06-13 09:14 3223次阅读
    什么是 <b class='flag-5'>GNU</b>/<b class='flag-5'>Linux</b>?