Sploitus

Exploit for CVE-2020-0796-BOF

kitploit ┬╖ 2026-08-27

Exploit Code

MARKDOWN36 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-RSMUDGE-CVE-2020-0796-BOF
рдпрд╣ SMBGhost LPE рдХреЗ рд╕рд╛рде Raphael рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреНрд░рдпреЛрдЧ рд╣реИред

рдореИрдВрдиреЗ Metasploit Framework рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рд╢реБрд░реБрдЖрдд рдХреА:

cve-2020-0796: SMBv3 Compression Buffer Overflow (SMBGhost) (CVE 2020-0796) https://github.com/rapid7/metasploit-framework/tree/master/external/source/exploits/CVE-2020-0796 [BSD Licensed]

рдФрд░, рдореИрдВрдиреЗ рдпрд╣ рдХрд┐рдпрд╛:

  1. рдореИрдВрдиреЗ Reflective DLL рдХреЛ Cobalt Strike 4.1 Beacon Object File рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ред



рдЗрд╕рдХреЗ рд▓рд┐рдП Dynamic Function Resolution MODULE$Function рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХрдИ Win32 APIs рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдЕрдЪреНрдЫреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ NTDLL рдореЗрдВ рдЪреАрдЬрд╝реЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рдХреЛрдб рдХрдо рд╣реЛ рдЧрдП, рдХреНрдпреЛрдВрдХрд┐ DFR рдЙрд╕реЗ рд╕рдВрднрд╛рд▓ рд░рд╣рд╛ рд╣реИ рд╣рдорд╛рд░реЗ рд▓рд┐рдПред :)

рдореИрдВрдиреЗ get_handle_addr рд╕реЗ рдЕрдкреНрд░рдпреБрдХреНрдд 1,000-рдЖрдЗрдЯрдо ptr рдРрд░реЗ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдХрд╛рд░рдг cl.exe рдПрдХ __chkstk рдлрд╝рдВрдХреНрд╢рди рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░ рд░рд╣рд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдерд╛рдиреАрдп рдЪрд░ 8KB рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рдереЗред BOFs рдХреЗ рдкрд╛рд╕ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрддрд╛ред

рдлрд┐рд░ рдореИрдВрдиреЗ рдХреБрдЫ Beacon-рд╡рд┐рд╢рд┐рд╖реНрдЯ APIs (рдЬреИрд╕реЗ, BeaconPrintf, BeaconInjectProcess, рдЖрджрд┐) рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рддрд╛рдХрд┐ рдЪреАрдЬрд╝реЛрдВ рдХреЛ Beacon-рдиреЗрдЯрд┐рд╡ рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдореБрдЭреЗ libc рдХреА рдЙрди рдЪреАрдЬрд╝реЛрдВ рдХреА рднрд░рдкрд╛рдИ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдиреЗ рдкрдбрд╝реЗ рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐... BOFs)ред

  2. рдореИрдВрдиреЗ рдХреЛрдб рдХреЛ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ weaponization рдкрдереЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛:



Beacon рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рддрд░реНрдХ рдХреЗ 'smbghost' alias рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЗрд╕ exploit рдХреЛ рдЪрд▓рд╛рдиреЗ рдФрд░ рдХреЗрд╡рд▓ Beacon рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЯреЛрдХрди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдпрджрд┐ exploit рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЗ рд╡рд░реНрддрдорд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЯреЛрдХрди рдореЗрдВ рд╡реЗ рдЕрд╕рд╛рдзрд╛рд░рдг рд╢рдХреНрддрд┐рдпрд╛рдБ рд╣реЛрдВрдЧреА рдЬреЛ рдкрд╣рд▓реЗ рдирд╣реАрдВ рдереАрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдм рдЖрдк рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ inject рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╣рд╛рдБ рддрдХ рдХрд┐ рдЕрдиреНрдп рдбреЗрд╕реНрдХрдЯреЙрдк рд╕рддреНрд░реЛрдВ рдореЗрдВ рднреА) рдпрд╛ winlogon.exe рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдПрдХ рдЪрд╛рдЗрд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрдкреЙрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ smbghost рдХреЛ рдХрдИ рдмрд╛рд░ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ exploit рд╣рдореЗрд╢рд╛ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, Cobalt Strike рдХреЗ Aggressor Script рдореЗрдВ рдЙрдкрд▓рдмреНрдз privilege escalation API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирдпрд╛ Beacon рд╕рддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 'elevate smbghost' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рддреНрд╡рд░рд┐рдд рдбреЗрдореЛ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реИ, рдпрд╣ рдЙрддреНрдкрд╛рдж рдХреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рдореЗрдВ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ, рдЖрджрд┐, рд▓реЗрдХрд┐рди... рдпрд╣ winlogon.exe рдореЗрдВ inject рдХрд░рддрд╛ рд╣реИред winlogon.exe рдореЗрдВ inject рдХрд░рдирд╛ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ elevation рдХрд╛ рдХреЛрдИ рдЕрдирд┐рд╡рд╛рд░реНрдп рдЧреБрдг рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рд╕рднреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ POCs рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ CreateRemoteThread рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реАрдорд╛рдУрдВ рдХреЗ рдкрд╛рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛, рдФрд░ рдХреМрди parent process spoofing рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд boilerplate рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ? winlogon.exe рдЙрдиреНрдирдд рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рд▓рдХреНрд╖реНрдп рд╣реИред

рдЗрд╕реЗ Visual Studio рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

x64 Cross Tools Command Prompt рд╕реЗ make.bat рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдпрд╣ expoit.x64.o рдХреЛ dist/ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛ред

рдореИрдВрдиреЗ Visual Studio 2013 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЕрдиреНрдп рдХрдВрдкрд╛рдЗрд▓рд░/рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдореИрдВрдиреЗ x86 рдЖрдЬрд╝рдорд╛рдпрд╛/рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ред