Descubre millones de libros electrónicos, audiolibros y mucho más con una prueba gratuita

Solo $11.99/mes después de la prueba. Puedes cancelar en cualquier momento.

Curso de programación Bash Shell
Curso de programación Bash Shell
Curso de programación Bash Shell
Libro electrónico372 páginas5 horas

Curso de programación Bash Shell

Calificación: 0 de 5 estrellas

()

Leer la vista previa

Información de este libro electrónico

El propósito general de este libro es introducir al lector en el reconocimiento y escaneo de vulnerabilidades utilizando lenguaje , así como en el diseño de scripts para evaluar la configuración de seguridad de equipos conectados a una red LAN._x000D_
_x000D_
Esta obra está dirigida a estudiantes y profesionales de la informática, está redactada con un lenguaje claro y didáctico y en ella se describen los fundamentos lógicos, desde el punto de vista de un hacker ético, del análisis de la seguridad de redes informáticas. De forma secuencial se guía al lector para que consiga resolver problemas rutinarios y logre diseñar sus propios scripts, independientemente del lenguaje que elija. _x000D_
_x000D_
Los temas aquí tratados son indispensables para comprender el análisis de seguridad de las redes informáticas, mediante el uso de los comandos a _x000D_
través de una terminal, en un entorno GNU/Linux. _x000D_
_x000D_
Otra cualidad de este libro es que se muestran implementaciones en Bash Shell, algunos con base en códigos en lenguaje LUA, por medio de intérpretes de la herramienta NMAP. Por ello, aunque un lector que no esté familiarizado con estos lenguajes, podrá igualmente entender su sintaxis._x000D_
_x000D_
El libro contiene material adicional que podrá descargar _x000D_
accediendo a la ficha del libro en www.ra-ma.es.
IdiomaEspañol
Fecha de lanzamiento6 jun 2022
ISBN9788419444004
Curso de programación Bash Shell

Relacionado con Curso de programación Bash Shell

Libros electrónicos relacionados

Seguridad para usted

Ver más

Artículos relacionados

Comentarios para Curso de programación Bash Shell

Calificación: 0 de 5 estrellas
0 calificaciones

0 clasificaciones0 comentarios

¿Qué te pareció?

Toca para calificar

Los comentarios deben tener al menos 10 palabras

    Vista previa del libro

    Curso de programación Bash Shell - Arturo Enrique Mata

    Agradecimientos

    A Dios Todopoderoso, mi familia, amigos más cercanos, colegas y, por encima de todo, a la comunidad de investigación de seguridad informática, verdaderos hackers de la tecnología de información que, han aportado sus conocimientos a través del uso del Open Source y el Free Software, con fines de formación técnica en ciberseguridad.

    Arturo E. Mata.

    Acerca del autor

    Arturo Mata es Analista de Protección Lógica en Petróleos de Venezuela, donde durante más de dos décadas ha desarrollado casi toda su carrera trabajando en protección industrial de instalaciones petroleras, proyectos de automatizados control de acceso y video vigilancia IP, gestión de incidentes de ciberseguridad, mantenimiento de plataformas de seguridad en tecnologías de información, monitoreo de redes informáticas, evaluación de riesgos y amenazas persistentes avanzadas.

    Máster en Marketing Digital y Analítica Web, titulado en la Especialidad de Seguridad de Redes, con diplomaturas en Seguridad Informática y en Sistemas Informáticos, programador Backend en PHP y Python, investigador de la seguridad de la información, centrado en la privacidad de los usuarios, quien cree firmemente en un mundo donde la ciberseguridad juegue un papel central.

    Fue cofundador y Director de TuDiscoWeb, una aplicación web para el almacenar, sincronizar y gestionar archivos en la nube de forma segura para usuarios empresariales y hogareños (2012-2017).

    Arturo ha publicado varios artículos, principalmente en su blog personal sobre ciberseguridad arturomata.xyz. Además de esta labor, también fue articulista de tendencias tecnológicas de la revista técnica Computer World Venezuela (2013-2016).

    Prefacio

    El propósito general de este libro, es el de introducir al lector en el reconocimiento y escaneo de vulnerabilidades utilizando lenguaje <Bash Shell>, así como en el diseño de scripts para evaluar la configuración de seguridad de equipos conectados a una red LAN.

    Si bien se presentan algoritmos, el objetivo no es saturar el conocimiento del lector con una gran cantidad de códigos con sintaxis incomprensibles, sino enseñar sus fundamentos lógicos desde el punto de vista de un Hacker Ético o Pentester, mostrar también maneras inteligentes de usarlos para resolver problemas rutinarios, y, sobre todo, lograr que el lector sea capaz de diseñar sus propios scripts, independientemente del lenguaje que elijan.

    Esta obra está dirigida a estudiantes y profesionales en pruebas de penetración de redes informáticas con gusto de programar o resolver problemas a través de ejercicios prácticos, pero que no requieren bases matemáticas avanzadas, sí, de mucha lógica y atención a los detalles; por lo que se pretende, no solamente explicar las rutinas, salvo también darle al lector las herramientas necesarias para entender, analizar y diseñar.

    Los temas tratados aquí son indispensables para comprender el gran campo de estudio y análisis de la seguridad de redes informáticas, mediante el uso de los comandos a través de una terminal, en un ambiente GNU/Linux. Los fundamentos de una cantidad interminable de conocimientos desde los inicios de UNIX y técnicas que están en constante desarrollo por la investigación en las ciencias de la computación de parte de una comunidad técnica, muy activa a nivel global.

    Otra peculiaridad es que a lo largo del escrito se muestran implementaciones en Bash Shell, algunos con base en códigos en lenguaje LUA, por medio de intérpretes de la herramienta NMAP. Por ello, es posible que un lector que no esté familiarizado con estos lenguajes, por lo menos a fondo, pueda igualmente entender su sintaxis.

    1

    Introducción al lenguaje Bash

    El nombre Bash es un juego de palabras con el nombre de la Shell de Bourne (sh), uno de los primeros e importante Shell de Unix escrito por Stephen Bourne.

    Gattol Markus.

    Lenguaje Bash

    El shell estándar distribuido con los sistemas Unix y Linux se deriva de AT&T, que a su vez evolucionó a partir de la versión original escrita por Stephen Bourne de Bell Labs.

    Desde entonces, IEEE ha desarrollado estándares basados en Bourne Shell y otros shells más nuevos. La versión actual del estándar es "IEEE Std 1003.1-2001 Shell and Utilities Volumes", también conocido como el estándar POSIX (Portable Operating System Unix).

    Debido a que el shell proporciona un lenguaje interpretado o de secuencias de comandos, los programas se pueden escribir, modificar y verificar rápida y fácilmente. En pocas palabras, <shell> es un macroprocesador que le permite ejecutar comandos de forma interactiva o no interactiva.

    ¿Qué es Bash Shell?

    <Bash> es una herramienta de secuencias de comandos popular en Unix. Son las siglas de Bourne Again Shell. Es una herramienta poderosa para cualquier usuario de Linux o administrador de sistemas.

    <Bash> interpreta los comandos que se ejecutan instrucciones ingresadas por el usuario o contenidas en scripts y devuelve los resultados.

    <Bash> interpreta los comandos ejecutados por la entrada del usuario o scripts y devuelve los resultados. "GNU Bash, o simplemente Bash, es una interfaz de usuario de línea de comandos popular, especialmente para el shell de Unix; y el lenguaje de secuencias de comandos Bash fue escrito originalmente por Brian Fox para el sistema operativo GNU y se define como Bourne Shell Free Software Wikipedia.

    En otras palabras, actúa como una interfaz entre el kernel de Linux y un usuario o programa en modo texto. Además, incluye muchas herramientas de desarrollo y mejoras sobre su predecesor <sh>. Al ser una utilidad desarrollada por GNU, se suele utilizar por defecto en las distribuciones actuales.

    Nombres de archivo y permisos en bash

    A continuación, analicemos brevemente los nombres de archivo y los permisos. Es posible que haya notado que para ejecutar un script de shell, el archivo debe ser ejecutable con <chmod + x NOMBRE DE ARCHIVO>. De forma predeterminada, los documentos recién creados no son ejecutables, independientemente del sufijo de la extensión del archivo.

    En los sistemas GNU/Linux, la extensión del archivo casi no tiene significado, excepto que cuando ejecuta el comando <ls> para listar todos los documentos y directorios, es inmediatamente evidente que los registros con la extensión <.sh>. Lo más probable es que se trate de un script de shell, y el archivo <.jpge> probablemente sea una imagen comprimida con pérdida.

    En los sistemas GNU/Linux, tenga en cuenta que puede usar comandos para especificar tipos de documentos. Como puedes ver en el ejemplo anterior, la extensión del registro no tiene valor y el intérprete <bash> tiene más peso en este caso.

    NOTA

    En Linux, quien crea un fichero o un directorio es el propietario de esa información y por lo tanto, puede restringirle el acceso a ella a cualquier otro usuario salvo al root. (El root siempre tendrá acceso a ese dato).

    Cada archivo o carpeta tiene propiedades que afectan la seguridad de la información que contiene:

    El usuario propietario.

    El grupo de usuarios al que pertenece el propietario.

    Los permisos de acceso que tienen ambos, (por separado) y los que tiene cualquier otro usuario que no pertenezca a ese grupo.

    Para explicar esto mejor, pongamos un ejemplo:

    Digamos que trabajas como operador en una empresa y eres el usuario operador-dor1 en tu sistema. El administrador del sistema definitivamente creará un grupo de clientes llamado cajero y agregará su ID a este grupo.

    El administrador definirá ciertos permisos para el grupo de usuarios Moderadores. Estos permisos son comunes a todos los miembros de este grupo, por lo que su ID operador1 contiene todos los permisos asignados al grupo operador.

    Cuando alguien crea un archivo o una carpeta en Linux, se convierte automáticamente en el propietario de esos datos, por lo que puede redefinir los permisos que otorgan a otros usuarios de su grupo sobre la información y puede restringir el consentimiento para el uso de esa información. Todos los demás usuarios que no están en su grupo.

    NOTA

    De forma predeterminada, los miembros del mismo grupo no pueden modificar su información, pero puede permitirles que lo hagan. Por supuesto, el sistema también hace esto, incluso puede apropiarse de estos datos.

    Para cambiar el propietario y el grupo de propietarios de un archivo o directorio, use el comando <chown>.

    Sintaxis

    sudo [chown] [usuario:grupo] nombre_archivo

    La palabra sudo se usa para obtener privilegios de root para ejecutar los comandos requeridos. Solo los usuarios que son miembros del grupo de administración pueden usar <sudo> para obtener permisos de <raíz>.

    Puede tener tres permisos sobre un archivo o carpeta, que son:

    De lectura (se representa con la letra r por read).

    De escritura (se representa con la letra w por write).

    De ejecución (se representa con la letra x por execute).

    Al realizar la consulta ls -l veremos que por cada archivo y directorio contenido en el directorio en el que nos encontramos, aparecerá una línea similar a la siguiente:

    -rwxr-xr-x 1 user1 grupo1 128931 Ene 29 2020gpl.txt

    La información sobre este flujo se organiza de la siguiente manera:

    Caracter 1:

    Nos dice si es un archivo o un directorio.

    Aparece - para un archivo y d para un directorio.

    También puede ser un enlace (acceso directo). En este caso, aparece l.

    Caracteres 2, 3 y 4:

    Representan los permisos del propietario del archivo para leer, escribir y ejecutar.

    Según se permita leer (read), escribir (write) o ejecutar (start) sin activar el permiso correspondiente.

    Caracteres 5, 6 y 7:

    Representan lo mismo que los tres primeros, pero representan a los miembros del grupo de usuarios al que pertenece el propietario.

    En el séptimo carácter también podemos encontrar S, lo que significa que el archivo es de tipo SetU-serId, lo que significa que cuando se ejecute, obtendrá el permiso del propietario del archivo.

    Caracteres 8, 9 y 10:

    Representan lo mismo que los tres primeros, pero se aplican a cualquier usuario que no sea miembro del grupo propietario.

    En el décimo carácter también podemos encontrar una S.

    NOTAS

    se puede usar cuando el archivo es un script destinado a usuarios que normalmente no tienen suficientes privilegios para ejecutar lo que ha implementado el código del script.

    El hecho de que tenga permiso de ejecución en un archivo no significa que tenga permiso para hacer lo que el código está escrito en ese archivo.

    Por ejemplo, un archivo puede necesitar acceso a una unidad de memoria durante la ejecución y solo el propietario del script tiene acceso a él.

    Si esta secuencia de comandos tiene el permiso de ejecución establecido en x para todos los usuarios del sistema, solo el propietario puede ejecutar la secuencia de comandos porque solo él tiene acceso a la unidad de memoria a la que desea acceder. Al código en un archivo por lotes.

    Volvamos al ejemplo

    -rwxr-xr-x 1 user1 grupo1 128931 Ene 29 2020gpl.txt

    Después del décimo carácter, aparecerá un número indicando el número de enlaces fuertes que tiene el archivo (lo veremos más adelante).

    Para directorios, este número indica cuántas entradas hay (si no hay, la cifra es 2).

    El propietario del archivo y el grupo al que pertenece se muestran después de un enlace fijo.

    Luego el tamaño del archivo en bytes.

    Luego la última fecha de modificación. (La fecha de creación, el último acceso y la fecha de modificación se almacenan en todos los archivos y podemos manipularlos con el comando <touch>).

    El nombre del archivo o carpeta se muestra al final.

    Modificar los permisos de archivos y directorios

    Para cambiar los permisos de un archivo o directorio, use el comando chmod. Se puede utilizar de dos maneras.

    El enfoque simple para la concesión de licencias de grabación de audio se resume a continuación:

    r = read (lectura).

    w = write (escritura).

    x = execute (ejecución).

    Para indicar a quién le asignamos estos permisos, debemos utilizar los siguientes

    ¿Disfrutas la vista previa?
    Página 1 de 1