lunes, 15 de agosto de 2011

PCAPrub y metasploit!

Es probable que el modulo pcaprub requerido por algunos modulos de metasploit sea un dolor de cabeza. El resultado es algo como lo que aparece abajo:



msf > use auxiliary/scanner/ip/ipidseq
msf auxiliary(ipidseq) > show options

Module options (auxiliary/scanner/ip/ipidseq):

Name Current Setting Required Description
---- --------------- -------- -----------
INTERFACE no The name of the interface
RHOSTS yes The target address range or CIDR identifier
RPORT 80 yes The target port
SNAPLEN 65535 yes The number of bytes to capture
THREADS 1 yes The number of concurrent threads
TIMEOUT 500 yes The reply read timeout in milliseconds

msf auxiliary(ipidseq) > set RHOSTS 192.168.1.0/24
RHOSTS => 192.168.1.0/24
msf auxiliary(ipidseq) > set THREADS 50
THREADS => 50
msf auxiliary(ipidseq) > run

[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[*] The Pcaprub module is not available: no such file to load -- pcaprub
[-] Auxiliary failed: RuntimeError Pcaprub not available
[-] Call stack:
[-] /opt/framework3/msf3/lib/msf/core/exploit/capture.rb:379:in `check_pcaprub_loaded'
[-] /opt/framework3/msf3/lib/msf/core/exploit/capture.rb:75:in `open_pcap'
[-] (eval):68:in `run_host'
[-] /opt/framework3/msf3/lib/msf/core/auxiliary/scanner.rb:92:in `block in run'
[-] /opt/framework3/msf3/lib/msf/core/thread_manager.rb:64:in `call'
[-] /opt/framework3/msf3/lib/msf/core/thread_manager.rb:64:in `block in spawn'
[*] Auxiliary module execution completed


Para solucionarlo, es muy simple:

Primero se debe compilar el modulo pcaprub almacenado en msf3/external.

Algo asi como:

# ruby extconf.rb && make && make install

Luego, en 32 bits hacemos:

cp /usr/local/lib/site_ruby/1.9.2/i486-linux/pcaprub.so /opt/framework3/ruby/lib/ruby/site_ruby/1.9.1/i686-linux/

En 64 bits hacemos:

cp /usr/local/lib/site_ruby/1.9.2/x86_64-linux/pcaprub.so /opt/framework3/ruby/lib/ruby/site_ruby/1.9.1/x86_64-linux


Es necesario volver a lanzar msfconsole.

Y... ya :)

jueves, 19 de mayo de 2011

Drupal 7 y el contenido en español

Hoy me encontraba desplegando un CMS. Desde los días de LedgerSMB, cuando uno de los desarrolladores de Drupal nos ayudó con el modelo de plantillas he sido un ferviente seguirdor de este sistema.

El caso es que luego de instalarlo y subir el soporte para idiomas y las traducciones en español, comencé a experimentar problemas con el correo electrónico.

Básicamente, el mensaje de error consistía en un problema con el llamado a mail(). Después de indagar un poco en la red, conseguí una sucia solución. Parece estar relacionado con el tamaño del encabezado cuando se usa UTF-8. Así que, para solucionarlo basta con cambiar una línea en el archivo

/includes/unicode.inc

En la función:

function mime_header_encode($string)

Reemplazar

$chunk_size = 47; // floor((75 - strlen("=?UTF-8?B??=")) * 0.75);

con

$chunk_size = 400; // floor((75 - strlen("=?UTF-8?B??=")) * 0.75); ANTES ERA 47

Saludos!

jueves, 5 de mayo de 2011

Headers en C/C++

Una de las pesadillas de todo programador es determinar el minimo conjunto de llamadas #include que debe hacer para que el código compile y sea óptimo en tiempo de compilación.

El programa deheader realiza una analisis de inclusiones sobre el proyecto e identifica cuales son redundantes. Esto puede ayudar mucho a mejorar el tiempo de compilación.

Mas información aqui

DM

domingo, 17 de abril de 2011

Tutorial SFML

Bueno, he creado un pequeño tutorial para la creación de video juegos.

http://www.di-ban.org/informatica2/tutoriales/sfmltutorial/

dm

miércoles, 9 de marzo de 2011

WinApi orden o desorden?

Estaba estudiando el API de windows para enumerar procesos y me encuentro con la noticia de que muchas de las funciones relacionadas con esta funcionalidad han sido migradas de Psapi.dll a Kernel32.dll en Windows 7.

Claro, en realidad migradas quiere decir copiadas. Ya que para garantizar compatibilidad hacia atrás, PsApi.dll no ha cambiado y la funcionalidad se encuentra repetida en ambios dll.

Mejor les dejo este artículo para que lo vean ustedes mismos.

miércoles, 2 de marzo de 2011

Wireshark sin privilegios de root

Ya la vida es bastante dificil como para tener que escribir:

$ sudo wireshark &

Así que voy a adicionar una entrada sobre como configurar wireshark para que pueda funcionar sin TODOS los privilegios.

En primer lugar, el ejecutable que se encarga de capturar los datos se llama dumpcap, así que necesitamos privilegios de ejecución sobre el archivo.

sudo chgrp admin /usr/bin/dumpcap
sudo chmod 750 /usr/bin/dumpcap

Una de las características más interesantes de Linux, son la capacidades. Es el futuro de los privilegios, y tiene un diseño más elaborado que el tradicional GID=0,UID=0.

Para hacer que un ejecutable tenga privilegios restringidos, usamos el programa setcap.

sudo setcap cap_net_raw,cap_net_admin+eip /usr/bin/dumpcap


Para que esto funcione se ha de tener un kernel compilado con soporte de capacidades. Esto es algo innovador, y aunque tomará algún tiempo liberarnos de los archivos setuid que abundan en el sistema, es una iniciativa muy prometedora.

viernes, 18 de febrero de 2011

El secreto del kernel

El kernel es solo un monton de apuntadores a funciones!