РСшСниС задания с pwnable.kr 25 β€” otp. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° Π² Linux

РСшСниС задания с pwnable.kr 25 — otp. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° Π² Linux
Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ€Π΅ΡˆΠΈΠΌ 25-Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ с сайта pwnable.kr.

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡΠ‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΡƒΠ·Π½Π°Π²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² любой ΠΈΠ· сфСр ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ бСзопасности, я Π±ΡƒΠ΄Ρƒ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… катСгориях:

  • PWN;
  • криптография (Crypto);
  • cΠ΅Ρ‚Π΅Π²Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (Network);
  • рСвСрс (Reverse Engineering);
  • стСганография (Stegano);
  • поиск ΠΈ эксплуатация WEB-уязвимостСй.

Π’Π΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊ этому я подСлюсь своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ криминалистикС, Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΌΠ°Π»Π²Π°Ρ€ΠΈ ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ, Π°Ρ‚Π°ΠΊΠ°Ρ… Π½Π° бСспроводныС сСти ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ сСти, ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ пСнтСстов ΠΈ написании эксплоитов.

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΡƒΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΎ Π½ΠΎΠ²Ρ‹Ρ… ΡΡ‚Π°Ρ‚ΡŒΡΡ…, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, я создал ΠΊΠ°Π½Π°Π» Π² Telegram ΠΈ Π³Ρ€ΡƒΠΏΠΏΡƒ для обсуТдСния Π»ΡŽΠ±Ρ‹Ρ… вопросов Π² области Π˜ΠΈΠšΠ‘. Π’Π°ΠΊΠΆΠ΅ ваши Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡΡŒΠ±Ρ‹, вопросы, прСдлоТСния ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΡŽ Π»ΠΈΡ‡Π½ΠΎ ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Ρƒ всСм.

Вся информация прСдставлСна ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… цСлях. Автор этого Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π΅ нСсёт Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ отвСтствСнности Π·Π° любой ΡƒΡ‰Π΅Ρ€Π±, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ использования Π·Π½Π°Π½ΠΈΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ изучСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

РСшСниС задания otp

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π·Π΄Π΅Π». Π‘ΠΊΠ°ΠΆΡƒ сразу, Ρ‡Ρ‚ΠΎ слоТнСС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ, Π½ΠΎ Π² этот Ρ€Π°Π· Π½Π° ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ исходный ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. НС Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΠΏΡ€ΠΎ обсуТдСниС здСсь(https://t.me/RalfHackerPublicChat) ΠΈ здСсь (https://t.me/RalfHackerChannel). НачнСм.

НаТимаСм Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡƒ с подписью otp. Нам Π΄Π°ΡŽΡ‚ адрСс ΠΈ ΠΏΠΎΡ€Ρ‚ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

РСшСниС задания с pwnable.kr 25 — otp. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° Π² Linux

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ ΠΈ осматриваСмся Π½Π° сСрвСрС.

РСшСниС задания с pwnable.kr 25 — otp. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° Π² Linux

Π€Π»Π°Π³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈ Π΅Π΅ исходный ΠΊΠΎΠ΄. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим исходник.

РСшСниС задания с pwnable.kr 25 — otp. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° Π² Linux

Π Π°Π±Π΅Ρ€Π΅ΠΌ Π΅Π³ΠΎ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΠ°Ρ€ΠΎΠ»ΡŒ.

РСшСниС задания с pwnable.kr 25 — otp. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° Π² Linux

Π”Π°Π»Π΅Π΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ otp сохраняСтся Ρ€Π°Π½Π΄ΠΎΠΌΠ½Ρ‹Π΅ 16 Π±Π°ΠΉΡ‚.

РСшСниС задания с pwnable.kr 25 — otp. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° Π² Linux

Π’ ΠΏΠ°ΠΏΠΊΠ΅ tmp создаСтся Ρ„Π°ΠΉΠ» со случайным ΠΈΠΌΠ΅Π½Π΅ΠΌ (ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 8 Π±Π°ΠΉΡ‚ otp) ΠΈ Π² Π½Π΅Π³ΠΎ записываСтся Ρ€Π°Π½Π΄ΠΎΠΌΠ½Ρ‹Π΅ 8 Π±Π°ΠΉΡ‚ (Π²Ρ‚ΠΎΡ€Ρ‹Π΅ 8 Π±Π°ΠΉΡ‚ otp).

РСшСниС задания с pwnable.kr 25 — otp. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° Π² Linux

Π—Π°Ρ‡Π΅ΠΌ-Ρ‚ΠΎ ΠΈ созданного Ρ„Π°ΠΉΠ»Π° считываСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ сравниваСтся с Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ.

РСшСниС задания с pwnable.kr 25 — otp. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° Π² Linux

Π—Π΄Π΅ΡΡŒ ΠΈ присутствуСт ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ. Она Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΌ сохранСнии Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ числа Π² Ρ„Π°ΠΉΠ». ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π°, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ Π΄ΠΎ 0, Ρ‚ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ записи ΠΈ считывании с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ 0. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ.

# ulimit -f 0

РСшСниС задания с pwnable.kr 25 — otp. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° Π² Linux

Π’Π΅ΠΏΠ΅Ρ€ΡŒ запустим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

РСшСниС задания с pwnable.kr 25 — otp. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° Π² Linux

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ. НС Π±Π΅Π΄Π°, Π²Π΅Π΄Π± Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΏΠΈΡ‚ΠΎΠ½Π°.

python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')" 

РСшСниС задания с pwnable.kr 25 — otp. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° Π² Linux

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ„Π»Π°Π³ ΠΈ свои Π»Π΅Π³ΠΊΠΈΠ΅ 100 ΠΎΡ‡ΠΊΠΎΠ². И ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ: Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅ΠΌ Web. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π°ΠΌ Π² Telegram.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com