21 KiB
Nginx
âïž HackTricks Cloud âïž -ðŠ Twitter ðŠ - ðïž Twitch ðïž - ð¥ Youtube ð¥
- ãµã€ããŒã»ãã¥ãªãã£äŒæ¥ã§åããŠããŸããïŒ HackTricksã§äŒç€Ÿã宣äŒãããã§ããïŒãŸãã¯ãPEASSã®ææ°ããŒãžã§ã³ã«ã¢ã¯ã»ã¹ããããHackTricksãPDFã§ããŠã³ããŒããããã§ããïŒSUBSCRIPTION PLANSããã§ãã¯ããŠãã ããïŒ
- The PEASS FamilyãèŠã€ããŠãã ãããããã¯ãç§ãã¡ã®ç¬å çãªNFTã®ã³ã¬ã¯ã·ã§ã³ã§ãã
- å ¬åŒã®PEASSïŒHackTricksã®ã°ããºãæã«å ¥ããŸãããã
- ð¬ Discordã°ã«ãŒããŸãã¯telegramã°ã«ãŒãã«åå ããããTwitterã§ç§ããã©ããŒããŠãã ããðŠ@carlospolopmã
- ãããã³ã°ã®ããªãã¯ãå ±æããã«ã¯ãPRã hacktricks repo ãš hacktricks-cloud repo ã«æåºããŠãã ããã
![](/Mirrors/hacktricks/media/commit/2f907a2cf4ddd126c33d3666d06dd43777e1e7b2/.gitbook/assets/image%20%281%29%20%281%29%20%282%29%20%284%29.png)
DragonJAR Security Conference es un evento internacional de ciberseguridadã¯ãã³ãã³ãã¢ã®ããŽã¿ã§2023幎9æ7æ¥ãã8æ¥ãŸã§éå¬ãããã10幎以äžã®æŽå²ãæã€åœéçãªãµã€ããŒã»ãã¥ãªãã£ã€ãã³ãã§ãããã®ã€ãã³ãã¯ãã¹ãã€ã³èªã§ææ°ã®ç 究ãçºè¡šãããæè¡çãªå 容ã®é«ãã€ãã³ãã§ãããäžçäžã®ããã«ãŒãç 究è ãæ¹ãã€ããŠããŸãã 以äžã®ãªã³ã¯ã§ä»ããç»é²ãããã®çŽ æŽãããã«ã³ãã¡ã¬ã³ã¹ããèŠéããªãïŒ:
{% embed url="https://www.dragonjarcon.org/" %}
ã«ãŒãã®å ŽæãèŠã€ãããŸãã
server {
root /etc/nginx;
location /hello.txt {
try_files $uri $uri/ =404;
proxy_pass http://127.0.0.1:8080/;
}
}
root
ãã£ã¬ã¯ãã£ãã¯ãNginxã®ã«ãŒããã©ã«ããæå®ããŸããäžèšã®äŸã§ã¯ãã«ãŒããã©ã«ãã¯/etc/nginx
ã§ããããã®ãã©ã«ãå
ã®ãã¡ã€ã«ã«ã¢ã¯ã»ã¹ã§ããŸããäžèšã®èšå®ã«ã¯/ (location / {...})
ã®å Žæã¯ãããŸãããã/hello.txt
ã®å Žæã¯ãããŸãããã®ãããroot
ãã£ã¬ã¯ãã£ãã¯ã°ããŒãã«ã«èšå®ããã/
ãžã®ãªã¯ãšã¹ãã¯ããŒã«ã«ãã¹/etc/nginx
ã«ã¢ã¯ã»ã¹ããŸãã
åçŽãªGET /nginx.conf
ã®ãªã¯ãšã¹ãã¯ã/etc/nginx/nginx.conf
ã«ä¿åãããŠããNginxã®èšå®ãã¡ã€ã«ã®å
容ãæããã«ããŸããã«ãŒãã/etc
ã«èšå®ãããŠããå ŽåãGET
ãªã¯ãšã¹ã/nginx/nginx.conf
ã¯èšå®ãã¡ã€ã«ãæããã«ããŸããäžéšã®å Žåã§ã¯ãä»ã®èšå®ãã¡ã€ã«ãã¢ã¯ã»ã¹ãã°ãããã«ã¯HTTPåºæ¬èªèšŒã®æå·åãããè³æ Œæ
å ±ã«ã¢ã¯ã»ã¹ããããšãã§ããå¯èœæ§ããããŸãã
Alias LFI Misconfiguration
Nginxã®èšå®å ãèŠããšããlocationãã¹ããŒãã¡ã³ãããããŸããããã以äžã®ãããªãã®ãããã°:
location /imgs {
alias /path/images/;
}
以äžã®çç±ã«ãããLFIïŒLocal File InclusionïŒã®è匱æ§ãååšããŸãã
- The application allows user-supplied input to be included in file paths without proper validation or sanitization.
- The file inclusion functionality does not restrict access to sensitive files or directories.
- The application does not implement any security measures to prevent directory traversal attacks.
ãã®è匱æ§ãæªçšããããšãæ»æè ã¯ã¢ããªã±ãŒã·ã§ã³ã®ãã¡ã€ã«ã·ã¹ãã å ã®ä»»æã®ãã¡ã€ã«ã«ã¢ã¯ã»ã¹ã§ããå¯èœæ§ããããŸããããã«ãããæ©å¯æ å ±ã®æŒæŽ©ãã·ã¹ãã ã®å®å šãªå¶åŸ¡ãå¯èœã«ãªããŸãã
/imgs../flag.txt
以äžã¯ããããã³ã°æè¡ã«é¢ããæ¬ã®å 容ã§ãã以äžã®å 容ã¯ã/hive/hacktricks/network-services-pentesting/pentesting-web/nginx.mdãšãããã¡ã€ã«ããã®ãã®ã§ãã
Nginx
Nginxã¯ãé«æ§èœã§è»œéãªWebãµãŒããŒããã³ãªããŒã¹ãããã·ãµãŒããŒã§ããNginxã®ãããã¬ãŒã·ã§ã³ãã¹ãã«ã¯ãããŸããŸãªãã¯ããã¯ããããŸãã
ããŒãžã§ã³ã®ç¹å®
Nginxã®ããŒãžã§ã³ãç¹å®ããããã«ã以äžã®æ¹æ³ã䜿çšã§ããŸãã
-
ã¬ã¹ãã³ã¹ããããŒã確èªããïŒNginxã®ã¬ã¹ãã³ã¹ããããŒã«ã¯ãããŒãžã§ã³æ å ±ãå«ãŸããŠããå ŽåããããŸããäŸãã°ã
Server: nginx/1.14.0
ã®ãããªåœ¢åŒã§ãã -
ãšã©ãŒããŒãžã確èªããïŒNginxã®ãšã©ãŒããŒãžã«ã¯ãããŒãžã§ã³æ å ±ãå«ãŸããŠããå ŽåããããŸããäŸãã°ã
nginx/1.14.0
ã®ãããªåœ¢åŒã§ãã -
ãã£ã¬ã¯ããªãªã¹ãã£ã³ã°ãå©çšããïŒNginxã®ãã£ã¬ã¯ããªãªã¹ãã£ã³ã°æ©èœãæå¹ã«ããŠããå Žåããã£ã¬ã¯ããªã®äžèŠ§ã«ããŒãžã§ã³æ å ±ã衚瀺ãããããšããããŸãã
ãã£ã¬ã¯ããªãã©ããŒãµã«ã®æ€åº
Nginxã®ãã£ã¬ã¯ããªãã©ããŒãµã«ã®è匱æ§ãæ€åºããããã«ã以äžã®ææ³ã䜿çšã§ããŸãã
-
ãã£ã¬ã¯ããªãã©ããŒãµã«æ»æïŒ
../
ã䜿çšããŠãã«ãŒããã£ã¬ã¯ããªä»¥å€ã®ãã£ã¬ã¯ããªã«ã¢ã¯ã»ã¹ããããšããŸãããšã©ãŒã¡ãã»ãŒãžããã£ã¬ã¯ããªãªã¹ãã£ã³ã°ã®çµæã確èªããŠãæ»æãæåãããã©ãããå€æããŸãã -
ç¹æ®ãªæååã®äœ¿çšïŒç¹æ®ãªæååïŒäŸïŒ
%2e%2e/
ïŒã䜿çšããŠããã£ã¬ã¯ããªãã©ããŒãµã«æ»æãè©Šã¿ãŸãããšã©ãŒã¡ãã»ãŒãžããã£ã¬ã¯ããªãªã¹ãã£ã³ã°ã®çµæã確èªããŠãæ»æãæåãããã©ãããå€æããŸãã
ãã¡ã€ã«ã®èªã¿åã
NginxãµãŒããŒäžã®ãã¡ã€ã«ãèªã¿åãããã«ã以äžã®ææ³ã䜿çšã§ããŸãã
-
ãã£ã¬ã¯ããªãã©ããŒãµã«æ»æïŒ
../
ã䜿çšããŠãç®çã®ãã¡ã€ã«ã«ã¢ã¯ã»ã¹ããããšããŸãããšã©ãŒã¡ãã»ãŒãžããã¡ã€ã«ã®å 容ã確èªããŠãæ»æãæåãããã©ãããå€æããŸãã -
ç¹æ®ãªæååã®äœ¿çšïŒç¹æ®ãªæååïŒäŸïŒ
%2e%2e/
ïŒã䜿çšããŠããã¡ã€ã«ã«ã¢ã¯ã»ã¹ããããšããŸãããšã©ãŒã¡ãã»ãŒãžããã¡ã€ã«ã®å 容ã確èªããŠãæ»æãæåãããã©ãããå€æããŸãã
以äžããNginxã®ãããã¬ãŒã·ã§ã³ãã¹ãã«é¢ããåºæ¬çãªæ å ±ã§ãã
/path/images/../flag.txt
æ£ããèšå®ã¯æ¬¡ã®ãšããã§ãïŒ
location /imgs/ {
alias /path/images/;
}
ãããã£ãŠãNginxãµãŒããŒãèŠã€ããå Žåã¯ããã®è匱æ§ããã§ãã¯ããå¿ èŠããããŸãããŸãããã¡ã€ã«/ãã£ã¬ã¯ããªã®ãã«ãŒããã©ãŒã¹ãå¥åŠãªæ¯ãèããããŠããå Žåã«ãçºèŠããããšãã§ããŸãã
詳现æ å ±ïŒhttps://www.acunetix.com/vulnerabilities/web/path-traversal-via-misconfigured-nginx-alias/
Accunetixãã¹ãïŒ
alias../ => HTTP status code 403
alias.../ => HTTP status code 404
alias../../ => HTTP status code 403
alias../../../../../../../../../../../ => HTTP status code 400
alias../ => HTTP status code 403
å®å šã§ãªãå€æ°ã®äœ¿çš
è匱ãªNginxã®èšå®ã®äŸã¯ä»¥äžã®éãã§ãïŒ
location / {
return 302 https://example.com$uri;
}
HTTPãªã¯ãšã¹ãã®æ¹è¡æåã¯\rïŒãã£ãªããžãªã¿ãŒã³ïŒãš\nïŒæ¹è¡ïŒã§ããæ¹è¡æåãURLãšã³ã³ãŒããããšã以äžã®ãããªæåã®è¡šçŸ %0d%0a
ãåŸãããŸãããããã®æåããã¹æ§æã®ãããµãŒããŒã«å«ãŸãããªã¯ãšã¹ãïŒäŸïŒhttp://localhost/%0d%0aDetectify:%20clrf
ïŒãéä¿¡ããããšã$uriå€æ°ã«URLãã³ãŒããããæ¹è¡æåãå«ãŸããããããµãŒããŒã¯æ°ããããã㌠Detectify
ãå«ãã ã¬ã¹ãã³ã¹ãè¿ããŸãã
HTTP/1.1 302 Moved Temporarily
Server: nginx/1.19.3
Content-Type: text/html
Content-Length: 145
Connection: keep-alive
Location: https://example.com/
Detectify: clrf
CRLFã€ã³ãžã§ã¯ã·ã§ã³ãšã¬ã¹ãã³ã¹ã¹ããªããã£ã³ã°ã®ãªã¹ã¯ã«ã€ããŠã¯ãhttps://blog.detectify.com/2019/06/14/http-response-splitting-exploitations-and-mitigations/ã§è©³ããåŠã¶ããšãã§ããŸãã
ä»»æã®å€æ°
ããã€ãã®å Žåã«ãããŠããŠãŒã¶ãŒããã®ããŒã¿ãNginxã®å€æ°ãšããŠæ±ãããããšããããŸãããªããããèµ·ããã®ãã¯æ確ã§ã¯ãããŸããããããã¯çããããšã§ã¯ãªããç°¡åã«ãã¹ãããããšãã§ããŸãããH1ã¬ããŒãã§ç¢ºèªã§ããããã«ããšã©ãŒã¡ãã»ãŒãžãæ€çŽ¢ãããšãSSIãã£ã«ã¿ãŒã¢ãžã¥ãŒã«ã§èŠã€ããããšãããããŸãããããã£ãŠãããã¯SSIã«èµ·å ãããã®ã§ããããšãæããã«ãªããŸãã
ããããã¹ãããæ¹æ³ã®äžã€ã¯ããªãã¡ã©ãŒããããŒã®å€ãèšå®ããããšã§ãïŒ
$ curl -H âReferer: barâ http://localhost/foo$http_referer | grep âfoobarâ
ãã®èšå®ãã¹ãã¹ãã£ã³ããNginxå€æ°ã®å€ã衚瀺ã§ããè€æ°ã®ã€ã³ã¹ã¿ã³ã¹ãèŠã€ããŸãããè匱ãªã€ã³ã¹ã¿ã³ã¹ã®æ°ã¯æžå°ããŠãããããã¯ä¿®æ£ãããå¯èœæ§ããããŸãã
ããã¯ãšã³ãã®çã®ã¬ã¹ãã³ã¹ã®èªã¿åã
Nginxã®proxy_pass
ã䜿çšãããšãããã¯ãšã³ãã«ãã£ãŠçæããããšã©ãŒãHTTPããããŒãã€ã³ã¿ãŒã»ããããããšãã§ããŸããããã¯ãå
éšãšã©ãŒã¡ãã»ãŒãžãããããŒãé ãããã«éåžžã«äŸ¿å©ã§ããNginxã代ããã«åŠçããããã«ãªããŸããããã¯ãšã³ããã«ã¹ã¿ã ãšã©ãŒããŒãžãè¿ãå ŽåãNginxã¯èªåçã«ãããæäŸããŸããããããããNginxããããHTTPã¬ã¹ãã³ã¹ã§ããããšãç解ã§ããªãå Žåã¯ã©ããªãã§ããããïŒ
ã¯ã©ã€ã¢ã³ããç¡å¹ãªHTTPãªã¯ãšã¹ããNginxã«éä¿¡ãããšããã®ãªã¯ãšã¹ãã¯ãã®ãŸãŸããã¯ãšã³ãã«è»¢éãããããã¯ãšã³ãã¯çã®ã³ã³ãã³ãã§å¿çããŸãããã®åŸãNginxã¯ç¡å¹ãªHTTPã¬ã¹ãã³ã¹ãç解ããã«ã¯ã©ã€ã¢ã³ãã«è»¢éããŸãã次ã®ãããªuWSGIã¢ããªã±ãŒã·ã§ã³ãæ³åããŠã¿ãŠãã ããïŒ
def application(environ, start_response):
start_response('500 Error', [('Content-Type',
'text/html'),('Secret-Header','secret-info')])
return [b"Secret info, should not be visible!"]
ãããŠã次ã®Nginxã®ãã£ã¬ã¯ãã£ãã䜿çšããŠ:
http {
error_page 500 /html/error.html;
proxy_intercept_errors on;
proxy_hide_header Secret-Header;
}
proxy_intercept_errorsã¯ãããã¯ãšã³ãã300ãã倧ããå¿çã¹ããŒã¿ã¹ãæã€å Žåãã«ã¹ã¿ã ã®å¿çãæäŸããŸããäžèšã®uWSGIã¢ããªã±ãŒã·ã§ã³ã§ã¯ãNginxã«ãã£ãŠ500ãšã©ãŒ
ãã€ã³ã¿ãŒã»ãããããŸãã
proxy_hide_headerã¯ãæå®ãããHTTPããããŒãã¯ã©ã€ã¢ã³ãããé衚瀺ã«ããããã®ãã®ã§ãã
éåžžã®GET
ãªã¯ãšã¹ããéä¿¡ãããšãNginxã¯æ¬¡ã®ããã«è¿ããŸãïŒ
HTTP/1.1 500 Internal Server Error
Server: nginx/1.10.3
Content-Type: text/html
Content-Length: 34
Connection: close
ããããç¡å¹ãªHTTPãªã¯ãšã¹ããéä¿¡ããå Žåã次ã®ãããªãã®ããããŸãã
GET /? XTTP/1.1
Host: 127.0.0.1
Connection: close
次ã®å¿çãåãåããŸãïŒ
XTTP/1.1 500 Error
Content-Type: text/html
Secret-Header: secret-info
Secret info, should not be visible!
merge_slashesãoffã«èšå®ãã
merge_slashesãã£ã¬ã¯ãã£ãã¯ããã©ã«ãã§ãonãã«èšå®ãããŠããã2ã€ä»¥äžã®ã¹ã©ãã·ã¥ã1ã€ã«å§çž®ããä»çµã¿ã§ãããããã£ãŠã///
ã¯/
ã«ãªããŸããNginxããªããŒã¹ãããã·ãšããŠäœ¿çšããããããã·ãããŠããã¢ããªã±ãŒã·ã§ã³ãããŒã«ã«ãã¡ã€ã«ã€ã³ã¯ã«ãŒãžã§ã³ã®è匱æ§ãæã£ãŠããå Žåããªã¯ãšã¹ãã«äœåãªã¹ã©ãã·ã¥ã䜿çšããããšã§æ»æã®äœå°ãçããå¯èœæ§ããããŸããããã«ã€ããŠã¯ãDanny RobinsonãšRotem Barã«ãã£ãŠè©³ãã説æãããŠããŸãã
ç§ãã¡ã¯ãmerge_slashes
ããoffãã«èšå®ãããŠããNginxã®èšå®ãã¡ã€ã«ã33åèŠã€ãããŸããã
mapãã£ã¬ã¯ãã£ãã«ããã©ã«ããæå®ãããŠããŸãã
ããã¯ãmap
ãäœããã®èªèšŒå¶åŸ¡ã«äœ¿çšãããŠããäžè¬çãªã±ãŒã¹ã®ããã§ããç°¡åãªäŸã¯æ¬¡ã®ããã«ãªããŸãïŒ
http {
...
map $uri $mappocallow {
/map-poc/private 0;
/map-poc/secret 0;
/map-poc/public 1;
}
...
}
server {
...
location /map-poc {
if ($mappocallow = 0) {return 403;}
return 200 "Hello. It is private area: $mappocallow";
}
...
}
ããã©ã«ãå€
ãœãŒã¹å€ãæå®ãããããªã¢ã³ãã®ããããšãäžèŽããªãå Žåã«èšå®ãããçµæã®å€ã§ããããã©ã«ããæå®ãããŠããªãå Žåãããã©ã«ãã®çµæã®å€ã¯ç©ºã®æååã«ãªããŸãã
default
å€ãå¿ããããšã¯ç°¡åã§ãããããã£ãŠãæªæã®ããè
ã¯åçŽã«/map-poc
å
ã®ååšããªãã±ãŒã¹ã«ã¢ã¯ã»ã¹ããããšã§ãã®ãèªèšŒå¶åŸ¡ãããã€ãã¹ããããšãã§ããŸããäŸãã°ãhttps://targethost.com/map-poc/another-private-area
ã®ãããªãã®ã§ãã
Nginxã®DNSã¹ããŒãã£ã³ã°
ãã®èšäºã«ãããšïŒhttp://blog.zorinaq.com/nginx-resolver-vulns/ããããNginxã䜿çšããŠããDNSãµãŒããŒãç¥ã£ãŠããïŒãããŠéä¿¡ãååããããšãã§ããã®ã§ãããã¯127.0.0.1ã䜿çšãããŠããå Žåã«ã¯æå¹ã§ã¯ãããŸããïŒå ŽåããããŠNginxãåãåãããŠãããã¡ã€ã³ãç¥ã£ãŠããå ŽåãNginxã«å¯ŸããŠDNSã¬ã³ãŒããã¹ããŒãã£ã³ã°ããããšãå¯èœã§ãã
Nginxã¯æ¬¡ã®ããã«äœ¿çšããDNSãµãŒããŒãæå®ã§ããŸãïŒ
resolver 8.8.8.8;
proxy_pass
ããã³internal
ãã£ã¬ã¯ãã£ã
**proxy_pass
**ãã£ã¬ã¯ãã£ãã¯ãå
éšãŸãã¯å€éšã®ä»ã®ãµãŒããŒã«å¯Ÿãããªã¯ãšã¹ããå
éšçã«ãªãã€ã¬ã¯ãããããã«äœ¿çšã§ããŸãã
**internal
**ãã£ã¬ã¯ãã£ãã¯ãNginxã«å¯ŸããŠããã®ãã±ãŒã·ã§ã³ã«ã¯å
éšããã®ã¢ã¯ã»ã¹ã®ã¿ãå¯èœã§ããããšãæ瀺ããããã«äœ¿çšãããŸãã
ãããã®ãã£ã¬ã¯ãã£ãã®äœ¿çšã¯ãè匱æ§ã§ã¯ãããŸããããããããã©ã®ããã«èšå®ãããŠãããã確èªããå¿ èŠããããŸãã
proxy_set_header Upgrade & Connection
nginxãµãŒããŒãUpgradeããã³ConnectionããããŒãæž¡ãããã«èšå®ãããŠããå Žåãh2cã¹ãã°ãªã³ã°æ»æãå®è¡ããŠãä¿è·ããã/å éšã®ãšã³ããã€ã³ãã«ã¢ã¯ã»ã¹ããããšãã§ããŸãã
{% hint style="danger" %}
ãã®è匱æ§ã«ãããæ»æè
ã¯proxy_pass
ãšã³ããã€ã³ãïŒãã®å Žåã¯http://backend:9999
ïŒãšã®çŽæ¥æ¥ç¶ã確ç«ããããšãã§ããŸããããã®å
容ã¯nginxã«ãã£ãŠãã§ãã¯ãããŸããã
{% endhint %}
以äžã¯ããããã/flag
ãçãããã®è匱ãªèšå®ã®äŸã§ãã
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /usr/local/nginx/conf/cert.pem;
ssl_certificate_key /usr/local/nginx/conf/privkey.pem;
location / {
proxy_pass http://backend:9999;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
}
location /flag {
deny all;
}
{% hint style="warning" %}
proxy_pass
ãhttp://backend:9999/socket.io
ã®ãããªç¹å®ã®ãã¹ãæããŠããå Žåã§ããæ¥ç¶ã¯http://backend:9999
ãšç¢ºç«ãããããããã®å
éšãšã³ããã€ã³ãå
ã®ä»ã®ãã¹ã«ã¢ã¯ã»ã¹ããããšãã§ããŸãããããã£ãŠãproxy_passã®URLã«ãã¹ãæå®ãããŠããŠãåé¡ãããŸããã
{% endhint %}
èªåã§è©ŠããŠã¿ã
Detectifyã¯ããã®èšäºã§èª¬æãããŠããããã€ãã®èšå®ãã¹ãæã€è匱ãªNginxãã¹ããµãŒããŒãDockerã䜿çšããŠã»ããã¢ããã§ããGitHubãªããžããªãäœæããŸãããèŠã€ããŠã¿ãŠãã ããïŒ
https://github.com/detectify/vulnerable-nginx
éç解æããŒã«
GIXY
Gixyã¯Nginxã®èšå®ãåæããããŒã«ã§ããGixyã®äž»ãªç®æšã¯ãã»ãã¥ãªãã£ã®èšå®ãã¹ãé²æ¢ããæ¬ é¥ã®æ€åºãèªååããããšã§ãã
Nginxpwner
Nginxpwnerã¯ãäžè¬çãªNginxã®èšå®ãã¹ãšè匱æ§ãæ¢ãããã®ã·ã³ãã«ãªããŒã«ã§ãã
åèæç®
- https://blog.detectify.com/2020/11/10/common-nginx-misconfigurations/
- http://blog.zorinaq.com/nginx-resolver-vulns/
- https://github.com/yandex/gixy/issues/115
![](/Mirrors/hacktricks/media/commit/2f907a2cf4ddd126c33d3666d06dd43777e1e7b2/.gitbook/assets/image%20%281%29%20%281%29%20%282%29%20%284%29.png)
DragonJAR Security Conference es un evento internacional de ciberseguridad con más de una década que se celebrará el 7 y 8 de septiembre de 2023 en Bogotá, Colombia. Es un evento de gran contenido técnico donde se presentan las últimas investigaciones en español que atrae a hackers e investigadores de todo el mundo.
¡RegÃstrate ahora en el siguiente enlace y no te pierdas esta gran conferencia!:
{% embed url="https://www.dragonjarcon.org/" %}
âïž HackTricks Cloud âïž -ðŠ Twitter ðŠ - ðïž Twitch ðïž - ð¥ Youtube ð¥
- Do you work in a cybersecurity company? Do you want to see your company advertised in HackTricks? or do you want to have access to the latest version of the PEASS or download HackTricks in PDF? Check the SUBSCRIPTION PLANS!
- Discover The PEASS Family, our collection of exclusive NFTs
- Get the official PEASS & HackTricks swag
- Join the ð¬ Discord group or the telegram group or follow me on Twitter ðŠ@carlospolopm.
- Share your hacking tricks by submitting PRs to the hacktricks repo and hacktricks-cloud repo.