Apuntes Ciberseguridad (Cibaism)
HTBGitHubLinkedInNotion (Writeups)
  • Welcome to My Digital Garden
  • About me
  • Hacking notes (Personal)
    • Tratamiento TTY
    • Hacking Web Tecniques
      • File Inclusion
    • Linux Privilage Escalation
    • Arreglar bloodhound
  • Hacking Notes (Learning Path)
    • (HTB) Penetration Tester
      • Getting Started
        • Common Terms
          • Tipos de Shell
          • Puertos importantes
          • OWASP Top 10
        • Service Scanning
          • Nmap
          • Attacking Network Services
            • Captura de banners
            • FTP
            • SMB
            • SNMP
        • Web Enumeration
        • Public exploits
          • Encontrar exploits públicos
          • Introducción a Metasploit
        • Types of Shells
          • Reverse Shell
          • Bind Shell
          • Web Shell
        • Privilage escalation
        • Transferring Files
      • Footprinting
        • Infrastructura Based Enumeration
          • Domain Information
          • Cloud Resources
          • Staff
        • Host Based Enumeration
          • FTP
          • SMB
          • NFS
          • DNS
          • SMTP
          • IMAP / POP3
          • SNMP
          • MySQL
          • MSSQL
          • Oracle TNS
          • IPMI
          • Protocolos de administración remota de Linux
          • Protocolos de administración remota de Windows
      • Introduction to Active Directory Enumeration & Attacks
        • Tools of the Trade
        • Initial enumeration
          • External Recon and Enumeration Principles
          • Initial Enumeration of the Domain
        • Sniffing out a Foothold
          • LLMNR/NBT-NS Poisoning - from Linux
          • LLMNR/NBT-NS Poisoning - from Windows
        • Sighting In, Hunting For A User
          • Password Spraying Overview
          • Enumerating & Retrieving Password Policies
          • Password Spraying - Making a Target User List
        • Spray Responsibly
          • Internal Password Spraying - from Linux
      • File Inclusion
        • File Disclousure
          • Local File Inclusion (LFI)
          • Basic Bypasses
          • PHP Filters
        • Remote Code Execution
          • PHP Wrappers
    • (CRTA) Red Team Analyst
      • (CRTA) Red Team Analyst - Lab
    • (eJPT) Junior Penetration Tester
      • Assessment Methodologies
        • Assessment Methodologies: Footprinting & Scanning
          • Windows Recon: Nmap Host Discovery
          • Scan the Server 1
          • Windows Recon: SMB Nmap Scripts
        • Assessment Methodologies: Enumeration
          • Importing Nmap Scan Results Into MSF
          • T1046 : Network Service Scanning
          • FTP Enumeration
          • Samba Recon: Basics
          • Apache Enumeration
          • MySQL Enumeration
          • SSH Login
          • Postfix Recon: Basics
        • Assessment Methodologies: Vulnerability Assessment
          • Windows: IIS Server DAVTest
          • Shellshock
          • Web App Vulnerability Scanning With WMAP
      • Host & Network Penetration Testing
        • Host & Network Penetration Testing: System/Host Based Attacks
          • Windows
            • Windows: IIS Server: WebDav Metasploit
            • Windows: SMB Server PSexec
            • Windows: Insecure RDP Service
            • WinRM: Exploitation with Metasploit
            • UAC Bypass: UACMe
            • Privilege Escalation: Impersonate
            • Unattended Installation
            • Windows: Meterpreter: Kiwi Extension
          • Linux
            • ProFTP Recon: Basics
            • Samba Recon: Dictionary Attack
            • Cron Jobs Gone Wild II
            • Exploiting Setuid Programs
            • Password Cracker: Linux
        • Host & Network Penetration Testing: Network-Based Attacks
          • NetBIOS Hacking
          • SNMP Analysis
          • DNS & SMB Relay Attack
        • Host & Network Penetration Testing: The Metasploit Framework (MSF)
          • Windows: Java Web Server
          • Windows: HTTP File Server
          • Vulnerable FTP Server
          • Vulnerable File Sharing Service
          • Vulnerable SSH server
          • Vulnerable SMTP Server
          • Meterpreter Basics
          • Upgrading Command Shells To Meterpreter Shells
          • Windows Post Exploitation Modules
          • UAC Bypass: Memory Injection (Metasploit)
          • Exploiting SMB With PsExec
          • Windows: Enabling Remote Desktop
          • Clearing Windows Event Logs
          • Pivoting
  • Blue team notes
    • Digital Forensics
      • Malware Analysis with VirusTotal
      • Wireshark
    • (Falcon) CrowdStrike
      • FALCON 104: Getting Started with the Endpoint Security Module
      • FALCON 106: Customizing Dashboards in Falcon
      • FALCON 180: Falcon Forensics Fundamentals
  • Programming
    • Powershell
Powered by GitBook
On this page
  • Clientes MSSQL
  • Bases de datos MSSQL
  • Configuración predeterminada
  • Configuraciones peligrosas
  • Footprintig del servicio
  • Escaneo de scripts MSSQL de NMAP
  • Ping de MSSQL en Metasploit
  • Conectando con Mssqlclient.py
  1. Hacking Notes (Learning Path)
  2. (HTB) Penetration Tester
  3. Footprinting
  4. Host Based Enumeration

MSSQL

PreviousMySQLNextOracle TNS

Last updated 2 months ago

( MSSQL) es el sistema de gestión de bases de datos relacionales de Microsoft basado en SQL. A diferencia de MySQL, que analizamos en la sección anterior, MSSQL es de código cerrado y se desarrolló inicialmente para ejecutarse en sistemas operativos Windows. Es popular entre administradores y desarrolladores de bases de datos al crear aplicaciones que se ejecutan en .NET Framework de Microsoft debido a su sólida compatibilidad nativa con .NET. Existen versiones de MSSQL compatibles con Linux y macOS, pero es más probable encontrar instancias de MSSQL en sistemas operativos Windows.

Clientes MSSQL

( SSMS) se ofrece como una función que se puede instalar con el paquete de instalación de MSSQL o descargar e instalar por separado. Se suele instalar en el servidor para la configuración inicial y la gestión a largo plazo de las bases de datos por parte de los administradores. Tenga en cuenta que, al ser SSMS una aplicación del lado del cliente, puede instalarse y usarse en cualquier sistema desde el que un administrador o desarrollador planee administrar la base de datos. No solo existe en el servidor que aloja la base de datos. Esto significa que podríamos encontrarnos con un sistema vulnerable con SSMS y credenciales guardadas que nos permitan conectarnos a la base de datos. La imagen a continuación muestra SSMS en funcionamiento.

Se pueden usar muchos otros clientes para acceder a una base de datos que se ejecuta en MSSQL. Entre ellos se incluyen:

locate mssqlclient

Bases de datos MSSQL

MSSQL cuenta con bases de datos de sistema predeterminadas que nos ayudan a comprender la estructura de todas las bases de datos que pueden estar alojadas en un servidor de destino. A continuación, se presentan las bases de datos predeterminadas y una breve descripción de cada una:

Base de datos del sistema predeterminada

Descripción

master

Realiza un seguimiento de toda la información del sistema para una instancia del servidor SQL

model

Base de datos de plantilla que sirve de estructura para cada nueva base de datos creada. Cualquier cambio en la configuración de la base de datos modelo se reflejará en cualquier nueva base de datos creada después de realizar cambios en ella.

msdb

El Agente SQL Server utiliza esta base de datos para programar trabajos y alertas

tempdb

Almacena objetos temporales

resource

Base de datos de solo lectura que contiene objetos del sistema incluidos con el servidor SQL

Configuración predeterminada

Cuando un administrador instala y configura MSSQL inicialmente para que sea accesible desde la red, es probable que el servicio SQL se ejecute como NT SERVICE\MSSQLSERVER. La conexión desde el cliente es posible mediante la autenticación de Windows y, de forma predeterminada, no se aplica el cifrado al intentar conectarse.

La autenticación activada Windows Authenticationsignifica que el sistema operativo Windows procesará la solicitud de inicio de sesión y usará la base de datos SAM local o el controlador de dominio (que aloja Active Directory) antes de permitir la conectividad con el sistema de administración de bases de datos. Usar Active Directory puede ser ideal para auditar la actividad y controlar el acceso en un entorno Windows, pero si una cuenta se ve comprometida, podría provocar una escalada de privilegios y un movimiento lateral en un entorno de dominio Windows. Al igual que con cualquier sistema operativo, servicio, rol de servidor o aplicación, puede ser beneficioso configurarlo en una máquina virtual desde la instalación hasta la configuración para comprender todas las configuraciones predeterminadas y los posibles errores que el administrador podría cometer.

Configuraciones peligrosas

Puede ser beneficioso ponernos en la perspectiva de un administrador de TI durante una misión. Esta mentalidad nos ayuda a recordar que debemos buscar diversas configuraciones que un administrador pueda haber configurado incorrectamente o de forma peligrosa. Una jornada laboral en TI puede ser bastante ajetreada, con muchos proyectos diferentes en marcha simultáneamente y la presión de trabajar con rapidez y precisión, una realidad en muchas organizaciones, por lo que es fácil cometer errores. Basta con una pequeña configuración incorrecta para comprometer un servidor o servicio crítico de la red. Esto aplica a prácticamente todos los servicios de red y roles de servidor configurables, incluido MSSQL.

Esta no es una lista exhaustiva, ya que existen innumerables maneras en que los administradores pueden configurar bases de datos MSSQL según las necesidades de sus respectivas organizaciones. Podría ser útil analizar lo siguiente:

  • Clientes MSSQL que no utilizan cifrado para conectarse al servidor MSSQL

  • El uso de certificados autofirmados durante el cifrado. Es posible falsificar certificados autofirmados.

  • Credenciales débiles y predeterminadas sa. Los administradores podrían olvidar deshabilitar esta cuenta.

Footprintig del servicio

Hay muchas maneras de abordar el seguimiento del servicio MSSQL. Cuanto más específicos sean nuestros análisis, más información útil podremos recopilar. NMAP cuenta con scripts MSSQL predeterminados que permiten identificar el puerto TCP predeterminado 1433en el que escucha MSSQL.

El escaneo NMAP programado a continuación nos proporciona información útil. Podemos ver los hostname, database instance namey software version of MSSQL. named pipes are enabledNos resultará beneficioso añadir estos descubrimientos a nuestras notas.

Escaneo de scripts MSSQL de NMAP

sudo nmap --script ms-sql-info,ms-sql-empty-password,ms-sql-xp-cmdshell,ms-sql-config,ms-sql-ntlm-info,ms-sql-tables,ms-sql-hasdbaccess,ms-sql-dac,ms-sql-dump-hashes --script-args mssql.instance-port=1433,mssql.username=sa,mssql.password=,mssql.instance-name=MSSQLSERVER -sV -p 1433 <ip>

También podemos utilizar Metasploit para ejecutar un escáner auxiliar llamado mssql_pingque escaneará el servicio MSSQL y proporcionará información útil en nuestro proceso de seguimiento.

Ping de MSSQL en Metasploit

msfconsole
use scanner/mssql/mssql_ping
set rhosts <ip>
run

Conectando con Mssqlclient.py

python3 mssqlclient.py <user>@<ip> -windows-auth
select name from sys.databases

Fuente de la tabla:

El uso de

Bases de datos del sistema Microsoft Doc
tuberías con nombre
mssql-cli
PowerShell de SQL Server
HeidiSQL
SQL Pro
mssqlclient.py de Impacket
Microsoft SQL
SQL Server Management Studio