前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Usbrip:用于跟踪USB设备固件的简单CLI取证工具

Usbrip:用于跟踪USB设备固件的简单CLI取证工具

作者头像
FB客服
发布2019-09-25 16:36:59
9660
发布2019-09-25 16:36:59
举报
文章被收录于专栏:FreeBufFreeBuf

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

它是用纯Python 3编写的一小块软件(使用一些外部模块,参见Dependencies / PIP),它解析Linux日志文件(/var/log/syslog/var/log/messages 取决于发行版)以构建USB事件历史表。此类表格可能包含以下列:“ 已连接”(日期和时间),“用户”,“VID”(供应商ID),“PID”(产品ID),“产品”,“制造商”,“序列号”, “端口”和“断开连接”(日期和时间)。此外,它还可以:

导出收集的信息作为JSON转储(当然,打开这样的转储); 生成一个授权(可信)USB设备列表作为JSON(称之为auth.json); 根据以下内容搜索“违规事件” auth.json:show(或生成另一个JSON)USB设备出现在历史记录中并且不会出现在auth.json; 使用-sflag 安装时,创建加密存储(7zip存档),以便在crontab调度程序的帮助下自动备份和累积USB事件; 根据其VID和/或PID搜索有关特定USB设备的其他详细信息。

开始

usbrip可在PyPI下载和安装:$ pip3 install usbrip

Git Clone

为简单起见,让我们同意所有~/usbrip$出现前缀的命令都在~/usbrip由git clone创建的目录中执行:

代码语言:javascript
复制
~ $ git clone [https://github.com/snovvcrash/usbrip.git](https://github.com/snovvcrash/usbrip.git) usbrip&& cd usbrip~/usbrip$

由于usbrip仅适用于系统日志文件的非修改结构,因此,如果更改syslogs的格式(例如,syslog-ng或者)rsyslog,它将无法解析USB历史记录,这就是为什么“Connected”和“Disconnected”字段的时间戳没有年份,这个得记在脑子里。

DEB包

python3.6(或更新)解释器 python3-VENV p7zip-full(由storages模块使用)~$ sudo apt install python3-venv p7zip-full -y

PIP包

usbrip使用以下外部模块:

terminaltables termcolor

手动解决依赖关系

要手动解决Python依赖关系(实际上不必因为pip或者setup.py可以自动化该过程,请参阅安装)

创建一个虚拟环境(可选)并pip从内部运行:

代码语言:javascript
复制
~/usbrip$ python3 -m venv venv && source venv/bin/activate (venv) ~/usbrip$ pip install -r requirements.txt

或者让pipenvone-liner做所有不太干净的事:

代码语言:javascript
复制
~/usbrip$ pipenv install && pipenv shell

之后你可以便携式运行usbrip:

代码语言:javascript
复制
~/usbrip$ python -m usbrip -h Or (venv) ~/usbrip$ python **main**.py -h

安装

有两种方法可以将usbrip安装到系统中:pip或setup.py。

代码语言:javascript
复制
‘pip or setup.py’

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

代码语言:javascript
复制
~/usbrip$ pip install . (venv) ~/usbrip$ usbrip -h

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

代码语言:javascript
复制
~/usbrip$ python3 -m venv venv && source venv/bin/activate (venv) ~/usbrip$ python setup.py install (venv) ~/usbrip$ usbrip -h

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

路径安装后,usbrip使用以下路径:

/opt/usbrip/ - 项目的主目录; /var/opt/usbrip/usbrip.ini - usbrip配置文件:保留7zip存储的密码; /var/opt/usbrip/storage/- USB事件存储:history.7z和violations.7z(在安装过程中创建); /var/opt/usbrip/log/- usbrip日志(建议在使用crontab时记录usbrip活动,参见参考资料+usbrip/cron/usbrip.cron); /var/opt/usbrip/trusted/ - 可信USB设备列表(在安装过程中创建); /usr/local/bin/usbrip- /opt/usbrip/venv/bin/usbrip脚本的符号链接。

CronCron作业可以设置如下:

代码语言:javascript
复制
~/usbrip$ sudo crontab -l > tmpcron && echo “” >> tmpcron ~/usbrip$ cat usbrip/cron/usbrip.cron | tee -a tmpcron ~/usbrip$ sudo crontab tmpcron ~/usbrip$ rm tmpcron

截图

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开始
    • Git Clone
      • DEB包
        • PIP包
          • 手动解决依赖关系
          • 安装
          • 路径安装后,usbrip使用以下路径:
            • CronCron作业可以设置如下:
              • 截图
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档