前言
- 昨晚在朋友圈看到國外一篇文章利用U盤鎖筆記本電腦,剛好有一個壞的金士頓U盤,所以就折騰了一下,
準備
- USB設備*1
- Arch系統*1
走過的坑
-
因為systemd-udevd帶起來的行程是root權限的,環境里各種變數也不是當前桌面用戶的,所以在Arch的Wiki里找到了呼叫外部腳本來通知用戶桌面,
-
最后的解決方案是在udev規則里匯入xpub獲取桌面環境變數,再執行命令鎖屏,
-
執行
udevadm monitor --environment --udev監聽USB事件,拔掉U盤,找到MODALIAS,原文里是找ID_MODEL,我為什么要找呢?因為ID_MODEL是不唯一的,別人的U盤可能也是一樣的,你也不想其他U盤可以觸發事件吧,所以找了一個看起來很復雜的字串,在網上也搜索不到,應該就是唯一的了,
UDEV [4042.754116] remove /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.0 (usb)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.0
SUBSYSTEM=usb
DEVTYPE=usb_interface
PRODUCT=13fe/5100/110
TYPE=0/0/0
INTERFACE=8/6/80
MODALIAS=usb:v13FEp5100d0110dc00dsc00dp00ic08isc06ip50in00
SEQNUM=3709
USEC_INITIALIZED=2346820353
adb_user=yes
ID_PATH=pci-0000:00:14.0-usb-0:3:1.0
ID_PATH_TAG=pci-0000_00_14_0-usb-0_3_1_0
ID_FOR_SEAT=usb-pci-0000_00_14_0-usb-0_3_1_0
- 拿到MODALIAS的值為usb:v13FEp5100d0110dc00dsc00dp00ic08isc06ip50in00 ,開始寫udev規則
ACTION=="remove", SUBSYSTEM=="usb", ENV{MODALIAS}=="usb:v13FEp5100d0110dc00dsc00dp00ic08isc06ip50in00",IMPORT{program}="/usr/bin/xpub", RUN+="/usr/bin/sudo -u kali-team /usr/bin/xdotool key Super_L+l"
- 保存為/etc/udev/rules.d/busKill.rules
- 執行sudo udevadm control --reload 重新載入規則
測驗
- 插入U盤,拔掉后自動鎖屏,
bilibili視頻
reference:
觸發_udev_規則事件的桌面提示
Introducing BusKill: A Kill Cord for your Laptop
xdotool
xpub
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/47377.html
標籤:其他
上一篇:0X01應用程式黑客技術
下一篇:limux串口通信
