← Back to Writeups
CUSTOMEasyMisc

Ангара-1: Вход в ОС

XESXOR9/2/20263 min read
#misc#custom#easy#keyboard_layout_mapping#russian_to_english_layout_conv#linux

Ангара-1: Вход в ОС

Platform: bug-makers | Category: Misc | Type: Challenge | Difficulty: Easy | OS: Linux | Author: XESXOR | Date: 2026-05-25 | Status: Solved Techniques: keyboard_layout_mapping, russian_to_english_layout_conversion

Summary

Task: a BugOS login page with a password reminder file containing garbled Russian text. Solution: the text was typed using Russian keyboard layout instead of English — mapping each Russian character to its English keyboard equivalent reveals the password and flag.

Ангара-1: Вход в ОС — Bug Makers

Description

Эта первая задача из трех связанных. Решать задачи можно только по порядку, т.к следующие части связаны с предыдущими. Цель миссии всех трех задач – запустить ракету в космос. Сперва нужно войти в систему управления полетами, но пароль потерялся, нужно его как-то восстановить. Авторизацию в нашу новую ОС BugOS настраивал приглашенный специалист. Он оставил описание по восстановлению пароля, но что-то с этим текстом не так.

English summary: This is the first of three linked challenges. The goal across all three is to launch a rocket into space. First, we need to log into the flight control system (BugOS), but the password is lost. A specialist left a password recovery note, but "something is wrong with the text." ‍​‌‌​​‌​​​‌‌​​‌​​​​‌‌​‌​​​​‌‌‌​​‌​​‌‌​​​‌​​‌‌‌​​​​​‌‌​‌‌​​​‌‌​​​​‍

Analysis

The main page at http://31.207.77.216:4016/ shows a BugOS login form requiring a password. There's a "Напомнить пароль" (Remind password) link pointing to /assets/remind-password.txt.

The file contains what appears to be Russian gibberish:

Дщпшт зфыыцщквЖ с836468в539у5692аа5с5ф7а65а7в2уу
Фтв еру адфп ащк еру ашкые зфке ща еру ефылЖ ИгпСЕАХ40аф44аи74ф4в5а22у909у0с83у2с879Ъ

The key clue is in the challenge description: "что-то с этим текстом не так" (something is wrong with this text). The text has recognizable structure — it looks like sentences with punctuation and hex-like characters mixed in — but the Russian words make no sense. ‍​‌‌​​‌​​​‌‌​​‌​​​​‌‌​‌​​​​‌‌‌​​‌​​‌‌​​​‌​​‌‌‌​​​​​‌‌​‌‌​​​‌‌​​​​‍

This is a classic sign of keyboard layout mismatch: the text was typed with the Russian keyboard layout active, but the intended input was English. Each physical key on a keyboard produces a different character depending on whether the Russian or English layout is active.

Solution

Step 1: Identify the keyboard layout mapping

On a standard Russian/English keyboard, each key has two characters. For example:

  • The key for English L produces Russian д in Russian layout
  • The key for English o produces Russian щ
  • The key for English g produces Russian п ‍​‌‌​​‌​​​‌‌​​‌​​​​‌‌​‌​​​​‌‌‌​​‌​​‌‌​​​‌​​‌‌‌​​​​​‌‌​‌‌​​​‌‌​​​​‍

Step 2: Apply Russian → English keyboard mapping

The full mapping for the Russian keyboard layout to English:

python
#!/usr/bin/env python3
# Russian-to-English keyboard layout mapping

ru = "йцукенгшщзхъфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ"
en = "qwertyuiop[]asdfghjkl;'zxcvbnm,.QWERTYUIOP{}ASDFGHJKL:\"ZXCVBNM<>"

text = "Дщпшт зфыыцщквЖ с836468в539у5692аа5с5ф7а65а7в2уу"
text2 = "Фтв еру адфп ащк еру ашкые зфке ща еру ефылЖ ИгпСЕАХ40аф44аи74ф4в5а22у909у0с83у2с879Ъ"

mapping = str.maketrans(ru, en)
‍​‌‌​​‌​​​‌‌​​‌​​​​‌‌​‌​​​​‌‌‌​​‌​​‌‌​​​‌​​‌‌‌​​​​​‌‌​‌‌​​​‌‌​​​​‍

print(text.translate(mapping))
print(text2.translate(mapping))

Step 3: Decode the text

The decoded output:

Login password: c836468d539e5692ff5c5a7f65f7d2ee
And the flag for the first part of the task: BugCTF{REDACTED}

Key character mappings used:

RussianEnglishNotes
ДLFirst letter of "Login"
щo
пg
шi
тn
зpFirst letter of "password"
фa
ыs
цw
кr
вd
Ж:Colon separator
уe
аf
ИBFirst letter of "BugCTF"
гu
СC
ЕT
АF
Х{Opening brace
Ъ}Closing brace
‍​‌‌​​‌​​​‌‌​​‌​​​​‌‌​‌​​​​‌‌‌​​‌​​‌‌​​​‌​​‌‌‌​​​​​‌‌​‌‌​​​‌‌​​​​‍

Step 4: Verify the password

bash
curl -X POST http://31.207.77.216:4016/login \
  -d "password=c836468d539e5692ff5c5a7f65f7d2ee"

The login succeeds, confirming the password is correct and granting access as user operator. ‍​‌‌​​‌​​​‌‌​​‌​​​​‌‌​‌​​​​‌‌‌​​‌​​‌‌​​​‌​​‌‌‌​​​​​‌‌​‌‌​​​‌‌​​​​‍