ÉÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍ» º º º º º ÛÛÛÛÛÛ º ÛÛ ÛÛ º ÛÛÛÛÛÛ º º ÛÛ º ÛÛ ÛÛ º ÛÛ º º ÛÛÛÛ º ÛÛÛÛÛÛÛÛ º ÛÛÛÛ º º ÛÛ º ÛÛ º ÛÛ º º ÛÛ º ÛÛ º ÛÛÛÛÛÛ º º º º º ÈÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍͼ EZINE DEL UNDERGROUND INFORMATICO 100 % CHILENSIS FYE Nø1 (edicion mejorada...aunke ni tanto) 03 - 01 - 2000 FYE es una ezine orientada a informar y educar a la gente sobre nuestro mundo...el de la informatica... de ningun forma lo expuesto aca incita al crimen ni nada parecido... el fin principal es el de INFORMAR...que quede claro...ademas en FYE cada uno se hace responsable de lo que dice. øWEB oficial: http://www.fye_ezine.vicio.org øMAIL oficial: fye_ezine@bigfoot.com øDONDE nos puedes encontrar: NEGRO e ISAAC somos operadores del salon Antofagasta (nuesta ciudad..asi es no nos escondemos para nada ya que lo que sabemos no nos hace ser unos CRIMINALES) en el chat de Telefonica CTC Chile (www.telefonicachat.cl)... para aquellos que no lo saben...este chat se puede cargar desde mIRC hacia el puerto 4400...ahora si no sabes lo que es mIRC...mala suerte >:DD øEditor: NEGRO øWebMaster: ISAAC Si tienes alguna duda sobre nosotros no tienes mas que dirigirte a nuestro WEB...si aun persiste solo debes enviarnos un mail y te sera respondido a su tiempo. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ INDICE: ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ TEMA ³ NUMERO ³ AUTOR ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INTRODUCCION ³ 01 ³ NEGRO PROTOCOLOS ³ 02 ³ NEGRO INTRODUCCION A LINUX ³ 03 ³ ISAAC INTRODUCCION A C ³ 04 ³ NEGRO HISTORIA DE LA INFORMATICA ³ 05 ³ ISAAC DESPEDIDA ³ 06 ³ NEGRO ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ * Se recomienda visualizar esta ezine con el editor de M$-DOS ** Se recomienda tomar por lo menos 3 vasos de agua al dia...hace bien :) ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ 01) INTRODUCCION [by NEGRO] Sere breve...esta es una nueva ezine del underground informatico 100 % made in CHILE...asi es...hecha por chilenos para chilenos...ya no deberan estar leyendo (pero bueno igual se recomienda hacerlo porque no quiere decir que sean malas) ezines de otros paises y en otros idiomas...no quiero con esto desmerecerlas pero la verdad es que nuestro pais necesitaba algo asi para levantar al alicaido?? (o no??) movimiento hack chileno.La verdad es que todos sabemos que hackers chilenos existen...pero,porque no salen a la luz para que toda la gente los vea? basta de estar escondidos...sabemos tambien que hay hackers chilenos y trabajos hechos por hackers (o por lo menos un hacker sabria hacerlos,porque,¨para que hackear la pagina WEB de la cumbre de presidentes que se realizo en nuestro pais hace un tiempo??que querian lograr con eso?un aplauso??pues aqui tienen: clap-clap...listo no mas) de Chile pero son lo minimo...temen a algo?...no se consideren criminales por que no lo son... Sabido es por toda la comunidad hacker lo mal que dejan nuestros nombres aquellos crackers (o lamers?) que se dedican a hacker paginas WEB sin tener una razon mas que la de hacerse los lindos...un verdadero hacker lo que busca es la verdad (suena muy cliche?jeje)...lo unico que anhela es el conocimiento y NADA MAS...no queremos destruir miles de archivos y hechar abajo un servidor para luego jactarnos de eso con nuestros amigos........ pero bueno...esta ezine esta hecha con el proposito de educar a la gente sobre lo que es verdaderamente el hacking (tambien incluimos phreacking, cracking y virii) y asi poder vivir en paz sin ser tildados de delincuentes ni nada parecido..................creo que ya me he extendido demasiado... no importa en todo caso...ahora les doy la bienvenida a esta ezine 100 % chilena sobre H/C/P/V (si no sabes que significa esto...devuelve un poco) esperamos que la disfruten...Y SI A ALGUIEN NO LE GUSTA PUES QUE NO LA LEA, NADIE LO OBLIGA...ADEMAS SI ERES TAN CAPAZ PORQUE NO ESCRIBES ALGO TU??? Bueno nada mas por ahora.................................................. NEGRO ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ 02) PROTOCOLOS [by NEGRO] Hola de nuevo...ahora no se si sere breve pero tratare de serlo para no aburrirlos. Es muy comun en IRC encontrarse con gente que le pide a uno que le diga como hackear o como meterse en el computador de otra persona y cosas por el estilo...cuando me piden eso lo que respondo es: para que ??????????? o sea...si alguien quiere llegar a ser hacker primero que nada debe saber QUE ES UN HACKER...y para la sorpresa de muchos...es poca la gente que conoce el real significado de la palabra hacker...(aunque de todas formas no es nada facil dar un significado satisfactorio)Un hacker es una persona generalmente (digo generalmente) joven,muy inteligente y que realmente disfruta usando su tarro (tarro:forma en que le llamamos al computador) y que lo que realmente busca no es destruir nada ni joder a nadie.......... un VERDADERO HACKER BUSCA EL CONOCIMIENTO y nada mas...los hackers entran a sistemas tan solo para aprender mas...NUNCA entran con el animo de da¤ar o destruir algo...un VERDADERO HACKER descubre nuevos caminos y hace que sea posible algo que parecia imposible (que capos no?) Creo que me he desviado del fin de este articulo pero esta peque¤a intro del articulo es necesaria para explicar algo.Si alguien quiere llegar a ser un hacker...no debe sentirlo como una obligacion porque piensa "debe ser bakan ser un hacker" si no que debe querer realmente ser uno y buscar sus propios caminos y medios para lograrlo,no basta con leer muchos de esos textos sobre hacking que andan rondando por ahi (como esta ezine) si no que es necesario darse cuenta de algunas cosas por uno mismo...no se como explicarlo pero creo que me entienden (y si alguien no me entiende que se joda) >:D Lo primero que alguien debe saber es como cresta viaja la informacion que se intercambia a cada segundo en eso tan maravilloso que se llama internet y que es lo que a nosotros nos interesa conocer a fondo.Los protocolos son conjuntos de normas que controlan la transmision y recepcion de datos, me explico:es algo asi como el idioma que deben tener los tarros para poder comunicarse entre si...y a cada idioma le corresponde una funcion que es importante para el resto de lo idiomas ya que estos se complementan. Si alguien no me entendio lamentablemente no podre explicarselo con monitos. Empecemos a explicar algunos de ellos de forma simple... TCP/IP: Nadie puede decir que no a oido nunca hablar de este protocolo.Su nombre en ingles es Transmission Control Protocol/Internet Protocol o lo que es lo mismo en castellano Protocolo de Control de Transmisiones/Protocolo Internet...Es un conjunto de protocolos desarrollado por la DARPA y bla bla bla (esto no nos interesa) y su funcion es intercomunicar sistemas diferentes.En forma mucho mas simple:es lo que nos mantiene pegados a internet.Esta forma de comunicacion entre tarros es universal,no importa que esten en la misma red o que un tarro sea Macintosh y el otro cualquier otro tarro (PC IBM por ej.).Bueno para dar una vision gral.:es una norma independiente de plataforma.Es importante mencionar que TCP/IP no es un solo protocolo sino varios. FTP: File Transmission Protocol o en castellano Protocolo de Transmision de Ficheros (archivos).Es un protocolo que tal como lo dice su nombre brinda el servicio de transmitir archivos (recivir-enviar). Es un protocolo TCP/IP y tambien puede traducir ASCII y EBCDIC... (no me digan que no saben que es eso) :( SMTP: Protocolo de Transmision Simple de Mail (Simple Mail Transmission Protocol) es el protocolo de correo electronico empleado en las redes TCP/IP.NOTA:Se le llama de "correo saliente" a diferencia del POP3 o sea de "correo entrante" (que no me entendieron?...... mala suerte). >:) TELNET: Protocolo que proporciona la capacidad de emular una terminal con lo cual el usuario puede interactuar con cualquier otro tipo de tarro. UDP: Protocolo de Datagrama para Usuario.Es un protocolo TCP/IP que permite que una aplicacion envie un mensaje a una o varias aplicaciones que se estan ejecutando en el tarro de destino. NetBios:Protocolo de transporte generalmente usado para redes de area local (LAN).Los programas de aplicacion usan este protocolo para comunicaciones de cliente/servidor osea de igual a igual.Hay dos modos de NetBios pero no vale la pena tratarlos aca ya que solo estamos introduciendo (para aquellos con ansias de saber mas les digo los nombres: Datagram y Session). NetBEUI:Interfaz de usuario extendido de NetBios.Este termino fue usado para definir el protocolo NetBios despues que fue mejorado para soportar la Token Ring Network (o sea es NetBios pero mejor) :) VMTP: Protocolo Virtual de Transaccion de Mensajes.Protocolo que sirve para comunicar y que proporciona una transmision eficiente y fiable entre redes (que lindo no?) :) SNMP: Protocolo Simple de Administracion de Redes.Protocolo que se usa para reunir la informacion acerca de la actividad de una red TCP/ IP para propositos de supervision y estadisticos y blabla. IPX: Intercambio de Paquetes entre Redes.Es un protocolo que sirve para encaminar mensajes de un nodo a otro.El IPC no garantiza la entrega del paquete. SPX: Intercambio Secuencial de Paquetes.Protocolo de comunicaciones del Novell NetWare (igual que el IPX) que se utiliza para comunicaciones entre procesos.Garantiza que un mensaje llegue completo y utiliza el protocolo IPX como mecanismo de distribucion HTTP: HyperText Transmission Protocol (Protocolo de Transferencia de HyperTexto).Es un protocolo de nivel de aplicacion que se usa en diferentes tareas, como son por ejemplo servidores de nombres. Desde el 90 se usa para transferir datos en la WEB (que simple). Es muy importante destacar que el orden en que han sido expuestos los protocolos no tienen nada que ver son su importancia...en realidad se complementan pero reconozcamoslo...algunos son mas importantes que otros :) Si me falto alguno ruego me disculpen (desde cuando tan educado?)...si me falto alguno...JODANSE!!!...sorry...si me falto alguno fue mas que nada por distraido ;) 02.1) Puertos Ahora les doy una lista de puertos y sus servicios correspondientes que encontre en la Super Guia del Hacker escrita por NOBODY..muy completa esta lista...muy buen trabajo el de NOBODY (si mal no recuerdo NOBODY es parte del equipo de la ezine JJF o no?). echo 7/tcp echo 7/udp discard 9/tcp sink null discard 9/udp sink null systat 11/tcp systat 11/tcp users daytime 13/tcp daytime 13/udp netstat 15/tcp qotd 17/tcp quote qotd 17/udp quote chargen 19/tcp ttytst source chargen 19/udp ttytst source ftp-data 20/tcp ftp 21/tcp telnet 23/tcp smtp 25/tcp mail time 37/tcp timserver time 37/udp timserver rlp 39/udp resource # resource location name 42/tcp nameserver name 42/udp nameserver whois 43/tcp nicname # usually to sri-nic domain 53/tcp nameserver # name-domain server domain 53/udp nameserver nameserver 53/tcp domain # name-domain server nameserver 53/udp domain mtp 57/tcp # deprecated bootp 67/udp # boot program server tftp 69/udp rje 77/tcp netrjs finger 79/tcp link 87/tcp ttylink supdup 95/tcp hostnames 101/tcp hostname # usually from sri-nic iso-tsap 102/tcp dictionary 103/tcp webster x400 103/tcp # ISO Mail x400-snd 104/tcp csnet-ns 105/tcp pop 109/tcp postoffice pop2 109/tcp # Post Office pop3 110/tcp postoffice portmap 111/tcp portmap 111/udp sunrpc 111/tcp sunrpc 111/udp auth 113/tcp authentication sftp 115/tcp path 117/tcp uucp-path 117/tcp nntp 119/tcp usenet # Network News Transfer ntp 123/udp ntpd ntp # network time protocol (exp) nbname 137/udp nbdatagram 138/udp nbsession 139/tcp NeWS 144/tcp news sgmp 153/udp sgmp tcprepo 158/tcp repository # PCMAIL snmp 161/udp snmp snmp-trap 162/udp snmp print-srv 170/tcp # network PostScript vmnet 175/tcp load 315/udp vmnet0 400/tcp sytek 500/udp biff 512/udp comsat exec 512/tcp login 513/tcp who 513/udp whod shell 514/tcp cmd # no passwords used syslog 514/udp printer 515/tcp spooler # line printer spooler talk 517/udp ntalk 518/udp efs 520/tcp # for LucasFilm route 520/udp router routed timed 525/udp timeserver tempo 526/tcp newdate courier 530/tcp rpc conference 531/tcp chat rvd-control 531/udp MIT disk netnews 532/tcp readnews netwall 533/udp # -for emergency broadcasts uucp 540/tcp uucpd # uucp daemon klogin 543/tcp # Kerberos authenticated rlogin kshell 544/tcp cmd # and remote shell new-rwho 550/udp new-who # experimental remotefs 556/tcp rfs_server rfs# Brunhoff remote filesystem rmonitor 560/udp rmonitord # experimental monitor 561/udp # experimental garcon 600/tcp maitrd 601/tcp busboy 602/tcp acctmaster 700/udp acctslave 701/udp acct 702/udp acctlogin 703/udp acctprinter 704/udp elcsd 704/udp # errlog acctinfo 705/udp acctslave2 706/udp acctdisk 707/udp kerberos 750/tcp kdc # Kerberos authentication--tcp kerberos 750/udp kdc # Kerberos authentication--udp kerberos_master 751/tcp # Kerberos authentication kerberos_master 751/udp # Kerberos authentication passwd_server 752/udp # Kerberos passwd server userreg_server 753/udp # Kerberos userreg server krb_prop 754/tcp # Kerberos slave propagation erlogin 888/tcp # Login and environment passing kpop 1109/tcp # Pop with Kerberos phone 1167/udp ingreslock 1524/tcp maze 1666/udp nfs 2049/udp # sun nfs knetd 2053/tcp # Kerberos de-multiplexor eklogin 2105/tcp # Kerberos encrypted rlogin rmt 5555/tcp rmtd mtb 5556/tcp mtbd # mtb backup man 9535/tcp # remote man server w 9536/tcp mantst 9537/tcp # remote man server, testing bnews 10000/tcp rscs0 10000/udp queue 10001/tcp rscs1 10001/udp poker 10002/tcp rscs2 10002/udp gateway 10003/tcp rscs3 10003/udp remp 10004/tcp rscs4 10004/udp rscs5 10005/udp rscs6 10006/udp rscs7 10007/udp rscs8 10008/udp rscs9 10009/udp rscsa 10010/udp rscsb 10011/udp qmaster 10012/tcp qmaster 10012/udp Ahora lo unico que quedaria para que empezaramos a hacer utiles estos nuevos conocimientos seria aplicarlos o no?...pero bueno,en la proxima edicion de FYE lo haremos (JAJAJAJAJAJAJA!!!) >:DDDDDDDDDDDD ya que este articulo se ha extendido demasiado.Eso seria todo por ahora en cuanto a protocolos. NEGRO ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ 03) INTRODUCCION A LINUX (I) [by ISAAC] Linux es en estos momentos el OS del que todos hablan, algo asi como el hijo prodigo de UNIX. La verdad es que Linux no es tan nuevo como muchos piensan, ya que su origen se remonta a 1980 cuando fue escrito por el noruego Linus Tordabal, pensando en una variante de UNIX mas liviana que se pudiera cargar facilmente computadoras sin grandes niveles de hardware. Linux es un sistema operativo de codigo abierto (CO) y libre distribucion (LD), por lo que en su desarrollo estan involucrados programadores de todo el mundo y es gratuito. Al ser Linux un sistema operativo de CO y LD, este crece rapidamente y de forma libre -por no decir casi descontrolada-, por lo que puedes encontrar un gran numero de versiones y variantes de su kernel -base del sistema-, controladores, interfaces, aplicaciones y demases. Con la idea de organizar esto un poco -y de paso ganar sus pesito-, compa¤ias como Red Hat y Caldera lanzaron "paquetes de distribucion" de Linux, en los que puedes encontrar lo mismo que en la red, pero, ordenado como un conjunto mas armonico, y por lo tanto, mas facil de utilizar. Este serie de articulos es para todos aquellos que estan pensando en conseguir una copia de Linux, pero aun no se deciden, o para aquellos que ya se la tienen y se preguntan ¨ahora que? Seguro que ya has escuchado a mas de alguno que te dice: "no lo instales, es muy problematico!", asi que comenzaremos por la instalacion del producto. (Aquellos que ya tengan Linux instalado, tendran que aguantarse. Sorry) NOTA: Nos remitiremos al paquete de RedHat Linux 6.0 (Hedwig), aun cuando se lanzo la version 6.1 -no creo que hayas grandes modificaciones-. 1. INSTALACION Para comenzar su instalacion debes "bootear" desde el CD -tu bios debe tener habilitado BALA 1.1 para poder hacer esto, cosa que la mayoria de los tarros armados despues del '95 tienen-. Si por alguna cosa del destino no te parte del CD, anda al bios y chequea la secuencia de booteo. Si aun asi no puedes bootear desde el CD ,cosa que algunas veces sucede, preguntenle al NEGRO... jeje. ¨Listo? Red Hat ha hecho un buen trabajo con la instalacion de Linux mediante un proceso casi automatico -en especial el ~expert~-. Aun asi es recomendable tomar ciertas medidas antes instalar. 1.1 RECOPILACION Reune toda la informacion que puedas acerca de tu hardware. La forma mas precisa de hacer esto es simplemente abrir la carcaza del PC, y comenzar a buscar los numeros de serie o modelo y poniendo atencion en donde estan estos conectados -en el caso de tarjetas adaptadoras es muy importante reconocer el tipo de bus se utiliza (PCI, ISA...) Hardware clave son las tarjeta de video, sonido, red y modem -estos ultimos tendran un apartado especial mas adelante-. Tambien los datos acerca de las unidades de almacenamiento (discos duros, cdrom) y sus interfaces correspondientes (IDE, SCSI). 1.3 RECONOCIMIENTO Seria bueno que fueras a support.redhat.com para verificar que tu hardware no este dentro de la lista de incompatibilidades. Eso si te puedo adelantar que lo mas problematico es el modem, ya que actualmente la mayoria esta vendiendo WINMODEMS, estos no incluyen un puerto de comunicaciones real y utilizan sofware que esta solo disponible para Win para inicializarse. Lo mas seguro es que si tu modem utiliza un bus ISA o es externo es compatible. Pero si es Winmodem o PCI PnP... bueno... consulta con el fabricante..jejeje. Otro hardware del que tienes que tener muy claro es el de video, eso es incluyendo la placa de video (AGP no es soportada) y el modelo de tu monitor (o los indices refrescamiento del mismo). 1.2 PARTICION Linux puede utilizar varios sistemas de archivos entre ellos el UMDOS, y el EXT2. Este ultimo es mas eficiente, pero a la vez menos compatible ya que no es posible leer particiones o discos EXT2 desde los OS de Microsoft; mientras que el UMSDOS tiene un alto grado de compatibilidad. El sistema de archivos de linux utiliza archivos de intercambio (SWAP) como cache para acelerar los procesos. Para un mayor rendimiento es necesario crear una particion SWAP para mantener los archivos continuos. Entonces tenemos dos particiones bases: para Linux y las aplicaciones, y otra para SWAP. Si vas a ocupar nada mas que Linux y nada mas, puedes ir directo a la instalacion de linux y crear las particiones de ahi mismo y seguir directo al final. 1.3 BOOT DUAL No te puedes o no quieres despegarte de Windows aun? bueno, nadie es perfecto..jeje. Si no te interesa perder todo lo que actualmente tienes en el disco simplemente puedes correr FDISK borrar todas las particiones y crear una particion para Windows, dejando el espacio necesario para Linux y el SWAP. Luego lo formateas a FAT32 y le pones Windows. Luego instalas linux, y creas las correspondientes particiones EXT2 y SWAP con el espacio restante libre del disco. Luego le das a LILO el sector de arranque, la particion predeterminada y las etiquetas. Ahora cuando termines de instalar linux y reinicies te dara un prompt para escojer que particion bootear. Es simple, lo unico claro, es que cuando instalas Windows una vez puesto Linux, Windows se "come" LILO, sobreescribiendolo, por lo que tendrias que botear desde el rescue disk y volver a copiar la imagen de boteo de linux, asi como el LILO, o si tienes algun problema con el puedes ver en etc/ lilo.conf Esto es todo por ahora... es que no es mucho pero llegamos a la fecha limite... sorry.. la proxima edicion ira completa. Gracias. ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ 04) INTRODUCCION A C [by NEGRO] Si mi menoria no me falla...en ninguna ezine en castellano se ha hecho un curso de C...solo se han puesto a disposion codigos fuentes bastante interesantes pero nunca se han explicado los comandos de un lenguaje tan importante como es el C. No vamos a meternos en historia ni nada parecido con respecto a C ya que eso no nos interesa para nada. Para la gente de windows que no sepa como ejecutar los programas solo deben buscarse un compilador BUENO de los miles que hay en Internet... la gente de Linux solo debe hacerlo con sus compiladores que vienen incluidos por defecto. Como pueden imaginarse,el objetivo de este curso de C es saber como escribir programas que en el futuro nos seran utiles para lo que nos interesa a nosotros ... o sea el hacking ...claro que tambien la gente que le interese podra escribir otros programas que no sigan la linea del hacking pero no sabran lo que se pierden.En fin,entremos en el curso... 04.1) Estructura de un codigo C Un programa en C,tiene FUNCIONES y VARIABLES.Una funcion contiene proposiciones que especifican las operaciones de calculo que se van a realizar,y las variables guardan los valores que se usan en los calculos. Para explicar mejor esto y sabiendo que la unica forma de aprender un lenguaje de programacion es escribiendo programas,les doy este programita de ejemplo... #include <stdio.h> main () { printf("Fuck You!!!!!!!!!!!!\n"); } Este ejemplo ,como ya se deben haber imaginado, imprime en la pantalla el mensaje Fuck You!!!!!!!!!!! en una nueva linea...explicaremos ahora cada una de las lineas... La primera linea (#include <stdio.h>) le indica al compilador que debe incluir informacion de la biblioteca estandar de entrada/salida...esta es responsable de algunas funciones que se incluyen en muchos programas C pero que no son propios del lenguaje...a los archivos de extension .h se les llama biblioteca de funciones. La segunda linea (main ()) inicia el programa.Si un codigo C no contiene ningun main este no se ejecutara...esto quiere decir que todo codigo C tiene un main en alguna parte.Como ya muchos se deben haber imaginado,main es una funcion propia del lenguaje. Una forma de comunicar datos entre las funciones es que la funcion que llama de una lista de valores,llamados ARGUMENTOS,a la funcion que esta invocando.Los parentesis despues del nombre de la funcion encierran la lista de argumentos.En el ejemplo,main esta definido para ser una funcion que no espera argumentos,por eso sus parentesis estan vacios. Luego la { indica que lo que esta encerrado entre {} son proposiciones de la funcion main,pero por supuesto si main llama una funcion esta tendra sus propios {} que seran indicadores de proposiciones propias de la subfuncion. Una funcion se invoca al nombrarla,seguida de una lista de argumentos entre parentesis...asi como en el ejemplo se puede ver con printf que es llamado con el argumento Fuck You !!!!!!!!!!!! \n (\n significa nueva linea...hay mas comandos como este los cuales los veremos mas adelante en este mismo documento).Printf es una funcion de la biblioteca stdio.h y escribe la salida,en este caso la cadena entre comillas Fuck You !!!!!!!. Sabiendo ya que \n es una indicacion de nueva linea (es decir corre el cursor hacia la siguiente linea y al margen izquierdo o sea CR-LF) podemos darnos cuenta que la funcion printf NUNCA proporciona una nueva linea por si sola...asi que nuestro programa podria haberse escrito de la siguiente manera dandonos exactamente el mismo resultado: #include <stdio.h> main() { printf("Fuck "); printf("You!!!!!!!!!!!!"); printf("\n"); } Otros comandos para printf son: \t para tabulacion \b para retroceso \" para comillas \\ para la diagonal invertida hay otros pero no viene al caso nombrarlos ahora si no saben otras cosas que deberian saber antes...por eso lo unico que tienen que hacer es seguir este curso. Como una general de esta primera edicion debemos disculparnos por la poca extension y nivel tecnico de los articulos,la razon de esto es que decidimos poner a disposicion del publico este primer numero de la ezine para el dia 1/1/2000...una fecha muy simbolica que indica un cambio de era...asi que la redaccion de estos articulos se hizo de forma muy "al paso" como se podria decir...ademas esta ezine fue hecha en solo una semana pero el proyecto en si de la ezine venia de algun tiempo atras.Ahora mismo nos comprometemos a presentar unos articulos mucho mas acabados y profundos para el siguiente numero que esperamos este en circulacion para finales del mes de Febrero del a¤o 2000 por supuesto. Bueno eso seria todo en cuanto a lenguaje C por ahora...aquellos que quieren aprender mas pues que no se queden cortos y estudien por su cuenta...pero ya saben:cualquier duda hagansela al NEGRO al mail de la ezine (fye@bigfoot.com).Aquellos que son mas flojos y quieren que se les de todo listo y explicadito...pues PUDRANSE...pero bueno..nadie les impedira ver el siguiente numero de FYE donde profundizaremos mucho mas en cuanto a este lenguaje. NEGRO ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ 05) Historia y Fundamentos Informaticos [by ISAAC] Aunque quizas no les parezca un tema para una ezine especializada en seguridad informatica, conocer como hemos llegado a donde estamos es sin duda importante e interesante. Asi que revisemos un poco acerca de la evolucion de nuestro campo, la ciencia de la computacion. Aunque las computadoras en realidad nacieron con las primeras maquinas calculadoras mecanicas del siglo XVII (como la contruida por el matematico frances Blaise Pascal -si, de alli viene el conocido lenguaje-), el verdadero impulso se dio con la aplicacion del sistema numerico binario, hecho por (FUCK!!no me acuerdo del nombre). Esta forma tan simple de manejar informacion, fue y es hasta ahora la manera mas eficiente de procesar datos. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 05.1) BINARIO Principio fundamental en el que se basan las modernas computadoras electronicas. Para realizar este proceso, primero se convierten la informacion en numeros enteros del 0 al 256. Debido a la complejidad del sistema decimal, los numeros se representan de forma binaria, en una "tabla". Ejemplo de algunos enteros: 128 64 32 16 8 4 2 1 --------------------------------------------------------- 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 1 0 1 15 0 0 0 0 1 1 1 1 35 0 0 1 0 0 0 0 0 85 0 1 0 1 0 1 0 1 150 1 0 0 1 0 1 1 0 256 1 1 1 1 1 1 1 1 Por ejemplo, al introducir "A" en el keyboard el software lo interpreta y lo envia como numero entero, que en el caso de la letra "A" mayuscula es 65 -consigue una tabla de caracteres ASCII-, por lo tanto pasa a ser: 01000001 Ejemplifiquemos con las siguiente operaciones aritmeticas. Fijate que en el sistema binario al igual que en el decimal se comienza de derecha a izquierda, acarreando de la misma manera. El acarreo en si, es cuando el resultado de la operacion es mayor que el valor base (es decir mayor que 10 en el sistema decimal o mayor que 1 en el sistema binario) 1) 16 + 16 6+6 = 12, se conserva 2 y se acarrea el 1 ; suma con 1+1+(1)=3 -- 32 00010000 00010000 1 + 1 da 0, y acarrea 1. -------- 00100000 2) 3 + 2 - 5 00000011 00000010 0 + 1 da 1; 1 + 1 da 0 y acarrea 1. -------- 00000101 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Es asi como las primeras computadoras electronicas utilizaban el sistema binario para fines principalmente militares. Un hito de este siglo es la construccion de la famosa ENIAC, construida para las fuerzas armadas norteamericanas con el objetivo de calcular la trayectoria de los proyectiles balasticos en cuestion de horas -manualmente ese proceso podia durar incluso dias-. ENIAC ocupaba todo el espacio en una gran habitacion -exactamente 170 mt cuadrados-, debido a que para operar utilizaba tubos al vacio -similares a las ampolleta- que al apagarse o prenderse representaban 1 y 0. La utilizacion de tubos al vacio era por lo demas tediosa y dificil, ya que estos comunmente se sobre calentaban y quemaban, lo que hechaba por tierra horas y horas de programacion -la que se hacia de forma directa con la maquina, es decir conectando a traves de cables los distintos interruptores logicos, y re cableando todo si se queria ejecutar otra tarea-. Otro problema eran los insectos -bugs en ingles-, los que atraidos por las luces se inmiscuian en la computadora ensuciando los circuitos o calentando las bombillas, lo que se traducia en un error en el "programa"; de alli en adelante quedo la expresion "bug" para identificar los problemas que tienen los programas. ENIAC fue terminada en 1946 y su poder era de 5000 operaciones por segundo Una de las empresas mas importante en el desarrollo de la informatica durante este siglo fue -tranquilos que no no voy hablar de Microsoft...aun- la International Bussines Machine: IBM. Fundada a principios de siglo, la IBM, comenzo comercializando relojes, balanzas, maquinas de escribir, etc. El giro sucedio en 1914 cuando Thomas J. Watson obtuvo el cargo de Gerente General. Este visionario se deshizo de todas las divisiones de la compa¤ia que no tuvieran que ver con las maquinas tabuladoras -computadoras mecanicas primitivas que manejaban aritmeticamente datos en formas de tarjetas perforadas-. Convirtiendo a la IBM en la primera compa¤ia para la comercializacion de computadoras comerciales. El largo liderazgo de la IBM -practicamente desde su fundacion hasta la llegada de la computadoras compatibles a mediado de los 80- sin duda marco profundamente la informatica hasta nuestro dias... recuerden que ahora mismo estan leyendo esto en una computadora "IBM PC compatible" (a menos claro que esten en una maquina SUN, DEC o SGI...). Con la llegada del transistor electronico -nacido en los laboratios de AT&T en 1947- se comenzaron a dejar de lado los lentos y voluminoso tubos al vacio. Los transitores -para aquellos que no lo sepan- son dispositivos semiconductores -es decir, su capacidad de conducir electricidad puede ser alterada- que actuan como interruptores de abierto o cerrado ( on/off - 1/0 ), con lo que pueden ser programados para ejecutar tareas de logica boleana (AND, OR, NOT). Entonces al ser los transistores mas peque¤os, baratos y simples la computadoras comenzaron a obtener mas poder, velocidad y versatilidad. Comenzando asi verdaderamente la era de las computacion electronica moderna, cuya operacion dejo de basarse en la logica aritmetica -mas complejas y por lo tanto mas lenta-, y paso a utilizar operadores booleanos. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 05.2) LOGICA BOLEANA Desarrolladas en el siglo XIX por el matematico George Boole, esta utiliza las funciones logicas (verdadero/falso) en lugar de los numeros de la arimetica decimal; y sus operaciones basicas son AND (Y), OR (O) y NOT (NO) en vez de la suma, resta, multiplicacion y division utilizadas en la arimetica. AND > Acepta dos entradas y genera una salida. Requiere que ambas entradas sean verdaderas para producir una salida verdadera. OR > Acepta dos entradas y genera una salida. Requiere que unos de los valores de entrada sea verdadero para producir una salida verdadera. NOT > invierte la entrada. Las operaciones se tranforman en sumas binarias, en las que se obtiene un bit de resultado y otro de acarreo. 0 0 1 1 + 0 1 0 1 - - - - resultado 0 1 1 0 acarreo 0 0 0 1 Ejemplo Simple de la Aplicacion de Transistores en Procesos Boleanos -------------------------------------------------------------------- 1 0 | | +---------------------------------------------->+---------------+ | | | | V | | OR | +---------------+<------------------------------+------>| | | A | +---------------+ | N | | | D | | +---------------+ V | +---------------+ +---------------+ | | | | | |-------------->| NOT |-------------->| AND | | | | | | | +---------------+ +---------------+ | | | | V V 0 1 acarreo resultado [Lamentablemente este articulo no se pudo extender mas debido a que alcanzamos la fecha limite...pero ISAAC seguira desarrollandolo para la proxima edicion de FYE en donde se presentara como un articulo mucho mas extenso (nota del NEGRO)] ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ 06) DESPEDIDA [by NEGRO] Bueno hasta aca llego nuestro primer numero de FYE y como toda ezine en su primer numero los temas tratados son bastante basicos y ademas no se extienden en mayores detalles.Pero esa no sera la linea a seguir de FYE, en futuros numeros incluiremos,ademas de profundisaciones de los temas ya tratados en este primer numero,toda aquella informacion de la que se precia una buena ezine,o sea H/P/C/V. Como pueden ver solo somos dos personas las que hacemos esta ezine y nos gustaria que alguno de uds., que nos esta leyendo y quiera incluirse al equipo de una ezine de la que esperamos tenga muy buen futuro,nos mande articulos con los cuales,si son buenos,pueda pasar a ser parte del equipo FYE (nos gustaria especialmente articulos de cracking y virii),ademas si por ahi hay algun artista del WEB que se ponga en contacto con nosotros a ver si le dejamos a cargo la pagina WEB de FYE. Como creo que ya se han dado cuenta,nuestro sitio WEB esta bastante dejado a su suerte...lo que sucede es que ninguno de nosotros es muy entusiasta en cuanto a hacerse un tiempo para dise¤ar un bien sitio asi que,como ya dije,si alguno de uds. quiere hacerse cargo pues solo contactenos.En el futuro planeamos incluir algunas utilidades y las versiones compiladas de los codigos fuentes que incluyamos en la revista,asi que no estaria mal que se dieran una vuelta por nuestro sitio por lo menos una vez a la semana. Ahora que todos lo avisos estan hechos queda solo despedirse de uds. que al final son quienes hacen que una publicacion sea muy buena o muy mala. Esperamos contar con su aprobacion y tb. con sus mails (no olviden avisar si desean que su direccion mail sea publicada). NEGRO NOTA FINAL:Vaya que si es dificil sacar a la luz una ezine...nosotros hicimos esto en una semana...pero costo realmente mucho...es que uds. saben no podemos estar todo el dia frente al tarro escribiendo cosas que nosotros ya conocemos pero que queremos dar a conocer a aquellos que recien comienzan en esto de la computacion ya que tambien tenemos cosas mas importantes que hacer...no somos unos cabezas de computador como se califica a una persona muy conocida en el ambiente de la computacion aca en Antofagasta...y que nosotros conocemos muy bien pero que no voy a decir nada de el...pero bueno por lo menos se que una persona sabe quien es o no Siddhartha??? :) JEJEJEJEJEJEJE.....ya chao. SEGUNDA NOTA FINAL: NEGRO vuelve a disculparse por lo poco detallados que son articulos...pero uds. ya saben lo de la fecha y todo eso asi que espero comprenderan,pero no crean que el proximo numero sera asi,esta claro que sera MUCHO MEJOR. Ahora si chao. ------------------------------------- EOF ------------------------------------