19 KiB
âïž HackTricks Cloud âïž -ðŠ Twitter ðŠ - ðïž Twitch ðïž - ð¥ Youtube ð¥
-
ãµã€ããŒã»ãã¥ãªãã£äŒæ¥ã§åããŠããŸããïŒ HackTricksã§äŒç€Ÿã宣äŒãããã§ããïŒãŸãã¯ãææ°ããŒãžã§ã³ã®PEASSãå ¥æããããHackTricksãPDFã§ããŠã³ããŒããããã§ããïŒSUBSCRIPTION PLANSããã§ãã¯ããŠãã ããïŒ
-
The PEASS FamilyãèŠã€ããŠãã ãããç¬å çãªNFTã®ã³ã¬ã¯ã·ã§ã³ã§ãã
-
å ¬åŒã®PEASSïŒHackTricksã®ã°ããºãæã«å ¥ããŸãããã
-
ð¬ Discordã°ã«ãŒããŸãã¯telegramã°ã«ãŒãã«åå ããããTwitterã§ãã©ããŒããŠãã ããðŠ@carlospolopmã
-
ãããã³ã°ã®ããªãã¯ãå ±æããã«ã¯ãhacktricksãªããžããªãšhacktricks-cloudãªããžããªã«PRãæåºããŠãã ããã
ãã®ã³ã³ãã³ã㯠https://www.errno.fr/artifactory/Attacking_Artifactory ããååŸãããŸãã
Artifactoryã®åºç€
ããã©ã«ãã®ãŠãŒã¶ãŒãšãã¹ã¯ãŒã
Artifactoryã®ããã©ã«ãã®ã¢ã«ãŠã³ãã¯æ¬¡ã®ãšããã§ãïŒ
ã¢ã«ãŠã³ã | ããã©ã«ãã®ãã¹ã¯ãŒã | ããŒã |
---|---|---|
admin | password | äžè¬çãªç®¡çã¢ã«ãŠã³ã |
access-admin | password (<6.8.0)ãŸãã¯ã©ã³ãã ãªå€ (>= 6.8.0) | ããŒã«ã«ç®¡çæäœã«ã®ã¿äœ¿çšãããŸã |
anonymous | ââ | ããã©ã«ãã§ã¯æå¹ã«ãªã£ãŠããªããªã¢ãŒãããã±ãŒãžã®ååŸçšã®å¿åãŠãŒã¶ãŒ |
ããã©ã«ãã§ã¯ããã¹ã¯ãŒãããã¯ããªã·ãŒã¯èšå®ãããŠããªããããArtifactoryã¯ã¯ã¬ãã³ã·ã£ã«ã¹ã¿ããã£ã³ã°ããã¹ã¯ãŒãã¹ãã¬ãŒæ»æã®äž»èŠãªã¿ãŒã²ãããšãªããŸãã
æš©é
çæ³çã«ã¯ãArtifactoryã«æ¥ç¶ãããšæ¬¡ã®ãããªç»é¢ã衚瀺ãããŸãïŒ
äžæ¹ã次ã®ãããªãã®ã衚瀺ãããå ŽåïŒ
ããã¯ããå¿åã¢ã¯ã»ã¹ãã管çããã«ã§æå¹ã«ãªã£ãŠããããšãæå³ããŸããããã¯ãã¢ããªã±ãŒã·ã§ã³ãæéããããã«ã¢ãŒãã£ãã¡ã¯ããååŸã§ããããã«ããããã®äžè¬çãªèšå®ã§ãããæ»æè ã§ããããªãã«ãšã£ãŠã¯å¥œãŸãããªãæ å ±ã衚瀺ãããŸãã
ã¢ã«ãŠã³ãã®æš©éã確èªãã
æã ãèšå®ãã¹ã®ããã«ãå¿åãŠãŒã¶ãŒãäžéšã®ãªããžããªã«ãã¡ã€ã«ããããã€ã§ããããã«ãªã£ãŠããããšããããŸãïŒ
å¿åãŠãŒã¶ãŒããããã€ã§ãããªããžããªã確èªããã«ã¯ã次ã®ãªã¯ãšã¹ãã䜿çšããŸãïŒ
curl http://localhost:8081/artifactory/ui/repodata?deploy=true
{"repoList":["artifactory-build-info","example-repo-local"]}
ãããªã¯ãšã¹ãã«repoKey
ã®ãšã³ããªãããå Žåãå¿åãŠãŒã¶ãŒã¯ãããã«ãããã€ã§ããŠããŸããŸããããã¯éåžžã«å±éºã§ãããã¡ã€ã«ããããã€ããããã«ã¯å¿
ãèªèšŒãããã¹ãã§ãã
ããã¯ãã¹ã¯ãŒããããŒã¯ã³ãååŸããåŸãä»ã®ã¢ã«ãŠã³ãã«ãäžè¬åããããšãã§ããŸãã
ãŠãŒã¶ãŒã®äžèŠ§è¡šç€º
äœããã®çç±ã§ããŠãŒã¶ãŒã®äžèŠ§è¡šç€ºã¯ç®¡çè ã®ã¿ãè¡ããæš©éã§ãããã ããã¢ãŒãã£ãã¡ã¯ãã®ãDeployed Byãã®å€ã«äŸåããããŠãŒã¶ãŒã®äžèŠ§è¡šç€ºã®ä»£æ¿æ¹æ³ãèŠã€ããŸããã
ãã®ã¹ã¯ãªããã¯ãã¢ãŒãã£ãã¡ã¯ãããããã€ãããŠãŒã¶ãŒãååž°çã«æ€çŽ¢ããã ãã®ãã®ã§ãããã ãããªããžããªãå€ãå ŽåïŒ>1000ïŒãå®äºãŸã§ã«æéããããå¯èœæ§ããããŸãã
./artifactory_list_users.py http://127.0.0.1:8081/artifactory
There are 23 repositories to process
Found user admin
Found user test
Found user user
Found user test_deploy
Permissions
以äžã¯åºæ¬çãªæš©éãšãã®æçšæ§ã§ãïŒ
- Manage: ?
- Delete/Overwrite: ãã³ãã¹ãã«èå³ããã
- Deploy/Cache: ãã³ãã¹ãã«èå³ããã
- Annotate: CVE-2020-7931ã«å¿ èŠ
- Read: éåžžã¯ããã©ã«ãã®æš©é
æ¢ç¥ã®è匱æ§
以äžã¯é«ã圱é¿åãæã€å ¬éè匱æ§ã®å³éžãªã¹ãã§ãïŒ
CVE-2016-10036: ä»»æã®ãã¡ã€ã«ã®ã¢ããããŒããšRCE (<4.8.6)
ããã¯å°ãå€ãããã®ãããªå€ãArtifactoryããŒãžã§ã³ã«ã¯ã»ãšãã©åºããããªãã§ããããããã§ããã·ã³ãã«ãªãã£ã¬ã¯ããªãã©ããŒãµã«ã§ãããTomcatã¬ãã«ã§ä»»æã®ã³ãŒããå®è¡ã§ãããããããªãå¹æçã§ãã
CVE-2019-9733: èªèšŒãã€ãã¹ (<6.8.6)
å ã®ã¢ããã€ã¶ãªã¯ãã¡ãã
Artifactoryã®å€ãããŒãžã§ã³ïŒ6.7.3ãŸã§ïŒã§ã¯ãaccess-admin
ã¢ã«ãŠã³ããããã©ã«ããã¹ã¯ãŒãpassword
ã䜿çšããŠããŸããã
ãã®ããŒã«ã«ã¢ã«ãŠã³ãã¯éåžžãUIãAPIã«ã¢ã¯ã»ã¹ããããšã¯çŠæ¢ãããŠããŸãããããŒãžã§ã³6.8.6ãŸã§ãX-Forwarded-For
HTTPãããã127.0.0.1
ã«èšå®ãããŠããå ŽåãArtifactoryã¯ãªã¯ãšã¹ããããŒã«ã«ããçºä¿¡ããããã®ãšèª€èªããããšããããŸããã
CVE-2020-7931: ãµãŒããŒãµã€ããã³ãã¬ãŒãã€ã³ãžã§ã¯ã·ã§ã³ïŒArtifactory ProïŒ
å ã®ã¢ããã€ã¶ãªã¯ãã¡ãã
ãã®è匱æ§ãæªçšããããã«ã¯ã以äžãå¿ èŠã§ãïŒ
- ãããã€ïŒãã¡ã€ã«ã®äœæïŒãšæ³šéïŒãã£ã«ã¿ãªã³ã°ã®èšå®ïŒã®æš©éãæã€ãŠãŒã¶ãŒ
- Artifactory Pro
ãã®è匱æ§ã¯éåžžã«ã·ã³ãã«ã§ãããããã€ããããªãœãŒã¹ããã£ã«ã¿ãªã³ã°ãããç¶æ ã«èšå®ãããŠããå Žåãããã¯Freemarkerãã³ãã¬ãŒããšããŠè§£éãããæ»æè ã«SSTIæ»æã®çªå£ãæäŸããŸãã
以äžã¯å®è£ ãããããªããã£ãã§ãïŒ
- åºæ¬çãªãã¡ã€ã«ã·ã¹ãã ã®èªã¿åã
- å¶éä»ãã®ãã¡ã€ã«ã·ã¹ãã ã®æžã蟌ã¿
ãããã¯ãæãç°¡åã§éããªæ¹æ³ããæãé£ãããŠéšã ããæ¹æ³ãŸã§ãããŸããŸãªæ¹æ³ã§ãªã¢ãŒãã³ãŒãã®å®è¡ãå¯èœã«ããã®ã«ååã§ãïŒ
- ãããããæäŸãããã¡ã€ã«ã·ã¹ãã äžã®ç§å¯ã®èªã¿åãïŒ/home/user/.bash_historyã/home/user/password.txtã/home/user/.ssh/id_rsaãªã©ïŒ
- ãŠãŒã¶ãŒã«SSHããŒãè¿œå ãã
- ãµãŒãã¬ãããå®è¡ããããã®.warããããã€ãã
- Artifactory GroovyãŠãŒã¶ãŒã¹ã¯ãªããããããã€ãã
.war stories: Java renameTo() shenanigans
ããã¯ããã³ãã¹ãäžã«äœæéãããããã¯äœæ¥ãå£ã«é ãã¶ã€ããå°ããªç©èªã§ããç§ã¯å€ãArtifactoryã«åºããããŸããããCVE-2020-7931ã®è匱æ§ãããããšãç¥ã£ãŠããŸãããå
ã®ã¢ããã€ã¶ãªã®SSTIãã³ãã¬ãŒãããããã€ãããã¡ã€ã«ã·ã¹ãã ã調ã¹å§ããŸãããArtifactoryã¯éæšæºã®å Žæã«ã€ã³ã¹ããŒã«ãããŠããããã§ããããããã¯ã¢ããªã±ãŒã·ã§ã³ã®ãã€ããªãããŒã¿ããã°ãèšå®ãåé¢ããããã«ç®¡çè
ã奜ãããšã§ãïŒããã¯è¯ãããšã§ãïŒïŒããŠãŒã¶ãŒã®ããŒã ãã£ã¬ã¯ããªã«ã¯ãç°¡åãªãããããæäŸããSSHããŒããã¹ã¯ãŒãã¯ãããŸããã§ããã®ã§ãæ§ããããæ¬ ããŠãã¡ã€ã«ã·ã¹ãã ã«æžã蟌ãããšã«ãªããŸãããArtifactoryã®ã¢ããããŒããã£ã¬ã¯ããªã«åæãã€ããŒãïŒå
¬ééµïŒãããããããããšã¯ããŸããããŸãããããããSSHããŒã®ãã£ã¬ã¯ããªã«ç§»åããããšãã§ããŸããã§ãããããã§ãåã³èªåã®æªçšãµã³ãããã¯ã¹ã§ãã¹ãããŸããããããŸããããŸããããããã£ãŠãrenameTo()
ã¡ãœãããå®äºã§ããªãå¥ã®èšå®ãããã¯ãã§ãããã®æç¹ã§ãããã¥ã¡ã³ãã確èªããã®ã¯åžžã«è¯ãèãã§ã... ããã¯ãç°ãªããã¡ã€ã«ã·ã¹ãã éã§ãã¡ã€ã«ã®ååãå€æŽã§ããªãããšãæ確ã«è¿°ã¹ãŠããŸããããã¯ãã¡ãœããã®å®è£
ã«äŸåãããããå®è£
ã«ãã£ãŠã¯æå³ããããããããŸãããããŒãã
管çè
ãããŒãã£ã·ã§ã³ã奜ããªããšãèŠããŠããŸããïŒããã§ã¯ããã®è匱æ§ã«å¯Ÿãã圌ã®ã»ããã¢ãããç¥ããã«åŒ·åããŠããŸã£ã管çè
ã®ã±ãŒã¹ã§ãïŒãã®ãããå¥ã®æ¹æ³ãèŠã€ããå¿
èŠããããŸããããã¡ã€ã«ããã£ã¹ã¯ã«æžã蟌ãããšãã§ããå¥ã®æ¹æ³ãèŠã€ããããã«ãæ¬è³ªçã«ã¯Javaã®ç£çã«æãäžããå¿
èŠããããŸãããããã¯æ¥œããããšã§ã¯ãããŸããã§ãããFTLãã³ãã¬ãŒããJavaãTomcat/Catalinaã«ã¯è©³ãããããŸãããéåžžã®Javaã®ç£çè±åºã§ã¯ããŸããããªãã£ãããšãããã«ããããŸãããæ°ããã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹åãçŠæ¢ãããŠããŸãããJavaãšCatalinaã®ã¯ã©ã¹ã®ããã¥ã¡ã³ããäœæéãèªãã åŸãå°éã§ãããªããžã§ã¯ãã«write()ã¡ãœãããããããšãã€ãã«èŠã€ããŸããããã ããããã¯Webã¢ããªã±ãŒã·ã§ã³ã®ããŒã¹ãã¹ã«å¶éãããŠããŸãã... ããã§ãå¥ã®ãã¡ã€ã«ã·ã¹ãã ãžã®æžã蟌ã¿ãšããã®æ°ããå°éå¯èœãªãã¡ã€ã«ã·ã¹ãã ãä»ããrenameTo()
ãçµã¿åãããŠãã©ãã«ã§ãæžã蟌ããããã«ããããšãã§ããããšæããŸããããããŠãããã¯ããçšåºŠããŸããããŸãããäžæçãªã¢ããããŒããã£ã¬ã¯ããªã®å€ã«æžã蟌ãããšã«ã¯
ãã¹ããšã¯ã¹ããã€ããŒã·ã§ã³
以äžã¯ããªã¢ãŒãã³ãŒãå®è¡ãŸãã¯ãµãŒããŒäžã®ä»»æã®ãã¡ã€ã«èªã¿åããéæããåŸã«ã®ã¿åœ¹ç«ã€ãã®ã§ãããå¥ã®ãã·ã³ãžã®ããããã«åœ¹ç«ã€ãããããŸããã
ãã¹ã¯ãŒããšå€éšã·ãŒã¯ã¬ããã®ä¿å
ããŒã«ã«ãã¹ã¯ãŒã
ããŒã«ã«ã®Artifactoryãã¹ã¯ãŒãã¯ããœã«ãä»ãMD5ãŸãã¯bcrypt圢åŒã§ä¿åãããŠããŸããåè ã¯éæšå¥šã§ãã
MD5ãã¹ã¯ãŒãã¯åžžã«ããŒãã³ãŒããããspringå€{CAFEBABEEBABEFAC}
ã§ãœã«ãåãããŠãããåçŽãªé£çµã䜿çšããŠããŸããã€ãŸããhash = md5(password + salt)
ã§ããããŒã¿ããŒã¹ã«ã¯ãœã«ããCAFEBABEEBABEFAC
ãšèšèŒãããŠããŸãããä¿¡ããŠãã ãããå®éã¯{CAFEBABEEBABEFAC}
ã§ããèŠã€ããã®ã«èŠåŽããŸãã :)
ãããã®MD5ãã¹ã¯ãŒããã¯ã©ãã¯ããã«ã¯ãJtRã®ãã€ãããã¯ã¢ãŒãã䜿çšããå¿ èŠããããŸãïŒ
cat artifactory.hashes
user:1f70548d73baca61aab8660733c7de81${CAFEBABEEBABEFAC}
john artifactory.hashes --format=dynamic_1
Loaded 1 password hash (dynamic_1 [md5($p.$s) (joomla) 256/256 AVX2 8x3])
password (user)
ä»ã®ã¿ã€ãã®bcryptãã¹ã¯ãŒãã¯ç¹å¥ãªãã®ã¯å¿ èŠãããŸãããããã¯åãªãæšæºçãªbcryptããã·ã¥ã§ãã
cat artifactory_bcrypt.hashes
admin:$2a$08$EbfHSAjPLoJnG/yHS/zmi.VizaWSipUuKAo7laKt6b8LePPTfDVeW
john artifactory_bcrypt.hashes
Loaded 1 password hash (bcrypt [Blowfish 32/64 X2])
password (admin)
ãªã¢ãŒãã·ãŒã¯ã¬ãã
Artifactoryã¯ããªã¢ãŒããµãŒãã¹ã«èå¥ããããã®ã·ãŒã¯ã¬ãããä¿åããå¿ èŠãããå ŽåããããŸãããããã®ã·ãŒã¯ã¬ããã¯ããã·ã¥åãããŠããŸãããããã£ã¹ã¯äžã«æå·åãããŠä¿åãããŠããããã®é£ã«éµããããŸããå ¬åŒããã¥ã¡ã³ãã«ã¯ã2ã€ã®ã¿ã€ãã®ã·ãŒã¯ã¬ãããèšèŒãããŠããŸãã
å€ãåœ¢åŒ (<5.9): DES-EDE
TODO. ãµã³ãã«ã®æå·åããŒã¿ãããå Žåã¯ãåé¡ãéããŠãã ãã.
æ°ããåœ¢åŒ (>=5.9): AES128-CBCæå·åãbase58ã§ä¿å
å€éšã®ã·ãŒã¯ã¬ããïŒãªã¢ãŒããµãŒããŒã®ãã¹ã¯ãŒããªã©ïŒã¯ãèšå®ãã£ã¹ã¯ãªãã¿ã«èŠã€ãããŸããäŸãã°ã/var/opt/jfrog/artifactory/etc/artifactory.config.latest.xml
ã®ãããªå Žæã«ããã以äžã®ããã«ãªããŸãïŒ
<keyStorePassword>AM.25rLQ.AES128.vJMeKkaK6RBRQCUKJWvYEHUw6zs394X1CrRugvJsQGPanhMgQ5be8yjWDhJYC4BEz2KRE</keyStorePassword>
Where:
AM
ã¯åžžã«Artifactoryã®æå·åãããç§å¯ã瀺ããŸã25rLQ
ã¯ããŒã®èå¥åãšäžèŽããå¿ èŠãããç§å¯ã®èå¥åã§ãAES128
ã¯æããã«äœ¿çšãããã¢ã«ãŽãªãºã ã§ãvJMeK...KRE
ã¯IV_SIZE|IV|secret|CRC
ã®Base58ãšã³ã³ãŒãã£ã³ã°ã§ã
以äžã®æ£èŠè¡šçŸã䜿çšããŠãä»ã®ç§å¯ïŒããŒã¯ã³ãèšå®ã®ããã¯ã¢ãããªã©ïŒãèŠã€ããããšãã§ããŸãïŒ
grep -r 'AM\..*\.AES128\.' /var/opt/jfrog/artifactory/
éµã¯ /var/opt/jfrog/artifactory/etc/security/artifactory.key
ã«ä¿åãããŠããã以äžã®ããã«ãªã£ãŠããŸãïŒ
JS.25rLQ.AES128.7fcJFd3Y2ib3wi4EHnhbvZuxu
Where:
JS
ã¯ããŒã瀺ããŠããŸã25rLQ
ã¯ããŒããšã«ã©ã®ç§å¯ã埩å·åã§ãããã远跡ããäžæã®ããŒèå¥åã§ãAES128
ã¯äœ¿çšãããŠããã¢ã«ãŽãªãºã ã§ã7fcJFd3Y2ib3wi4EHnhbvZuxu
ã¯ããŒãš2ãã€ãã®CRCã®base58ãšã³ã³ãŒãã£ã³ã°ã§ã
ãã®ããŒã«ã¯ãªãã©ã€ã³ã§äœ¿çšã§ããArtifactoryã®ç§å¯ã埩å·åããããã«äœ¿çšã§ããŸãïŒArtifactoryDecryptorã
Artifactoryã®é²åŸ¡
ããéããŒã ãŸãã¯Artifactoryã®ç®¡çè ã§ããå Žåã以äžã®ããšãè¡ãå¿ èŠããããŸãïŒ
- ç¹ã«éèŠãªã¢ããããŒããçºè¡ãããå Žåã«ã¯ãArtifactoryãææ°ã®ç¶æ ã«ä¿ã€
- é³ã®ãã¹ã¯ãŒãããªã·ãŒãå®è£ ããïŒããã©ã«ãã®ãã¹ã¯ãŒãã䜿çšããªãã匷åãªãã¹ã¯ãŒããå¿ é ãšãããããã¯ã¢ãŠããè¡ãïŒãç¹ã«å€éšLDAPã«å§ä»»ããŠç£èŠãåäžãããããšãæãŸãã
- å¿åãŠãŒã¶ãŒã«å¯ŸããŠç¹ã«ã¢ã¯ã»ã¹ãå¶éããïŒæå°ç¹æš©ã®ååãå°éããïŒ
âïž HackTricks Cloud âïž -ðŠ Twitter ðŠ - ðïž Twitch ðïž - ð¥ Youtube ð¥
-
ãµã€ããŒã»ãã¥ãªãã£äŒæ¥ã§åããŠããŸããïŒ HackTricksã§äŒç€Ÿã宣äŒãããã§ããïŒãŸãã¯ãPEASSã®ææ°ããŒãžã§ã³ãHackTricksã®PDFãããŠã³ããŒããããã§ããïŒSUBSCRIPTION PLANSããã§ãã¯ããŠãã ããïŒ
-
The PEASS FamilyãçºèŠããŸããããç¬å çãªNFTã®ã³ã¬ã¯ã·ã§ã³ã§ãã
-
å ¬åŒã®PEASSïŒHackTricksã®ã°ããºãæã«å ¥ããŸãããã
-
ð¬ Discordã°ã«ãŒããŸãã¯**telegramã°ã«ãŒãã«åå ããããTwitterã§ãã©ããŒããŠãã ããðŠ@carlospolopm.**
-
**ãããã³ã°ã®ããªãã¯ãå ±æããã«ã¯ãhacktricksã®ãªããžããªãšhacktricks-cloudã®ãªããžããª**ã«PRãæåºããŠãã ããã