martes, 28 de diciembre de 2004

Mi shell script para tunning/performance de tcp/ip en linux

Evidentemente, estos parametros no a todo el mundo le sirven.
(Y si, se que son muy bestias)

echo "0" > /proc/sys/net/ipv4/tcp_sack
echo "0" > /proc/sys/net/ipv4/tcp_timestamps
echo "3129344 3137536 3145728" > /proc/sys/net/ipv4/tcp_mem
echo "65536 1398080 2796160" > /proc/sys/net/ipv4/tcp_rmem
echo "65536 1398080 2796160" > /proc/sys/net/ipv4/tcp_wmem
echo "163840" > /proc/sys/net/core/optmem_max
echo "1048560" > /proc/sys/net/core/rmem_default
echo "2097136" > /proc/sys/net/core/rmem_max
echo "1048560" > /proc/sys/net/core/wmem_default
echo "2097136" > /proc/sys/net/core/wmem_max

Actualizacion: Wed Dec 29 16:42:04 CET 2004
Más elegante con sysctl (/etc/sysctl.conf):

net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_mem = 3129344 3137536 3145728
net.ipv4.tcp_rmem = 65536 1398080 2796160
net.ipv4.tcp_wmem = 65536 1398080 2796160
net.core.optmem_max = 163840
net.core.rmem_default = 1048560
net.core.rmem_max = 2097136
net.core.wmem_default = 1048560
net.core.wmem_max = 2097136

###Hardening Linux:

net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.default.log_martians = 1
net.ipv4.conf.all.log_martians = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.ip_default_ttl = 64
net.ipv4.tcp_syn_retries = 5
net.ipv4.tcp_max_syn_backlog = 256

# -Thx Crg

jueves, 23 de diciembre de 2004

Deshabilitar icmp mask reply en tru64


http://www.ornl.gov/lists/mailing-lists/tru64-unix-managers/2001/03/msg00473.html

Seria hacer eso mismo, pero para el valor icmp_rejectcodemask

tal y como dice el siguiente post, siguiendo los pasos de este link:

http://h30097.www3.hp.com/docs/internet/TITLE.HTM


In article , "Jimmy Kelley"
jimmy@federated.com writes:
Is there some way to disable responses to ICMP timestamp requests in
Tru64
UNIX v 4.0f?

I checked the source code; there is indeed a way, although it takes a little
explanation.

There's a kernel global variable (in 4.0F; I'm not sure about earlier releases)
called "icmp_rejectcodemask". This is a bit mask, where each bit corresponds
to an ICMP message type code. If a bit is set, incoming messages with the
corresponding type are not handled by the ICMP protocol code (although they
ARE passed along to the raw-IP input code).

You can set multiple bits, to disable multiple ICMP types.

To disable responses to ICMP timestamp requests, for example, in C the
appropriate assignment would be:

icmp_rejectcodemask |= (1<<ICMP_TSTAMP);

Looking in /usr/include/netinet/ip_icmp.h, we find

#define ICMP_TSTAMP 13 /* timestamp request
*/

and (1<<13) = 8192.

So, to disable responses to ICMP_TIMESTAMP, you would set
icmp_rejectcodemask = 8192.


Currently, the only way to change this variable (so far as I know) is via dbx;
instructions are at http://www.unix.digital.com/internet/tuning.htm#mod_atts

I was told by the kernel engineers that "we are adding this to the on-line
internet server tuning guide for the next revision. It keeps coming up lately."

-Jeff

lunes, 13 de diciembre de 2004

Control del ancho de banda (bandwith/vnstat)

Otra cosa que olvido siempre es el nombre del programita este para controlar el ancho de banda. Es muy sencillo y para ver de un vistazo el bandwith consumido me parece practico. Se llama vnStat. En su pagina web
hay 'screenshots' y todo lo necesario.


Actualizacion: Mon Dec 13 18:25:02 CET 2004
DS se ha currado un rpm para fc3:

spezialk.net


miércoles, 1 de diciembre de 2004

Sincronizar Palm con HotSync e irda

Si estas tratando de sincronizar tu palm con el portatil
y te da un error al marcar la opcion de infrarojos
en el hotsync (mandandote a leer //Helpnotes//IR_Readme.txt)
algo asi como: "Error accessing the IR Port. See the
//Helpnotes//IR_Readme.txt for more information", tiene facil
solucion:

- Panel de control
- Wireless link
- En la pestaña de Wireless Link desmarcar la opcion:
"Use wireless link to transfer images from a digital
camera to your computer".
(En castellano no se como lo pondra)
- Una vez hecho esto, rearrancar el hotsync y arreando.

No olvidar marcar en la pda que vais a usar irda!

lunes, 29 de noviembre de 2004

Version de apache con mod_security

Probando mod_security, he tratado de cambiar la cabecera
"Server" de mi apache, pero me daba el siguiente error:

SecServerSignature: not enough space to copy new signature

El casque este, es simplemente por que tengo activado la
la propia directiva de apache para que no muestre la version:


ServerTokens Prod

Simplemente no usandola... el tema empieza a rular

viernes, 26 de noviembre de 2004

Cambiar la version de Bind

Esta va a peticion ;)

Para cambiar la version del bind y no mostarar la verdedara
se utiliza "version" dentro de "options" del archivo
named.conf, como el siguiente ejemplo:

options {
version "Smile!, you re logged!";
........
};


martes, 16 de noviembre de 2004

Upgrade de fc2 a fc3 (udev)

Pues si, he tenido el server caido más de 3 dias hasta que
me han conseguido solucionar el problema que me ha causado
el cambio del paquete dev por el udev.
Si haceis esta actualización, andaros con ojo y aseguraros
bien las cosas ante sde hacer un reboot, sobre todo, si no
teneis acceso fisico, como yo



