Saturday, April 13, 2013

El fenómeno hacking contra los gob.ar: Protesta, Impunidad, Ineficiencia, Desidia, Aprendizaje o todo junto?

Voy a intentar ser lo más neutral posible y objetivo y a la vez espero sirva para que reflexionemos juntos. Estoy abierto a todo tipo de críticas y/o puntos de vista opositores.

Hace ya varios meses vengo notando cierto crecimiento en materia de hacking (al menos en la región, incluido países limítrofes al nuestro) de agrupaciones que utilizando como bandera las propuestas sociales burlan la seguridad de sitios en su mayoría de índole gubernamental, aunque también suelen caer instituciones sin fines de lucro, organizaciones y demás.

La protesta:
Las razones de protestar son múltiples: Desacuerdo con el Gobierno Nacional o Provinciales, actos de defensa al medio ambiente, denuncias contra temas sociales como ser prostitución, abuso de empresas para con sus trabajadores, y un sin fin de temas más que razonables y como suelo decir "Protestables" y no sólo criticables.
Si analizamos los temas en gral, no varían y diría que en casi nada a las típicas y tan instauradas marchas a lo largo y ancho del país. Se me ocurre pensar que alguien con una capucha que arroja objetos contra un edificio de gobierno en modo de protesta, bien podría ser un hacker y hasta podríamos denominar al ataque en lugar de SQLInjection como StoneInjection? O pensar que el mismo individuo que logra derribar una puerta y lanzar una molotov sería como alguien que logró meter una shell php en un Web Server desactualizado?
Creo que actos o acciones de protesta son muy similares si analizamos su consecuencia, en algunas la destrucción física de los inmuebles afectados y sus derivados y por el otro lado la destrucción, hurto y/o manipulación de la información. Otra pregunta que me hago es: por participar de una manifestación que afecte derechos de otros conciudadanos y/o dañe patrimonio público y/o privado debería sancionarse a un individuo? Y la respuesta creo que es obvia, pero la pregunta da paso al siguiente concepto La Impunidad.

La impunidad, de los actos "siento" que genera cierto caldo de cultivo alentando la generación de delitos informáticos de un público que se suma a una causa que si bien parece coherente, no deja de ser delictiva. Contrario a la utilización del anonimato para ayudar al prójimo, el anonimato para agraviar es repudiable y hasta cobarde diría. Pero y no se me enojen mis amigos de la clandestinidad también es un camino que han descubierto y un medio "creo yo", para llevar adelante sus protestas. Esta impunidad en los casos de hacking se da por varios factores pero uno fundamental es la ineficiencia.

Los responsables de poner fin a la impunidad y hacer que quienes cometan un delito informático lo paguen, son los que tienen que trabajar y muy duro al respecto con herramientas y recursos humanos capacitados (suelo decir que la informática siempre está un paso atrás que sus delitos, si es 2.0 los delitos ya son 3.0 o más), desde los jueces que deben sancionar leyes creadas y debatidas por profesionales en la materia, expertos en seguridad de la información y no allegados o acomodados políticos, la gente del palo como se dice es la que tiene asesorar a los jueces para que las leyes sirvan. Para que los fiscales puedan trabajar con todas las garantías y recursos necesarios.
Es triste saber que la ineficiencia abunda en muchos estratos de la justicia y lograr encausar el análisis de un caso de hacking es muy engorroso (sino inviable) por distintos motivos: el tiempo, la complejidad a la que se enfrentan quienes deben impartir leyes, investigar, realizar allanamientos, etc. Y como en varios casos de delitos comunes, me surge la siguiente pregunta: es tan difícil detectar a quien comete un delito informático? y la respuesta aunque parezca mentira es NO!, es algo que si bien requiere de conocimientos es muy probable pueda establecerse.
Volviendo un poco a los targets los gob.ar, también es importante destacar el último de los conceptos, la desidia. Y en este aspecto es notorio y concurrente ver la falta de prácticas de seguridad de la información en ambientes de gobierno. No quiero quitarles el mérito a los amigos que dedican varias hrs del día al hacking, pero como habrán notado los mismos, en la mayoría de los casos vulnerar estos objetivos se vuelve cada vez más sencillo y sobre todo con el uso de herramientas automatizadas y disponibles para cualquier mortal en la web. Falta de mantenimiento, capacitación, políticas de estado entre otros factores, conllevan a un ambiente informático débil y altamente vulnerable.

