Si no instala perl / python en su sistema, los hackers no pueden usarlo (o se harían obvios si lo instalaran). Solo estoy tratando de entender por qué estos lenguajes son aparentemente útiles para los hackers. Parece que bash / dos sería más útil.
No todos los ataques requieren la ejecución de scripts de Perl / Python en su máquina. Explotando los desbordamientos de búfer, la inyección de SQL a través de una interfaz de red y otros no tienen ningún requisito para Perl / Python. El uso de esos idiomas puede hacer que la creación y entrega de la carga útil sea mucho más fácil
Sí, un atacante podría instalar su propio intérprete. Dependiendo del nivel de compromiso (rootkit) y del uso común del sistema (prod vs test), la instalación puede o no ser detectable y puede o no ser descartada si se detecta
Estos idiomas fueron una vez lo nuevo, sexy y sexy de aprender, como lo son ahora Ruby y JQuery. Muchos expertos en seguridad querían aprender estos idiomas y los utilizaron para crear herramientas.
Hoy en día, hay varias herramientas que utilizan estos idiomas. Esto crea cierta cantidad de impulso para continuar usando estos intérpretes.
Estos intérpretes están preinstalados en muchos sistemas operativos y se ejecutan de manera bastante consistente en diferentes plataformas. Esto facilita el desarrollo, las pruebas y la reutilización. También facilita la explotación cuando los sistemas víctimas ya tienen el intérprete instalado.
Estos intérpretes tienen muchas bibliotecas muy útiles que proporcionan una funcionalidad extremadamente útil. Esto hace que el desarrollo de herramientas sea mucho más fácil. Esta funcionalidad puede no estar tan fácilmente disponible con sh / dos. Especialmente así, considere que sh / dos se basa en otros programas para realizar la mayor parte del trabajo, y puede proporcionar una cantidad mínima de componentes.
Dos proporciona una capacidad de scripting muy limitada. Es muy difícil hacer algo realmente complejo con un script de dos.
Al igual que su intérprete de elección puede o no existir, lo mismo se puede decir de casi cualquier otro software. Los sistemas Unix en realidad no requieren un shell para funcionar. Falta el shell hace que sea más difícil de mantener, pero aún se ejecutará.
En situaciones en las que se utiliza un intérprete en un sistema, tanto el intérprete como el script pueden contener vulnerabilidades. Los hackers pueden disfrutar explotando estas vulnerabilidades preinstaladas. Las vulnerabilidades conocidas lo hacen aún más fácil.
Probablemente hay otras consideraciones que hacen que su elección de intérprete común no sea peor y probablemente mejor que sh o dos, pero soy demasiado vago para escribir más.
En la mayoría de los casos, el pirata informático tiene el lenguaje de scripting que prefiere en su propio sistema. Utilizan ese lenguaje de scripting para crear sus ataques personalizados para explotar una vulnerabilidad en un servicio expuesto remoto.
Es posible que tenga la impresión de que el pirata informático utiliza python / perl para instalar su programa en un host remoto. Esto indica que el hacker ya tiene control. A menos que estemos hablando de malware / troyanos, ¿cómo consiguió el pirata informático para comenzar? Eso es con su script python / perl / cualquiera que hayan usado para obtener un shell remoto.
Desde allí, su shell remoto será probablemente bash o (preferiblemente) powershell. Ahora puede continuar comprometiendo la red objetivo.
Editar
Para obtener más información sobre por qué , python / perl son lenguajes de 'piratería' populares, consulte este pregunta SE .