Icono cerrar menu

Blog

20 de abril de 2020

SMB attacks for dummies


¿Qué es SMB o Samba?

El bloque de mensajes de servidor (SMB, por sus iniciales en inglés) es un protocolo de intercambio de archivos cuyas raíces se remontan a mediados de 1980; se construye fuera de los servicios NetBIOS y NetBEUI, que dominaron la red de Windows antes de la llegada del protocolo TCP/IP en la década de 1990 y todavía tiene un lugar en la pequeña oficina y arquitecturas de planificación de redes empresariales. Este protocolo también se llama CIFS, aunque el nombre SMB tiene un uso más amplio. Los servidores SMB se utilizan para administrar y mantener los servicios de pequeñas y medianas empresas a través de una red o servicio de Active Directory en un entorno de red de Windows.
Hay dos versiones utilizadas del protocolo SMB distribuidas por Microsoft, la aplicación 1.0, que venía con Windows NT y se actualizó exhaustivamente con Windows 2000, y la implementación SMB2 que salió con Windows Vista. La aplicación 2.0 es compatible con la ejecución 1.0, pero ofrece incrementos significativos de rendimiento cuando todos los clientes de la red tienen la versión más reciente. Windows 7 introduce SMB 2.1 como un protocolo, que sigue siendo compatible en el nivel SMB-servidor con SMB 2.0.

¿Por qué SMB es uno de los ataques más comunes en windows?

Samba al ser un servicio de transmisión de archivos nos permite ver y descargar archivos, con ello del lado de la seguridad es una gran oportunidad, solo faltaría ejecución para lo cual se puede aprovechar de servicios ya sean web o una vulnerabilidad, como EternalBule o BlueGhost.

Herramientas

Enumerar Hostname

La enumeración de hostname nos permite saber si es un servidor SMB y obtener grupos, usuarios, carpetas compartidas, y permisos.

nmblookup

nmblookup es utilizada para consultar nombres de NetBios y mapear las direcciones ip dentro de la red de trabajo que usan NetBios sobre consultas TCP/IP.
nmblookup -A [IP]

-A – look up by IP address

 
 
nmblookup -A [IP]

[+] Finding open SMB ports....
[+] User SMB session establishd on [ip]...
[+] IP: [ip]:445        Name: [ip]                                      
        Disk                                                    Permissions
        ----                                                    -----------
        ADMIN$                                                  NO ACCESS
        C$                                                      NO ACCESS
        IPC$                                                    NO ACCESS
        NETLOGON                                                NO ACCESS
        Replicacion                                             READ ONLY
        SYSVOL                                                  NO ACCESS
enum4linux

enum4linux es una herramienta de enumeración de windows y sistemas samba. Esta intenta ofrecer una funcionabilidad similar a enum.exe antes disponible en www.bindview.com.
Esta escrito en Perl y es básicamente incorpora todas las herramientas de smbclient, rpclient, net y nmblookup.

 
 
enum4linux -n 
Starting enum4linux v0.8.9 ( http://labs.portcullis.co.uk/application/enum4linux/ ) on Sun Aug 17 12:17:32 2014

 ==========================
|    Target Information    |
 ==========================
Target ........... 
RID Range ........ 500-550,1000-1050
Username ......... ''
Password ......... ''
Known Usernames .. administrator, guest, krbtgt, domain admins, root, bin, none


 ======================================================
|    Enumerating Workgroup/Domain on 192.168.1.200   |
 ======================================================
[+] Got domain/workgroup name: Tishca
nmap

Nmap (“Network Mapper”) es una herramienta libre y de código abierto que es utilizada para descubrir redes y realizar auditorias de seguridad. Nmap usa los paquetes ip en crudo de una forma novedosa para detectar dispositivos en la red, los servicios que esos dispositivos ofrecen, que sistema operativo esta corriendo, que tipo de filtros o firewalls contiene. Está desitnado para escaneos rápidos de redes grandes, pero funciona para un solo objetivo.

 
 
root@kali#nmap --script=smb-enum* --script-args=unsafe=1 -T5 
 
Starting Nmap 7.80 ( https://nmap.org ) at 2020-04-15 13:20 EDT
Nmap scan report for 192.168.100.43
Host is up (0.00021s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
80/tcp   open  http
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
2525/tcp open  ms-v-worlds
MAC Address: 08:00:27:7F:19:DE (Oracle VirtualBox virtual NIC)

Host script results:
|_smb-enum-domains: ERROR: Script execution failed (use -d to debug)
|_smb-enum-groups: ERROR: Script execution failed (use -d to debug)
| smb-enum-sessions:
|_  
| smb-enum-shares:
|   account_used: guest
|   \\192.168.100.43\IPC$:
|     Type: STYPE_IPC_HIDDEN
|     Comment: IPC Service (nitin server (Samba, Ubuntu))
|     Users: 3
|     Max Users: 
|     Path: C:\tmp
|     Anonymous access: READ/WRITE
|     Current user access: READ/WRITE
|   \\192.168.100.43\print$:
|     Type: STYPE_DISKTREE
|     Comment: Printer Drivers
|     Users: 0
|     Max Users: 
|     Path: C:\var\lib\samba\printers
|     Anonymous access: 
|_    Current user access: 
|_smb-enum-users: ERROR: Script execution failed (use -d to debug)

Nmap done: 1 IP address (1 host up) scanned in 311.49 seconds

Conseguir versión del servicio

Al saber la versión del servicio nos da la opción de buscar alguna vulnerabilidad para esa versión en especifico.

Metasploit

Metasploit es un framework que nos permite automatizar la explotación de equipos, así tanto como escaneos y enumeración de servicios.

 
 
root@kali# msfconsole
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%     %%%         %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%                                                                                                                                                              
%%  %%  %%%%%%%%   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%                                                                                                                                                              
%%  %  %%%%%%%%   %%%%%%%%%%% https://metasploit.com %%%%%%%%%%%%%%%%%%%%%%%%                                                                                                                                                              
%%  %%  %%%%%%   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%                                                                                                                                                              
%%  %%%%%%%%%   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%                                                                                                                                                              
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%                                                                                                                                                              
%%%%%  %%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%                                                                                                                                                              
%%%%    %%   %%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%  %%%%%                                                                                                                                                              
%%%%  %%  %%  %      %%      %%    %%%%%      %    %%%%  %%   %%%%%%       %%                                                                                                                                                              
%%%%  %%  %%  %  %%% %%%%  %%%%  %%  %%%%  %%%%  %% %%  %% %%% %%  %%%  %%%%%                                                                                                                                                              
%%%%  %%%%%%  %%   %%%%%%   %%%%  %%%  %%%%  %%    %%  %%% %%% %%   %%  %%%%%                                                                                                                                                              
%%%%%%%%%%%% %%%%     %%%%%    %%  %%   %    %%  %%%%  %%%%   %%%   %%%     %                                                                                                                                                              
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%% %%%%%%%%%%%%%%                                                                                                                                                              
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%          %%%%%%%%%%%%%%                                                                                                                                                              
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%                                                                                                                                                              
                                                                                                                                                                                                                                           

       =[ metasploit v5.0.76-dev                          ]
+ -- --=[ 1971 exploits - 1088 auxiliary - 339 post       ]
+ -- --=[ 558 payloads - 45 encoders - 10 nops            ]
+ -- --=[ 7 evasion                                       ]

msf5 > use scanner/smb/smb_version
msf5 auxiliary(scanner/smb/smb_version) > set rhosts 192.168.100.43
rhosts => 192.168.100.43
msf5 auxiliary(scanner/smb/smb_version) > exploit

[*] 192.168.100.43:445    - Host could not be identified: Windows 6.1 (Samba 4.3.11-Ubuntu)
[*] 192.168.100.43:445    - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

Accediendo a archivos compartidos

Mediante esta decnica podremos navegar, subir, bajar o leer archivos de el servidor SMB.

SMBCLIENT

Esta herramienta permite establecer una conexin con el servidor mediante la linea de comandos, permite navegar como si fuera un servicio ftp.

 
 
root@kali# smbclient -L host
 
Server time is Sat Aug 10 15:58:27 1996
Timezone is UTC+10.0
Password: 
Domain=[WORKGROUP] OS=[Windows NT 3.51] Server=[NT LAN Manager 3.51]

Server=[ZIMMERMAN] User=[] Workgroup=[WORKGROUP] Domain=[]

        Sharename      Type      Comment
        ---------      ----      -------
        ADMIN$         Disk      Remote Admin
        public         Disk      Public 
        C$             Disk      Default share
        IPC$           IPC       Remote IPC
        OReilly        Printer   OReilly
        print$         Disk      Printer Drivers


This machine has a browse list:

        Server               Comment
        ---------            -------
        HOPPER               Samba 1.9.15p8
        KERNIGAN             Samba 1.9.15p8
        LOVELACE             Samba 1.9.15p8
        RITCHIE              Samba 1.9.15p8
        ZIMMERMAN            

 

 

 

tpx Security.
Editorial Staff.