Skip to content

Instantly share code, notes, and snippets.

@lrvick
Created April 17, 2022 02:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lrvick/7d18cc1cdf8d6e89e7f2a088f32d3a39 to your computer and use it in GitHub Desktop.
Save lrvick/7d18cc1cdf8d6e89e7f2a088f32d3a39 to your computer and use it in GitHub Desktop.
fido2 debug
lrvick@personal:~$ fido2-token -L
/dev/hidraw1: vendor=0x1050, product=0x0406 (Yubico Yubikey 4 U2F+CCID)
lrvick@personal:~$ strace fido2-cred -M -i cred_param /dev/hidraw1 > cred
execve("/usr/bin/fido2-cred", ["fido2-cred", "-M", "-i", "cred_param", "/dev/hidraw1"], 0x7ffca72914a0 /* 51 vars */) = 0
brk(NULL) = 0x5703cbf21000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=80772, ...}) = 0
mmap(NULL, 80772, PROT_READ, MAP_PRIVATE, 3, 0) = 0x789d7f439000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libcrypto.so.1.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\t\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=3076992, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x789d7f437000
mmap(NULL, 3096528, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x789d7f143000
mmap(0x789d7f1c9000, 1732608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x86000) = 0x789d7f1c9000
mmap(0x789d7f370000, 593920, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22d000) = 0x789d7f370000
mmap(0x789d7f401000, 204800, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2bd000) = 0x789d7f401000
mmap(0x789d7f433000, 16336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x789d7f433000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libfido2.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0l\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=153504, ...}) = 0
mmap(NULL, 155664, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x789d7f11c000
mmap(0x789d7f122000, 90112, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x789d7f122000
mmap(0x789d7f138000, 36864, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c000) = 0x789d7f138000
mmap(0x789d7f141000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24000) = 0x789d7f141000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@n\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1839792, ...}) = 0
mmap(NULL, 1852680, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x789d7ef57000
mprotect(0x789d7ef7c000, 1662976, PROT_NONE) = 0
mmap(0x789d7ef7c000, 1355776, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x789d7ef7c000
mmap(0x789d7f0c7000, 303104, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x170000) = 0x789d7f0c7000
mmap(0x789d7f112000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ba000) = 0x789d7f112000
mmap(0x789d7f118000, 13576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x789d7f118000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\21\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=18688, ...}) = 0
mmap(NULL, 20752, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x789d7ef51000
mmap(0x789d7ef52000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x789d7ef52000
mmap(0x789d7ef54000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x789d7ef54000
mmap(0x789d7ef55000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x789d7ef55000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 |\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=149520, ...}) = 0
mmap(NULL, 136304, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x789d7ef2f000
mmap(0x789d7ef36000, 65536, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x789d7ef36000
mmap(0x789d7ef46000, 20480, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x789d7ef46000
mmap(0x789d7ef4b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0x789d7ef4b000
mmap(0x789d7ef4d000, 13424, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x789d7ef4d000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libcbor.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0PX\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=65128, ...}) = 0
mmap(NULL, 2160264, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x789d7ed1f000
mprotect(0x789d7ed2e000, 2093056, PROT_NONE) = 0
mmap(0x789d7ef2d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe000) = 0x789d7ef2d000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libudev.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0pG\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=157904, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x789d7ed1d000
mmap(NULL, 162080, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x789d7ecf5000
mmap(0x789d7ecf9000, 102400, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x789d7ecf9000
mmap(0x789d7ed12000, 36864, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d000) = 0x789d7ed12000
mmap(0x789d7ed1b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x789d7ed1b000
close(3) = 0
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x789d7ecf2000
arch_prctl(ARCH_SET_FS, 0x789d7ecf2740) = 0
mprotect(0x789d7f112000, 12288, PROT_READ) = 0
mprotect(0x789d7ef4b000, 4096, PROT_READ) = 0
mprotect(0x789d7ed1b000, 4096, PROT_READ) = 0
mprotect(0x789d7ef2d000, 4096, PROT_READ) = 0
mprotect(0x789d7ef55000, 4096, PROT_READ) = 0
mprotect(0x789d7f401000, 196608, PROT_READ) = 0
mprotect(0x789d7f141000, 4096, PROT_READ) = 0
mprotect(0x5703cb8b4000, 4096, PROT_READ) = 0
mprotect(0x789d7f477000, 4096, PROT_READ) = 0
munmap(0x789d7f439000, 80772) = 0
set_tid_address(0x789d7ecf2a10) = 6125
set_robust_list(0x789d7ecf2a20, 24) = 0
rt_sigaction(SIGRTMIN, {sa_handler=0x789d7ef36690, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x789d7ef43140}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0x789d7ef36730, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x789d7ef43140}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
openat(AT_FDCWD, "cred_param", O_RDONLY) = 3
fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
brk(NULL) = 0x5703cbf21000
brk(0x5703cbf42000) = 0x5703cbf42000
fstat(3, {st_mode=S_IFREG|0644, st_size=108, ...}) = 0
read(3, "YS7vEspph7MWwGGLOiQhpDx+WYyKmS86"..., 4096) = 108
futex(0x789d7f435858, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x789d7f43584c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x789d7f435844, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x789d7f435704, FUTEX_WAKE_PRIVATE, 2147483647) = 0
getrandom("\xc7\xc2\x18\xfd\xe9\x84\xa8\x56", 8, 0) = 8
openat(AT_FDCWD, "/dev/hidraw1", O_RDWR) = 4
fstat(4, {st_mode=S_IFCHR|0660, st_rdev=makedev(0xf3, 0x1), ...}) = 0
ioctl(4, HIDIOCGRDESCSIZE or HIDIOCGVERSION, 0x7ffcd4fa6004) = 0
ioctl(4, HIDIOCGRDESC, 0x7ffcd4fa6030) = 0
write(4, "\0\377\377\377\377\206\0\10\307\302\30\375\351\204\250V\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 65) = 65
read(4,
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment