Skip to content
KitploitKITPLOIT
도구블로그
Log in
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
usbrip — GNU/Linux에서 USB 이벤트 내역 추적 | Kitploit
도구/GitHubGitHub/snovvcrash/usbrip
ForensicsDigital ForensicsThreat IntelligenceIncident ResponseLog AnalysisArchived
GitHubsnovvcrash/usbrip

usbrip

GNU/Linux에서 USB 이벤트 내역 추적

저장소 보기
1.2k113213년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

logo.png


version.svg python.svg license.svg blackarch.svg built-with-love.svg

usbrip ("USB Ripper"에서 유래, "USB R.I.P." 아님)는 Linux 시스템에서 USB 장치 아티팩트(즉, USB 이벤트 기록)를 추적할 수 있는 간단한 포렌식 도구로 명령줄 인터페이스를 제공합니다.

목차:

  • 설명
  • 빠른 시작
  • 데모
  • 시스템 로그 구조
  • 의존성
    • deb
    • pip
  • 수동 설치
    • Git Clone
    • install.sh
      • 경로
      • Cron
      • uninstall.sh
  • 사용법
    • 시놉시스
    • 도움말
  • 예제
  • 크레딧 및 참고자료
  • 스타게이저 차트
  • 추신

설명

usbrip은 Linux 로그 데이터(journalctl 출력 또는 /var/log/syslog* (또는 /var/log/messages*) 파일 내용)를 분석하는 작은 소프트웨어입니다. 수집된 데이터를 기반으로 usbrip은 다음 열로 USB 이벤트 기록 테이블을 작성할 수 있습니다:

  • 연결 (날짜 및 시간)
  • 호스트
  • VID (공급업체 ID)
  • PID (제품 ID)
  • 제품
  • 제조업체
  • 일련번호
  • 포트
  • 연결 해제 (날짜 및 시간)

또한 다음 작업도 가능합니다:

  • 수집된 데이터를 나중에 사용할 수 있도록 JSON 덤프로 내보냅니다.
  • 승인된 (신뢰할 수 있는) USB 장치 목록을 JSON 파일(예: auth.json)로 생성합니다.
  • auth.json을 기반으로 '위반 이벤트'를 검색합니다: 기록에는 나타나지만 auth.json 파일에는 나타나지 않는 USB 장치를 발견합니다.
  • *-s 플래그로 설치된 경우* cron 스케줄러를 사용하여 USB 이벤트를 자동으로 백업하고 누적하는 보호된 스토리지(7-Zip 아카이브)를 생성합니다.
  • 특정 USB 장치에 대한 추가 세부 정보를 VID 및/또는 PID를 기반으로 검색합니다.

빠른 시작

방법 1. pip로 설치:

~$ sudo -H python3 -m pip install -U usbrip
~$ usbrip -h

방법 2. install.sh로 최신 버전 설치 (권장, 추가 기능 사용 가능):

~$ sudo apt install python3-venv p7zip-full -y
~$ git clone https://github.com/snovvcrash/usbrip && cd usbrip
~/usbrip$ sudo -H installers/install.sh
~/usbrip$ cd
~$ usbrip -h

데모

showcase.png

Docker ( 데모 전용! )

~$ docker run --rm -it snovvcrash/usbrip

시스템 로그 구조

usbrip은 시스템 로그 파일 내에서 구문 분석하기 위해 두 가지 유형의 타임스탬프를 지원합니다:

  1. 수정되지 않음 – GNU/Linux의 표준 syslog 구조 ("%b %d %H:%M:%S", 예: "Jan 1 00:00:00"). 이 타임스탬프 유형은 연도 정보를 제공하지 않습니다.
  2. 수정됨 (권장) – 연도를 포함한 고정밀 타임스탬프를 제공하는 더 나은 syslog 구조 ("%Y-%m-%dT%H:%M:%S.%f%z", 예: "1970-01-01T00:00:00.000000-00:00").

journalctl이 설치되어 있다면 타임스탬프를 즉시 변환할 수 있으므로 걱정할 필요가 없습니다. 그렇지 않은 경우 rsyslog 구성에서 RSYSLOG_FileFormat 형식을 설정하여 원하는 syslog 구조를 얻을 수 있습니다.

  1. /etc/rsyslog.conf에서 다음 줄을 주석 처리합니다:
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
  1. usbrip용 사용자 .conf 파일을 추가합니다:
~$ echo '$ActionFileDefaultTemplate RSYSLOG_FileFormat' | sudo tee /etc/rsyslog.d/usbrip.conf
  1. *선택 사항* 기존 로그 파일을 삭제합니다:
~$ sudo rm -f /var/log/syslog* /var/log/messages*
  1. 서비스를 다시 시작합니다:
~$ sudo systemctl restart rsyslog

먼저, usbrip은 가장 이식성 있는 옵션으로 journalctl을 사용하여 시스템 이벤트를 덤프할 수 있는지 확인합니다. 그렇지 않은 경우 /var/log/syslog* 또는 /var/log/messages* 시스템 로그 파일을 검색하여 구문 분석합니다.

의존성

deb

  • python3.6 인터프리터 (또는 그 이상)
  • python3-venv
  • p7zip-full (storage 모듈에서 사용)

pip

  • terminaltables
  • termcolor
  • tqdm

수동 설치

Git Clone

단순화를 위해 ~/usbrip$ 접두사가 나타나는 모든 명령은 git clone 결과로 생성된 ~/usbrip 디렉토리에서 실행된다고 가정합니다:

