Skip to content

Instantly share code, notes, and snippets.

@fer
Created July 27, 2021 20:59
Show Gist options
  • Save fer/9ab3381e2771fb63f1efc467b6aeba14 to your computer and use it in GitHub Desktop.
Save fer/9ab3381e2771fb63f1efc467b6aeba14 to your computer and use it in GitHub Desktop.
THM Room Launcher
#!/bin/bash
# Rooms length
# jq -r '.rooms | length' thm-rooms.json
# Rooms titles
# ROOM_TITLES=`jq '.rooms[].title' thm-rooms.json | tr '\n' ' '`
# ROOM_TITLES=`jq '.rooms[] | [.difficulty, .title]' thm-rooms.json`
# ROOM_TITLES=`jq -r '.rooms[] | [.difficulty, .title] | @csv' thm-rooms.json | tr '\n' ' ' | tr ',' ' '`
# ROOM_TITLES=`jq -r '.rooms[] | [.difficulty, .title] | @tsv' thm-rooms.json`
# ROOM_TITLES="easy" "Blue" "easy" "Vulnversity" "hard" "Daily Bugle" "easy" "Buffer Overflow Prep" "easy" "Overpass 2 - Hacked" "medium" "Relevant" "hard" "Internal" "easy" "Tutorial" "easy" "Starting Out In Cyber Sec" "easy" "How to use TryHackMe"
# zenity \
# --height=800 \
# --width=700 \
# --text="textito" \
# --list \
# --title="THM Room Helper" \
# --column="Difficulty" --column="Name" \
# $ROOM_TITLES
ROOM_TITLES="$(jq -r '.rooms[] | [.difficulty, .title] | @csv ' thm-rooms.json | grep -n '^' | tr ':' ' ' | tr ',' ' ' | tr '\n' ' ')"
echo $ROOM_TITLES
yad --list \
--title="THM Room Helper" \
--height=400 \
--width=800 \
--button=Aceptar:0 \
--button=Cancelar:1 \
--center \
--text="Select a THM Room:" \
--radiolist \
--column="" \
--column="Difficulty" \
--column="Name" \
$ROOM_TITLES
{
"paginator": {
"hasNextPage": false,
"hasPrevPage": false,
"limit": 10,
"nextPage": null,
"page": 1,
"prevPage": null,
"totalDocs": 10,
"totalInPage": 10,
"totalPages": 1
},
"rooms": [
{
"accessToken": "e2291ba56ecd7d74ebc97c6410207b253f71a1bf",
"certificate": false,
"checked": {
"comments": [],
"status": "accepted"
},
"cloneable": false,
"code": "blue",
"comingSoon": false,
"created": "2019-03-17T23:39:23.554Z",
"creators": [],
"ctf": false,
"description": "Deploy & hack into a Windows machine, leveraging common misconfigurations issues.",
"difficulty": "easy",
"forumLink": "https://tryhackme.com/thread/5e1e4a4ee06ddb0f142757b8",
"freeToUse": true,
"headerImage": "https://i.imgur.com/GosxHyQ.jpg",
"image": "https://tryhackme-images.s3.amazonaws.com/room-icons/7717bbc69c486931e503a74f3192a4d8.gif",
"ipType": "private",
"locked": false,
"network": {
"active": false,
"creators": []
},
"oneTimeFee": 0,
"paidAccess": {
"active": false,
"costs": [],
"streak": {
"enabled": false,
"number": 0
},
"users": []
},
"public": true,
"published": "2020-01-10T19:26:44.763Z",
"roomCode": "blue",
"roomId": "5c8edaab94a5767fa67f70ab",
"scoreType": 1,
"simpleRoom": true,
"sponsor": {
"enabled": false,
"file": "",
"name": ""
},
"success": true,
"tags": [
"windows",
"eternal blue",
" MS17-010",
" CVE2017-0144",
" CVE-2017-0145",
" CVE-2017-0146",
"CVE-2017-0147",
"CVE-2017-0148",
"SMB",
"CVE-2017-0143",
"video"
],
"title": "Blue",
"type": "walkthrough",
"userCompleted": false,
"users": 87986,
"video": {
"active": true,
"added": "2020-03-12T21:00:40.210Z",
"autoOpen": true,
"free": false,
"source": "THM",
"thumbnail": "/img/thumbnails/blue-thumbnail.png",
"timestamps": [
{
"text": "Recon",
"time": 21
},
{
"text": "Gain Access",
"time": 188
},
{
"text": "Running Exploit",
"time": 296
},
{
"text": "Exploit Working",
"time": 486
},
{
"text": "Privilege Escalation",
"time": 527
},
{
"text": "Migration",
"time": 725
},
{
"text": "Cracking",
"time": 848
}
],
"title": "Blue Walkthrough",
"type": "THM",
"url": "https://assets.tryhackme.com/rooms/blue/cebba2457df187729076e80e79ef1217.mp4"
},
"views": 602911,
"writeups": []
},
{
"accessToken": "7ccdddcf8170111f0d0ddf993ff871d08246de7a",
"certificate": false,
"checked": {
"comments": [],
"status": "accepted"
},
"cloneable": false,
"code": "vulnversity",
"comingSoon": false,
"created": "2019-08-01T16:43:14.858Z",
"creators": [],
"ctf": false,
"description": "Learn about active recon, web app attacks and privilege escalation.",
"difficulty": "easy",
"freeToUse": true,
"headerImage": "https://i.imgur.com/JFYfwL8.png",
"image": "https://tryhackme-images.s3.amazonaws.com/room-icons/85dee7ce633f5668b104d329da2769c3.png",
"ipType": "private",
"locked": false,
"network": {
"active": false,
"creators": []
},
"oneTimeFee": 0,
"paidAccess": {
"active": false,
"costs": [],
"streak": {
"enabled": false,
"number": 0
},
"users": []
},
"public": true,
"published": "2020-03-21T11:50:16.527Z",
"roomCode": "vulnversity",
"roomId": "5d4316a22007b6126fa2ca28",
"scoreType": 0,
"simpleRoom": true,
"sponsor": {
"enabled": false,
"file": "",
"name": ""
},
"success": true,
"tags": [
"recon",
"privesc",
"webappsec",
"video"
],
"title": "Vulnversity",
"type": "walkthrough",
"userCompleted": true,
"users": 105260,
"video": {
"active": true,
"added": "2020-03-20T19:00:40.210Z",
"autoOpen": true,
"free": false,
"source": "THM",
"thumbnail": "/img/thumbnails/vulnversity-thumbnail.png",
"timestamps": [
{
"text": "Reconnaissance",
"time": 44
},
{
"text": "Nmap Command",
"time": 81
},
{
"text": "Nmap Output",
"time": 162
},
{
"text": "Locating directories with GoBuster",
"time": 477
},
{
"text": "GoBuster Command",
"time": 603
},
{
"text": "Webpage Highlight",
"time": 637
},
{
"text": "GoBuster Output",
"time": 701
},
{
"text": "Compromising the webserver",
"time": 754
},
{
"text": "Site Upload Breakdown",
"time": 780
},
{
"text": "Burp Suite Sniper Overview",
"time": 865
},
{
"text": "PHP Reverse Shell Overview",
"time": 969
},
{
"text": "Netcat Listener",
"time": 1080
},
{
"text": "Gain Access",
"time": 1140
},
{
"text": "Privilege Escalation",
"time": 1204
},
{
"text": "Linpeas",
"time": 1235
},
{
"text": "GTFObins",
"time": 1383
},
{
"text": "Escalation",
"time": 1440
},
{
"text": "Wrapping Up",
"time": 1583
}
],
"title": "Vulnversity Walkthrough",
"type": "THM",
"url": "https://assets.tryhackme.com/rooms/vulnversity/ef11550860c6a49e5d4ce4d28a492c8f.mp4"
},
"views": 656626,
"writeups": []
},
{
"accessToken": "dfe6c2fa617e84a0c10838bb66199dac66c6d329",
"certificate": false,
"checked": {
"comments": [],
"status": "accepted"
},
"cloneable": false,
"code": "dailybugle",
"comingSoon": false,
"created": "2020-01-13T22:40:40.948Z",
"creators": [],
"ctf": false,
"description": "Compromise a Joomla CMS account via SQLi, practise cracking hashes and escalate your privileges by taking advantage of yum.",
"difficulty": "hard",
"forumLink": "https://tryhackme.com/thread/5e1ef29a2eda9b0f20b151fd",
"freeToUse": true,
"headerImage": "https://i.imgur.com/H98yNCQ.png",
"image": "https://tryhackme-images.s3.amazonaws.com/room-icons/5a1494ff275a366be8418a9bf831847c.png",
"ipType": "private",
"locked": false,
"network": {
"active": false,
"creators": []
},
"oneTimeFee": 0,
"paidAccess": {
"active": false,
"costs": [],
"streak": {
"enabled": false,
"number": 0
},
"users": []
},
"public": true,
"published": "2020-01-18T00:23:56.579Z",
"roomCode": "dailybugle",
"roomId": "5e1cf1e821c8255ddf4a55e6",
"scoreType": 0,
"simpleRoom": false,
"sponsor": {
"enabled": false,
"file": "",
"name": ""
},
"success": true,
"tags": [
"joomla",
"sqli",
"yum",
"sqlmap",
"john the ripper",
"cracking",
"password cracking",
"gtfobins",
"weekly challenge"
],
"title": "Daily Bugle",
"type": "challenge",
"userCompleted": false,
"users": 12814,
"video": {
"active": false,
"autoOpen": true,
"free": true,
"source": "THM",
"timestamps": []
},
"views": 81257,
"writeups": []
},
{
"accessToken": "b1479738fbb6edb92355b00a77a4afc7a5443371",
"certificate": false,
"checked": {
"comments": [],
"status": "accepted"
},
"cloneable": false,
"code": "bufferoverflowprep",
"comingSoon": false,
"created": "2020-08-08T20:19:55.715Z",
"creators": [],
"ctf": false,
"description": "Practice stack based buffer overflows!",
"difficulty": "easy",
"freeToUse": true,
"headerImage": "https://assets.tryhackme.com/img/banners/default_tryhackme.png",
"image": "https://tryhackme-images.s3.amazonaws.com/room-icons/1948e2c67f072993904cec82f39653c0.png",
"ipType": "private",
"locked": false,
"network": {
"active": false,
"creators": []
},
"oneTimeFee": 0,
"paidAccess": {
"active": false,
"costs": [],
"streak": {
"enabled": false,
"number": 0
},
"users": []
},
"public": true,
"published": "2020-08-08T19:00:00.048Z",
"roomCode": "bufferoverflowprep",
"roomId": "5f0b706b109ad60bf29f2659",
"scoreType": 1,
"simpleRoom": false,
"sponsor": {
"enabled": false,
"file": "",
"name": ""
},
"success": true,
"tags": [
"OSCP",
"Buffer Overflows",
"BOF",
"Tib3rius"
],
"title": "Buffer Overflow Prep",
"type": "walkthrough",
"userCompleted": false,
"users": 16142,
"video": {
"active": false,
"autoOpen": true,
"free": true,
"source": "THM",
"timestamps": []
},
"views": 166996,
"writeups": []
},
{
"accessToken": "e06eb1dd4e3584dcb1ecce0bce4f5deb3aa62721",
"certificate": false,
"checked": {
"comments": [],
"status": "accepted"
},
"cloneable": false,
"code": "overpass2hacked",
"comingSoon": false,
"created": "2020-08-14T22:12:17.053Z",
"creators": [],
"ctf": false,
"description": "Overpass has been hacked! Can you analyse the attacker's actions and hack back in?",
"difficulty": "easy",
"freeToUse": true,
"headerImage": "https://assets.tryhackme.com/img/banners/default_tryhackme.png",
"image": "https://tryhackme-images.s3.amazonaws.com/room-icons/96141387d9d4a22658f8db0ada67d62d.png",
"ipType": "private",
"locked": false,
"network": {
"active": false,
"creators": []
},
"oneTimeFee": 0,
"paidAccess": {
"active": false,
"costs": [],
"streak": {
"enabled": false,
"number": 0
},
"users": []
},
"public": true,
"published": "2020-08-14T19:00:00.057Z",
"roomCode": "overpass2hacked",
"roomId": "5f1768412e10d21f3fc2195a",
"scoreType": 1,
"simpleRoom": true,
"sponsor": {
"enabled": false,
"file": "",
"name": ""
},
"success": true,
"tags": [
"security",
"forensics",
"wireshark",
"linux",
"pcap",
"NinjaJc01",
"cooctus"
],
"title": "Overpass 2 - Hacked",
"type": "walkthrough",
"userCompleted": false,
"users": 15114,
"video": {
"active": false,
"added": "2020-08-19T21:00:40.210Z",
"autoOpen": true,
"free": true,
"source": "YT",
"timestamps": [],
"title": "Overpass 2 Recovering from THE HACK | John Hammond",
"url": "https://www.youtube.com/embed/XtySdRYCbiY"
},
"views": 76340,
"writeups": []
},
{
"accessToken": "5221d100c2a26837af1a041cf0c2168426e05eb3",
"certificate": false,
"checked": {
"comments": [],
"status": "accepted"
},
"cloneable": false,
"code": "relevant",
"comingSoon": false,
"created": "2020-07-25T05:33:52.718Z",
"creators": [],
"ctf": false,
"description": "Penetration Testing Challenge",
"difficulty": "medium",
"freeToUse": true,
"headerImage": "https://assets.tryhackme.com/img/banners/default_tryhackme.png",
"image": "https://tryhackme-images.s3.amazonaws.com/room-icons/10524728b2b462e8d164efe4e67ed087.jpeg",
"ipType": "private",
"locked": false,
"network": {
"active": false,
"creators": []
},
"oneTimeFee": 0,
"paidAccess": {
"active": false,
"costs": [],
"streak": {
"enabled": false,
"number": 0
},
"users": []
},
"public": true,
"published": "2020-08-21T19:00:00.035Z",
"roomCode": "relevant",
"roomId": "5f1bc440b8bec2358ad7ee90",
"scoreType": 0,
"simpleRoom": false,
"sponsor": {
"enabled": false,
"file": "",
"name": ""
},
"success": true,
"tags": [
"security",
"security misconfiguration",
"Accessible",
"pentest"
],
"title": "Relevant",
"type": "challenge",
"userCompleted": false,
"users": 11155,
"video": {
"active": true,
"added": "2020-09-02T21:00:40.210Z",
"autoOpen": true,
"free": true,
"source": "YT",
"timestamps": [],
"title": "Relevant Walkthrough | TheMayor",
"url": "https://www.youtube.com/embed/VfadeHqnuZc"
},
"views": 72662,
"writeups": []
},
{
"accessToken": "f97cf6acc6f510537e65690d65613041cff2ef91",
"certificate": false,
"checked": {
"comments": [],
"status": "accepted"
},
"cloneable": false,
"code": "internal",
"comingSoon": false,
"created": "2020-08-03T05:17:14.926Z",
"creators": [],
"ctf": false,
"description": "Penetration Testing Challenge",
"difficulty": "hard",
"freeToUse": true,
"headerImage": "https://assets.tryhackme.com/img/banners/default_tryhackme.png",
"image": "https://tryhackme-images.s3.amazonaws.com/room-icons/8f245ccd549148ce6c6f76a583b842d6.jpeg",
"ipType": "private",
"locked": false,
"network": {
"active": false,
"creators": []
},
"oneTimeFee": 0,
"paidAccess": {
"active": false,
"costs": [],
"streak": {
"enabled": false,
"number": 0
},
"users": []
},
"public": true,
"published": "2020-08-21T21:00:00.046Z",
"roomCode": "internal",
"roomId": "5f279dda2bcc911fb8a17071",
"scoreType": 0,
"simpleRoom": false,
"sponsor": {
"enabled": false,
"file": "",
"name": ""
},
"success": true,
"tags": [
"security",
"Accessible",
"pentest",
"security misconfigurations"
],
"title": "Internal",
"type": "challenge",
"userCompleted": false,
"users": 9327,
"video": {
"active": true,
"added": "2020-09-02T21:00:40.210Z",
"autoOpen": true,
"free": true,
"source": "YT",
"timestamps": [],
"title": "Internal Walkthrough | TheMayor",
"url": "https://www.youtube.com/embed/2TmguIvR3Kw"
},
"views": 54095,
"writeups": []
},
{
"accessToken": "b1354a204060c0d07d8c3a616ee794b7728fb375",
"certificate": false,
"checked": {
"comments": [],
"status": "unreleased"
},
"cloneable": false,
"code": "tutorial",
"comingSoon": false,
"created": "2020-08-26T15:34:11.310Z",
"creators": [],
"ctf": false,
"description": "Learn how to use a TryHackMe room to start your upskilling in cyber security.",
"difficulty": "easy",
"freeToUse": true,
"headerImage": "https://tryhackme.com/img/banners/default_tryhackme.png",
"image": "https://tryhackme-images.s3.amazonaws.com/room-icons/c916cc3206c2199f9b5e9db43d5a15e9.png",
"ipType": "private",
"locked": false,
"network": {
"active": false,
"creators": []
},
"oneTimeFee": 0,
"paidAccess": {
"active": false,
"costs": [],
"streak": {
"enabled": false,
"number": 0
},
"users": []
},
"public": true,
"published": "2020-06-12T20:40:52.474Z",
"roomCode": "tutorial",
"roomId": "5f6f5f7317eed411eace7fe1",
"scoreType": 2,
"simpleRoom": true,
"sponsor": {
"enabled": false,
"file": "",
"name": ""
},
"success": true,
"tags": [
"tutorial"
],
"title": "Tutorial",
"type": "walkthrough",
"userCompleted": true,
"users": 227629,
"video": {
"active": true,
"added": "2021-06-01T21:00:40.210Z",
"autoOpen": false,
"free": true,
"source": "YT",
"timestamps": [],
"title": "Tutorial",
"url": "https://www.youtube.com/embed/Yp3tKw2kvr4"
},
"views": 682806,
"writeups": []
},
{
"accessToken": "ae6898020deeebc8bd5c58c50a10ed017a2d6d90",
"certificate": false,
"checked": {
"comments": [],
"status": "accepted"
},
"cloneable": false,
"code": "startingoutincybersec",
"comingSoon": false,
"created": "2020-09-25T17:46:11.704Z",
"creators": [],
"ctf": false,
"description": "Learn about the different career paths in Cyber Security and how TryHackMe can help!",
"difficulty": "easy",
"freeToUse": true,
"headerImage": "https://assets.tryhackme.com/img/banners/default_tryhackme.png",
"image": "https://tryhackme-images.s3.amazonaws.com/room-icons/2872c789f749c4be44eb42f762181330.jpeg",
"ipType": "private",
"locked": false,
"network": {
"active": false,
"creators": []
},
"oneTimeFee": 0,
"paidAccess": {
"active": false,
"costs": [],
"streak": {
"enabled": false,
"number": 0
},
"users": []
},
"public": true,
"published": "2020-09-27T16:49:13.567Z",
"roomCode": "startingoutincybersec",
"roomId": "5f95b9e32fa3673dbfb2d2e9",
"scoreType": 1,
"simpleRoom": true,
"sponsor": {
"enabled": false,
"file": "",
"name": ""
},
"success": true,
"tags": [
"security",
"startingout",
"careers",
"intro"
],
"title": "Starting Out In Cyber Sec",
"type": "walkthrough",
"userCompleted": false,
"users": 197539,
"video": {
"active": false,
"autoOpen": true,
"free": true,
"source": "THM",
"timestamps": []
},
"views": 338032,
"writeups": []
},
{
"accessToken": "2ca9703ed01c1199f8e63a736dfa4e99de6dbfc8",
"certificate": false,
"checked": {
"comments": [],
"status": "accepted"
},
"cloneable": false,
"code": "howtousetryhackme",
"comingSoon": false,
"created": "2021-03-02T22:38:06.040Z",
"creators": [],
"ctf": false,
"description": "Start and access your first machine! ",
"difficulty": "easy",
"forumLink": "/thread/60426fb1ab45f97cd69946bf",
"freeToUse": true,
"headerImage": "https://assets.tryhackme.com/img/banners/default_tryhackme.png",
"image": "https://tryhackme-images.s3.amazonaws.com/room-icons/87c81cfc892066064ae627c5521ad85c.jpeg",
"ipType": "private",
"locked": false,
"network": {
"active": false,
"creators": []
},
"oneTimeFee": 0,
"paidAccess": {
"active": false,
"costs": [],
"streak": {
"enabled": false,
"number": 0
},
"users": []
},
"public": true,
"published": "2021-01-05T17:51:45.274Z",
"roomCode": "howtousetryhackme",
"roomId": "603ebe4e6d74786977dce317",
"scoreType": 1,
"simpleRoom": true,
"sponsor": {
"enabled": false,
"file": "",
"name": ""
},
"success": true,
"tags": [
"tutorial"
],
"title": "How to use TryHackMe",
"type": "walkthrough",
"userCompleted": true,
"users": 18628,
"video": {
"active": false,
"free": true,
"source": "THM",
"timestamps": []
},
"views": 52002,
"writeups": []
}
],
"success": true
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment