Post

Home AD Lab: Recon & Wing FTP RCE

Home AD Lab: Recon & Wing FTP RCE

Overview

First post in a lab series where I’m building out a small attacker/target environment and working through a simplified end-to-end attack chain — starting here with environment setup, initial reconnaissance, a real CVE exploit, and standing up Active Directory Domain Services.

Everything below happened in a private, self-hosted, isolated lab I own and control (lab.local domain, 192.168.1.0/24 network). No external or production systems were touched.


Step 1: Environment Setup

I set up two VMs on VMware Workstation:

  • Kali Linux — attacker machine
  • Windows Server 2022 — target machine

Kali Linux terminal Kali Linux attacker machine

Windows target desktop Windows Server target machine


Step 2: Network Configuration and Testing

Verified connectivity between the two hosts with basic ping tests in both directions before doing anything else — no point running recon against a host that isn’t even reachable.

Ping test from Kali to the target Connectivity confirmed from the attacker side

Ping test from the Windows host Connectivity confirmed from the target side


Step 3: Creating Named Accounts

Set up a named (non-default) account on each machine so activity could be tracked cleanly across the environment.

1
2
3
whoami
id
hostnamectl

Kali account identification Confirming the working account and host details on Kali

Windows account info Named local account on the Windows target

Windows system info Target system specs: Windows Server 2022 Standard


Step 4: Initial Reconnaissance with Nmap

Started broad, then narrowed down:

1
2
3
4
5
6
7
8
# Host discovery
nmap -sn 192.168.1.0/24

# Full port sweep of the target's first 1000 ports
nmap -sS -p 1-1000 192.168.1.39

# Service/version detection on open ports
nmap -sV 192.168.1.39

nmap host discovery Sweeping the subnet for live hosts

nmap SYN scan Port scan of the target — FTP, SSH, HTTP/HTTPS, RDP, Microsoft-DS found open

nmap service/version detection Confirming Wing FTP Server as the service on port 21


Step 5: Banner Grabbing and Service Enumeration

Manual banner grab with Netcat:

1
nc -v 192.168.1.39 21

Netcat banner grab Manually confirming the FTP banner

Script-assisted banner confirmation with Nmap:

1
nmap --script banner 192.168.1.39

nmap banner script Cross-checking service banners across all open ports

Vulnerability scan:

1
nmap --script vuln 192.168.1.39

nmap vulnerability scan Flagged a possible admin folder at /login.html

Nmap’s vulnerability scripts flagged a possible admin folder at /login.html on the server — a small detail, but exactly the kind of thing worth following up on.


Step 6: Exploit Discovery — Wing FTP Server RCE (CVE-2025-47812)

The FTP service version I found matched a known, critical vulnerability: Wing FTP Server Remote Code Execution, tracked as CVE-2025-47812.

Public proof-of-concept: 4m3rr0r/CVE-2025-47812-poc

Exploit script help menu PoC script usage — command injection via login.html

Using the published PoC script against the target, I was able to remotely execute the systeminfo command on the Windows Server — confirming working remote code execution through the vulnerable FTP service, with no credentials required (defaults to an anonymous/null login).

Exploit run with systeminfo output Remote code execution confirmed — full systeminfo returned over the vulnerable FTP service

A single outdated, internet-facing service was enough to get code execution before touching a single credential — a good reminder of why patch management and attack-surface reduction matter as much as any fancier technique.

Note: at the point this screenshot was taken, systeminfo already reports the box as a Primary Domain Controller — meaning AD DS (Step 7 below) was actually stood up before this particular exploit run, even though it’s written up afterward here for a cleaner narrative flow.


Step 7: Setting Up Active Directory Domain Services (AD DS)

With initial access demonstrated, I switched to the defender/builder side and turned the Windows Server into a Domain Controller.

Installing the AD DS role and promoting to a Domain Controller:

1
2
3
4
5
6
7
8
9
10
11
12
13
Import-Module ADDSDeployment
Install-ADDSForest `
  -CreateDnsDelegation:$false `
  -DatabasePath "C:\Windows\NTDS" `
  -DomainMode "WinThreshold" `
  -DomainName "lab.local" `
  -DomainNetbiosName "LAB" `
  -ForestMode "WinThreshold" `
  -InstallDns:$true `
  -LogPath "C:\Windows\NTDS" `
  -NoRebootOnCompletion:$false `
  -SysvolPath "C:\Windows\SYSVOL" `
  -Force:$true

Server Manager AD DS role installed AD DS role installed and the server online as a Domain Controller

Creating an OU, users, and a security group:

Using Active Directory Users and Computers (ADUC), I created a LabUsers Organizational Unit, added domain user accounts under it, and grouped them under a security group.

ADUC LabUsers OU LabUsers Organizational Unit with domain user accounts

Security group members Security group membership showing the three domain users

Verifying with PowerShell:

1
2
Get-ADUser -Filter * -SearchBase "OU=LabUsers,DC=lab,DC=local" | Select-Object SamAccountName
Get-ADGroupMember Team_Group2 | Select-Object Name,SamAccountName

PowerShell AD verification Confirming domain users and group membership via PowerShell


Conclusion

This lab established a complete virtual attacker/target environment: Kali Linux against Windows Server 2022 on VMware Workstation, with verified connectivity, thorough Nmap-based reconnaissance, and confirmed service enumeration (FTP, SSH, HTTP/HTTPS, RDP, Microsoft-DS on 192.168.1.39), including a flagged admin panel at /login.html.

The standout result: a critical, real-world vulnerability — Wing FTP Server RCE (CVE-2025-47812) — was identified from service fingerprinting alone and successfully exploited to achieve remote code execution.

On the infrastructure side, the server was promoted to a Domain Controller for lab.local, with a proper OU structure, domain users, and a security group in place — the foundation the next posts in this series will build on.

Up next: file sharing, password cracking, and SMB exploitation in the same lab.

This post is licensed under CC BY 4.0 by the author.