Archivo del Autor: Abdul Pallarès

Instalar Funambol sync client en BlackBerry

[English Below]

Estoy instalando funambol en mi android, pero no consigo que funcione por ssl aún teniendo un certificado válido, así que para descartar problemas con mi proveedor o con la combinación de Android+terminal he decidido instalar el cliente en la BB del curro. Las instrucciones son descargar el cliente de la web oficial, descomprimirlo e instalarlo con el BlackBerry Desktop Manager, todo correcto hasta el momento de instalar el cliente desde el BDM, que busca archivos alx y no hay ninguno en el directorio descargado… vaya!! ¿que diablos es un archivo alx? bueno por suerte es fácil de solucionar, el archivo alx define las propiedades y los archivos del programa que se va a instalar así que es muy fácil crearlo, con un editor de texto crear el archivo Funambol.alx con este contenido

<loader version=»1.0″>
<application id=»FunambolSync»>
<name>
Funambol Sync Client
</name>
<description>Funambol sync client</description>
<version>8.7.1</version>
<vendor>Funambol</vendor>
<fileset Java=»1.0″>
<files>Funambol_Sync_Plugin.cod</files>
<files>Funambol_Sync_Plugin_common-1.cod</files>
<files>Funambol_Sync_Plugin_common.cod</files>
<files>Funambol_Sync_Plugin_lib-1.cod</files>
<files>Funambol_Sync_Plugin_lib-2.cod</files>
<files>Funambol_Sync_Plugin_lib-3.cod</files>
<files>Funambol_Sync_Plugin_lib.cod</files>
<files>Funambol_Sync_Plugin_pim-1.cod</files>
<files>Funambol_Sync_Plugin_pim.cod</files>
<files>Funambol_Sync_Plugin_syncml-1.cod</files>
<files>Funambol_Sync_Plugin_syncml.cod</files>
</fileset>
</application>
</loader>

Tened en cuenta que los nombres de archivos y las versiones pueden variar según el desarrollo del cliente 😉

Install Funambol sync client into BlackBerry

I’m trying to install Funambol on my Android device but it fails to communicate by ssl, even with a trusted certificate, to discard problems with my provider or with the combination of Android+terminal i decide to install Funambol sync on my BB. The instructions are easy and clear, download from the official site, unzip the files and install using Blackberry Desktop Manager, but… when try to open the unzipped files from BDM it search for .alx files and there is not any wtf?… so what the hell is the .axl file?… luckily its simple, is the file that describe the files and properties of an application, so to solve te problem simply open a text editor and create a file called Funambol.alx with this content

<loader version=»1.0″>
<application id=»FunambolSync»>
<name>
Funambol Sync Client
</name>
<description>Funambol sync client</description>
<version>8.7.1</version>
<vendor>Funambol</vendor>
<fileset Java=»1.0″>
<files>Funambol_Sync_Plugin.cod</files>
<files>Funambol_Sync_Plugin_common-1.cod</files>
<files>Funambol_Sync_Plugin_common.cod</files>
<files>Funambol_Sync_Plugin_lib-1.cod</files>
<files>Funambol_Sync_Plugin_lib-2.cod</files>
<files>Funambol_Sync_Plugin_lib-3.cod</files>
<files>Funambol_Sync_Plugin_lib.cod</files>
<files>Funambol_Sync_Plugin_pim-1.cod</files>
<files>Funambol_Sync_Plugin_pim.cod</files>
<files>Funambol_Sync_Plugin_syncml-1.cod</files>
<files>Funambol_Sync_Plugin_syncml.cod</files>
</fileset>
</application>
</loader>

Take care about the names of files and the versions, it can change between versions of the client 😉

Utilidades Web

robtex

Esta web se proclama como la navaja suiza de internet y tiene una serie de utilidades que nos dan mucha información sobre el dominio especificado, devolviendo un informe sobre listas negras, dns, mx, rdns y mucho más. Te lista todos los dominios que comparten la misma IP que el dominio indicado, el país donde está alojado, si hay más de un servidor te da las IPs, posicionamiento SEO en definitiva una información muy valiosa a un solo click totalmente recomendable juguetear un poco con ella robtex.com

builtwith.com

