jueves, 4 de julio de 2013

Como ser un hacker y no fallar en el intento

     Si caíste en esta entrada con malas intenciones entonces deberías pensar en lo siguiente:
¿te favorecería caer en la cárcel o realizar un acto delictivo para que después no puedas ser admirado por mucha gente?.
     En la clase de ética, con mi profesora discutíamos en que es Ético y que no es. Llegando a la conclusión de que lo ético es realizar las cosas con buena voluntad y que si en un momento nos ponemos del lado de la otra persona si nos hace lo mismo ¿realmente nos gustaría que nos lo haga?.
   
       He visto hablar a hackers de muchas empresas que poseen vulnerabilidades diciendo: "esta empresa tiene todo sus sistemas expuestos para que un delincuente entre en todos sus sistemas". Hablando en criollo y haciendo una analogía seria muy parecido a decirle a los delincuentes que tus vecinos llegan a tal horario, dejan la puerta abierta, no tienen rejas y les abren las puertas a los testigos de jehová cuando vienen. Incluso, aunque esto parezca tonto, se hace. Y en algunos lugares he visto marcadas las paredes con una X indicando que en esa casa la familia se fue de vacaciones. Para mi estas personas por mas que no estén haciendo nada ilegal no están siendo éticas.


        Después de leer esto, cada uno va a armar sus ideas como les parezca y va a saber que camino seguir según le convenga. Yo por mi parte decido tomar el camino de ayudar a quien tenga un buen motivo que nos favorezca a ambos y no perjudique a nadie (Aclaro que el echo de que pueda ir a la cárcel no es un buen motivo).

Sabiendo qué camino uno quiere seguir, la pregunta es: ¿Qué debo estudiar o saber? o por lo menos dame una guía orientativa de qué buscar

Bueno la guía es la siguiente:

Hacking Básico:
-Backtrack (Para explotar vulnerabilidades rápido)
-¿que es un keylogger? (Por si nos quieren robar una contraseña)
-¿que es un troyano,backdoor,virus,Rootkit,Malware? (para entrar a otra pc en forma remota)
-Craking wifi (Beini es el mas fácil de usar)
-Inyección de código.
-¿qué función cumple un firewall? no siempre es efectivo

¿si tenemos que analizar una red o hacer un reconocimiento?
Conceptos:
-Routers,Switch,Hubs
-Protocolo TCP/IP,UPD (Capas)
-VPN,VLAN.
-Servicios.
Aplicaciones:
-Wireshark
-Escaneadores de puertos.


¿Si queremos detectar un delito ya cometido?
-Metadatos.
-Preservación de la información.(modificar la información nos podría hacer perder un juicio)
-Cadena de custodia.
-Análisis de la información


¿si tenemos que saber si queremos vulnerar la seguridad de una página web?
-Base de datos Relacionales SQL,Postgresql,Informix,
-Bases de Datos no Relacionales NOSQL (Ej:MongoDB)
-programación en PHP,CSS,HTML,ETC
Vulnerabilidades conocidas como:
-SQL-inyection
-XPATH inyection
-RFI,LFI
-XSS cross site scripting
-Byte null.
-XML inyection.
-OWASP top 10

¿si quiero saber como funciona un sistema privativo?
-Ensablador
-Ingeniería Inversa de programas

¿Si queremos aprender a programar?

Los lenguajes que se están viendo mucho en el mercado de Argentina son:
-Java (por ser multiplataforma)
Para especializarse después de aprender lo básico en Java:
         -->JasperReport
         -->Android.
         -->JDO
         -->Maven
         -->Ant
         -->Struts
         -->Spring
         -->Hibernate
         -->Wikets
         -->Apache Isis
         -->Objects Reflection

-Visual C# (por ser de fácil utilización gráfica,Aunque al programar estarías ligado a windows)
Para especializarse después de aprender lo básico en C#
      -->DDD (diseño orientado el dominio)
      -->Programación por capas
      -->ASP.NET (Muy demandado en el mercado por ser web)
      -->Cristal Report.
      -->NHibernate

-PHP,HTML,CSS muy usados.

-C++ (Por ser mas rápido y orientado a objetos que los dos anteriores se usa mucho en la industria )

Otros con no tanta demanda en el mercado:

-Delphi (aunque tiene demanda no es tanta como los anteriores)
-Pascal (Es bastante usado en el ambiente universitario en los primeros años de aprendizaje)
-Cobol (No he tenido la experiencia de usarlo)
-Assembler (Este tiene demanda en cálculos complicados que necesitan muy rápida respuesta de procesamiento)
-C(Si querés aprender a programar sistemas operativos o sistemas embebidos este es tu lenguaje)
-Prolog (Lenguaje para inteligencia artificial,esta muy bueno pero no es muy utilizado todavía).
-Ruby (Lenguaje orientado a objetos ,Desde mi punto de vista prefiero java)
-Brain Fuck (No lo usa ni el creador)
-Otros(No están todos Pero con estos seguro que tenes suficiente para entretenerte)





¿Algún libro que me recomiendes?
             -->EL arte de la intrusión (Kevin Mitnik)
             -->El arte del engaño (Kevin Mitnik)
             Libros de Informática 64:
              -->Hacking Epico
             -->Metaexploit Framework

¿si queremos vulnerar algo físico?
-Sistemas Embebidos con Microcontroladores ej (Arduino,Beaglebone,RaspBerry)
-Electrónica (Fundamentalmente):
---> Comunicación UART,USB.
--->Comunicaciones Inalámbricas.
-Programación en c (Esencial)

¿y si mi sistema es de un sistema de control de una empresa industrial?
-Sistemas Scada
-Pantallas HMI.
-Programación de PLC  (muy caros son los PLC pero si tienen muchas ganas de aprender este tipo de Hacking es necesario tener uno )
-Procesos industriales
-Redes y Protocolos industriales (CanOpen,Profibus,can bus)
-Procedimientos Industriales de seguridad.

1 comentario: