Skip to content

Commit 29449b6

Browse files
committed
Fix knowledge graph: link machine nodes to actual 0xdf writeups
Machine clicks now open the real writeup URL (0xdf.gitlab.io) in a new tab instead of broken local /machines/easy/Cap/ paths.
1 parent 0f1e583 commit 29449b6

1 file changed

Lines changed: 73 additions & 73 deletions

File tree

graph.html

Lines changed: 73 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -371,83 +371,83 @@ <h4>Legend</h4>
371371

372372
const machines = [
373373
// ---- EASY ----
374-
{ name: "Lame", os: "Linux", difficulty: "Easy", techniques: ["SMB/Samba"] },
375-
{ name: "Legacy", os: "Windows", difficulty: "Easy", techniques: ["SMB/Samba"] },
376-
{ name: "Blue", os: "Windows", difficulty: "Easy", techniques: ["SMB/Samba"] },
377-
{ name: "Devel", os: "Windows", difficulty: "Easy", techniques: ["FTP", "File Upload", "Web Shell", "Kernel Exploit"] },
378-
{ name: "Optimum", os: "Windows", difficulty: "Easy", techniques: ["Kernel Exploit"] },
379-
{ name: "Shocker", os: "Linux", difficulty: "Easy", techniques: ["Command Injection"] },
380-
{ name: "Nibbles", os: "Linux", difficulty: "Easy", techniques: ["File Upload", "Sudo Abuse"] },
381-
{ name: "Bashed", os: "Linux", difficulty: "Easy", techniques: ["Web Shell", "Cron Abuse"] },
382-
{ name: "Valentine", os: "Linux", difficulty: "Easy", techniques: [] },
383-
{ name: "Arctic", os: "Windows", difficulty: "Easy", techniques: ["ColdFusion", "JuicyPotato"] },
384-
{ name: "Grandpa", os: "Windows", difficulty: "Easy", techniques: ["Token Impersonation"] },
385-
{ name: "Jerry", os: "Windows", difficulty: "Easy", techniques: ["Tomcat", "Default Credentials"] },
386-
{ name: "Active", os: "Windows", difficulty: "Easy", techniques: ["Kerberoasting"] },
387-
{ name: "Forest", os: "Windows", difficulty: "Easy", techniques: ["AS-REP Roasting", "DCSync", "BloodHound"] },
388-
{ name: "Sauna", os: "Windows", difficulty: "Easy", techniques: ["AS-REP Roasting"] },
389-
{ name: "Buff", os: "Windows", difficulty: "Easy", techniques: ["Buffer Overflow"] },
390-
{ name: "Love", os: "Windows", difficulty: "Easy", techniques: ["SSRF"] },
391-
{ name: "Cap", os: "Linux", difficulty: "Easy", techniques: ["SUID/Capability"] },
392-
{ name: "Knife", os: "Linux", difficulty: "Easy", techniques: ["GTFOBins"] },
393-
{ name: "Netmon", os: "Windows", difficulty: "Easy", techniques: ["FTP", "Default Credentials"] },
394-
{ name: "Irked", os: "Linux", difficulty: "Easy", techniques: [] },
395-
{ name: "Beep", os: "Linux", difficulty: "Easy", techniques: ["LFI/RFI", "Command Injection"] },
396-
{ name: "Blocky", os: "Linux", difficulty: "Easy", techniques: ["Sudo Abuse"] },
397-
{ name: "Mirai", os: "Linux", difficulty: "Easy", techniques: ["Default Credentials"] },
398-
{ name: "Sense", os: "Linux", difficulty: "Easy", techniques: [] },
399-
{ name: "Traverxec", os: "Linux", difficulty: "Easy", techniques: [] },
400-
{ name: "Postman", os: "Linux", difficulty: "Easy", techniques: ["Redis"] },
401-
{ name: "OpenAdmin", os: "Linux", difficulty: "Easy", techniques: ["GTFOBins"] },
402-
{ name: "Traceback", os: "Linux", difficulty: "Easy", techniques: ["Web Shell"] },
374+
{ name: "Lame", os: "Linux", difficulty: "Easy", techniques: ["SMB/Samba"], writeup: "https://0xdf.gitlab.io/2020/04/07/htb-lame.html" },
375+
{ name: "Legacy", os: "Windows", difficulty: "Easy", techniques: ["SMB/Samba"], writeup: "https://0xdf.gitlab.io/2019/02/21/htb-legacy.html" },
376+
{ name: "Blue", os: "Windows", difficulty: "Easy", techniques: ["SMB/Samba"], writeup: "https://0xdf.gitlab.io/2021/05/11/htb-blue.html" },
377+
{ name: "Devel", os: "Windows", difficulty: "Easy", techniques: ["FTP", "File Upload", "Web Shell", "Kernel Exploit"], writeup: "https://0xdf.gitlab.io/2019/03/05/htb-devel.html" },
378+
{ name: "Optimum", os: "Windows", difficulty: "Easy", techniques: ["Kernel Exploit"], writeup: "https://0xdf.gitlab.io/2021/03/17/htb-optimum.html" },
379+
{ name: "Shocker", os: "Linux", difficulty: "Easy", techniques: ["Command Injection"], writeup: "https://0xdf.gitlab.io/2021/05/25/htb-shocker.html" },
380+
{ name: "Nibbles", os: "Linux", difficulty: "Easy", techniques: ["File Upload", "Sudo Abuse"], writeup: "https://0xdf.gitlab.io/2018/06/30/htb-nibbles.html" },
381+
{ name: "Bashed", os: "Linux", difficulty: "Easy", techniques: ["Web Shell", "Cron Abuse"], writeup: "https://0xdf.gitlab.io/2018/04/29/htb-bashed.html" },
382+
{ name: "Valentine", os: "Linux", difficulty: "Easy", techniques: [], writeup: "https://0xdf.gitlab.io/2018/07/28/htb-valentine.html" },
383+
{ name: "Arctic", os: "Windows", difficulty: "Easy", techniques: ["ColdFusion", "JuicyPotato"], writeup: "https://0xdf.gitlab.io/2020/05/19/htb-arctic.html" },
384+
{ name: "Grandpa", os: "Windows", difficulty: "Easy", techniques: ["Token Impersonation"], writeup: "https://0xdf.gitlab.io/2020/05/28/htb-grandpa.html" },
385+
{ name: "Jerry", os: "Windows", difficulty: "Easy", techniques: ["Tomcat", "Default Credentials"], writeup: "https://0xdf.gitlab.io/2018/11/17/htb-jerry.html" },
386+
{ name: "Active", os: "Windows", difficulty: "Easy", techniques: ["Kerberoasting"], writeup: "https://0xdf.gitlab.io/2018/12/08/htb-active.html" },
387+
{ name: "Forest", os: "Windows", difficulty: "Easy", techniques: ["AS-REP Roasting", "DCSync", "BloodHound"], writeup: "https://0xdf.gitlab.io/2020/03/21/htb-forest.html" },
388+
{ name: "Sauna", os: "Windows", difficulty: "Easy", techniques: ["AS-REP Roasting"], writeup: "https://0xdf.gitlab.io/2020/07/18/htb-sauna.html" },
389+
{ name: "Buff", os: "Windows", difficulty: "Easy", techniques: ["Buffer Overflow"], writeup: "https://0xdf.gitlab.io/2020/11/21/htb-buff.html" },
390+
{ name: "Love", os: "Windows", difficulty: "Easy", techniques: ["SSRF"], writeup: "https://0xdf.gitlab.io/2021/08/07/htb-love.html" },
391+
{ name: "Cap", os: "Linux", difficulty: "Easy", techniques: ["SUID/Capability"], writeup: "https://0xdf.gitlab.io/2021/10/02/htb-cap.html" },
392+
{ name: "Knife", os: "Linux", difficulty: "Easy", techniques: ["GTFOBins"], writeup: "https://0xdf.gitlab.io/2021/08/28/htb-knife.html" },
393+
{ name: "Netmon", os: "Windows", difficulty: "Easy", techniques: ["FTP", "Default Credentials"], writeup: "https://0xdf.gitlab.io/2019/06/29/htb-netmon.html" },
394+
{ name: "Irked", os: "Linux", difficulty: "Easy", techniques: [], writeup: "https://0xdf.gitlab.io/2019/04/27/htb-irked.html" },
395+
{ name: "Beep", os: "Linux", difficulty: "Easy", techniques: ["LFI/RFI", "Command Injection"], writeup: "https://0xdf.gitlab.io/2021/02/23/htb-beep.html" },
396+
{ name: "Blocky", os: "Linux", difficulty: "Easy", techniques: ["Sudo Abuse"], writeup: "https://0xdf.gitlab.io/2020/06/30/htb-blocky.html" },
397+
{ name: "Mirai", os: "Linux", difficulty: "Easy", techniques: ["Default Credentials"], writeup: "https://0xdf.gitlab.io/2021/05/18/htb-mirai.html" },
398+
{ name: "Sense", os: "Linux", difficulty: "Easy", techniques: [], writeup: "https://0xdf.gitlab.io/2021/03/11/htb-sense.html" },
399+
{ name: "Traverxec", os: "Linux", difficulty: "Easy", techniques: [], writeup: "https://0xdf.gitlab.io/2020/04/18/htb-traverxec.html" },
400+
{ name: "Postman", os: "Linux", difficulty: "Easy", techniques: ["Redis"], writeup: "https://0xdf.gitlab.io/2020/03/14/htb-postman.html" },
401+
{ name: "OpenAdmin", os: "Linux", difficulty: "Easy", techniques: ["GTFOBins"], writeup: "https://0xdf.gitlab.io/2020/05/02/htb-openadmin.html" },
402+
{ name: "Traceback", os: "Linux", difficulty: "Easy", techniques: ["Web Shell"], writeup: "https://0xdf.gitlab.io/2020/08/15/htb-traceback.html" },
403403

404404
// ---- MEDIUM ----
405-
{ name: "Cronos", os: "Linux", difficulty: "Medium", techniques: ["DNS Exploitation", "SQL Injection", "Cron Abuse"] },
406-
{ name: "SolidState", os: "Linux", difficulty: "Medium", techniques: ["Cron Abuse"] },
407-
{ name: "Poison", os: "Linux", difficulty: "Medium", techniques: ["LFI/RFI", "Port Forwarding"] },
408-
{ name: "Bastard", os: "Windows", difficulty: "Medium", techniques: ["Drupal", "JuicyPotato"] },
409-
{ name: "Bounty", os: "Windows", difficulty: "Medium", techniques: ["File Upload", "JuicyPotato"] },
410-
{ name: "Jeeves", os: "Windows", difficulty: "Medium", techniques: ["Jenkins"] },
411-
{ name: "Conceal", os: "Windows", difficulty: "Medium", techniques: ["SNMP", "JuicyPotato"] },
412-
{ name: "DevOops", os: "Linux", difficulty: "Medium", techniques: ["XXE"] },
413-
{ name: "Monteverde", os: "Windows", difficulty: "Medium", techniques: ["Password Spraying"] },
414-
{ name: "Resolute", os: "Windows", difficulty: "Medium", techniques: ["DNS Exploitation"] },
415-
{ name: "Cascade", os: "Windows", difficulty: "Medium", techniques: ["LDAP"] },
416-
{ name: "Intelligence", os: "Windows", difficulty: "Medium", techniques: ["DNS Exploitation", "Constrained Delegation"] },
417-
{ name: "StreamIO", os: "Windows", difficulty: "Medium", techniques: ["SQL Injection", "LDAP"] },
418-
{ name: "Escape", os: "Windows", difficulty: "Medium", techniques: ["ADCS"] },
419-
{ name: "Sniper", os: "Windows", difficulty: "Medium", techniques: ["LFI/RFI"] },
420-
{ name: "Worker", os: "Windows", difficulty: "Medium", techniques: [] },
421-
{ name: "Atom", os: "Windows", difficulty: "Medium", techniques: [] },
422-
{ name: "Pit", os: "Linux", difficulty: "Medium", techniques: ["SNMP"] },
423-
{ name: "Pikaboo", os: "Linux", difficulty: "Medium", techniques: ["LDAP"] },
424-
{ name: "Pandora", os: "Linux", difficulty: "Medium", techniques: ["SNMP", "SQL Injection"] },
425-
{ name: "Late", os: "Linux", difficulty: "Medium", techniques: ["SSTI"] },
426-
{ name: "Awkward", os: "Linux", difficulty: "Medium", techniques: ["SSRF"] },
405+
{ name: "Cronos", os: "Linux", difficulty: "Medium", techniques: ["DNS Exploitation", "SQL Injection", "Cron Abuse"], writeup: "https://0xdf.gitlab.io/2020/04/14/htb-cronos.html" },
406+
{ name: "SolidState", os: "Linux", difficulty: "Medium", techniques: ["Cron Abuse"], writeup: "https://0xdf.gitlab.io/2020/04/30/htb-solidstate.html" },
407+
{ name: "Poison", os: "Linux", difficulty: "Medium", techniques: ["LFI/RFI", "Port Forwarding"], writeup: "https://0xdf.gitlab.io/2018/09/08/htb-poison.html" },
408+
{ name: "Bastard", os: "Windows", difficulty: "Medium", techniques: ["Drupal", "JuicyPotato"], writeup: "https://0xdf.gitlab.io/2019/03/12/htb-bastard.html" },
409+
{ name: "Bounty", os: "Windows", difficulty: "Medium", techniques: ["File Upload", "JuicyPotato"], writeup: "https://0xdf.gitlab.io/2018/10/27/htb-bounty.html" },
410+
{ name: "Jeeves", os: "Windows", difficulty: "Medium", techniques: ["Jenkins"], writeup: "https://0xdf.gitlab.io/2022/04/14/htb-jeeves.html" },
411+
{ name: "Conceal", os: "Windows", difficulty: "Medium", techniques: ["SNMP", "JuicyPotato"], writeup: "https://0xdf.gitlab.io/2019/05/18/htb-conceal.html" },
412+
{ name: "DevOops", os: "Linux", difficulty: "Medium", techniques: ["XXE"], writeup: "https://0xdf.gitlab.io/2018/10/13/htb-devoops.html" },
413+
{ name: "Monteverde", os: "Windows", difficulty: "Medium", techniques: ["Password Spraying"], writeup: "https://0xdf.gitlab.io/2020/06/13/htb-monteverde.html" },
414+
{ name: "Resolute", os: "Windows", difficulty: "Medium", techniques: ["DNS Exploitation"], writeup: "https://0xdf.gitlab.io/2020/05/30/htb-resolute.html" },
415+
{ name: "Cascade", os: "Windows", difficulty: "Medium", techniques: ["LDAP"], writeup: "https://0xdf.gitlab.io/2020/07/25/htb-cascade.html" },
416+
{ name: "Intelligence", os: "Windows", difficulty: "Medium", techniques: ["DNS Exploitation", "Constrained Delegation"], writeup: "https://0xdf.gitlab.io/2021/11/27/htb-intelligence.html" },
417+
{ name: "StreamIO", os: "Windows", difficulty: "Medium", techniques: ["SQL Injection", "LDAP"], writeup: "https://0xdf.gitlab.io/2022/09/17/htb-streamio.html" },
418+
{ name: "Escape", os: "Windows", difficulty: "Medium", techniques: ["ADCS"], writeup: "https://0xdf.gitlab.io/2023/06/17/htb-escape.html" },
419+
{ name: "Sniper", os: "Windows", difficulty: "Medium", techniques: ["LFI/RFI"], writeup: "https://0xdf.gitlab.io/2020/03/28/htb-sniper.html" },
420+
{ name: "Worker", os: "Windows", difficulty: "Medium", techniques: [], writeup: "https://0xdf.gitlab.io/2021/01/30/htb-worker.html" },
421+
{ name: "Atom", os: "Windows", difficulty: "Medium", techniques: [], writeup: "https://0xdf.gitlab.io/2021/07/10/htb-atom.html" },
422+
{ name: "Pit", os: "Linux", difficulty: "Medium", techniques: ["SNMP"], writeup: "https://0xdf.gitlab.io/2021/09/25/htb-pit.html" },
423+
{ name: "Pikaboo", os: "Linux", difficulty: "Medium", techniques: ["LDAP"], writeup: "https://0xdf.gitlab.io/2021/12/04/htb-pikaboo.html" },
424+
{ name: "Pandora", os: "Linux", difficulty: "Medium", techniques: ["SNMP", "SQL Injection"], writeup: "https://0xdf.gitlab.io/2022/05/21/htb-pandora.html" },
425+
{ name: "Late", os: "Linux", difficulty: "Medium", techniques: ["SSTI"], writeup: "https://0xdf.gitlab.io/2022/08/13/htb-late.html" },
426+
{ name: "Awkward", os: "Linux", difficulty: "Medium", techniques: ["SSRF"], writeup: "https://0xdf.gitlab.io/2023/02/11/htb-awkward.html" },
427427

428428
// ---- HARD ----
429-
{ name: "Reel", os: "Windows", difficulty: "Hard", techniques: ["Phishing"] },
430-
{ name: "Mantis", os: "Windows", difficulty: "Hard", techniques: ["Kerberoasting"] },
431-
{ name: "Sizzle", os: "Windows", difficulty: "Hard", techniques: ["ADCS", "Kerberoasting"] },
432-
{ name: "Multimaster", os: "Windows", difficulty: "Hard", techniques: ["SQL Injection", "BloodHound"] },
433-
{ name: "APT", os: "Windows", difficulty: "Hard", techniques: [] },
434-
{ name: "Blackfield", os: "Windows", difficulty: "Hard", techniques: ["AS-REP Roasting"] },
435-
{ name: "Object", os: "Windows", difficulty: "Hard", techniques: ["BloodHound"] },
436-
{ name: "Cerberus", os: "Windows", difficulty: "Hard", techniques: ["ADCS"] },
437-
{ name: "Rebound", os: "Windows", difficulty: "Hard", techniques: ["Kerberoasting", "RBCD"] },
438-
{ name: "Hathor", os: "Windows", difficulty: "Hard", techniques: [] },
439-
{ name: "Anubis", os: "Windows", difficulty: "Hard", techniques: ["ADCS"] },
440-
{ name: "Search", os: "Windows", difficulty: "Hard", techniques: ["Kerberoasting"] },
441-
{ name: "Absolute", os: "Windows", difficulty: "Hard", techniques: ["LDAP", "BloodHound"] },
442-
{ name: "Vintage", os: "Windows", difficulty: "Hard", techniques: ["Kerberoasting"] },
443-
{ name: "Certificate", os: "Windows", difficulty: "Hard", techniques: ["ADCS"] },
429+
{ name: "Reel", os: "Windows", difficulty: "Hard", techniques: ["Phishing"], writeup: "https://0xdf.gitlab.io/2018/11/10/htb-reel.html" },
430+
{ name: "Mantis", os: "Windows", difficulty: "Hard", techniques: ["Kerberoasting"], writeup: "https://0xdf.gitlab.io/2020/09/03/htb-mantis.html" },
431+
{ name: "Sizzle", os: "Windows", difficulty: "Hard", techniques: ["ADCS", "Kerberoasting"], writeup: "https://0xdf.gitlab.io/2019/06/01/htb-sizzle.html" },
432+
{ name: "Multimaster", os: "Windows", difficulty: "Hard", techniques: ["SQL Injection", "BloodHound"], writeup: "https://0xdf.gitlab.io/2020/09/19/htb-multimaster.html" },
433+
{ name: "APT", os: "Windows", difficulty: "Hard", techniques: [], writeup: "https://0xdf.gitlab.io/2021/04/10/htb-apt.html" },
434+
{ name: "Blackfield", os: "Windows", difficulty: "Hard", techniques: ["AS-REP Roasting"], writeup: "https://0xdf.gitlab.io/2020/10/03/htb-blackfield.html" },
435+
{ name: "Object", os: "Windows", difficulty: "Hard", techniques: ["BloodHound"], writeup: "https://0xdf.gitlab.io/2022/02/28/htb-object.html" },
436+
{ name: "Cerberus", os: "Windows", difficulty: "Hard", techniques: ["ADCS"], writeup: "https://0xdf.gitlab.io/2023/07/29/htb-cerberus.html" },
437+
{ name: "Rebound", os: "Windows", difficulty: "Hard", techniques: ["Kerberoasting", "RBCD"], writeup: "https://0xdf.gitlab.io/2024/03/30/htb-rebound.html" },
438+
{ name: "Hathor", os: "Windows", difficulty: "Hard", techniques: [], writeup: "https://0xdf.gitlab.io/2022/07/30/htb-hathor.html" },
439+
{ name: "Anubis", os: "Windows", difficulty: "Hard", techniques: ["ADCS"], writeup: "https://0xdf.gitlab.io/2022/02/12/htb-anubis.html" },
440+
{ name: "Search", os: "Windows", difficulty: "Hard", techniques: ["Kerberoasting"], writeup: "https://0xdf.gitlab.io/2022/04/30/htb-search.html" },
441+
{ name: "Absolute", os: "Windows", difficulty: "Hard", techniques: ["LDAP", "BloodHound"], writeup: "https://0xdf.gitlab.io/2023/05/27/htb-absolute.html" },
442+
{ name: "Vintage", os: "Windows", difficulty: "Hard", techniques: ["Kerberoasting"], writeup: "https://0xdf.gitlab.io/2025/04/26/htb-vintage.html" },
443+
{ name: "Certificate", os: "Windows", difficulty: "Hard", techniques: ["ADCS"], writeup: "https://0xdf.gitlab.io/2025/10/04/htb-certificate.html" },
444444

445445
// ---- INSANE ----
446-
{ name: "Sink", os: "Linux", difficulty: "Insane", techniques: ["SSRF"] },
447-
{ name: "Response", os: "Linux", difficulty: "Insane", techniques: ["SSRF"] },
448-
{ name: "Sekhmet", os: "Windows", difficulty: "Insane", techniques: ["ADCS"] },
449-
{ name: "Fulcrum", os: "Linux", difficulty: "Insane", techniques: ["XXE", "Pivoting"] },
450-
{ name: "Stacked", os: "Linux", difficulty: "Insane", techniques: ["XSS"] }
446+
{ name: "Sink", os: "Linux", difficulty: "Insane", techniques: ["SSRF"], writeup: "https://0xdf.gitlab.io/2021/09/18/htb-sink.html" },
447+
{ name: "Response", os: "Linux", difficulty: "Insane", techniques: ["SSRF"], writeup: "https://0xdf.gitlab.io/2023/04/08/htb-response.html" },
448+
{ name: "Sekhmet", os: "Windows", difficulty: "Insane", techniques: ["ADCS"], writeup: "https://0xdf.gitlab.io/2023/03/25/htb-sekhmet.html" },
449+
{ name: "Fulcrum", os: "Linux", difficulty: "Insane", techniques: ["XXE", "Pivoting"], writeup: "https://0xdf.gitlab.io/2022/01/22/htb-fulcrum.html" },
450+
{ name: "Stacked", os: "Linux", difficulty: "Insane", techniques: ["XSS"], writeup: "https://0xdf.gitlab.io/2022/02/19/htb-stacked.html" }
451451
];
452452

453453
const techniqueList = [
@@ -497,7 +497,7 @@ <h4>Legend</h4>
497497
id, name: m.name, type: "machine", os: m.os,
498498
difficulty: m.difficulty, techniques: m.techniques,
499499
color: DIFFICULTY_COLORS[m.difficulty],
500-
url: baseUrl + "/machines/" + m.difficulty.toLowerCase() + "/" + m.name + "/",
500+
url: m.writeup || (baseUrl + "/machines/" + m.difficulty.toLowerCase() + "/" + m.name + "/"),
501501
radius: 10
502502
};
503503
nodes.push(node);
@@ -770,7 +770,7 @@ <h4>Legend</h4>
770770
// Click: open writeup
771771
nodeElements.on("click", function(event, d) {
772772
if (d.type === "machine" && d.url) {
773-
window.open(d.url, "_self");
773+
window.open(d.url, "_blank");
774774
}
775775
});
776776

0 commit comments

Comments
 (0)