¿Es posible hackear usando el lenguaje de programación C?

Casi todos los lenguajes de programación permiten a los piratas informáticos hackear las aplicaciones, obtener control sobre el hardware y mucho más.

Los hackers prefieren un lenguaje que sea sofisticado para ellos y que utilicen diversas herramientas de piratería.

Entonces la respuesta a su pregunta es SÍ. C está acostumbrado a hackear propósitos porque:

1.C es un lenguaje de nivel medio, que interactúa con el hardware. Cómo ? Casi todos los sistemas informáticos de hoy están hechos usando

kernel o JVM, y ese tipo de aplicaciones del sistema se hacen usando lenguaje C.

2.Debido a la interacción del lenguaje C con el hardware, es posible obtener pérdidas de memoria, controlar el hardware utilizando

punteros, que juegan un papel muy esencial para sumergirse en la memoria.

3.Hoy en día, miles de millones de dispositivos se basan parcial o totalmente en aplicaciones de sistemas embebidos en C, como compiladores, intérpretes y compiladores JIT (Just-In-Time), lo cual es el núcleo de los sistemas informáticos.

4. El mejor hacker prefiere a los maestros en el manejo de la programación en C perfectamente para hacer realidad su intención.

Eso es lo que pienso sobre el C en el escenario de piratería. Puede haber muchas cosas. Puede ser que esta respuesta no sea suficiente para describir todo dentro, pero

ese es el esquema … 🙂

Sí. Echa un vistazo a los libros Shellcoders Handbook and Reversing: Secrets of Reverse Engineering para ver algunos ejemplos concretos de cómo puedes usar C en la piratería.

Además, comprender cómo los codificadores cometen errores y cómo los programas escritos en C pueden romperse es útil para encontrar vulnerabilidades de seguridad.

¿Hackear qué, exactamente? Eso es como preguntar cómo hablar. Hackear puede significar muchas cosas diferentes, en muchos niveles diferentes. Puede requerir la escritura de programas o ningún desarrollo de software. ¿Hackear qué? El sistema de un usuario? ¿Una página web? ¿Un programa en sí mismo (acceder a datos protegidos o escribir ganchos para un programa, a nivel de código de máquina, para adjuntar código adicional para eventos específicos)? Hackear datos (descifrar o descomprimir esquemas de compresión personalizados). Necesitas ser mucho, mucho más específico.

Si y no.

C (y C ++) son lenguajes, conocidos por tener problemas de seguridad, como desbordamientos de búfer (los lenguajes con comprobación de límites intentan protegerse).

Entonces, si piratea una computadora con software escrito en C (como el kernel de Linux, navegadores web, servidores web), de alguna manera está “usando” C, o son fallas.

Sin embargo, para encontrar los agujeros de seguridad en el software (al menos en C y C ++), tiene un código binario en la máquina, por lo que realmente está utilizando el lenguaje ensamblador. [Sin embargo, puede descompilar de nuevo a C / C ++, sin embargo, eso puede ser útil.]

Para mucha piratería, no se usa lenguaje de programación, o posiblemente diga, Ruby. Incluso contra el software escrito en C.

Por supuesto. Es posible hacer muchas cosas usando el lenguaje C (todo lo que puedes hacer en cualquier otro lenguaje de programación).

Muchas cargas útiles están escritas en C por algunas razones:

  • No requiere instalaciones previas (JVM, .net, python).
  • El código compilado es más pequeño (en tamaño en la memoria). Es importante en algunos vectores de ataque cuando el número de bytes de carga útil es limitado.

La mejor manera de hackear usando C es conocer suficiente C para saber cómo hackear ejecutables binarios escritos en C. Así que aprende lo suficiente para hacer desbordamientos de búfer o explotaciones de programación basadas en retorno y tu oro.

No soy un hacker sino un desarrollador de aplicaciones, pero creo que cualquier lenguaje de programación puede usarse para escribir herramientas para hackear, aunque algunos están más orientados a los hackers, especialmente los scripts y los lenguajes funcionales. Por lo tanto, C, que es el abuelo de todos los lenguajes de programación y un mal culo, puede usarse ciertamente en la piratería.

Uno de los otros respondedores no parece darse cuenta de que algunos de los malware más sofisticados ya descubiertos han utilizado C y C ++. Por ejemplo, el gusano Stuxnet era principalmente código C y C ++, así como el gusano Flame relacionado.

En segundo lugar, no se requiere el código fuente de una pieza de software para crear un virus u otra forma de malware. Incluso si fuera en alguna circunstancia, la ingeniería inversa de un binario puede revelar mucho sobre su código fuente y las vulnerabilidades que contiene. (Sin mencionar que la mayoría de las grandes piezas de software actuales utilizan bibliotecas de código abierto, que obviamente tienen el código fuente disponible).

Pero el punto principal es que el término “piratería” es muy vago e incluye una cantidad infinita de objetivos posibles. Muchos de esos objetivos se pueden lograr utilizando un lenguaje de programación. C y C ++ probablemente serían un fuerte candidato por las razones que Tal declaró y también porque:

  • Los tiempos de ejecución de Java y .NET tienen controles incorporados que hacen que sea más difícil penetrar en un sistema. Sin embargo, todavía es posible (léase: CryptoLocker).
  • Los binarios C / C ++ son mucho más difíciles de aplicar ingeniería inversa que un lenguaje de script (obviamente) o el código de bytes para .NET o Java. Esto hace que la detección de las acciones del malware sea más difícil para las autoridades.
  • C / C ++ puede utilizar fácilmente las llamadas al sistema que son específicas de un sistema operativo en particular.