Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Presentado a:
Ing. Diana María de Jesús Rico Mesa
Pág.
Introducción
1- Objetivos_____________________________________________ 1
1.1 Objetivos Principal____________________________________ 1
1.2 Objetivos Específicos__________________________________ 1
2 Seguridad En Sql Server_________________________________ 2
2.1 Cuenta de servicio de Microsoft SQL Server_________________ 2
2.2 Capas de seguridad de SQL Server________________________ 3
2.3 Usando la cuenta de servicio virtual_______________________ 5
2.4 Encriptando la sesión con SSL____________________________ 5
3 Configurar un servidor de seguridad para acceso a SQL Server_____ 6
4 Cifrado de base de datos transparente________________________ 7
5 Funciones De Seguridad___________________________________ 8
6 Cuentas de Usuario y privilegios sobre los objetos del Sistema_____ 11
7 Tipos de cuentas para servicios SQL Server___________________ 13
8 Integridad En El Smbd Seleccionado_________________________ 16
8.1 Funciones De Seguridad________________________________ 17
9 ¿Qué es ser un hacker ético?_______________________________ 18
9.1 Algunos conceptos_____________________________________ 18
9.2 Seis fundamentos de los hackers_________________________ 19
9.3 la ética social del hacker se basa en tres principios____________20
9.4 Clasificación de los hackers______________________________ 21
9.5 Características del Hacker ético___________________________ 23
9.4 Etapas en un proceso de hacking malicioso__________________24
9.5 Tipos de Ethical hacking_________________________________25
10 En Colombia, en los últimos años se han presentado situaciones muy
renombradas relacionadas con el Hacking. ¿Qué opina al respecto?_____27
11 ¿Qué es SQL-Injection?___________________________________31
11.1 Ejemplos___________________________________________ 32
11.2 Herramientas para SQL Injection_________________________34
12 Glosario_______________________________________________37
13 Bibliografías____________________________________________39
INTRODUCCION
Son muchas los conceptos que encontramos acerca del término seguridad.
Simplificando, se puede definir la seguridad como la Característica que indica
que un sistema está libre de todo peligro, daño o riesgo.
1
2. SEGURIDAD EN SQL SERVER
2
2.2 Capas de seguridad de SQL Server
3
SQL Server proporciona una función para encriptar la base de datos para
evitar que se lea la base de datos robada. El cifrado de la base de datos es
una opción opcional en cada base de datos. SQL Server no cifra la base de
datos completa al mismo tiempo cuando la característica está habilitada en
una base de datos, SQL Server encriptará cada página cuando el proceso
“Lazywriter” necesita escribir la página en el disco y descifrarla cuando lee
la página del disco. La función de cifrado de la base de datos se denomina
“Cifrado transparente de la base de datos” y solo está disponible en las
ediciones “Enterprise” y se presentó en SQL Server 2005.
4
una cuenta de Windows para iniciarlo y proporciona privilegios de seguridad.
La cuenta de servicio puede ser una cuenta de usuario o una cuenta de
sistema, la plataforma Windows Server 2008 R2 y, más adelante, la “Cuenta
de servicio virtual” que comienza con “NT Service \”. Tenga en cuenta que
SQL Server no necesita privilegios de seguridad del administrador, solo
necesita tener privilegios para enumerar directorios y acceder a los archivos
de registro de errores, archivos de datos y archivos de registro. Hay tres
cuentas integradas de Windows tales como “Sistema local”, “Servicio de red”
y “Servicio local”, que ninguno de ellos necesita contraseña
SQL Server transfiere datos a través de la red con el protocolo Tabular Data
Stream (TDS), que es el formato estándar para que SQL Server se
comunique con la aplicación cliente. Los piratas informáticos pueden
detectar la red mediante la aplicación “WireShark” y explorar los datos
transferidos a través de la red. Para proteger los datos en la red, SQL Server
puede encriptar el protocolo TDS con protocolo SSL. Para habilitar el
protocolo SSL, SQL Server necesita un certificado auto firmado o un
certificado autorizado de los proveedores de certificados. Los
administradores pueden habilitar el protocolo SSL en SQL Server habilitando
la opción “Forzar cifrado” o mediante la opción “Encriptar” en la cadena de
5
conexión de la aplicación.
Para proteger el entorno SQL Server, los administradores usan Firewall para
controlar la conexión entrante y saliente, en el entorno SQL Server algunos
números de puerto deben configurarse correctamente para las conexiones
entrantes y salientes; de lo contrario, SQL Server no podrá acceder a las
aplicaciones cliente. Debajo de los puertos de SQL Server no se deben
bloquear en la configuración del Firewall.
l siguiente código devuelve todos los puertos que SQL Server usa
actualmente en su entorno.
6
y administrar los números de puerto dinámico. Deshabilitar el Navegador
del Servidor SQL puede causar una falla en la conexión del usuario.
4. Cifrado de base de datos transparente
Cliente DHCP
Cliente DNS
Conciencia de ubicación de red
Cola de impresión
Servicio de informe de errores de Windows
Firewall de Windows (si hay un firewall de red)
Detección de hardware de Shell
7
5. FUNCIONES DE SEGURIDAD
8
entidad de seguridad de la base de datos actual.
9
especifica ningún valor predeterminado.
10
6. Cuentas de Usuario y privilegios sobre los objetos del Sistema
Agente SQL Server : ejecuta trabajos, supervisa SQL Server, activa alertas y
habilita la automatización de algunas tareas administrativas. El servicio del
Agente SQL Server está presente pero deshabilitado en las instancias de SQL
Server Express. El archivo ejecutable es
<MSSQLPATH>\MSSQL\Binn\sqlagent.exe.
11
Búsqueda de texto completo : crea rápidamente índices de texto completo del
contenido y de las propiedades de los datos estructurados y semiestructurados
para permitir el filtrado de documentos y la separación de palabras en SQL
Server.
LaunchPad no puede crear las cuentas que utiliza si instala SQL Server en un
equipo que también se utiliza como controlador de dominio. Por lo tanto, el
programa de instalación de R Services (en base de datos) o Machine Learning
Services (en base de datos) provoca un error en un controlador de dominio.
12
Motor de SQL Server PolyBase: proporciona funciones de consulta distribuida
a orígenes de datos externos.
Según las buenas prácticas es conveniente definir las cuentas que serán utilizadas por
los servicios de SQL Server con los menores niveles de derechos posibles.
Para superar este problema podemos utilizar las cuentas MSA (Managed Service
Accounts) y las cuentas virtuales. Este tipo de cuentas introducidas por Microsoft en
Windows 7 y Windows Server 2008R2 permiten una gestión automática de las
contraseñas. Las cuentas MSA son cuentas de dominio mientras que las cuentas
13
virtuales son cuentas locales. La instalación por defecto del SQL Server 2014 genera
cuentas de tipo virtuales con la siguiente nomenclatura: NT SERVICE\<servicename>.
Otra alternativa para las cuentas de servicio podría ser utilizar cuentas de usuario
locales, cuentas de servicio locales, cuentas de servicio de red o la cuenta System
local.
Este tipo de cuenta viene integrada con el sistema operativo Windows y tiene el
mismo nivel de acceso a recursos y objetos que las cuentas pertenecientes al grupo
“Usuarios”.
Los servicios que se ejecutan como la cuenta de servicio local tienen acceso a recursos
de la red local con una sesión nula sin credenciales. Hay que tener en cuenta que la
cuenta de servicio local no es compatible con los servicios del Agente SQL Server o el
servicio de SQL Server. El nombre real de la cuenta es NT AUTHORITY \ SERVICIO
LOCAL.
14
La cuenta de servicio de red es una cuenta integrada de Windows que tiene acceso a
los recursos y objetos que no sean miembros del grupo “Usuarios”. El formato de la
cuenta es <nombreDominio> \ <equipo> $. El nombre real de la cuenta es NT
AUTHORITY \ NETWORK.
Esta cuenta viene integrada en Windows y tiene los privilegios más elevados dentro
del servidor.
El nombre real de la cuenta es NT AUTHORITY \ SYSTEM.
Cuenta Guest
En SQL Server existe la cuenta de usuario Guest, la cual se utiliza para permitir el
acceso a cualquier login del servidor que no esté mapeado a una de base de datos
específica. Y es por esto que al revocar el permiso de conexión para el usuario Guest
se asegurará que dicho inicio de sesión no sea capaz de acceder a la información de
la base de datos sin darle un acceso explícito.
USE [database_name];
GO
USE database_name
15
8. INTEGRIDAD EN EL SMBD SELECCIONADO
NIVELES DE UN SMBD
Nivel Físico:
Es el nivel real de los datos almacenados. Es decir, cómo se almacenan los
datos, ya sea en registros, o como sea. Este nivel es usado por muy pocas
personas que deben estar cualificadas para ello. Este nivel lleva asociada
una representación de los datos, que es lo que denominamos Esquema
físico.
Nivel Conceptual:
Es el correspondiente a una visión de la base de datos desde el punto de
visto del mundo real. Es decir, tratamos con la entidad u objeto
representado, sin importarnos como está representado o almacenado. Este
nivel lleva asociado el Esquema Conceptual.
Nivel Visión:
Son partes del esquema conceptual. El nivel conceptual presenta toda la
base de datos, mientras que los usuarios por lo general sólo tienen acceso
a pequeñas parcelas de ésta. El nivel visión es el encargado de dividir estas
parcelas. Un ejemplo sería el caso del empleado que no tiene por qué tener
acceso al sueldo de sus compañeros o de sus superiores. El esquema
asociado a éste nivel es el esquema de Visión.
16
8.1 FUNCIONES DE SEGURIDAD
17
9. ¿Qué es ser un hacker ético?
Crackers:
El término cracker o cráquer (literalmente traducido como rompedor, del
inglés to crack, que significa romper o quebrar) se utiliza para referirse a
las personas que rompen o vulneran algún sistema de seguridad1 de forma
ilícita. Los crackers pueden estar motivados por una multitud de razones,
incluyendo fines de lucro, protesta, o por el desafío.Mayormente, se
entiende que los crackers se dedican a la edición desautorizada de software
propietario. Sin embargo, debe entenderse que si bien los ejecutables
binarios son uno de los principales objetivos de estas personas, una
aplicación web o cualquier otro sistema informático representan otros tipos
de ataques que de igual forma pueden ser considerados actos de cracking.
Hackers:
El término hacker tiene diferentes significados. Según el diccionario de los
hackers, «es todo individuo que se dedica a programar de forma entusiasta,
o sea un experto entusiasta de cualquier tipo», que considera que poner la
información al alcance de todos constituye un extraordinario bien.
18
Ética hacker:
La ética hacker es un conjunto de principios morales y filosóficos surgidos,
y aplicados a la comunidades virtuales de hackers, aunque no son exclusivas
de este ámbito, ya que muchos de sus valores pueden aplicarse fuera del
ámbito de la informática y al acto de hackear.1 La expresión se suele atribuir
al periodista Steven Levy en su ensayo seminal Hackers: (Heroes of the
Computer Revolution), publicado en 1984, donde describe y enuncia con
detalle los principios morales que surgieron a finales de los años cincuenta
en el Instituto Tecnológico de Massachusetts (MIT) y, en general, en la
cultura de los aficionados a la informática de los años sesenta y setenta. Los
principios clave pueden resumirse en el acceso libre a la información y en
que la informática puede mejorar la calidad de vida de las personas
(Steven Levy, autor del libro 'Hackers: heroes of the computer revolution)
En 1984, Steven Levy publicó el libro titulado "Hackers: los héroes de la
revolución informática",20 (en inglés, Hackers: heroes of the computer
19
revolution) en donde se plantea por primera vez la idea de la ética hacker,
y donde se proclama y se promueve una ética de libre acceso a la
información y al código fuente del software.
20
Hacker de sombrero negro
Por el contrario, los hackers de sombrero negro (del inglés, black hat),
también conocidos como crackers muestran sus habilidades en informática
rompiendo sistemas de seguridad de computadoras, colapsando servidores,
entrando a zonas restringidas, infectando redes o apoderándose de ellas o
creando virus, entre otras muchas cosas utilizando sus destrezas en
métodos hacking. Rompen la seguridad informática, buscando la forma de
entrar a programas y obtener información o generar virus en el equipo o
cuenta ingresada.
Otros usos
En los últimos años, los términos sombrero blanco y sombrero negro han
sido aplicados a la industria del posicionamiento en buscadores (search
engine optimization, SEO), originando la denominación black hat SEO. Las
tácticas de posicionamiento en buscadores de los hackers de sombrero
21
negro, también llamada spamdexing, intento de redireccionar los resultados
de la búsqueda a páginas de destino particular, son una moda que está en
contra de los términos de servicio de los motores de búsqueda, mientras
que los hackers de sombrero blanco, utilizan métodos que son generalmente
aprobados por los motores de búsqueda.
Hacktivista
Referido a un hacker que se dedica a ejercer o ejerce hacktivismo o
activismo informático
Phreaker
Procedente de phone freak (entusiasta de los teléfonos). Son personas con
conocimientos amplios tanto en teléfonos modulares como en teléfonos
móviles.
La meta de los phreakers es generalmente superar retos intelectuales de
complejidad creciente, relacionados con incidencias de seguridad o fallas en
los sistemas telefónicos, que les permitan obtener privilegios no accesibles
de forma legal.
El término phreak es una conjunción de las palabras phone (teléfono en
inglés), hack y freak (entusiasta, fenómeno, loco, chiflado o monstruo en
inglés, pero en este caso es más bien el primer significado). También se
refiere al uso de varias frecuencias de audio para manipular un sistema
telefónico, ya que la palabra inglesa phreak se pronuncia de forma similar a
frequency (frecuencia).
Lamer o script-kiddie
Es un término coloquial inglés aplicado a una persona falta de habilidades
técnicas, generalmente no competente en la materia, que pretende obtener
beneficio del hacking sin tener los conocimientos necesarios. Su alcance se
basa en buscar y descargar programas y herramientas de intrusión
22
informática, cibervandalismo, propagación de software malicioso para luego
ejecutarlo como simple usuario, sin preocuparse del funcionamiento interno
de estos ni de los sistemas sobre los que funcionan. En muchos casos
presume de conocimientos o habilidades que no posee.
Novato
La palabra es un anglicismo, que se traduciría como hacker novato. Es una
palabra usada en argot informático para referirse a alguien que acaba de
iniciarse en el hacking y tiene poca experiencia.
Los hackers éticos también son conocidos como Pen-Tester, ya que realizan
“Pruebas de Penetración”. Aunque en general utilizan las mismas técnicas
que los hackers tradicionales, su deber es reportar las fallas, más que el
aprovechamiento de eso.
Pen-Tester:
Una prueba de penetración, o "pentest", es un ataque a un sistema
informático con la intención de encontrar las debilidades de seguridad y todo
lo que podría tener acceso a ella, su funcionalidad y dato.
23
9.6 Etapas en un proceso de hacking malicioso
24
En la cuarta etapa el hacker debe Mantener el acceso, es decir, tratar
de retener los privilegios obtenidos, en ocasiones se debe proteger el
sistema contra otros posibles hacker, asegurando sus puertas traseras,
rootKits y Troyanos.
25
• Prueba sin objetivo: consisten en examinar la totalidad de los
componentes de los sistemas, lo cual conduce a labores más exhaustivas
y dispendiosas.
26
10. En Colombia, en los últimos años se han presentado
situaciones muy renombradas relacionadas con el Hacking.
¿Qué opina al respecto?
Oroboruo:
Oroboruo’, el paisa de los más de 3.000 ataques a dominios del gobierno
A sus 27 años, ‘Oroboruo’, nombre en el mundo cibernético de la persona
que atacó la página web de la Registraduría previo a las votaciones del
plebiscito, vulneró en 3.196 oportunidades a 1.374 dominios, muchos de
ellos del gobierno, a los que les inyectaba códigos maliciosos y también los
desconfiguraba.
27
computadores de centros financieros.
El hacker logró obtener datos de tarjetas de crédito de las personas que
realizaban transacciones bancarias desde esos equipos y así estafó a más
de 600 personas de ese país.
Con el dinero recaudado logró darse la gran vida por diferentes países del
mundo.
Andrés Sepúlveda:
28
el proceso de paz con las Farc.
29
'R4lph_is_here', el joven de 17 años que atacó la Procuraduría
30
11. ¿Qué es SQL-Injection?
31
también se ejecutará y podría hacer un sinnúmero de cosas, como insertar
registros, modificar o eliminar datos, autorizar accesos e, incluso, ejecutar
otro tipo de código malicioso en el computador.
11.1 Ejemplos:
asumiendo que el siguiente código reside en una aplicación web y que existe
un parámetro "nombreUsuario" que contiene el nombre de usuario a
consultar, una inyección SQL se podría provocar de la siguiente forma:
32
estar disponible para los usuarios web comunes.
Otro Ejemplo
Podemos observar que esta consulta está formada por el condicional OR que
devolverá verdadero al cumplirse al menos una de las dos expresiones por
lo que siempre será verdadero ya que 1 = 1, cuando esto se ejecuta la base
de datos arroja el total de registros en la tabla aunque el nombre de usuario
y contraseña sean incorrectos puesto que la condición OR 1=1 siempre se
cumple.
33
11.2 Herramientas para SQL Injection
1. SQLIer
2. SQLbftools
3. SQL Injection Brute-forcer
4. SQLBrute
5. BobCat
6. SQLMap
7. Absinthe
8. SQL Injection Pen-testing Tool
9. SQID
10. Blind SQL Injection Perl Tool
11. SQL Power Injector
12. FJ-Injector Framwork
13. SQLNinja
14. Automagic SQL Injector
15. NGSS SQL Injector
SQLIer:
toma una URL vulnerable e intenta obtener toda la información necesaria
para explotar la vulnerabilidad de inyección SQL por si mismo, no
34
requiriendo ninguna intervención del usuario
SQLbftools:
consta de una colección de herramientas para obtener información de...
MySQL disponible utilizando un ataque de inyección SQL ciega (blind SQL
Injection)
SQLBrute:
es una herramienta para extraer datos de las bases de dato mediante
ataques de fuerza bruta usando vulnerabilidades de inyección SQL ciega.
Soporta exploits basados en tiempo y en error en un servidor Microsoft SQL.,
y exploits basados en errores para Oracle. SQLBrute está escrito en Python,
utiliza multi-proceso y no requiere librerías no-estándar.
BobCat:
es una herramienta que permite ayudar a un auditor a tomar completa
ventaja de las vulnerabilidades de inyección SQL. Está basado en
AppSecInc. Puede listar los servidores enlazados, esquemas (schema) de
bases de datos y permite obtener datos de cualquier tabla a la cual la
aplicación tenga acceso.
35
SQLMap:
es una herramienta de inyección SQL ciega automática, desarrollada en
Python, es capaz de generar una huella digital activa del sistema de
administración de bases de datos y mucho más.
Absinthe:
es una herramienta basada en interfaz gráfica que automatiza el proceso
de descargar el esquema y los contenidos de una base de datos que es
vulnerabile a inyección SQL ciega.
FJ-Injector Framework:
es un framework opensource diseñado para ayudar a encontrar
vulnerabilidades SQL en aplicacion web. Incluye características de Proxy
para interceptar y modificar solicitudes HTTP y una interfaz para realizar
explotación SQL automática
36
SQLNinja:
es una herramienta para explotar vulnerabilidades de inyección SQL en
aplicaciones web que utilizan Microsoft SQL Server como su motor de base
de datos.
12. GLOSARIO
37
para evadir la seguridad o atacar un equipo en la red.
38
13. BIBLIOGRAFIAS
https://www.sothis.tech/seguridad-en-microsoft-sql-server/
https://docs.microsoft.com/es-es/sql/database-engine/configure-windows/configure-
windows-service-accounts-and-permissions?view=sql-server-ver15
https://blog.powerdata.es/el-valor-de-la-gestion-de-datos/la-
importancia-de-la-seguridad-e-integridad-en-base-de-datos
https://es.wikipedia.org/wiki/%C3%89tica_hacker
https://www.eltiempo.com/justicia/cortes/delitos-de-hackers-en-
colombia-52232
https://es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL
https://openwebinars.net/blog/que-es-sql-injection/
https://www.hackplayers.com/2008/08/herramientas-sql-
injection.html
https://senaintro.blackboard.com/webapps/blackboard/content/listC
ontent.jsp?course_id=_2075898_1&content_id=_113786255_1
39