Sploitus

Exploit for opensshenum

kitploit Β· 2026-08-25

Exploit Code

MARKDOWN115 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-GBONACINI-OPENSSHENUM
# ОписаниС:

Opensshenum β€” это инструмСнт для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ OpenSSH, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ список ΠΈΠΌΠ΅Π½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° сСрвСрС OpenSSH ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ машинС. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π² июлС 2018 Π³ΠΎΠ΄Π°), которая, ΠΊΠ°ΠΊ Π΄ΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ с OpenSSH 2.3.0 (Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΉ Π² ноябрС 2000 Π³ΠΎΠ΄Π°).

Π― написал эксплойт Π½Π° основС Tssh β€” SSH 2 ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я написал Π½Π° C++11 с нуля, Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΡƒΡΡΡŒ RFC.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация здСсь:

http://seclists.org/oss-sec/2018/q3/124

Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ CVE-2018-15473.

# ΠžΠ’ΠšΠΠ— ОВ ΠžΠ’Π’Π•Π’Π‘Π’Π’Π•ΠΠΠžΠ‘Π’Π˜:

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΈ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… цСлях. Π’Ρ‚ΠΎΡ€ΠΆΠ΅Π½ΠΈΠ΅ Π² систСмы ΠΈ сСрвисы Π±Π΅Π· Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° Π½Π΅Π·Π°ΠΊΠΎΠ½Π½ΠΎ. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈΠ· этого рСпозитория ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΡƒΠ³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΌΡƒ ΠΏΡ€Π΅ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚Π΅Π»Ρ. Π›ΡŽΠ±Ρ‹Π΅ дСйствия ΠΈΠ»ΠΈ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, связанныС с ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌΠΈ, содСрТащимися Π² этом Git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ вашСй ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ. Автор Π½Π΅ нСсСт отвСтствСнности Π² случаС ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»Π΅Π½ΠΈΡ ΡƒΠ³ΠΎΠ»ΠΎΠ²Π½Ρ‹Ρ… ΠΎΠ±Π²ΠΈΠ½Π΅Π½ΠΈΠΉ Π»ΠΈΡ†Π°ΠΌ, Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС с этого сайта для Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ Π·Π°ΠΊΠΎΠ½Π°.

# ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ трСбования:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для использования Π² срСдС *nix ΠΈ протСстирована Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… дистрибутивах Linux ΠΈ OS X:

  * Ubuntu 17.10;
  * OS X 10.11.6;



с использованиСм ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… компиляторов:

  * gcc version7.2.0 (Ubuntu 7.2.0-8ubuntu3.2);
  * Apple LLVM version 8.0.0 (clang-800.0.42.1)



ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… SSH-сСрвСров:

  * OpenSSH_7.5p1



ЕдинствСнная внСшняя Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° OpenSSL, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для криптографичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… вСрсиях я ΠΌΠΎΠ³Ρƒ ввСсти Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ OpenSSL. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для использования с вСрсиСй OpenSSL Π½Π΅ Π½ΠΈΠΆΠ΅:

  * OpenSSL 1.0.2h;



(Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² OS X ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅).

Для компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ инструмСнты/Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ:

  * компилятор c++ (с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ c++11);
  * automake/autoconf;
  * libtool;
  * OpenSSL 1.0.2h ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅ (ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ "dev");



# Установка:

  * запуститС скрипт configure: ./configure
  * скомпилируйтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ: make
  * установитС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ man-страницу: sudo make install



# Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ список ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€, ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

cat user.txt | ./opensshenum -i dummy_cert target_addr  
xxx:NOK   
gabriel:OK

Π³Π΄Π΅ user.txt β€” Ρ„Π°ΠΉΠ», содСрТащий список ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π² строкС, Π° dummy_cert β€” ΠΊΠ»ΡŽΡ‡, сгСнСрированный ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ssh-keygen ΠΎΡ‚ OpenSSH (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ β€” ~/.ssh).

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ списка:

printf "xxx\ngabriel" | ./src/opensshenum -i dummy_rsa localhost   
xxx:NOK   
gabriel:OK

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ man-страницу, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΡƒΡŽ Π² этот Ρ€Π΅Π»ΠΈΠ·.

# НовыС возмоТности:

# Π‘ΠΊΠ°Π½Π΅Ρ€ ΠΏΠΎΡ€Ρ‚ΠΎΠ²:

Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сканирования SSH-ΠΏΠΎΡ€Ρ‚ΠΎΠ²: Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ opensshenum ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΏΠΎΡ€Ρ‚Ρ‹, связанныС с адрСсом, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ экзСмпляры SSH, ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚Ρ‹, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚ 22, ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ эксплойт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚Π°Ρ…. Π­Ρ‚Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, получая Ρ‚ΠΎΠ»ΡŒΠΊΠΎ список ΠΏΠΎΡ€Ρ‚ΠΎΠ², связанных с SSH, Π±Π΅Π· выполнСния Π°Ρ‚Π°ΠΊΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

opensshenum -s -n -t2 -m22221 -M22225 -r'.*OpenSSH' -idummy_rsa my_imaginary_website.com

просканируСт ΠΏΠΎΡ€Ρ‚Ρ‹ (-s) Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 22221 Π΄ΠΎ 22225 (ΠΎΠ±Π° Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ), выполняя Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сканированиС (-n), с Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ΠΎΠΌ 2 сСкунды (-t), оТидая hello-строку, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ строку OpenSSH, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ с ΠΈΠΌΠ΅Π½Π΅ΠΌ idummy_rsa (Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ) ΠΈ Π² качСствС Ρ†Π΅Π»ΠΈ my_imaginary_website.com. Π‘ΠΎΠ»Π΅Π΅ подробная информация Π² man-страницС.

# ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅:

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ Π°Π»ΡŒΡ„Π°-скрипт с использованиСм GNU Parallel (parallenum.sh) Π² качСствС PoC для сокращСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ сканирования ΠΏΡƒΡ‚Π΅ΠΌ раздСлСния Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° сканируСмых ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π½Π° ΠΏΠΎΠ΄Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… относится ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ процСссу. Π­Ρ‚ΠΎ, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, создаСт ΠΌΠ½ΠΎΠ³ΠΎ ΡˆΡƒΠΌΠ°. Для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ ΡˆΡƒΠΌΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -t.

# БнятиС ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΎΠ²:

Ѐункция снятия ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΎΠ², полСзная для автоматичСской ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° ОБ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли hello-строка ΠΎΠΏΡƒΡ‰Π΅Π½Π°) ΠΈ слуТб с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ/ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… создаСтся ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² *.lst, собранных Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» *.lst ΠΈΠΌΠ΅Π΅Ρ‚ имя <os_name_or_service>.lst, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

ubuntu_17_10.lst aix.lst proprietary_ftp.lst

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, CSV-Ρ„Π°ΠΉΠ», ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

user_1;os_or_service_1; ... ;os_or_service_n ... user_m;os_or_service_1; ... ;os_or_service_n

Π‘Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² *.lst с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ createdb, находящСйся Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ./utils, ΡƒΠΊΠ°Π·Π°Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ *.lst, ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

cd utils make ./createdb ../lists/

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ снятиС ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ -F с Ρ„Π°ΠΉΠ»ΠΎΠΌ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

cat test/scan.sample | opensshenum -p22 -idummy_rsa -Futils/opensshenum.db localhost