Buscando mi nick en google he visto una entrada curiosa sobre este dominio, al visitar la página en cuestión me he encontrado con una web muy interesante, se llama y builtwith.com es una araña que añaliza dominios y la tecnología con que han sido desarrollados.

Los objetivos de la web según describen ellos mismos son (traduzco literalmente):

«Las forma más sencilla de mejorar tu optimizaciones en los motores de búsqueda (SEO), tecnologías web y estándares de documentos, permitiendote también la monitorización de tu infraestructura web y encontrar y seguir qué están haciendo tus competidores»

Es una erramienta útil que puede facilitar bastante información a la hora de analizar un site, pero también permite ver qué sites utilizan una tecnología p.e: PHP o Apache previo pago de cantidades que no son precisamente baratas, para bajar un listado de los 574,692 sites que utilizan Apache me piden $2,619.71, una cifra muy poco amigable. De todas formas es un buen sitio en el que mirar a la hora de recoger información sobre un site antes de realizar un pentest, también te dá la opción de ofrecerte unos consejos básicos SEO para tu site si te registras.

Wholinkstome

Esta web te muestra qué páginas realizan links hacial el dominio que se le indique, nada espectacular pero puede ser información interesantes en algunos casos wholinkstome.com

byte byte my nerds 😉

Comandos y programas útiles

Este post es una recopilación de comandos y programas que considero útiles, más que nada lo escribo a modo de referéncia e irá creciendo con el tiempo

GNU/Linux

  • auctl: Herramienta para controlar el sistema de auditoría del kernel (funcionalidad existente a partir de la rama 2.6)
  • ausearch: Realiza consultas los logs del demonio de auditoría
  • aureport: Genera reportes de los logs del demonio de auditoría
  • Bastille: Ayuda a securizar un Linux
  • Cops: Comprueba el sistema de archivos en busca de permisos inusuales
  • logcheck: Permite generar alertas por e-mail cuando encuntra algún patron especificado en los logs
  • Maltego: Herramienta para la recolección, organización y visualización de información del objetivo (Inteligencia competitiva)
  • nginx: Un proxy inverso y balanceador de carga http y correo electrónico (failover and load-balancing)
  • plecost: Programa para realizar auditorías sobre el estado de actualización de un WordPress
  • psad: Detecta escaneos de puertos y permite varias acciones, enviar mail, bloquear el ataque…
  • tripwire: Realiza hash MD5 de los directorios especificados para contrastarlos periodicamente en busca de cambios en el sistema de archivos, así se pueden detectar accesos indebidos
  • SystemImager: Programa para realizar copias y restauraciones de sistemas
  • monit: Sistema de monitorización que no requiere php ni similares, multiserver, con interfaz https y no intrusivo

Windows

  • ipconfig /flushdns: Vacía la caché DNS
  • nbtstat -RR: Realiza un release y renew del nombre netbios con el servidor WINS

Gestor de scripts Unix centralizado y distribuible

Voy a describir el funcionamiento y la estructura de una herramienta que creé hace tiempo, pero que creo que puede serle útil a más gente, la herramienta sirve para gestionar los scripts de forma centralizada en entornos de tipo Unix y se llama DCSM de sus siglas en inglés (Distributable Centralized Scripts Manager, Gestor de scripts centralizado y distribuible) esta programada mediante shell scripts y se desarrolló sobre Solaris pero funciona en cualquier Unix, el único requisito es un servidor CVS (era muy complejo instalar subversion en los Solaris 8 😉 ) y crond. A continuación reproduzco el documento que describe esta herramienta.

La situación general, en gran cantidad de redes,  a la hora de gestionar los scripts de los servidores, que siempre existen, es crear los scripts específicos para cada servidor, y si es necesario en otro servidor se copia. Este sistema de administración de scripts es muy típico y, aunque evita algo de trabajo, tiene unas claras desventajas, las que intento solucionar son las siguientes:

  1. Es difícil hacer un seguimiento de los scripts que están en cada servidor.
  2. Si se modifica un script que se usa en más de un servidor hay que modificarlo en cada uno de los servidores, si tenemos en cuenta el punto 1 puede ser que no se apliquen los cambios deseados a todos los servidores.

Estas desventajas se pueden resolver mediante la centralización de la gestión y distribución de los scripts.

Sigue leyendo

