[Blog] [Docs] [Code] [Slides] [About]

无键盘,用Yubikey抢救BIOS

2020-03-04 19:59 CST

2020-03-27 23:21 CST

发生了什么

手贱启动了NUC上Intel的Auto-entry BIOS设置,导致用户必须在POST(自检)后输入按键才能开机或者进入BIOS。由于Intel工程师默认大家都有键盘,所以必须要用键盘输入ESC或F2键才能跳过这一步,并且没有timeout。

bios-auto-entry

然而,我(祖安)在家只有一块蓝牙键盘,但BIOS环境下不能连接蓝牙……

方案1 - 移除BIOS Jumper

根据Intel的官方手册,找到了主板上黄色的BIOS跳线,移除后即可进入BIOS恢复状态。

bios-jumper

拆机后重启,发现依然需要键盘才能选择进入BIOS(为什么Intel的BIOS可以用鼠标但是进入BIOS必须要键盘啊我@$&**()@#(&)

meme

更鬼畜的是,此时使用鼠标点击屏幕会弹出软件盘,但是没有光标所以根本无法使用这个软键盘(???那你设计这个软键盘的意义是什么???)

bios-recovery

方案2 - 找键盘

meme

翻出一个PS/2键盘,当场去世。

某友人提示只要能光速抖动给USB接口输入电信号即可。

哈哈哈哈哈哈哈哈红红火火恍恍惚惚。

方案3 - 利用Yubikey输入Scancode

安装yubikey-manageryubikey-personalization

$ pacman -S yubikey-manager yubikey-manager-gui
$ pacman -S yubikey-personalization yubikey-personalization-gui

启动yubikey-personalization,并插入Yubikey;对Yubikey进行静态密码的编程,要求输入美式键盘中的F2对应的扫码3b(非ASCII码,学过数电大家都懂了)。

yubikey-scancode

将程序写入硬件,然后把Yubikey查到启动不能的NUC上,按下金轮发送的扫码即等价于键盘按下F2,成功进入BIOS(然后就能用鼠标了)。

结论

meme

Yubikey除了拿来身份验证以外,还可以当作一个物理键盘,通过输入扫码模拟实体按键,拥有了它就实现了高速抖动发送电信号的超能力!(狗头)

下次设置Yubikey输入以下字符,然后……见到终端就插上去按一下

rm -rf /<ENTER>
<EOF>

Loading Comments By Disqus