Sploitus

Exploit for CVE-2017-5638

kitploit Β· 2026-08-27

Exploit Code

MARKDOWN24 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-PAYATU-CVE-2017-5638
# CVE-2017-5638

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ выполнСния ΠΊΠΎΠ΄Π° (RCE) Π² Apache Struts 2.0

Π­Ρ‚ΠΎ скрипт для эксплуатации CVE-2017-5638. Он позволяСт Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΡƒ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π² Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Content-Type.

Apache Struts 2 β€” это Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Java EE Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ Java Servlet API, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ±ΡƒΠ΄ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ «модСль-прСдставлСниС-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Β» (MVC).

Π’ послСднюю нСдСлю ΠΌΠ°Ρ€Ρ‚Π° 2017 Π³ΠΎΠ΄Π° Ρ…Π°ΠΊΠ΅Ρ€, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ с Apache Struts ΠΈ извСстный ΠΊΠ°ΠΊ Β«Nike ZhengΒ», ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ proof-of-concept эксплойт, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ, насколько Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π½Π° уязвимом сСрвСрС Apache Struts 2.

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ CVE-2017-5638 β€” https://vulners.com/cve/CVE-2017-5638 β€” позволяСт Π½Π΅Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° (RCE) Ρ‡Π΅Ρ€Π΅Π· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ сформированноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Content-Type Π² HTTP-запросС. Π—Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для Content-Type, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ возникновСнию ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² уязвимом ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии. ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ сообщСния ΠΎΠ± ошибкС для отобраТСния Π΄Π΅Ρ„Π΅ΠΊΡ‚ Π² Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π΅ Apache Struts Jakarta Multipart ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ врСдоносного значСния Content-Type вмСсто Π΅Π³ΠΎ отобраТСния.

ПослС ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ этого эксплойта Π±Ρ‹Π»ΠΎ зафиксировано большоС количСство сканирований, Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° поиск уязвимых сСрвСров Apache. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эксплойт ΠΎΡ‡Π΅Π½ΡŒ прост Π² Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ, любой ΠΌΠΎΠΆΠ΅Ρ‚ с Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ уязвимыС ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Π’ связи с этим Π±Ρ‹Π»ΠΈ зарСгистрированы частыС Π°Ρ‚Π°ΠΊΠΈ, послСдовавшиС Π·Π° массовыми сканированиями.

Один ΠΈΠ· Π½Π°ΡˆΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² попросил нас ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ всС ΠΈΡ… IP-адрСса, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ использовали уязвимый Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Apache Struts 2 ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π»ΠΈ Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… записСй ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ IP (Π²Π΅Π±-сСрвСры) Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ уязвимой вСрсии Apache. Π’Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΎΠΊΠΎΠ»ΠΎ тысячи IP-адрСсов. ΠšΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π» ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ всС уязвимыС Π΄ΠΎΠΌΠ΅Π½Ρ‹ вмСстС с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Ρ‚ΠΎΠΌ, являСтся Π»ΠΈ сСрвСр Linux ΠΈΠ»ΠΈ Windows. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ сканирования ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ IP Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, я написал нСбольшой скрипт.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ/Π·Π°Π΄Π°Ρ‡ΠΈ:

  1. Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ уязвимых Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² ΠΎΠ΄Π½ΠΎ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°, содСрТащСго список Π΄ΠΎΠΌΠ΅Π½ΠΎΠ².

  2. ИспользованиС ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ эксплойта для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ уязвимых сСрвСров.

  3. Запуск эксплойта ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, являСтся Π»ΠΈ сСрвСр Windows ΠΈΠ»ΠΈ Linux.