Siento que es imposible aprender ingeniería inversa [cerrado]

28

Sé cómo usar la mayoría de las herramientas en Kali, como msfvenom y msfconsole, y puedo llamarme un niño de forma segura. Aprendí los conceptos básicos de C # y eso me ayuda a entender algunas de las cosas en C, pero todavía me pierdo fácilmente. Sé lo básico del ensamblaje como mov xor add jmp cmp , etc. pero me cuesta seguir el flujo del código real y lo más probable es que no pueda hacer un código pseudo C desde un programa de ensamblaje.

Quiero dejar de ser un script para niños y comenzar a ser mejor, no para hacer una carrera profesional, sino porque me gusta todo el concepto de herramientas de programación, búsqueda de vulnerabilidades y aprovechamiento de los agujeros en el sistema. p>

Comencé a seguir este libro "El manual de Shellcoder" y leí los primeros 4-5 capítulos. Tengo la idea y el concepto, pero es muy difícil para mí seguir lo que realmente está sucediendo.

He estado estudiando durante 8 horas todos los días después del libro y videos similares, pero no siento mucha mejoría.

¿Está mal mi método?

¿Estoy empezando por un mal lugar?

¿Es mejor aprender todos los comandos en python / C y en general los idiomas o debería aprenderlos mientras estudio libros y videos como estos ya que soy bastante bueno en C # (o eso creo)?

¿Es normal entender apenas estas cosas? Quiero decir, puedo entender cómo funciona un script de shell, por ejemplo, pero no puedo crear uno solo si me queda solo para codificarlo.

    
pregunta Nikolay Atanasov 05.07.2018 - 23:47
fuente

4 respuestas

50

Así que déjame comenzar con "No estoy insinuando que eres un niño"

A menudo, cuando les enseño a los niños sobre CIS y escuchan lo que hago para ganarme la vida, la primera pregunta es

"¿Cómo hackeo?"

Te diré lo mismo que les digo. La piratería no es algo que se aprende, sino el resultado de años de experiencia en una serie de temas relacionados con la seguridad.

A menudo encontrará personas que entran en el campo de la seguridad proveniente de fondos de software y fondos de red. Comencé mi ruta de seguridad hace unos años asistiendo a eventos de defcon, derbycon y otros eventos relacionados con la seguridad. Aprendí que si quería hacerlo profesionalmente necesitaba profundizar más. Aprendí que no había conocimiento mágico que te hiciera un profesional de seguridad. Solo trabajo duro y aprendiendo sobre lo que se necesita para asegurar las cosas.

Después de crear muchos proyectos de Arduino, configurar muchos servidores web desde cero, crear muchos sitios web desde la base de datos, tomar (y, en su defecto, mi OSCP), finalmente llegué a un punto en el que me sentía cómodo llamándome Ingeniero de software de seguridad. La empresa en la que trabajé durante ese tiempo tenía un programa de campeones de seguridad para ingenieros. Ellos dieron a un solo miembro del equipo una capacitación de seguridad más avanzada para ser el ingeniero de seguridad del equipo. Hice eso y me encantó.

Hace aproximadamente un año y medio, di el salto y conseguí un trabajo para crear un software de detección de intrusos y me encanta. La mayor parte de mi trabajo es la codificación estándar, pero puedo aplicar mi conocimiento de seguridad de forma regular de varias maneras.

Supongo que mi punto más largo es, sigue aprendiendo. Lo estás haciendo de la manera correcta al aprender diferentes tecnologías. Visite mi blog enlace y podrá ver los proyectos que hice que me llevaron a donde estoy ahora.

Sigue aprendiendo. Como se mencionó en los comentarios, la seguridad es difícil. ¡Por eso hay tanta demanda! Es realmente raro que sea fácil para la gente. Las personas que usted ve que son expertos en el campo están ahí porque pasaron años y años aprendiendo ese duro conocimiento.

    
respondido por el Anthony Russell 06.07.2018 - 00:00
fuente
10

La ingeniería inversa es divertida. Uso IDA una vez cada dos semanas, por lo que no soy un experto en el campo, pero lo hago con la frecuencia suficiente. Si desea comprender la ingeniería inversa, primero debe saber cómo diseñar.

Si lo haces profesionalmente, estás gastando tu tiempo en Windows land. Entonces, para aprender bien los aspectos internos de Windows, codifique algunos proyectos en C # y C para Windows.

Los mejores ingenieros de inversión que conozco fueron los ingenieros de software primero.

Cree usted mismo algunos programas y use Radare2 e IDA en ellos y comenzará a aprender.

¡Buena suerte y diviértete!

    
respondido por el Joe M 06.07.2018 - 01:57
fuente
1

Deja de perder tu tiempo con libros y videos. Obtenga algún programa que desee revertir (como un juego que quiere piratear), obtenga sus herramientas para el análisis estático / dinámico (el motor de trucos es excelente para comenzar si está en Windows) y comience a jugar con ellos ... Aún no lo sabes tan pronto como lo encuentres. Al principio será lento y doloroso, pero pronto comprenderá el código de ensamblaje con solo mirar, se convierte en algo natural.

    
respondido por el Icaro10100 07.07.2018 - 04:39
fuente
-1

Hay una forma sencilla de ver la ingeniería inversa y la seguridad. No se abrume con las partes aburridas, simplemente mire cada problema como un rompecabezas. Cada paso es un logro y un paso más cerca de entender el por qué no el cómo. Es por eso que la piratería puede ser como una fiebre, un sentido de logro de Sherlock Holmes. O lo consigues o no.

    
respondido por el anubis 06.07.2018 - 17:28
fuente

Lea otras preguntas en las etiquetas