Convertir un certifacado pfx (Microsoft) al formato PEM con openssl

  1. openssl pkcs12 -in archivo.pfx -out resultado.pem
  2. openssl pkcs12 -nokeys -in archivo.pfx -out resultado.cert
  3. openssl pkcs12 -nocerts -in archivo.pfx -out resultado.key -nodes
  4. Si vas a usar el certificado en un Cisco CSS hay que eliminar todo el contenido delante de «—–BEGIN RSA PRIVATE KEY—–» en el archivo resultado.key

Recetas

NMAP

-Idle scan (Escaneo pasivo)

1- Obtener hosts vulnerables como intermediario

shell#: nmap -O -v -sS|sT|sA|sW|sM objetivo -oA objetivo.result

2- Buscar los hosts vulnerables en el resultado

shell#: grep «IP ID» objetivo.result.gnmap | perl -pe ‘s/Host:([^\t]+).*IP ID Seq:([^:]+)/$1 $2/’

3-Realizar ping a través de un intermediario

shell#: nmap -PN -p- -sI intermediario destino

-Escaneo ping rápido

nmap -sP rango_ip

PERL

-Sustitución en linea multlinea

perl -pi.back -e ‘undef $/; s/SEARCH/REPLACE/ims’ file

Como saber la versión de gcc usada para compilar el kernel de Linux

Quien no ha compilado un módulo X y al intentar cargarlo se ha encontrado con el desagradable mensaje de que no se puede cargar el módulo por que se ha compilado con una versión de gcc distinta a la utilizada para compilar el kernel. Cada vez que me pasa me encuentro con lo mismo…¿Cómo se que versión de gcc utilizaron para compilar el kernel? y es que es tan sencillo que siempre se me olvida, a ver si al escribirlo aquí se me queda también en la cabeza y si no pues aquí lo tengo… bueno es tan sencillo como ejecutar en un terminal:

shell#: cat /proc/version

¿fácil no?

byte byte 😉

Conectar Microsoft SCCM a ISA Server 2006

Al intentar conectar Microsoft Service Center Configuration Manager (SCCM) con Microsoft ISA server las conexiones RPC eran denegadas, al intentar conectar mediante wmi desde la administración del sistema tampoco se podía conectar. Buscando un poco se encuentran varias soluciones como: agregar el servidor SCCM al conjunto de equipos «Equipos de administración remota» o desactivar la comprobación estricta de RPC. Pero la única que me ha funcionado a mi ha sido añadir una excepción a la regla del sistema que gestiona la administración remota y crear una que la sustituya para el servidor SCCM añadiendole el rango de puertos 1024-6535 para las conexiones RPC. Los pasos son.

  1. Abrir la sección de Directiva de firewall
  2. Añadir un protocolo para los puertos de salida 1024 a 65535, lo llamaré «Puertos > 1024 salida», en el panel derecho: Herramientas>Protocolos>Nuevo>Protocolo. Añadir los puertos 1024 a 65535 TCP de salida. Si no se desea abrir todo el rango superior al 1024 hay que configurar el RPC en el sistema para que use unos puertos concretos en lugar de uno aleatorio por encima del 1024, seguir los pasos descritos en este articulo de la KB de Microsoft: http://support.microsoft.com/kb/154596/en-us/
  3. Añadir una regla nueva, la llamaremos sccm en el ejemplo
  4. La regla sccm debe permitir el tráfico de los protocolos: Control de Firewall de Microsoft, Datagrama NetBios, RPC (todas las interfaces), Servicio de nombre NetBios, Sesión NetBios y el protocolo creado en el punto anterior Puertos > 1024 salida
  5. La regla se debe aplicar al trafico que venga del servidor SCCM y la red Host local y enviado a los destinos Host local y al servidor SCCM, debe permitirse al conjunto de usuarios Todos los usuarios
  6. Una vez creada la regla pulsar el botón derecho sobre ella, seleccionar la opción Configurar protocolo RPC y deseleccionar el checkbox Hacer cumplir la comprobación RPC estricta
  7. Ahora tan solo queda añadir una excepción para el servidor SCCM en la directiva del sistema, seleccionar la pestaña Tareas del panel derecho y pulsar sobre la opción Mostrar reglas de directivas del sistema
  8. Doble click sobre la directiva Permitir la administración remota desde equipos seleccionados que usan MMC, seleccionar la pestaña «De» y añadir el servidor SCCM en el apartado excepciones, cerrar, aplicar los cambios y voila!! funciona
  9. Para finalizar recomiendo que se añada la regla al final de las permisivas para que no se solape con una regla ya existente, debido a que se aplica a todos los puertos.