Podeis encontrar más información aquí

viernes, 22 de octubre de 2004

Expresiones regulares en php con preg_match

He tardado un buuuen rato en encontrar como hacer una expresion
regular en php. El problema es que con "ereg" no permite
que sean "non-greedy", y hay que utilzar la familia preg_*
Este ejemplo me ayudó bastante (en aleman):

$string = 'Dieser Satz wird fast gefressen';

// Normalzustand:
preg_match('/D.*r/', $string, $matches);
-> Dieser Satz wird fast gefr

// Einen Quantifier ungreedy gemacht:
preg_match('/D.*?r/', $string, $matches);
-> Dieser

// Greediness aller Quantifier umgeschaltet:
preg_match('/D.*r/U', $string, $matches);
-> Dieser

// Doppelt gemoppelt: Greediness umgeschaltet,
// einen Quantifier wieder zurückgeschaltet:
preg_match('/D.*?r/U', $string, $matches);
-> Dieser Satz wird fast gefr

// Bei dieser Schreibweise spielt die Greediness keine Rolle:
preg_match('/D[^r]*r/', $string, $matches);
-> Dieser

domingo, 26 de septiembre de 2004

Configuracion de Putty

Esta son mis settings para configurar el putty: putty.settings.reg. Claramente, el mejor
cliente de ssh.

miércoles, 25 de agosto de 2004

historico de versiones de Solaris

SunOS version Solaris version Release date Supported platforms
4.0.2 none Sep. 89 386i
4.0.3 none May 89 sun2, sun3/3x, sun4
4.0.3c none June 89 Sparc 1
4.0.3 PSR_A none July 89 Sun 4/470, 4/490
4.1 none Mar. 90 sun3, sun4
4.1e none Apr. 91 sun4e
4.1.1 none Mar. 90 sun3/3x, sun4
4.1.1B 1.0 Feb. 91 sun4
4.1.1.1 1.0 Jul. 91 sun3/3x
4.1.1_U1 1.0 Nov. 91 sun3/3x
4.1.2 1.0.1 Dec. 91 sun4, sun4m
4.1.3 1.1A Aug. 92 sun4, sun4c, sun4m
4.1.3C 1.1c Nov. 93 Sparc LX/Classic
4.1.3_U1 1.1.1 Dec. 93 sun4, sun4c, sun4m
4.1.3_U1B 1.1.1B Feb. 94 sun4, sun4c, sun4m
4.1.4 1.1.2 Nov. 94 sun4, sun4c, sun4m
5.0 2.0 Jul. 92 sun4c
5.1 2.1 Dec. 92 sun4, sun4c, sun4m, x86
5.2 2.2 May 93 sun4, sun4c, sun4m, sun4d
5.3 2.3 Nov. 93 sun4, sun4c, sun4m, sun4d
5.4 2.4 Aug. 94 sun4, sun4c, sun4m, sun4d, x86
5.5 2.5 Nov. 95 sun4c, sun4m, sun4d, sun4u, x86
5.5.1 2.5.1 May 96 sun4c, sun4m, sun4d, sun4u, x86, ppc
5.6 2.6 Aug. 97 sun4c, sun4m, sun4d, sun4u, x86
5.7 7 Oct. 98 sun4c, sun4m, sun4d, sun4u, x86
5.8 8 2000 sun4m, sun4d, sun4u, x86

martes, 24 de agosto de 2004

Puertos generales en un w2k

Port Assignments for Commonly-Used Services


lunes, 23 de agosto de 2004

PingScan

La mejor forma de hacer un scan (definitivamente) es con nmap, ni icmpenum
ni sing, ni leches...

nmap -sP -PM -PE -PP -PS21,22,25,53,80,110,135,143,139

Aunque no entiendo como no han metido "Information Request" (tipo 15),
como una de las opciones -Px de nmap.

Ademas del limitado numero de puertos en el parametro -PS (tcp syn)

Actualizado: Fri Aug 15 01:55:55 CEST 2008 (de charla dc de fyodor)


nmap -sP -PE -PP -PS21,23,25,80,113,31339 -PA80,113,443,10042 --source-port 53 -T4

Cuatro años después, el man explica el porque no del Information Request }:>

jueves, 12 de agosto de 2004

BruteForce de Web para Linux (entre otras cosas)

Aunque lo realmente interesante es que ofrece bruteforce para web, tambien hace
otras cosas como scaneo de cgis y banners.
babelweb
Dejo copia en local por que luego seguro que no lo encuentro:
babelweb

viernes, 6 de agosto de 2004

Escanear con hping spoofeando usando un zombie host

Post de antirez

The Players:


host A - evil host, the attacker.
host B - silent host.
host C - victim host.


- Se comprueba que el host B es "idle" viendo que no aumenta el "id"
nuestros paquetes (+1)
#hping B -r
HPING B (eth0 xxx.yyy.zzz.jjj): no flags are set, 40 data bytes
60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=0 ttl=64 id=41660 win=0 time=1.2 ms
60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=1 ttl=64 id=+1 win=0 time=75 ms
60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=2 ttl=64 id=+1 win=0 time=91 ms
60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=3 ttl=64 id=+1 win=0 time=90 ms
60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=4 ttl=64 id=+1 win=0 time=91 ms
60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=5 ttl=64 id=+1 win=0 time=87 ms

-Se envian paquetes a C spoofeando con B mientras se comprueban los ids en otra ventana
#hping C -a B -S

--------------------------
nmap lo soporta con -sI


miércoles, 4 de agosto de 2004

Parsear la web para cambiar codigos ASCII a HTML

Como soy un paquete, y no me se los codigos html necesarios
para los posts, y los posts son archivos ascii (txt),
me he currado un mini script para parsearlos y que la web
siga pasando el validator de w3c:

# shell script para hacerlo en todo mi directorio /wiki:
for i in `find . -iname "*.txt"`; do
dat=`ls -l --time-style=+%Y%m%d%H%M $i | awk '{ print $6 }'`
cat $i | wraphtml.pl > $i.new.txt
touch -t $dat $i.new.txt; mv $i $i.orig
done

# perl que realmente parsea:
wraphtml.pl

Guia rapida de DM-CRYPT + LVM

+---------------------------------------------------------------+
| Guia rapida de DMCRYPT + LVM A. Ramos |
| 29/Jul/2004 v1.0 aramosf@unsec.net |
+---------------------------------------------------------------+


/ 1.- Introduccion /
+--------------------+

El proposito de esta guia es crear un volumen logico con LVM2
(Logical Volume Manager) y este a su vez cifrado con el algoritmo AES.
Se van a utilizar dos discos; uno de ellos de sistema, y el otro completamente.

Toda la documentacion y pruebas se han realizado en un Linux Fedora core 2,
con kernel 2.6.7 y lvm version 2. Aunque evidentemente, el proceso es igual
o muy parecido para otras distribuciones.


/ 2.- Requisitos /
+------------------+

Partimos de la base de que utilizamos un sistema con un kernel con soporte
dm-crypt que viene incluido apartir de la version 2.6.4 o superior, ademas de
soporte loopback, lvm y device-mapper

Las opciones necesarias en el kernel son:

Device Drivers --->
Block devices --->
Loopback device support

Multi-device support (RAID and LVM) --->
RAID support
Device mapper support
Crypt target support


Estas opciones se pueden incluir estaticas o como modulos.


/ 3.- Dispositivos /
+---------------------+

En el ejemplo se supone que hda2 es el directorio raiz, y hdd un disco duro
adicional, ambos tienen un tamaño de 80Gbs y su distribucion seria:


hda hdd
.··---··. .··---··.
·..___..· ·..___..·
hda1 | swap | ] 256Mb | | -+
|-------| -+ | | |
| | | | hdd | | 80Gbs
hda2 | / | | 72Gb | | |
| | | | | |
·..___..· -+ ·..___..· -+



/ 4.- Configuracion /
+----------------------+

A continuacion se presentan todos los comandos que son necesarios y su
la accion que realiza.

Se crea un archivo de 54gbs dentro del directorio /datos para el lvm, el
resto de espacio de esta unidad se deja para el sistema operativo:

# dd if=/dev/urandom of=/datos/datos1 bs=1M count=54000

Este comando crea un fichero con un contenido de bytes al azar, de un tamanyo
54000Mb y de nombre "datos1".

Se asigna al dispositivo loop0 el fichero creado:

# losetup /dev/loop0 /datos/datos1

Ahora se crea el primer PV (physical volume) del LVM:

# lvm pvcreate /dev/loop0
No physical volume label read from /dev/loop0
Physical volume "/dev/loop0" successfully created

Una vez terminado con la parte del primer disco duro, se empieza con el
segundo, eliminando la tabla de particiones de "hdd":

# shred -n 1 -v /dev/hdd

Para la creacion del segundo PV en el disco duro hdd:

# lvm pvcreate /dev/hdd
No physical volume label read from /dev/hdd
Physical volume "/dev/hdd" successfully created

Comprobacion de que ambos PVs han sido creados correctamente:

# lvm pvs
PV VG Fmt Attr PSize PFree
/dev/hdd lvm2 -- 74.53G 74.53G
/dev/loop0 lvm2 -- 53.71G 53.71G

Una vez terminado con los PVs, se realiza la creacion del VG (volume group)
de nombre "aes":

# lvm vgcreate aes /dev/loop0 /dev/hdd
Volume group "aes" successfully created

Para terminar con el LVM, se añade el LV (logical volume) de nombre "rules",
usando como tamanyo la suma de los PVs que se han creado anteriormente:
74.5Gb + 53.7

# lvm lvcreate -n rules aes -L128.20G
Rounding up size to full physical extent 128.20 GB
Logical volume "rules" created

Tras realizar todas estas operaciones se obtine el volumen logico creado
al que podemos acceder en: /dev/aes/rules con un tamaño de 128.20 Gbs.

Cifrar el volumen es sencillo, primero hay que asignarlo nuevamente
a un volumen loop, en este caso seria el numero 1, ya que el 0 se esta
utilizando en el propio LVM.

# losetup /dev/loop1 /dev/aes/rules

Tras esto, se utiliza la utilidad cryptsetup, para crear el volumen cifrado.
Esta utilidad es una manera sencilla de configurar volumenes en dmcrypt sin
tener que utilizar "dmsetup".

Cryptsetup es una utilidad que proporciona el autor de dm-crypt. Para Fedora
Core 2, existe el paquete en rpm llamado: cryptsetup_0.1-1_i386.rpm. Para otras
distribuciones o bien se busca el adecuado o se compila desde:
http://www.saout.de/misc/dm-crypt/cryptsetup-0.1.tar.bz2

# cryptsetup -c aes -y create crypt /dev/loop1
Enter passphrase:
Verify passphrase:

En este comando, "crypt" es el nombre que se asigna al volumen cifrado. Al
ejecutarlo ha de asignarse una contraseña para cada vez que se desee crear y
eliminar el dispositivo.

Una vez creado el nuevo dispositivo cifrado: /dev/mapper/crypt, tan solo
es necesario formatearlo y montarlo para poder disfrutar de el:

# mke2fs -j /dev/mapper/crypt
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
16809984 inodes, 33607680 blocks
1680384 blocks (5.00%) reserved for the super user
First data block=0
1026 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.


# mount /dev/mapper/crypt /crypt

Comprobacion de que el montaje es correcto:

# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda2 72G 58G 11G 85% /
none 252M 0 252M 0% /dev/shm
/dev/mapper/crypt 127G 33M 120G 1% /crypt


/ 5.- Consideraciones /
+------------------------+

Hay que tener en cuenta, que si se desmonta el volumen /crypt, se podra
acceder a el sin ninguna contrasenya al no ser que se ejecute el comando:

# cryptsetup remove crypt

De esta forma se elimina el volumen "crypt" pero no su contenido.

Una vez que se reinicie el sistema o se desmonte completamente, tanto el LVM
como el dm-crypt, para recuperar los datos hay que ejecutar:

# losetup /dev/loop0 /datos/datos1
# lvm vgchange -a y
# losetup /dev/loop1 /dev/aes/rules
# cryptsetup -c aes -y create crypt /dev/loop1
Enter passphrase:
Verify passphrase:
# mount /dev/mapper/crypt /crypt

Los dos primeros comandos configuran nuevamente el LVM, y los dos siguientes
el volumen cifrado. Con el ultimo se monta el dispositivo.


/ 6.- Otras utilidades - ideas /
+--------------------------------+

Es una buena idea utilizar dm-crypt para otras utilidades como por ejemplo
cifrar los logs del sistema, el directorio tmp o la memoria swap.

Para cifrar la swap es tan sencillo como ejecutar:

# swapoff -a
# cryptsetup --key-file=/dev/urandom create swap /dev/hda1
# mkswap /dev/mapper/swap
# swapon /dev/mapper/swap

El primer comando desactiva la swap para que no haya problemas.
El segundo crea un dispositivo "swap" con la particion hda1, y con
una contrasenya aleatoria que nos es indiferente, ya que en el proximo reinicio,
no queremos recuperar los datos.
El tercer comando crea el area swap en el nuevo dispositivo cifrado:
/dev/mapper/swap.
El ultimo comando activa la nueva swap.

Si ya existe un volumen cifrado con mucho espacio libre y no se desea
repetir varias veces el proceso de agregar nuevos volumenes, la solucion
es utilizar enlaces de sistema, o puntos de montaje:

# mkdir /crypt/logs /crypt/tmp
# chmod 1777 /crypt/tmp
# ln -s /crypt/tmp /tmp
# mount --bind /crypt/logs /var/log

Estos comandos realizan las siguientes acciones:
- Creacion de los directorios "logs" y "tmp" dentro de "crypt"
- Se anyade el bit "sticky" al directorio /crypt/tmp
- Se crea un enlace simbolico de /crypt/tmp a /tmp
- Se monta el directorio /crypt/logs sobre /var/log

Notese que en un ejemplo se utiliza la opcion --bind de mount, y en otro
el comando "ln", esto es indiferente y es el administrador quien decidira
cual de ellos es mas conveniente.

Si por el contrario no se dispone de ninguna unidad cifrada y unicamente
se quiere cifrar los logs del sistema, las ejecuciones serian:

Creacion de un archivo dentro de /datos con nombre "logs":

# dd if=/dev/urandom of=/datos/logs count=100 bs=1M

Se asigna al loopback 0:

# losetup /dev/loop0 /datos/logs

Creacion del mapper cifrado de nombre "logs", nos pedira que introduzcamos
una contrasenya dos veces. Hay que destacar que cuando se quiera desmontar y
no utilizar mas el volumen cifrado hay que volver a llamar a cryptsetup, con la
opcion "remove", como se explico anteriormente.

# cryptsetup -c aes -y create logs /dev/loop0
Enter passphrase:
Verify passphrase:

Formateo con sistema de ficheros ext3 y montaje en el directorio final:

# mkfs.ext3 /dev/mapper/logs
# mount /dev/mapper/logs /var/log

/ 6.- Referencias /
+-------------------+

http://tldp.org/HOWTO/LVM-HOWTO/
http://www.saout.de/misc/dm-crypt/
http://www.saout.de/tikiwiki/
http://www.saout.de/misc/dm-crypt/cryptsetup-0.1.tar.bz2

miércoles, 28 de julio de 2004

Tener el euro en consola en mi Fedora

Hay que tener estos ficheros así:
/etc/sysconfig/i18n:
LANG="C"
SUPPORTED="es_ES@euro:es_ES:es"
SYSFONT="lat0-16"
SYSFONTACM=iso15
CHARSET="iso8859-15"

/etc/sysconfig/keyboard
KEYBOARDTYPE="pc"
KEYTABLE="es-cp850"

miércoles, 14 de julio de 2004

Restaurar las politicas de segurdad a las que vienen por defecto:

secedit /configure /cfg %windir%\repair\secsetup.inf /db secsetup.sdb /verbose

miércoles, 23 de junio de 2004

Para activar el añadir y quitar programas

Si no os dejan añadir y quitar programas, podeis cambiarlo en:
[HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Uninstall]
Key NoAddRemovePrograms tiene que estar a 0

domingo, 20 de junio de 2004

Estadisticas para ClamAV, en plan cutre

awk '/INFECTED/ { print $8}' /var/log/maillog.1 | \
sed -e 's,(\(.*\))\,,\1,' | sort | uniq -c | sort -nr



Otra opicion:
-------------------------------------------------------------------

valerts=/var/mail/virtual/unsec.net/virusalert
var1=`grep "Subject: VIRUS" $valerts | sed -e 's,.*(\(.*\)).*,\1,g' \
| sort | uniq -c| sort -nr`
var2=`grep -A1 'The message WAS NOT delivered to' $valerts | \
grep -e '^<.*:$' | sed -e 's,:,\1,' \
| sort | uniq -c | sort -nr`
var3=`echo "$var1" | awk '{ print $1 }' | tr '\n' '+' | sed -e s,.$,,`
var4=$(( $var3 ))
echo " "
echo ".:[ Estadisticas generales ]:."
echo "------------------------------"
echo "Numero total de mails infectados: $var4"
echo " "
echo ".:[ Virus encontrados ]:."
echo "-------------------------"
echo "$var1"
echo " "
echo ".:[ Recipientes con mas virus ]:."
echo "---------------------------------"
echo "$var2"

miércoles, 9 de junio de 2004

Activar autocompletado en CMD de Windows

To enable file and folder completion for one use of the command processor,
type CMD /F:ON, which sets the file completion character to CTRL+F and the
path completion to CTRL+D. To disable it for the current session, type CMD
/F:OFF.


To set file name completion via the registry, use Regedt32 to navigate to:


HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor



Edit or Add Value name CompletionChar as a REG_DWORD data type. A data value
of 0 turns off filename completion.
A data value in the range of 0x1 - 0x1F turns it on, where the data value is
the ASCII control character.
A data value of 0x4 is CTRL+D, while 0x6 is CTRL+F.


To set path completion, Edit or Add Value name PathCompletionChar as a
REG_DWORD data type. A data value of 0 turns off path completion.
A data value in the range of 0x1 - 0x1F turns it on, where the data value
is the ASCII control character.
A data value of 0x4 is CTRL+D, while 0x6 is CTRL+F.



NOTE: Both these Value Names can also be configured at HKEY_LOCAL_MACHINE.
HKEY_CURRENT_USER takes precedence.

NOTE: When you press the file or path completion, the first matching entry
appears. Pressing it again retrieves the next entry in the list.
To go backwards, press SHIFT+<completion-character>.

lunes, 31 de mayo de 2004

Bastionado de Oracle (scripts sql)

Comprobacion de usuarios por defecto en oracle (script sql)

Viene de:
http://www.pentest.co.uk/sql/check_users.sql


Mirror:http://www.pentest.co.uk/sql/check_users.sql

Comprobacion de distintos aspectos de seguridad:

De: http://www.pentest.co.uk/sql/scanner.sql
Mirror:http://www.pentest.co.uk/sql/scanner.sql

domingo, 30 de mayo de 2004

Si no arranca el servidor X

Es que le hace falta que este arrancado el rpcbind, y el servicio
/usr/dt/bin/rpc.ttdbserverd (que esta en el inetd.conf), ademas de
dtlogin, claro.

miércoles, 28 de abril de 2004

Uptime con hping2

Algo que siempre me toca mirar en google, por que no recuerdo
los parametros (se me olvida poner el flag syn)

hping2 host -p 80 -S --tcp-timestamp

Para obtener la version

dig @nameserver version.bind txt chaos

miércoles, 31 de marzo de 2004

Para sustituir el cygwin.bat

$ cat /cygwin.bat
@echo off
C:
chdir C:\cygwin\bin
set DISPLAY=:0
rxvt -sl 9999 -rv -e bash --login -i

martes, 24 de febrero de 2004

Imprimir una ' en awk

Para imprimir una ' en awk tan facil como:
"'\''"

Ejemplo:

echo aa bb cc | awk '{ print $1"'\''"$3}'

miércoles, 28 de enero de 2004

How to Determine if Enhanced Security Is Installed and Running

If you are not sure if the optional, enhanced-security features are
installed on your system, you can check as follows:

$ ls -l /usr/.smdb./OSFC2SEC4??.lk
-rw-r--r-- 1 root system 0 Nov 8 11:02 \
/usr/.smdb./OSFC2SEC400.lk



The presence of the lock file (OSFC2SEC400.lk) indicates that the enhanced
security subset is installed (but not necessarily running) on your system. If
the subset is not installed, you will receive a "not found" message.

To determine if the installed enhanced security is running on your system,
enter the following command:

$ /usr/sbin/rcmgr get SECURITY BASE
ENHANCED


If the string "ENHANCED" is returned, enhanced security is running. If the
string "BASE" is returned, enhanced security is not running

Desde:
http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-Q0R2D-TET1_html/sec.c23.html

martes, 27 de enero de 2004

Guia rapida de Cryptoloop + LVM

+---------------------------------------------------------------+
| Guia rapida de Cryptoloop + LVM aramosf @ unsec . net |
| 19/Ene/2004 v1.0 bladi-sec @ novasec . es |
| http://www.unsec.net |
+---------------------------------------------------------------+

Lo Necesario:
+-------------+

El proposito de esta mini guia es crear un volumen logico con LVM2
(Logical Volume Manager) y este a su vez cifrado con el algoritmo AES-128.
Usando dos discos; uno de ellos de sistema, y el otro completamente. Conside-
ramos que ya se tiene el concepto claro de que es un LVM y Cryptoloop.

Toda la documentacion y pruebas se han realizado en un Linux Fedora 1,
con kernel 2.6.1 y lvm version 2.

Partimos de la base de que utilizamos un sistema con un kernel con soporte
loop_aes; 2.6 o 2.4 parcheado, y tiene instalado los paquetes necesarios lvm2
(y su soporte en el kernel). Tambien es necesario la ultima version de mount
y util-linux: 2.12

Las opciones necesarias para LVM en el kernel son:

Device Drivers --->
Multi-device support (RAID and LVM) --->
[*] Multiple devices driver support (RAID and LVM)
...
Device mapper support

Opciones necesarias para CryptoLoop AES:

Cryptographic options --->
AES cipher algorithms


En este ejemplo suponemos que hda2 es el directorio raiz, y hdb un disco
duro adicional (ambos tienen un tamaño de 40Gbs):

hda hdb
.··---··. .··---··.
·..___..· ·..___..·
hda1 | swap | ] 256Mb | | -+
|-------| -+ | | |
| | | | hdb | | 40Gbs
hda2 | / | | 39Gb | | |
| | | | | |
·..___..· -+ ·..___..· -+


Configuracion
+-------------+

A continuacion, se presentan todos los comandos que son necesarios y su
significado:

Creamos un archivo de 35gbs para el lvm, el resto se dejara para el sistema
operativo:

# dd if=/dev/zero of=datos1 bs=1M count=35000

Con este comando se crea un fichero lleno de ceros, de un tamaño de 35000Mb
y de nombre "datos1". Para mayor seguridad se recomienda hacerlo con
/dev/urandom en vez de /dev/zero.

Asignamos a /dev/loop1 nuestro fichero:

# losetup /dev/loop1 datos1

Creamos el PV:

# lvm pvcreate /dev/loop1
No physical volume label read from /dev/loop1
Physical volume "/dev/loop1" successfully created

Ahora vamos con el segundo disco: eliminamos la tabla de particiones de
hdb:

# dd if=/dev/zero of=/dev/hdb bs=1k count=1
# blockdev --rereadpt /dev/hdb

Un metodo alternativo a este, y mas paranoico seria utilizar:

# shred -n 1 -v /dev/hdb

Creamos el PV para el disco duro hdb:

# lvm pvcreate /dev/hdb
No physical volume label read from /dev/hdb
Physical volume "/dev/hdb" successfully created

Creamos un volumen llamado "PN":

# lvm vgcreate PN /dev/loop1 /dev/hdb
Volume group "PN" successfully created

Comprobamos que vamos bien, y averiguamos el tamaño de nuestro futuro
volumen:

# lvm pvdisplay
--- Physical volume ---
PV Name /dev/loop1
VG Name PN
PV Size 34.17 GB / not usable 0
Allocatable yes
PE Size (KByte) 4096
Total PE 8748
Free PE 8748
Allocated PE 0
PV UUID SHMmrX-tZy5-2bKV-J2JQ-a6NU-5YOx-xJF1hr

--- Physical volume ---
PV Name /dev/hdb
VG Name PN
PV Size 55.89 GB / not usable 0
Allocatable yes
PE Size (KByte) 4096
Total PE 14308
Free PE 14308
Allocated PE 0
PV UUID dDBCGR-swNs-6oS3-Be2t-TGnf-nFxs-hRJkr6


Creamos el volumen logico de 89G (sumas de los PV SIZE 34.17+55.89)

# lvm lvcreate -n DURO PN -L89G
Logical volume "DURO" created

Configuramos con AES a 128 el loop2 con nuestro nuevo volumen:

# losetup -e aes-128 /dev/loop2 /dev/PN/DURO
Password:

NOTA: pueden usarse otros algoritmos o un tamaño mas grande (256), pero el
rendimiento se vera afectado en torno al 20%. Nos pedira una contraseña que
tendremos que introducir cada vez que montemos el volumen:

Para añadir mayor seguridad, podemos utilizar la opcion -S xxxxxxxxxx,
donde "xxxxxxxxxx", es un seed al azar tecleado por nosotros mismos, esto
ayudara a preveer ataques de diccionario.

Formateamos el volumen:

# mke2fs -j /dev/loop2
mke2fs 1.34 (25-Jul-2003)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
....


Finalizacion
+------------+

YA ESTA TERMINADO !!

Para montar:

# mount -t ext3 -oencryption=aes-128 /dev/PN/DURO /mnt
Password:

Si meteis mal la password, mostrara este error:

# mount -t ext3 -oencryption=aes-128 /dev/PN/DURO /mnt
Password:
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
or too many mounted file systems
(could this be the IDE device where you in fact use
ide-scsi so that sr0 or sda or so is needed?)


Comprobaciones
+--------------+

# df -h

/dev/mapper/PN-DURO 88G 33M 84G 1% /mnt

Cada vez que se desmonte, recuerda que hay que hacer "attach" antes de
montar:

# losetup -e aes-128 /dev/loop2 /dev/PN/DURO
# mount -t ext3 -oencryption=aes-128 /dev/PN/DURO /mnt

Y si quieres que cuando se reinicie la maquina este todo correcto:

# lvm vgchange -an
# lvm lvchange /dev/PN/DURO -ay

Si quereis comprobar la velocidad del volumen creado, lo mejor es utilizar
bonnie++,
http://www.coker.com.au/bonnie++/.


Documentacion y referencia
+--------------------------+

http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Cryptoloop-HOWTO.html
http://tldp.org/HOWTO/LVM-HOWTO/
http://lists.sistina.com/pipermail/linux-lvm/2002-October/012541.html
http://vware.hypermart.net/howto_filesystem_encryption.htm

CREDITOS: idea,soporte,guru: bladi / dardhal

miércoles, 21 de enero de 2004

MTA Basic operation


Please inform any corrections.

exim-2.053



+----------------------------------------------------------------------+
| Daemon start | exim -bd -q1h |
|-------------------------+--------------------------------------------|
| Daemon termination | kill -TERM `cat /var/run/exim.pid` |
|-------------------------+--------------------------------------------|
| Daemon is for | receive, queue management |
|-------------------------+--------------------------------------------|
| Concurrency control | remote_max_parallel = in |
| | /usr/local/etc/exim/configure |
|-------------------------+--------------------------------------------|
| Message submission | exim -f SDR RCPT |
|-------------------------+--------------------------------------------|
| Logging | /var/log/exim_mainlog |
|-------------------------+--------------------------------------------|
| Outgoing queue | /var/spool/exim/input/* |
|-------------------------+--------------------------------------------|
| Listing of queued | exim -bp |
| messages | |
|-------------------------+--------------------------------------------|
| Force queue processing | exim -q |
|-------------------------+--------------------------------------------|
| Location of aliases | /etc/aliases |
|-------------------------+--------------------------------------------|
| Reconstruction of alias | not required |
| db | |
+----------------------------------------------------------------------+

postfix beta-19990122-pl01




+----------------------------------------------------------------------+
| Daemon start | /usr/local/postfix/bin/postfix start |
|-------------------------+--------------------------------------------|
| Daemon termination | /usr/local/postfix/bin/postfix stop |
|-------------------------+--------------------------------------------|
| Daemon is for | receive, send, queue management |
|-------------------------+--------------------------------------------|
| Concurrency control | 'smtp' line in /etc/postfix/master.cf |
|-------------------------+--------------------------------------------|
| Message submission | /usr/local/postfix/bin/sendmail -f SDR |
| | RCPT |
|-------------------------+--------------------------------------------|
| Logging | /var/log/maillog (syslog) |
|-------------------------+--------------------------------------------|
| Outgoing queue | /var/spool/postfix/deferred/* |
|-------------------------+--------------------------------------------|
| Listing of queued | /usr/local/postfix/bin/sendmail -bp |
| messages | |
|-------------------------+--------------------------------------------|
| Force queue processing | /usr/local/postfix/bin/sendmail -q |
|-------------------------+--------------------------------------------|
| Location of aliases | /etc/aliases (see /etc/postfix/main.cf) |
|-------------------------+--------------------------------------------|
| Reconstruction of alias | /usr/local/postfix/bin/postalias |
| db | |
+----------------------------------------------------------------------+

Configurations can be seen with /usr/local/postfix/bin/postconf

qmail-1.03



+----------------------------------------------------------------------+
| Daemon start | /var/qmail/boot/home |
|---------------------+------------------------------------------------|
| Daemon termination | kill -TERM 'PID of qmail-send' |
|---------------------+------------------------------------------------|
| Daemon is for | receive, send, queue management (qmail-smtpd |
| | required for receiving) |
|---------------------+------------------------------------------------|
| Concurrency control | just numerics in |
| | /var/qmail/control/concurrencyremote |
|---------------------+------------------------------------------------|
| Message submission | /var/qmail/bin/qmail-inject -fSND RCPT |
|---------------------+------------------------------------------------|
| Logging | /var/log/maillog (via syslog) |
|---------------------+------------------------------------------------|
| Outgoing queue | /var/qmail/queue/remote/* |
|---------------------+------------------------------------------------|
| Listing of queued | /var/qmail/bin/sendmail -bp ; |
| messages | /var/qmail/bin/qmail-qstat |
|---------------------+------------------------------------------------|
| Force queue | kill -ALRM 'PID of qmail-send' |
| processing | |
|---------------------+------------------------------------------------|
| Location of aliases | var/qmail/alias/.qmail-* |
|---------------------+------------------------------------------------|
| Reconstruction of | not required (without fastforward) |
| alias db | |
+----------------------------------------------------------------------+

sendmail-8.9.3


+----------------------------------------------------------------------+
| Daemon start | /usr/sbin/sendmail -bd -q1h |
|----------------------------+-----------------------------------------|
| Daemon termination | kill -TERM `head -1 |
| | /var/run/sendmail.pid` |
|----------------------------+-----------------------------------------|
| Daemon is for | receive, queue management (not for |
| | send) |
|----------------------------+-----------------------------------------|
| Concurrency control | ----------------------------------- |
|----------------------------+-----------------------------------------|
| Message submission | /usr/sbin/sendmail -fSDR RCPT |
|----------------------------+-----------------------------------------|
| Logging | /var/log/maillog (syslog) |
|----------------------------+-----------------------------------------|
| Outgoing queue | /var/spool/mqueue/ |
|----------------------------+-----------------------------------------|
| Listing of queued messages | /usr/sbin/sendmail -bp ; mailq |
|----------------------------+-----------------------------------------|
| Force queue processing | /usr/sbin/sendmail -q |
|----------------------------+-----------------------------------------|
| Location of aliases | /etc/aliases (see /etc/sendmail.cf) |
|----------------------------+-----------------------------------------|
| Reconstruction of alias db | /usr/sbin/sendmail -bi ; newaliases |
+----------------------------------------------------------------------+

zmailer-2.99.50s11



+----------------------------------------------------------------------+
| Daemon start | zmailer |
|---------------------+------------------------------------------------|
| Daemon termination | zmailer stop |
|---------------------+------------------------------------------------|
| Daemon is for | receive, send, queue management |
|---------------------+------------------------------------------------|
| Concurrency control | maxchannel of smtp/* in |
| | /usr/local/zmailer/scheduler.conf |
|---------------------+------------------------------------------------|
| Message submission | /usr/local/zmailer/bin/sendmail -f SDR RCPT |
|---------------------+------------------------------------------------|
| Logging | /var/log/mail/smtp |
|---------------------+------------------------------------------------|
| Outgoing queue | /var/spool/postoffice/queue/* |
|---------------------+------------------------------------------------|
| Listing of queued | /usr/local/zmailer/bin/mailq |
| messages | |
| Message submission | /usr/sbin/sendmail -fSDR RCPT |
|----------------------------+-----------------------------------------|
| Logging | /var/log/maillog (syslog) |
|----------------------------+-----------------------------------------|
| Outgoing queue | /var/spool/mqueue/ |
|----------------------------+-----------------------------------------|
| Listing of queued messages | /usr/sbin/sendmail -bp ; mailq |
|----------------------------+-----------------------------------------|
| Force queue processing | /usr/sbin/sendmail -q |
|----------------------------+-----------------------------------------|
| Location of aliases | /etc/aliases (see /etc/sendmail.cf) |
|----------------------------+-----------------------------------------|
| Reconstruction of alias db | /usr/sbin/sendmail -bi ; newaliases |
+----------------------------------------------------------------------+

zmailer-2.99.50s11



+----------------------------------------------------------------------+
| Daemon start | zmailer |
|---------------------+------------------------------------------------|
| Daemon termination | zmailer stop |
|---------------------+------------------------------------------------|
| Daemon is for | receive, send, queue management |
|---------------------+------------------------------------------------|
| Concurrency control | maxchannel of smtp/* in |
| | /usr/local/zmailer/scheduler.conf |
|---------------------+------------------------------------------------|
| Message submission | /usr/local/zmailer/bin/sendmail -f SDR RCPT |
|---------------------+------------------------------------------------|
| Logging | /var/log/mail/smtp |
|---------------------+------------------------------------------------|
| Outgoing queue | /var/spool/postoffice/queue/* |
|---------------------+------------------------------------------------|
| Listing of queued | /usr/local/zmailer/bin/mailq |
| messages | |
|---------------------+------------------------------------------------|
| Force queue | zmailer resubmit |
| processing | |
|---------------------+------------------------------------------------|
| Location of aliases | /usr/local/zmailer/db/aliases (:include: must |
| | be quoted with "") |
|---------------------+------------------------------------------------|
| Reconstruction of | /usr/local/zmailer/bin/newaliases |
| alias db | |
+----------------------------------------------------------------------+

----------------------------------------------------------------------

Copyright by Kyoto Motonori (motonori@wide.ad.jp)

martes, 20 de enero de 2004

SHAPER (en portuges)

Ola,

tenho visto muita gente na lista pesquisando por
Controle de Trafego baseado em endereco IP!

Dah para se conseguir isto com o Traffic Shaper do Linux.
Basta criar varios shapers e adiocar uma rota estatica
de um IP para o shaper.

Vejam um pequeno exemplo:

1) crie varios shapers, faca quantos voce precisar,
cada shaper ira realiza um controle!

$ cd /lib/modules/versao_kernel/net
$ cp shaper.o shaper0.o
$ cp shaper.o shaper1.o
$ cp shaper.o shaper2.o
...

2) Atualize as dependencias parar os novos modulos:

$ depmod -a

3) Carregue os modulos necessarios:

$ insmod shaper0
$ insmod shaper1
...

Obs.: para cada modulo carregado, o kernel disponibiliza
uma interface shaperX, que sera a interface de rota para
o IP onde se quer limitar o trafeo.

4) Atache e configure a velocidade para cada shaper deveice:

$ shapecfg attach shaper0 eth1
$ shapecfg attach shaper1 eth1
$ shapecfg attach shaper2 eth1
...
$ shapecfg speed shaper0 64000
$ shapecfg speed shaper1 256000
$ shapecfg speed shaper2 64000
...

Obs: a partir das versoes 2.2.x do kernel (se nao me engano), ao
configurar uma interface, o kernel automaticamente adiciona uma rota
parao endereco de rede pela interface. Por isso deve-se remover
esta rota logo apos configurar a interface
(queremos fazer shape somente para um IP, certo?).

6) Adicione rotas para os shapers:

$ roude add -host 192.168.1.2 dev shaper0
$ route add -host 192.168.1.3 dev shaper1
$ route add -host 192.168.1.4 dev shaper1
$ route add -host 192.168.1.5 dev shaper1
$ route add -host 192.168.1.6 dev shaper2

a saida do comando route deve ser algo como:

Destino Roteador Mascara Opcoes Metrica Ref Uso Iface
200.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.1.2 0.0.0.0 255.255.255.255 UG 0 0 0 shaper0
192.168.1.3 0.0.0.0 255.255.255.255 UG 0 0 0 shaper1
192.168.1.4 0.0.0.0 255.255.255.255 UG 0 0 0 shaper1
192.168.1.5 0.0.0.0 255.255.255.255 UG 0 0 0 shaper1
192.168.1.6 0.0.0.0 255.255.255.255 UG 0 0 0 shaper2
0.0.0.0 200.1.1.1 0.0.0.0 UH 1 0 0 eth0

7) Pronto!

##############

Eso esta como un poco mal.. no hace falta copiar el modulo como 7 veces para tener 7 shapers xD
DDD

modprobe shaper shapers=7

xD

--
Pablo Ruiz Garcia (Pci)


sábado, 3 de enero de 2004

Compilar el thc-hydra con soporte SAP (sin CD de SAP)

Que utlizaremos para bruteforce de sap R/3

Hace falta tener las librerias RFCSDK de SAP:

Explican algo en el modulo de perl de SAP-RFC:



http://www.cpan.org/modules/by-module/Apache/SAP-Rfc-1.31.readme


Thanks to Achim Grolms who supplied the following information :-

- where to get the required SAP files for the RFCSDK:


Archive program needed to exratct the archives


Dynamic libraries and headers

-This is how to extract
(Like ./SAPCAR -xvf librfc_mt_so_dbg.CAR)

-and where to put them
(libs to $RFCSDKHOME/lib and headers to $RFCSDKHOME/include)

where RFCSDK should be /usr/sap/rfcsdk as a standard

----


Aunque yo he tenido que bajar RFC_OPT_46C.SAR del mismo ftp y
descomprimirlo tambien con SAPCAR. Cambiar el tema del $RFCSDKHOME por /usr
por que si no el configure del hydra no se entera.


En el mismo SAR vienen utilidades de interes, como sapinfo