GIỚI THIỆU VỀ USBRIP
Usbrip là gì?
Usbrip là công cụ pháp y dòng lệnh giúp theo dõi lịch sử kết nối của các thiết bị USB trên hệ điều hành Linux Nó phân tích dữ liệu từ nhật ký hệ thống thông qua lệnh journalctl hoặc từ các tệp nhật ký như /var/log/syslog và /var/log/messages, sau đó hiển thị lịch sử sự kiện USB dưới dạng đầu ra tiêu chuẩn hoặc lưu vào tệp.
Chương trình usbrip theo dõi các tạo tác thiết bị USB và liệt kê chúng dưới các cột sau:
• Connected (date & time) /Thời gian kết nối
• VID (vendor ID) /ID nhà cung cấp
• PID (product ID) /ID sản phẩm
• Disconnected (date & time) /Thời gian ngắt kết nối
Bên cạnh đó, nó cũng có thể:
• Xuất dữ liệu đã thu thập dưới dạng kết xuất JSON để sử dụng sau này
• Tạo danh sách các thiết bị USB được ủy quyền (đáng tin cậy) dưới dạng tệp JSON (gọi nó là auth.json)
• Tìm kiếm "sự kiện vi phạm" dựa trên auth.json: khám phá các thiết bị USB xuất hiện trong lịch sử và KHÔNG xuất hiện trong tệp auth.json
When using the -s flag, create a secure storage archive (7-Zip) to automatically back up and accumulate USB events with the assistance of a cron scheduler.
• Tìm kiếm chi tiết bổ sung về một thiết bị USB cụ thể dựa trên VID và / hoặc PID của nó
Các tính năng của USBRIP
Công cụ Usbrip được thiết kế để phát hiện truy cập USB trái phép, cho phép chúng ta xác minh rằng một thiết bị USB đã được kết nối với một hệ thống Linux cụ thể bởi một người dùng nhất định trong một khoảng thời gian xác định Usbrip có thể được áp dụng trong mọi tình huống liên quan đến thiết bị USB.
Bạn có thể xuất tất cả các chi tiết kết nối USB vào một tệp JSON để dễ dàng tìm kiếm các "sự kiện vi phạm" Ví dụ, bạn có thể tạo tệp auth.json để lưu trữ danh sách các thiết bị USB được ủy quyền hoặc đáng tin cậy.
Các tệp auth.json có thể được sử dụng để kiểm tra các thiết bị USB kết nối và xác định xem chúng có phải là thiết bị hợp lệ hay không Điều này giúp bạn phát hiện liệu người dùng nào đó đã sao chép nội dung từ hệ thống của bạn mà không có sự cho phép hay không.
Khi cài đặt usbrip qua tập lệnh trình cài đặt, tệp auth.json sẽ tự động được tạo tại vị trí /var/opt/usbrip/trusted Ngoài ra, bạn cũng có thể tự tạo tệp auth.json ở bất kỳ vị trí nào bạn mong muốn để tìm kiếm thông tin chi tiết về thiết bị USB.
Nếu bạn cần thông tin chi tiết về thông số kỹ thuật của thiết bị USB, hãy sử dụng VID hoặc PID của nó Usbbrip sẽ trích xuất thông tin về nhà cung cấp, thiết bị và giao diện từ cơ sở dữ liệu usb.ids được duy trì tại http://www.linux-usb.org/.
Nếu bạn đã cài đặt thủ công Usbrip với tùy chọn -s( storages), bạn có thể tự động sao lưu các sự kiện USB với bộ lập lịch crontab
Cách thức hoạt động
Nếu không có sự giám sát, tin tặc có thể lợi dụng USB Rubber Ducky để xâm nhập vào máy tính, ngay cả những máy tính được bảo mật nhất Các cuộc tấn công này thường diễn ra mà không bị phát hiện, trừ khi bạn sử dụng công cụ như USBRip để đảm bảo rằng thiết bị của bạn không bị xâm phạm.
Mặc dù khó xác định xem thiết bị đã bị truy cập trước đó hay chưa, việc bật tính năng ghi nhật ký sẽ giúp nhận diện thời điểm thiết bị đáng ngờ kết nối qua cổng USB USBRip không thể truy cập vào các nhật ký hệ thống cũ để theo dõi các sự kiện trong quá khứ, nhưng nó có khả năng giám sát mọi hoạt động xảy ra sau khi cài đặt, giúp phòng ngừa các cuộc tấn công trong tương lai Các cuộc tấn công HID là gì?
Thiết bị giao diện người (HID) là các thiết bị mà con người sử dụng để điều khiển máy tính, với bàn phím và chuột máy tính là những ví dụ tiêu biểu HID được coi là có quyền ưu tiên hơn so với các chương trình hay tập lệnh, vì hệ điều hành giả định rằng lệnh từ HID đến từ người sử dụng có quyền truy cập vào máy tính.
Tin tặc đã phát triển các công cụ như USB Rubber Ducky, khai thác sự tin cậy giữa máy tính và thiết bị HID USB Rubber Ducky giả mạo giao diện của một ổ đĩa flash thông thường, nhưng khi cắm vào máy tính, nó hoạt động như một bàn phím, nhập các lệnh và tổ hợp phím đã được lập trình sẵn với tốc độ nhanh chóng.
Tin tặc đã sử dụng các thiết bị như USB Rubber Ducky và Digispark để thực hiện nhiều loại tấn công, từ việc tạo cửa hậu trên hệ điều hành macOS và Windows đến việc gửi email chứa ảnh chụp màn hình của tất cả thông tin đăng nhập được lưu trữ trong Firefox.
USB Rubber Ducky được máy tính nhận diện như một bàn phím thông thường, cho phép nó thực hiện lệnh mà không có cảnh báo nào cho người dùng, dẫn đến khả năng tấn công không bị phát hiện Nếu Ducky Script được sử dụng một cách tinh vi để dọn dẹp sau khi thực hiện, như đóng cửa sổ và xóa lịch sử, cuộc tấn công càng trở nên khó phát hiện hơn Tuy nhiên, có những công cụ như DuckHunter giúp phát hiện và hạn chế các cuộc tấn công HID bằng cách theo dõi hành vi gõ phím bất thường Mặc dù DuckHunter chưa được cập nhật từ năm 2017, vẫn có công cụ khác mạnh mẽ và đang được duy trì, có khả năng cung cấp bằng chứng cho các cuộc tấn công HID.
USBRip tận dụng nhật ký hệ thống để theo dõi lịch sử đầy đủ của tất cả các thiết bị USB được kết nối với máy tính Linux Mặc dù kẻ tấn công có thể xóa các nhật ký này, nhưng khả năng họ thực hiện các bước dọn dẹp tốn thời gian để xóa mọi bằng chứng về việc truy cập máy tính là rất thấp Đặc biệt, USBRip có khả năng kiểm tra nhật ký cho các thiết bị như USB Rubber Ducky và Digispark, được sản xuất bởi các nhà sản xuất cụ thể, giúp phát hiện các dấu vân tay đáng ngờ.
CÀI ĐẶT USBRIP
Định cấu hình lại một số tệp Linux
Để USBRIP có thể phân tích cú pháp các bản ghi hệ thống một cách chính xác, cần cấu hình một số tệp trong thư mục gốc Đầu tiên, bạn phải xóa một dòng trong tệp /rsyslog.conf Nếu bạn muốn gỡ cài đặt USBRip và khôi phục máy tính về trạng thái ban đầu, việc comment dòng đó sẽ đơn giản hơn.
Sử dụng cửa sổ dòng lệnh để mở tệp rsyslog.conf bằng trình soạn thảo văn bản yêu thích của bạn Tệp này nằm trong thư mục /etc, và bạn có thể dễ dàng chuyển sang chế độ chỉnh sửa tệp.
Hình 1 Truy cập vào thư mục rsyslog.conf
Sau khi nó mở ra, hãy cuộn xuống dòng có nội dung:
Tiếp theo, đặt dấu # ở phía trước nó Phần đó bây giờ sẽ trông giống như thế này:
Hình 2 Thêm dấu # trước dòng lệnh
Lưu và thoát khỏi tệp mà không thay đổi tên tệp Sau khi sửa đổi cách lưu trữ nhật ký hệ thống, cần thay thế bằng phương thức mà USBRip có thể sử dụng Trong cửa sổ dòng lệnh, hãy nhập lệnh dưới đây.
~# echo '$ActionFileDefaultTemplate RSYSLOG FileFormat' | tee
USBRip sẽ tạo ra một tệp conf mới để lưu trữ nhật ký hệ thống với định dạng khác Tiếp theo, cần phải xóa các bản ghi hệ thống hiện tại của máy tính, những bản ghi có định dạng sai, bằng lệnh phù hợp.
~# rm -f /var/log/syslog* /var/log/messages*
Cuối cùng, chúng ta cần khởi động lại rsyslog bằng lệnh bên dưới Sau khi hoàn tất, chúng ta có thể chuyển sang cài đặt chương trình
Cài đặt USBRIP
Sau khi các tệp hệ thống được cấu hình chính xác, bước tiếp theo là cài đặt USBRip Để bắt đầu, hãy mở cửa sổ đầu cuối và điều hướng đến thư mục mà bạn đã chọn, sau đó sao chép kho lưu trữ git bằng lệnh phù hợp.
~# git clone https://github.com/snovvcrash/usbrip.git
Hình 3 Cài đặt USBRip bằng lệnh git
Để cài đặt các thư viện và phụ thuộc Python cần thiết, bạn hãy điều hướng đến thư mục nhân bản Bạn có thể thực hiện việc này bằng cách sử dụng pip hoặc trình cài đặt setup.py Để biết thêm chi tiết, hãy xem hướng dẫn video của chúng tôi.
~/usbrip# chmod +x /installers/install.sh
~/usbrip# sudo -H /installers/install.sh -s
>>>> /opt/usbrip already exists First run: sudo uninstall.sh –all
Tiếp theo, thoát thư mục / usbrip và khởi động trang trợ giúp để kiểm tra những gì ở đó
~# usbrip -h sage: usbrip [-h] {banner,events,storage,ids} positional arguments:
{banner,events,storage,ids} banner show tool banner events work with USB events storage work with USB event storage ids work with USB IDs optional arguments:
-h, help show this help message and exit
Để kiểm tra xem USBRip đã được cài đặt chính xác hay chưa, hãy nhập lệnh "usbrip" vào thiết bị đầu cuối và xác nhận rằng bạn nhận được màn hình hiển thị đúng.
Hình 5 Hình ảnh minh họa cài đặt thành công
Nếu bạn thấy điều đó, thì chúng ta đã hoàn tất bước cài đặt USBRip đầu tiên.
HƯỚNG DẪN SỬ DỤNG VÀ DEMO
Các lệnh trong USBRip
Để kiểm tra xem tất cả các lệnh có sẵn trong USBRip, chúng ta có thể thực hiện bằng cách sau: usbrip -h
Hình 6 Danh sách các lệnh trong USBRip
- Dùng để hiển thị danh sách các sự kiện
- Các lệnh con trong events:
~$ usbrip events history [-t | -l] [-e] [-n ] [-d [ ]] [ host [ ]] [ vid [ ]] [ pid [ ]] [ prod
[ ]] [ manufact [ ]] [ serial
[ ]] [ port [ ]] [-c [ ]] [-f [ ]] [-q] [ debug]
• Lấy lịch sử sự kiện USB
~$ usbrip events open [-t | -l] [-e] [-n ] [-d
[ ]] [ host [ ]] [ vid [ ]] [ pid
[ ]] [ prod [ ]] [ manufact
[ ]] [ serial [ ]] [ port [ ]] [-c
• Mở kết xuất sự kiện USB
To execute the command for retrieving USB events, use the syntax: `sudo usbrip events genauth `, with optional parameters such as `-a` for attributes, `-e` for events, `-n` to specify the number of events, and `-d` for date filters Additional options include ` host`, ` vid`, ` pid`, ` prod`, ` manufact`, and ` serial` to refine the search based on specific criteria.
[ ]] [-f [ ]] [-q] [ debug]
• Tạo danh sách các thiết bị USB đáng tin cậy (được ủy quyền)
~$ sudo usbrip events violations [-a [ ]] [-t | -l] [-e] [-n ] [-d [ ]] [ host
[ ]] [ vid [ ]] [ pid [ ]] [ prod [ ]] [ manufact [ ]] [ serial [ ]] [ port [ ]] [-c [ ]] [-f [ ]] [-q] [ debug]
• Nhận các sự kiện vi phạm USB dựa trên danh sách các thiết bị đáng tin cậy b Lệnh storage
- Xuất danh sách các sự kiện và làm việc với các danh sách này
- Các lệnh con trong storage
~$ sudo usbrip storage list [-q] [ debug]
• Liệt kê nội dung của bộ nhớ đã chọn STORAGE_TYPE là "history" hoặc
~$ sudo usbrip storage open [-t | -l] [-e] [-n ] [-d [ ]] [ host [ ]] [ vid [ ]] [ pid
[ ]] [ prod [ ]] [ manufact
[ ]] [ serial [ ]] [ port [ ]] [-c
• Mở bộ nhớ đã chọn Hoạt động tương tự như EVENTS OPEN
~$ sudo usbrip storage update [IN_AUTH.JSON] [-a [ ]] [-e] [-n ] [-d [ ]] [ host
[ ]] [ vid [ ]] [ pid [ ]] [ prod [ ]] [ manufact [ ]] [ serial
[ ]] [ port [ ]] [ lvl ] [-q] [ debug]
• Cập nhật bộ nhớ - thêm sự kiện USB vào bộ nhớ hiện có
COMPRESSION_LEVEL là một số trong [0 9]
~$ sudo usbrip storage create [IN_AUTH.JSON] [-a [ ]] [-e] [-n ] [-d [ ]] [ host
[ ]] [ vid [ ]] [ pid [ ]] [ prod [ ]] [ manufact [ ]] [ serial
[ ]] [ port [ ]] [ lvl ] [-q] [ debug]
• Tạo bộ nhớ - tạo kho lưu trữ 7-Zip và thêm các sự kiện USB vào nó theo vào các tùy chọn đã chọn
~$ sudo usbrip storage passwd [ lvl ] [-q] [ debug]
• Thay đổi mật khẩu của bộ nhớ hiện có c Lệnh ids
- Tìm kiếm nhà sản xuất và loại thiết bị theo số nhận dạng của chúng
- Các lệnh con của ids
~$ usbrip ids search [ vid ] [ pid ] [ offline] [-q] [ debug]
• Nhận thêm thông tin chi tiết về một thiết bị USB cụ thể bằng và / hoặc từ cơ sở dữ liệu ID USB
• Cập nhật (tải xuống) cơ sở dữ liệu ID USB
Cách xem lịch sử kết nối USB trong Linux
Bạn chỉ cần chạy chương trình như sau:
Chương trình sẽ tự động tìm kiếm các tệp nhật ký và nếu mọi thứ hợp lệ, bao gồm việc tìm thấy các tệp nhật ký, định dạng ngày chính xác và sự kiện liên quan đến thiết bị USB, nó sẽ xuất ra kết quả.
[?] How would you like your event history list to be generated?
[>] Please enter the number of your choice (default is 1):
Chương trình sẽ yêu cầu chúng ta chọn giữa việc in dữ liệu ra màn hình hoặc lưu vào tệp JSON Để hiển thị dữ liệu trên màn hình, chỉ cần nhấn ENTER, vì tùy chọn hiển thị đã được chọn mặc định.
Bảng sau sẽ được hiển thị:
Hình 7 Cách xem lịch sử kết nối USB trong Linux
Các trường trong nó có nghĩa như sau:
• Connected(ngày và giờ thiết bị được kết nối)
• USer (rõ ràng là người dùng hệ thống được ngụ ý, nhưng tôi có tên máy chủ ở đây)
• VID (ID nhà cung cấp - mã định danh của nhà sản xuất)
• PID (ID sản phẩm - mã định danh sản phẩm)
• Manufacturer (nhà sản xuất thiết bị)
• Serial Number (số sê-ri)
• Port (cổng USB được kết nối với)
• Disconnected (ngày và giờ khi thiết bị bị ngắt kết nối)
Cách kiểm tra tệp từ hệ thống khác trong usbrip
Trong usbrip, bạn có thể chỉ định tệp để lấy dữ liệu phân tích bằng cách sử dụng tùy chọn -f Ví dụ, nếu bạn muốn tìm kiếm các sự kiện kết nối và ngắt kết nối với giao diện USB trong tệp usb2.0.txt, bạn chỉ cần sử dụng lệnh phù hợp.
1 ~$ usbrip events history -f usb2.0.txt
Khi bạn nhận một tệp từ một hệ thống khác mà định dạng ngày không được hỗ trợ, bạn cần chuyển đổi tệp này trước khi tiến hành phân tích.
Dưới đây là phần cuối của dữ liệu từ journalctl trên hệ thống:
Hình 8 Tệp từ hệ thống khác trong USBRip
Cách tìm loại thiết bị USB và nhà sản xuất của nó
Giả sử tôi quan tâm đến thiết bị sau:
│ Connected │ User │ VID │ PID │ Product │ Manufacturer │ Serial Number │ Port │ Disconnected │
Với usbrip, tôi có thể tìm kiếm cơ sở dữ liệu bằng VID và PID
Hãy bắt đầu bằng cách tải cơ sở dữ liệu:
Tùy chọn vid cho phép tìm kiếm theo ID nhà cung cấp, trong khi tùy chọn pid cho phép tìm kiếm theo ID sản phẩm Khi bắt đầu tìm kiếm, usbrip sẽ tự động cập nhật cơ sở dữ liệu hiện có, điều này có thể làm mất thêm thời gian Để tiết kiệm thời gian, người dùng có thể sử dụng cờ offline để tìm kiếm dựa trên cơ sở dữ liệu cục bộ.
1 usbrip ids search vid 152d pid 0578 offline
Vendor: JMicron Technology Corp / JMicron USA Technology Corp
Product: JMS567 SATA 6Gb/s bridge
Hình 9 Loại thiết bị và nhà sản xuất
Các tham số vid và pid có thể được sử dụng độc lập, cho phép bạn tìm kiếm dữ liệu từ cả hai Hãy cấu hình dữ liệu đầu ra một cách hiệu quả.
Sử dụng tùy chọn -q sẽ ngăn chặn hiển thị biểu ngữ và thông báo, đồng thời chương trình sẽ không yêu cầu cách hiển thị dữ liệu (bảng điều khiển hoặc JSON) Để hiển thị dữ liệu dưới dạng danh sách thay vì bảng, bạn có thể sử dụng tùy chọn -l Cuối cùng, với tùy chọn -n, bạn có thể giới hạn đầu ra chỉ ở một số mục nhập gần đây nhất.
1 usbrip events history -ql -n 100 -f usb2.0.txt
Hình 10 Lịch sử các thiết bị
Chỉ hiển thị thông tin cho các thiết bị di động, cho một thiết bị USB cụ thể hoặc cho những ngày cụ thể
Usbrip hỗ trợ các loại bộ lọc sau: a Chỉ hiển thị các thiết bị có thể tháo rời
Việc xác định thiết bị nào có thể ngắt kết nối 100% là điều khó khăn, nhưng nếu một thiết bị đã ngắt kết nối, điều đó cho thấy nó dễ bị ngắt kết nối Các thiết bị như ổ đĩa di động và ổ đĩa flash thường dễ bị ngắt kết nối và là mục tiêu chính trong các trường hợp truy cập trái phép.
Tùy chọn -e được sử dụng để áp dụng bộ lọc này :
1 ~$ usbrip events history -e -f usb2.0.txt b Lọc theo trường bảng, các tùy chọn: user , vid , pid , product , man production , serial , port
Để lọc dữ liệu, bạn có thể kết hợp nhiều tùy chọn hoặc sử dụng từng tùy chọn một cách riêng lẻ Tên của các tùy chọn đã phần nào thể hiện rõ chức năng của chúng Nếu bạn cần thêm thông tin, hãy tham khảo hướng dẫn chi tiết Sau mỗi tùy chọn, bạn có thể chỉ định các giá trị được phân tách bằng dấu cách, và bạn cũng có thể sắp xếp kết quả theo ngày tháng.
Tùy chọn -d được sử dụng cho việc này :
1 usbrip events history -c conn vid pid disconn serial -d '2019-08-24' '2019-08-25' -f usb2.0.txt
Lưu ý rằng khi bạn chỉ định hai ngày, phạm vi dữ liệu sẽ không được tạo Điều này có nghĩa là chỉ có dữ liệu cho hai ngày đã chỉ định sẽ được lấy.
Chỉ hiển thị một số thông tin nhất định
Trong ví dụ trước, tùy chọn -c đã được áp dụng, và các cột conn, vid, pid, disconn được liệt kê theo thứ tự Điều này dẫn đến việc chỉ hiển thị thông tin liên quan đến các cột này.
Hình 11 Thời gian kết nối và ngắt
Tên của tất cả các cột (bạn phải xác định chúng mà không có dấu ngoặc kép tách bằng dấu cách): " conn ", " người sử dụng ", " vid ", " pid ", " sản ",
" manufact ", " nối tiếp ", " cổng ", " disconn "
Tạo tệp JSON để lọc các thiết bị đáng tin cậy
Hầu hết các sự kiện USB thường liên quan đến các thiết bị đáng tin cậy như chuột, bàn phím, ổ đĩa flash, cũng như các thiết bị nội bộ như webcam và máy quét vân tay.
Lịch sử sự kiện trên máy tính có thể trở nên rối rắm do sự xuất hiện của các sự kiện USB không được chú ý Điều này gây khó khăn trong việc theo dõi hoạt động độc hại, làm cho việc nhận diện mối đe dọa thực sự trở nên phức tạp hơn.
Một giải pháp hiệu quả để khắc phục sự cố là thiết lập danh sách trắng cho các thiết bị mà chúng tôi tin tưởng Điều này cho phép chúng tôi chặn các báo cáo liên quan đến những thiết bị USB đáng tin cậy mà chúng tôi cần bỏ qua.
Chúng tôi có thể dễ dàng tạo tệp JSON cho các thiết bị đáng tin cậy bằng USBRip Để tạo tệp json mang tên "auth.json" chứa thông tin về mọi thiết bị USB được kết nối với máy tính vào ngày 14 tháng 2 năm 2020, hãy sử dụng lệnh sau.
~# usbrip events gen_auth auth.json -d '2020-02-14' usage: usbrip events [-h] {history,open,genauth,violations}
Nếu chúng tôi mở tệp "auth.json" trong thư mục USBRip của mình, chúng tôi sẽ thấy như sau
Giờ đây, chúng tôi có thể hạn chế tìm kiếm USBRip đối với bất kỳ sự kiện USB nào không có trong auth.json bằng cách sử dụng:
~# usbrip events violations auth.json table
| _| _| _|_| [5] _| x[i]_| https://github.com/snovvcrash/usbrip
[22:20:08] [INFO] Trying to run journalctl
[22:20:08] [INFO] Opening authorized device list: "/root/usbrip/auth.json"
[?] How would you like your violation list to be generated?
[>] Please enter the number of your choice (default 1): 1
Lệnh "usbrip events violations auth.json table" sẽ trả về một bảng liệt kê tất cả các thiết bị không nằm trong danh sách thiết bị đáng tin cậy.
│ Connected │ User │ VID │ PID │ Product │ Manufacturer │ Serial Number │ Port │ Disconnected │
│ 2020-02-14 22:29:11 │ kubuntu │ 0930 │ 6544 │ DataTraveler 2.0 │ Kingston │ 00241D8CE51BC16029500C03 │ 1-1 │ 2020-02-14 22:33:55 │
│ 2020-02-14 22:38:55 │ kubuntu │ 03eb │ 2401 │ HID Keyboard │ ATMEL AVR │ ∅ │ 1-2 │ 2020-02-14 22:40:44 │
│ 2020-02-14 22:40:44 │ kubuntu │ 03eb │ 2401 │ HID Keyboard │ ATMEL AVR │ ∅ │ 1-2 │ ∅ │
│ 2020-02-14 22:44:51 │ kubuntu │ 0930 │ 6544 │ DataTraveler 2.0 │ Kingston │ 00241D8CE51BC16029500C03 │ 1-2 │ 2020-02-14 22:54:51 │
│ 2020-02-14 22:46:10 │ kubuntu │ 0930 │ 6544 │ DataTraveler 2.0 │ Kingston │ 00241D8CE51BC16029500C03 │ 1-2 │ 2020-02-14 22:57:10 │
│ 2020-02-14 22:50:54 │ kubuntu │ 1c7a │ 0570 │ EgisTec Touch Fingerprint Sensor │ EgisTec │ 00253CD │ 1-6 │ ∅ │
│ 2020-02-14 22:51:33 │ kubuntu │ 0930 │ 6544 │ DataTraveler 2.0 │ Kingston │ 00241D8CE51BC16029500C03 │ 1-2 │ 2020-02-14 22:59:39 │
│ 2020-02-14 23:05:23 │ kubuntu │ 0930 │ 6544 │ DataTraveler 2.0 │ Kingston │ 00241D8CE51BC16029500C03 │ 1-2 │ 2020-02-14 23:06:12 │
Hình 14 Các thiết bị không có trong danh sách các thiết bị đáng tin cậy
Tất cả các thiết bị trong danh sách này cần được kiểm tra cẩn thận để xác định xem chúng có đáng tin cậy hay không
Dữ liệu cho thấy rằng bàn phím HID có thể trở thành một thiết bị đáng ngờ khi kết nối với máy tính xách tay mà không sử dụng bàn phím ngoài Nghiên cứu chỉ ra rằng nhà sản xuất Amtel, chịu trách nhiệm về chip bên trong USB Rubber Ducky, có khả năng cao cho thấy rằng một USB Rubber Ducky đã được cắm vào hệ thống.
Tạo danh sách các thiết bị đáng tin cậy
Phân tích nhật ký thực của máy tính gia đình có thể gặp khó khăn do lượng dữ liệu lớn, khiến việc xử lý bằng mắt thường trở nên phức tạp Nếu một người đã kết nối ổ đĩa flash USB với máy tính trong quá khứ hoặc sẽ làm như vậy trong tương lai, việc xác định thông tin này sẽ trở nên khó khăn hơn.
Trong những tình huống cần thiết, việc có một danh sách các thiết bị đáng tin cậy là rất hữu ích Khái niệm này đơn giản: bạn tạo ra một danh sách các thiết bị mà bạn tin tưởng Sau đó, nhật ký hoạt động sẽ được so sánh với danh sách này; nếu phát hiện thông tin về các thiết bị không có trong danh sách tin cậy, thông tin tương ứng sẽ được hiển thị.
Có một số cách để tạo danh sách các thiết bị đáng tin cậy bằng lệnh gen_auth events usbrip
Để thiết lập danh sách thiết bị được phép, trước tiên bạn cần chỉ định đường dẫn lưu tệp, ví dụ như ~ / auth.json Tiếp theo, sử dụng tùy chọn -a để chỉ định các thuộc tính cần đưa vào danh sách, bao gồm các trường như "vid", "pid", "sản xuất", "sản xuất", và "nối tiếp", được phân tách bằng khoảng trắng mà không có dấu ngoặc kép.
Để thêm các thiết bị, bạn cần chỉ định chúng bằng cách sử dụng các bộ lọc đã thảo luận trước đó Ví dụ, để thêm thiết bị theo VID, bạn sử dụng tùy chọn vid và liệt kê tất cả các số nhận dạng nhà cung cấp mà bạn muốn thêm, phân tách bằng dấu cách.
1 usbrip events gen_auth ~/auth.json -a vid pid serial vid 04d9 0b05 1d6b 13d3 8087 13fe 148f 0cf3 04e8 152d 14cd -f usb2.0.txt
Bạn có thể sử dụng ngày làm bộ lọc để kiểm tra các thiết bị đáng tin cậy đã kết nối, đồng thời liệt kê những ngày này.
1 usbrip events gen_auth ~/auth.json -a vid pid serial -d '2019-08-24' '2019-08-24' '2019-08-26' -f usb2.0.txt
Phát hiện kết nối của thiết bị USB nước ngoài với máy tính trong Linux
Để xác minh, hãy sử dụng lệnh vi phạm sự kiện usbrip , sau đó chỉ định tệp có danh sách thiết bị đáng tin cậy là đủ:
1 usbrip events violations ~/auth.json -f usb2.0.txt
Một ví dụ về đầu ra trong trường hợp của tôi:
Hình 15 Phát hiện usb ngoài kết nối với máy tính
Ban đầu, tôi cảm thấy căng thẳng, nhưng sau đó tôi nhớ đến các thiết bị khác của mình Một trong những thiết bị đó là một ổ USB bên ngoài, được kết nối với máy tính xách tay qua bộ chuyển đổi SATA-USB.
Lệnh đã giúp làm mới bộ nhớ:
1 usbrip ids search vid 152d pid 0539 offline
Vendor: JMicron Technology Corp / JMicron USA Technology Corp
Product: JMS539/567 SuperSpeed SATA II/III 3.0G/6.0G Bridge
Hộp đó cũng ghi "SuperSpeed"
Thiết bị thứ hai là 2307 Boot ROM và Phison, khiến tôi cảm thấy bối rối Nó không phải là tai nghe USB hay bàn di chuột, mà thực chất là ổ đĩa flash của tôi, với một phân vùng EFI được tạo ra để cập nhật BIOS cho máy tính xách tay Có thể máy tính nhận diện thiết bị này một cách khác thường do đã được tải sẵn hoặc vì lý do nào khác Bài học rút ra là không nên vội vàng phản ứng khi gặp phải kết quả bất ngờ.
Đạo đức thứ hai cho thấy rằng VID và PID có thể thay đổi trong một số điều kiện, và hệ thống cũng có thể nhận diện chúng theo cách khác trong những tình huống nhất định Bên cạnh đó, số sê-ri của thiết bị USB cũng có khả năng thay đổi, đặc biệt là đối với một số loại thiết bị nhất định.
Lưu kết quả vào một tệp
Nếu bạn chọn tùy chọn thứ hai trong khi xử lý tệp:
Sau đó, chương trình sẽ nhắc bạn nhập đường dẫn đến tệp (hoặc chấp nhận giá trị mặc định) - dữ liệu nhận được sẽ được lưu ở định dạng JSON
Bạn cũng có thể chuyển hướng đầu ra chương trình thành một tệp (đừng quên tùy chọn -q để tắt lời nhắc cho người dùng):
1 usbrip events history -f usb2.0.txt -q -t > usb.info
Chương trình cung cấp lệnh lưu trữ đặc biệt giúp bạn lưu kết quả một cách thuận tiện Tính năng này không chỉ hỗ trợ công việc với Cron mà còn cho phép bạn khởi động thủ công khi cần thiết.
Lệnh usbrip lưu trữ giúp bạn quản lý thông tin liên quan đến lịch sử và các vi phạm của thiết bị USB Bạn có thể lưu, cập nhật và xem thông tin một cách dễ dàng Để tìm hiểu thêm chi tiết, hãy tham khảo tài liệu hướng dẫn.
Thông tin sẽ được lưu trữ Bạn có thể đặt mật khẩu cho kho lưu trữ
Bạn có thể tham khảo ví dụ về việc thêm dịch vụ vào Cron trong tệp /usr/usbrip/cron/usbrip.cron Để biết thêm chi tiết về cách thiết lập Cron, hãy xem bài viết này.