El aprendizaje, de lo anteriormente expuesto creo haber aprendido algo y corríjanme por favor si estoy equivocado:
Se ha instaurado en Argentina un nuevo modelo de protesta social que busca según sus anónimos integrantes un país más justo, pero que en su accionar no contempla la ilegalidad y el posible impacto negativo del mismo. Sumado a esto la impunidad que brinda un contexto carente de leyes en materia de informática y con legisladores que rara vez se ocupan de sancionar leyes de Argentina y para Argentina y en cambio aprueban un paquete importado de leyes en la materia. Todo esto hace que estemos en un contexto muy difícil pero no imposible de mejorar.

Me gustaría soñar con que las herramientas de protesta se perfeccionen para bien, sin necesidad de que las agrupaciones anónimas cometan delitos para pedir cambios sino que permitan a partir de la protesta ser un modelo constructivo como lo fue por ej. el modelo del Open Source, de una comunidad constructiva y no destructiva. Aunque sea más difícil la tarea siempre es mejor construir
y generar cambios a destruir. Para pensarlo no?

Wednesday, April 10, 2013

interface eth0 not configured

Me ha pasado el día de hoy que en algunos servers Debian por alguna razón no podía recargar las rutas agregadas al archivo /etc/network/interfaces, arrojándome como resultado de los comandos:
ifdown eth0; ifup eth0 el siguiente error:
interface eth0 not configured
SIOCADDRT: File exists
Failed to bring up eth0.

Esto se debe a la perdida de asociación de la interface en el archivo /etc/network/run/ifstate, que debe tener para el caso de la interface eth0 el valor eth0=eth0 por ej para mi caso con una sóla interface es el siguiente:
lo=lo
eth0=eth0

Luego de volver a asociarla todo volvió a funcionar.

Espero les sirva como siempre.

Wednesday, March 27, 2013

Algunos comandos linux útiles

Voy a dejar en este post algunos comandos linux útiles que pueden llegar a ayudarlos en algunos casos:  

Ver la cola de postfix para detectar por ej algún ataque de SPAM postqueue -p
Incluso podrían agregar un pipe al final para paginar postqueue -p |more

Listar los 10 procesos que más CPU consumen ordenados por dicha variable
ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10
Para esto también podrían también recurrir a htop si necesitasen algo más completo.  

Listar las conexiones realizadas a nuestro web server
netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1
También podríamos chequear algún otro servicio como es el caso de mysql por ej, tan sólo cambiando de puerto netstat -plan|grep :3306|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1  

Ver un log en tiempo real
tail -F logfile Por ej tail -F /var/log/syslog
Para este caso también está buena una tool llamada multitail que permite muy fácilmente aplicar filtros multitail -e filtro -f logfile Por ej multitail -e cuentaspammer -f /var/log/mail.log

Listar las particiones y el espacio diponible en cada una de ellas
df -h

Listar la cantidad de memoria RAM consumida por ej en GB
free -g  

Conocer el tamaño de un archivo y/o directorio
du -hcs file

Listar las reglas de nuestro firewall iptables
iptables -L como también borrarlas ipables -F  

Buscar algún comando previamente ejecutado en el nuestra shell
history |grep comando

Ejecutar el último comando que comience con determinado patron sin tener que escribirlo todo nuevamente
!parte del comando Por ej si habíamos hecho un netstat previamente podríamos escribir !net  

Para el caso de debian conocer si un paquete está instalado o no
dpkg --get-selections |grep paquete Por ej dpkg --get-selections |grep mysql

Comparar dos archivo para detectar diferencias entre ambos
 diff file1 file2

Prometo seguir completado de a poco la lista, saludos.

Friday, January 25, 2013

Iniciar sesión como un usuario diferente y SharePoint 2013

Al parecer la opción Iniciar sesión como un usuario diferente fue removida de la versión de SharePoint 2013, pero todavía quedan algunas formas de utilizarla:

1) Agregar a la url /_layouts/closeConnection.aspx?loginasanotheruser=true esto también funciona en 2010.

2) Iniciar el navegador como otro usuario.

3) La que estoy utilizando actualmente es la modificación del archivo C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\CONTROLTEMPLATES\Welcome.ascx
y agregar antes de la línea: 
 <SharePoint:MenuItemTemplate runat="server" id="ID_RequestAccess"  



El siguiente código:

 <SharePoint:MenuItemTemplate runat="server" ID="ID_LoginAsDifferentUser"  
 Text="<%$Resources:wss,personalactions_loginasdifferentuser%>"  
 Description="<%$Resources:wss,personalactions_loginasdifferentuserdescription%>"  
 MenuGroupId="100"  
 Sequence="100"  
 UseShortId="true"  
 />  


Espero les sea de utilidad como siempre.