~$ git clone https://github.com/snovvcrash/usbrip
~$ cd usbrip
~/usbrip$ pwd

install.sh

pip로 설치하는 것 외에도 사용자 정의 installers/install.sh 스크립트로 usbrip을 설치할 수 있습니다.

install.sh를 사용하면 몇 가지 추가 기능을 사용할 수 있습니다:

  • 가상 환경이 자동으로 생성됩니다.
  • storage 모듈을 사용할 수 있습니다 – cron 작업을 설정하여 USB 이벤트를 정기적으로 백업합니다 (cron 작업 예제는 usbrip/cron/usbrip.cron에서 찾을 수 있습니다).

⚠️ 경고: cron 스케줄링을 사용하는 경우 storage update 하위 모듈을 root로 실행하려면 sudo crontab -e로 crontab을 구성해야 합니다. 스토리지 비밀번호는 /var/opt/usbrip/usbrip.ini에 보관되며 기본적으로 root만 접근할 수 있습니다.

install.sh로 usbrip을 설치하려면 다음을 사용합니다:

~/usbrip$ sudo -H installers/install.sh [-l/--local] [-s/--storages]
~/usbrip$ cd
~$ usbrip -h
  • -l 스위치를 활성화하면 Python 의존성이 PyPI 대신 로컬 .tar 패키지(3rdPartyTools 디렉토리)에서 확인됩니다.
  • -s 스위치를 활성화하면 usbrip 프로젝트뿐만 아니라 신뢰할 수 있는 USB 장치 목록, 기록 및 위반 스토리지도 생성됩니다.

설치가 완료된 후 ~/usbrip 디렉토리는 자유롭게 제거하십시오.

경로

install.sh로 설치하면 usbrip은 다음 경로를 사용합니다:

  • /opt/usbrip/ – 프로젝트의 메인 디렉토리.
  • /var/opt/usbrip/log/ – usbrip cron 로그.
  • /var/opt/usbrip/storage/ – USB 이벤트 스토리지 (history.7z 및 violations.7z, 설치 과정에서 생성됨).
  • /var/opt/usbrip/trusted/ – 신뢰할 수 있는 USB 장치 목록 (auth.json, 설치 과정에서 생성됨).
  • /var/opt/usbrip/usbrip.ini – usbrip 구성 파일 (7-Zip 스토리지의 비밀번호 포함).
  • /usr/local/bin/usbrip – /opt/usbrip/venv/bin/usbrip 스크립트의 심볼릭 링크.

Cron

cron 작업은 다음과 같이 설정할 수 있습니다:

~/usbrip$ sudo crontab -l > tmpcron && echo "" >> tmpcron
~/usbrip$ cat usbrip/cron/usbrip.cron | tee -a tmpcron
~/usbrip$ sudo crontab tmpcron
~/usbrip$ rm tmpcron

uninstall.sh

installers/uninstall.sh 스크립트는 시스템에서 usbrip 및 모든 설치 아티팩트를 제거합니다.

usbrip을 제거하려면 다음을 사용합니다:

~/usbrip$ sudo installers/uninstall.sh [-a/--all]
  • -a 스위치를 활성화하면 usbrip 프로젝트 디렉토리뿐만 아니라 모든 스토리지와 usbrip 로그도 삭제됩니다.

cron 작업을 설정한 경우 해당 작업도 제거하는 것을 잊지 마십시오.

사용법

시놉시스

# ---------- 배너 ----------

~$ usbrip banner
usbrip 배너를 표시합니다.

# ---------- 이벤트 ----------

~$ usbrip events history [-t | -l] [-e] [-n <이벤트_수>] [-d <날짜> [<날짜> ...]] [--host <호스트> [<호스트> ...]] [--vid <VID> [<VID> ...]] [--pid <PID> [<PID> ...]] [--prod <제품> [<제품> ...]] [--manufact <제조업체> [<제조업체> ...]] [--serial <일련번호> [<일련번호> ...]] [--port <포트> [<포트> ...]] [-c <열> [<열> ...]] [-f <파일> [<파일> ...]] [-q] [--debug]
USB 이벤트 기록을 가져옵니다.

~$ usbrip events open <덤프.JSON> [-t | -l] [-e] [-n <이벤트_수>] [-d <날짜> [<날짜> ...]] [--host <호스트> [<호스트> ...]] [--vid <VID> [<VID> ...]] [--pid <PID> [<PID> ...]] [--prod <제품> [<제품> ...]] [--manufact <제조업체> [<제조업체> ...]] [--serial <일련번호> [<일련번호> ...]] [--port <포트> [<포트> ...]] [-c <열> [<열> ...]] [-q] [--debug]
USB 이벤트 덤프를 엽니다.

~$ sudo usbrip events genauth <출력_AUTH.JSON> [-a <속성> [<속성> ...]] [-e] [-n <이벤트_수>] [-d <날짜> [<날짜> ...]] [--host <호스트> [<호스트> ...]] [--vid <VID> [<VID> ...]] [--pid <PID> [<PID> ...]] [--prod <제품> [<제품> ...]] [--manufact <제조업체> [<제조업체> ...]] [--serial <일련번호> [<일련번호> ...]] [--port <포트> [<포트> ...]] [-f <파일> [<파일> ...]] [-q] [--debug]
신뢰할 수 있는 (승인된) USB 장치 목록을 생성합니다.
도구 다운로드