Una vez comprobado que todo funciona como debe (se puede acceder los recursos compartidos, hacer peticiones WMI remotas) se puede restringir más el acceso de esta regla, ya sea por usuarios o por origenes de la petición.

Byte byte my nerds 😉

Configurar Linux como cliente web de Microsoft ISA Server o Forefront en 5 pasos

El otro día en el curro me iva fatal la conexión ADSL que utilizaba para funcionar con el único pc con Linux de la empresa (un laptop viejo que me cedieron en su día), por otro lado buscando un proxy en python para una idea que me ronda la cabeza encontré proxies que soportan la autenticación NTLM (NT Lan Manager) que es la usada por Windows y, por lo tanto, por el ISA server o Forefront, entonces se me encendió la bombilla, hice una busqueda rápida y efectivamente!! se puede validar un Linux contra un ISA server mediante un proxy que soporte NTLM, siempre y cuando el servidor de Microsoft tenga activada la opción de ser proxy web. En los repositorios de ubuntu hay varios, yo he elegido el cntlm. No es necesario añadir el pc Linux al dominio ya que conectaremos al proxy web pero ya que estamos ¿porqué no hacerlo?

Pasos a seguir

1-Añadir el pc al dominio mediante likewise-open

Como he dicho esto es OPCIONAL, y se puede obviar si no se dispone de una cuenta con suficientes privilegios para añadir elementos al Active Directory o simplemente no queremos que la máquina forme parte del mismo

  • shell#: sudo aptitude install likewise-open5
  • shell#: sudo domainjoin-cli dominio usuario_administrador_del_dominio
  • shell#: sudo /etc/init.d/likewise-open restart

Si se desea añadir el usuario del dominio a sudo hay que  editar /etc/sudoers y añadir una line del tipo DOMINIO\\usuario permisos

2- Instalar y configurar el proxy

Simplemente así

A- Instalar cntlm

shell#: sudo aptitude install cntlm

B -Editar/etc/cntlm.conf

shell#: sudo vi /etc/cntlm.conf

y establecer las variables: Username, Domain, Password, Proxy (Normalmete es ip_isa_server:8080)

C -Ejecutar

shell#: sudo cntlm -M http://abdulet.net (o cualquier url)

Default config file opened successfully
cntlm: Proxy listening on 127.0.0.1:3128
cntlm: Resolving proxy 192.168.50.37…
cntlm: Workstation name used: kubuntu
cntlm: Using proxy proxyserver:8080
Config profile  1/11… OK (HTTP code: 301)
—————————-[ Profile  0 ]——
Auth            NTLMv2
PassNTLMv2      XXXXXXXXXXXXXXXXXXXXXXX

————————————————
cntlm: Terminating with 0 active threads

D -Vomver a editar /etc/cntlm.conf, pegar el texto en rojo ¿Qué… en donde? pues donde más rabia te de 😉 y además borrar la linea del Password en texto plano

E -Reiniciar el proxy

shell#: sudo /etc/init.d/cntlm restart

F -Configurar las aplicaciones para usar el proxy 127.0.0.1 puerto 3128 (estas opciones se puede cambiar en el archivo /etc/cntlm.conf). Para configurar el proxy para las aplicaciones en general hay que editar el archivo .profile

shell#: vi .profile

, añadir estas lineas

http_proxy=»http://localhost:3128″

ftp_proxy=»ftp://localhost:3128″

y volver a iniciar sesión

Y a disfrutar la navegación!!

Como evitar las contraseñas al iniciar sesión en Gnome, también la de la wifi ;)

Aún que no sea lo más seguro, la verdad es que cansa tener que escribir la contraseña cada vez que enciendo el ordenador, sobre todo cuando no tengo nada que esconder en él y si alguien lo necesita se encuentre con este tipo de problemas, así que voy a explicar como hacer que Gnome no pida ningún tipo de contraseña, ni para iniciar sesión ni para conectarse a Internet o usar alguna de las contraseñas que están almacenadas en el anillo de claves. Sigue leyendo