Saturday, May 10, 2025
  • Home
  • About Us
  • Contact Us
  • Disclaimer
  • Privacy Policy
  • Terms & Conditions
marketibiza
  • Home
  • Auto insurance
  • Business insurance
  • Cyber insurance
  • Disability insurance
  • Health insurance
    • Life insurance
    • Insurance Law
    • Travel insurance
  • Contact Us
No Result
View All Result
marketibiza
  • Home
  • Auto insurance
  • Business insurance
  • Cyber insurance
  • Disability insurance
  • Health insurance
    • Life insurance
    • Insurance Law
    • Travel insurance
  • Contact Us
No Result
View All Result
marketibiza
No Result
View All Result
Home Cyber insurance

Cracking the 2023 SANS Vacation Hack Problem

admin by admin
2024年6月29日
in Cyber insurance
0
Cracking the 2023 SANS Vacation Hack Problem
74
SHARES
1.2k
VIEWS
Share on FacebookShare on Twitter


You might also like

xAI Dev Leaks API Key for Non-public SpaceX, Tesla LLMs – Krebs on Safety

The Turing check falls to GPT-4.5 • Graham Cluley

Passkeys Set to Shield GOV.UK Accounts Towards Cyber-Assaults

Steeped in AI and the safety dangers of its use, the 2023 SANS Holiday Hack Challenge was an enrichening expertise of navigating a sequence of 21 goals that examined and broadened a number of cybersecurity abilities.

The perfect challenges for me had been looking down AI hallucinations in a pentest report, escalating privileges on a Linux system, trying to find cheats in Recreation Boy video games, utilizing the Azure REST API to seek for an Azure Perform app’s supply code and in the end to use a weak SSH certificates service, training use of the Impacket instrument suite and Certipy to use weak Active Directory Certificate Services, and exploiting SQL injection and Java deserialization vulnerabilities in house apps.

Under, I share the trail I adopted to crack among the most notable challenges.

Reportinator

Figure-1-Christmas-Island-Rudolph's-Rest

ChatNPT, a big language mannequin (LLM) used for the creation of some challenges, generated a penetration test report on vulnerabilities found in North Pole Programs’ community, some that includes as part of upcoming challenges. Nonetheless, ChatNPT hallucinated among the particulars within the report. Utilizing ChatGPT, or one other favored LLM, the duty was to flag the sections with hallucinated information. My method was to ask ChatGPT particular questions in regards to the content material to elucidate what I didn’t perceive at first and in the end to find the anomalies. Three of the 9 sections contained errors.

 

Figure-2-Reportinator-3

 

As confirmed by ChatGPT, this part had an invalid port variety of 88,555, far above the very best legitimate port variety of 65,535:

 

Figure-3-Reportinator-3-ChatGPT-answer

Figure-4-Reportinator-6

 

Right here I observed instantly that SEND will not be an HTTP request technique.

 

Figure-5-Reportinator-6-ChatGPT-answer

Figure-6-Reportinator-9

 

ChatNPT confused the PHP model quantity talked about in part eight of the report both as an HTTP protocol model or as mistaken textual content for what ought to have been “HTTP HEAD request” on this part. As well as, revealing Home windows registration or product keys within the Location header is a nasty piece of recommendation.

 

Figure-7-Reportinator-9-ChatGPT-answer

Linux PrivEsc

Figure-8-Island-of-Misfit-Toys-Ostrich-Saloon

On this problem, the ultimate goal was to reply a query however that query was hidden in an inaccessible executable:

question

Whereas there are various methods to escalate privileges on a Linux machine, this problem allowed a customized executable referred to as simplecopy with the SUID bit set to be abused. If the SUID bit for the proprietor of a file is ready and the proprietor is root, then that file is at all times executed with root privileges even by non-root customers on the system. I used the next command to go looking your entire system for normal information which have the SUID bit set for the proprietor, whereas discarding any error output:

Figure simple copy

simplecopy appeared to be a weak, however simplified, model of the usual cp utility. Certainly the assistance message prompt the identical:

Utilization: simplecopy <supply> <vacation spot>

My method was the next: create the data for a consumer with root privileges, append this data to a duplicate of the /etc/passwd file, then exchange the previous passwd file with the copy. Subsequent, use su to login as the brand new consumer.

With root entry to the system, I used to be capable of finding the executable runmetoanswer in /root, run it, and guess the reply: santa.

Figure run me to answer

The reply was additionally given within the config file /and so forth/runtoanswer.yaml, however this file might solely be learn with root privileges or by utilizing simplecopy to repeat it to /dev/stdout.

Recreation cartridges: vol 2 and vol 3

Figure-10-Game-Cartridge-Vol2

Two challenges concerned mild reverse engineering of Recreation Boy ROM information. The primary was a recreation the place the target was to get previous a guard, reveal a portal, and decode the airwave reply. We got two variations of the sport together with a touch to have a look at the diff between them. Copying a number of of the differing hex bytes from one model to the opposite was sufficient to disclose the portal, which led to a room with a radio broadcasting the reply in Morse code:

Morse code

Da-da-dit

Di-da-di-dit

Da-da-da-da-dah

Di-da-dit

 

Da-di-da-dah

Message

g

l

0

r

 

y

The second was a recreation the place you possibly can earn factors by leaping to gather cash; nonetheless, incomes over 998 factors would wind your factors round to 0 and, beneath sure circumstances, set off a message about an overflow error. The target was to disclose floating steps to the subsequent a part of the map the place the flag was saved, however this required adeptness at leaping. As a substitute, I discovered the right way to fly with the assistance of the BGB Game Boy emulator and a mix of its cheat searcher operate and visible inspection of RAM throughout gameplay to search out the hex byte that controls the y-position of the participant on the map – mainly, I sussed out a GameShark code.

The flag was !tom+elf!.

Certificates SSHenanigans

Though utilizing certificates instead of public-private key pairs improves the safety of authenticating over SSH, a misconfigured SSH certificates signing service could permit an attacker to illegitimately receive a certificates to authenticate as one other consumer. The problem was arrange within the following method.

An Azure Function app deployed on northpole-ssh-certs-fa.azurewebsites.net returns SSH certificates to anybody who gives an SSH public key. These certificates can be utilized to authenticate over SSH to ssh-server-vm.santaworkshopgeeseislands.org because the consumer monitor.

The host at this area is an Azure digital machine, so after logging in my first step was to gather data from the instance metadata as that might be wanted for calls to the Azure REST API later, particularly, I wanted the subscription ID and useful resource group title. I additionally wanted an entry token to make use of this API, which I used to be capable of purchase by using a managed identity. This acquired token should then be utilized in an HTTP Authorization header when making calls to the Azure REST API.

At this level, I had the whole lot wanted to make the API name to get the source control configuration of the Azure Perform app. I made the decision and among the many configuration properties I noticed a URL to the app’s source code on GitHub.

Inspection of the supply code revealed that the app accepts a second parameter: principal. If the HTTP POST request to the /api/create-cert endpoint doesn’t ship a worth for principal, then a default of elf is returned, however right here lies a vulnerability. Utilizing Burp Suite I can intercept the HTTP POST request and insert the worth admin. I knew to request admin as a result of it was the principal within the /and so forth/ssh/auth_principals/alabaster file on the digital machine and I needed to acquire entry to Alabaster’s house listing.

Figure-12-Certificate-SSHenanigans-solution

With an SSH certificates for the admin principal in hand, I logged into the identical digital machine as alabaster and located Alabaster’s TODO checklist in his house listing. The checklist contained the flag phrase: gingerbread.

Lively Listing

Beginning on the identical digital machine because the earlier problem, this problem checked out how a misconfigured Active Directory Certificate Service might be abused by an attacker to authenticate as one other consumer. As alabaster I had a listing filled with Impacket instruments however most of them require a goal server’s area title and IP handle, and a username and password for logging in – data I didn’t but have.

So a superb first step was to determine my permissions for the Azure REST API as there isn’t a must name one API after one other solely to satisfy an authorization denied message. Thus, I listed all the permissions for the resource group that I found within the earlier problem.

Since I noticed I had a number of permissions round studying key vaults, I moved on to listing them and located two: northpole-it-kv and northpole-ssh-certs-kv.

Time to modify APIs. Till now I had been making calls to endpoints on administration.azure.com however some components of the Azure Key Vault are on vault.azure.web and this useful resource requires its personal entry token. As soon as once more I used my managed identity to acquire an access token however this time switching the useful resource to vault.azure.web.

In northpole-it-kv, I found the name for a secret. Utilizing that title, I requested the value for this secret, which turned out to be a PowerShell script for creating an Active Directory user referred to as elfy. Critically, I now had all the data wanted to leverage the Impacket instrument suite.

Utilizing GetADUsers.py revealed one other consumer within the area that could possibly be of curiosity: wombleycube. I used to be additionally capable of join through SMB to the Lively Listing server utilizing smbclient.py. The file share of curiosity contained a super_secret_research listing however I couldn’t learn it as elfy.

Fortunately, I had entry to a different instrument: Certipy. That is used to search out misconfigured certificates templates for Lively Listing Certificates Providers and abuse them. The instrument listed one weak template on account of it permitting a certificates requestor to provide an arbitrary subject alternative name and the issued certificates granting consumer authentication for the provided title.

Figure-13-Active-Directory-solution-1

After requesting a certificates with wombleycube inserted into the topic different title subject, I additionally used Certipy to get the NT hash for wombleycube utilizing that certificates. Then, by passing Wombley’s hash to smbclient.py, I used to be capable of join through SMB to the Lively Listing server as wombleycube and achieve entry to the super_secret_research listing, which contained the directions for the subsequent problem in InstructionsForEnteringSatelliteGroundStation.txt.

Figure-14-Active-Directory-solution-2

Area Island door entry speaker

Figure-15-Space-Island-Spaceport-Point

To achieve entry to the challenges on the house system ground segment, it was required to make use of an LLM to generate a pretend voice of Wombley Dice talking the passphrase. Given an audio file of Wombley telling a narrative and the passphrase, it was trivial to make use of LOVO AI to generate a voice simulating Wombley’s to talk the passphrase and authenticate efficiently.

With out further safeguards, voice authentication faces severe challenges as a safety mechanism within the age of LLMs.

Digital camera entry

Figure-16-Space-Island-Zenith-SGS

After talking the passphrase, I boarded a prepare that whizzed me away to the bottom section chargeable for communication with an in-game CubeSat, a sort of small satellite tv for pc. Within the floor station we got a Wireguard configuration to arrange an encrypted connection to this CubeSat.

The software program on this satellite tv for pc is suitable with the NanoSat MO Framework (NMF), a software program framework developed by the European Area Company for CubeSats. This framework comes with an SDK for growing and testing house apps. It additionally gives the Shopper Take a look at Device (CTT), each as a floor app and as a command line instrument, to hook up with the onboard supervisor, a software program orchestrator that takes care of beginning and stopping house apps in addition to coordinating different duties.

The problem was to determine the right way to instruct the onboard digicam app to take an image, then retrieve the snapshot. I took the next steps.

After booting up the CTT interface, I entered the supervisor’s URI to hook up with the supervisor. Then I checked the out there apps, discovered the digicam app, and began it. The digicam app returned its URI, which I used to hook up with it. Subsequent, I executed the Base64SnapImage motion, which instructed the onboard digicam to take an image.

The digicam app additionally gives a parameter service that may return two values: the variety of snaps taken and the JPG snapshot encoded in base64. Nonetheless, the CTT interface didn’t appear to offer a solution to view the picture nor to repeat parameter values straight from the interface, though I might see the specified worth was current. So I wanted a roundabout technique of buying the picture.

I found that the CTT interface has an enableGeneration button that triggers often scheduled publishing of a parameter worth. From the CTT command line, I might then subscribe to the specified parameter, obtain the worth when it was printed, and redirect it right into a file.

Since I used to be working CTT in a Docker container, I copied the file onto my host system with docker cp, eliminated the cruft from the file content material, then base64 decoded the picture to view the flag: CONQUER HOLIDAY SEASON!.

Figure-19-Camera-app-snapshot

Missile diversion

The ultimate problem was to make use of the missile-targeting-system app on the in-game CubeSat to redirect a missile from the earth to the solar. This app offered just one motion: Debug. Operating it didn’t appear to do a lot besides print out the SQL VERSION command and its output as if it had been run by a database utilized by the app:

VERSION(): 11.2.2-MariaDB-1:11.2.2+maria~ubu2204

I instantly puzzled if there was a SQL injection vulnerability at play. The CTT interface offered a subject to enter an argument for the Debug motion, so I attempted injecting one other command:

; SHOW GRANTS FOR CURRENT_USER();

Grants for targeter@%: GRANT USAGE ON *.* TO `targeter`@`%` IDENTIFIED BY PASSWORD ‘*41E2CFE844C8F1F375D5704992440920F11A11BA’ |

Grants for targeter@%: GRANT SELECT, INSERT ON `missile_targeting_system`.`satellite_query` TO `targeter`@`%` |

Grants for targeter@%: GRANT SELECT ON `missile_targeting_system`.`pointing_mode` TO `targeter`@`%` |

Grants for targeter@%: GRANT SELECT ON `missile_targeting_system`.`messaging` TO `targeter`@`%` |

Grants for targeter@%: GRANT SELECT ON `missile_targeting_system`.`target_coordinates` TO `targeter`@`%` |

Grants for targeter@%: GRANT SELECT ON `missile_targeting_system`.`pointing_mode_to_str` TO `targeter`@`%` |

Effectively then, time to plunder the database! The pointing_mode and pointing_mode_to_str tables indicated the place the missile was at the moment pointing:

; SELECT * FROM pointing_mode;

id: 1 | numerical_mode: 0 |

; SELECT * FROM pointing_mode_to_str;

id: 1 | numerical_mode: 0 | str_mode: Earth Level Mode | str_desc: When pointing_mode is 0, focusing on system applies the target_coordinates to earth. |

id: 2 | numerical_mode: 1 | str_mode: Solar Level Mode | str_desc: When pointing_mode is 1, focusing on system factors on the solar, ignoring the coordinates. |

From this data I might see that I wanted to alter the numerical_mode worth within the pointing_mode desk to 1, however I didn’t have permission to replace that desk.

I did have permission to insert new rows into the satellite_query desk, which at the moment had one row with an as but unknown worth within the object column and the supply code of a Java class referred to as SatelliteQueryFileFolderUtility within the outcomes column.

Up up to now the output from the Debug motion was simply viewable in a pane on the backside of the Apps Launcher service tab offered by the supervisor within the CTT interface. Nonetheless, the article worth didn’t appear to be rendering appropriately within the pane. Ideally, it might be good to see the hex dump of the article, which could possibly be obtained with the assistance of Wireshark or by utilizing the SQL HEX operate. This revealed that I used to be coping with a serialized Java object.

After reading up on the Java object serialization protocol, I managed to decode the hex bytes:

Hex byte

Image/That means

Comment (ASCII values of hex bytes in monospaced font)

ACED

STREAM_MAGIC

A magic quantity.

0005

STREAM_VERSION

The stream protocol model is 2.

73

TC_OBJECT

The beginning of an object.

72

TC_CLASSDESC

The beginning of a category definition.

001F

Size

The category title has a size of 31 bytes.

536174656C6C697465517
565727946696C65466F6C
6465725574696C697479

Worth

The category title is SatelliteQueryFileFolderUtility.

12D4F68D0EB392CB

serialVersionUID

A novel identifier related to this serialized class.

02

SC_SERIALIZABLE

The category is serializable.

0003

fieldCount

The category has three fields.

5A

Information sort – ASCII worth Z

The primary subject is a boolean.

0007

Size

The title of this subject has a size of seven bytes.

69735175657279

Title

The title of this subject is isQuery.

5A

Information sort – ASCII worth Z

The second subject is a boolean.

0008

Size

The title of this subject has a size of 8 bytes.

6973557064617465

Title

The title of this subject is isUpdate.

4C

Information sort – ASCII worth L

The third subject is an object.

000F

Size

The title of this subject has a size of 15 bytes.

706174684F72537
46174656D656E74

Title

The title of this subject is pathOrStatement .

74

TC_STRING

The category sort of this object is given in a string.

0012

Size

This string has a size of 18 bytes.

4C6A6176612F6C616E
672F537472696E673B

Worth

The category sort of this object is java/lang/String.

78

TC_ENDBLOCKDATA

The top of a category definition.

70

TC_NULL

No superclass outlined.

00

Worth

The boolean subject isQuery has the worth false.

00

Worth

The boolean subject isUpdate has the worth false.

74

TC_STRING

The worth of the pathOrStatement subject is a string.

0029

Size

The worth of the pathOrStatement subject has a size of 41 bytes.

2F6F70742F536174656C6
C69746551756572794669
6C65466F6C64657255746
96C6974792E6A617661

Worth

The worth of the pathOrStatement subject is /choose/SatelliteQueryFileFolderUtility.java

Buying this object through Wireshark returned an incorrect magic quantity and serialVersionUID, however not when utilizing the HEX operate.

To grasp what an INSERT into the satellite_query desk would do, I inserted this object into a brand new row of the desk and acquired again the identical Java supply code within the outcomes column. The truth is, this habits corresponded to what I noticed in that code because the getResults operate of a SatelliteQueryFileFolderUtility object.

This operate takes a distinct execution path relying on the values of the article’s three fields: isQuery, isUpdate, and pathOrStatement. If isQuery and isUpdate are false, then the operate checks whether or not the pathOrStatement is a path and a listing. In that case, it returns the checklist of information contained within the listing; in any other case, it assumes a file was offered and makes an attempt to return the contents of that file.

Then again, if isQuery and isUpdate are true, then the operate executes the content material of pathOrStatement as a SQL UPDATE assertion. What I wanted to execute was the next:

UPDATE pointing_mode SET numerical_mode = 1;

I modified the required bytes (highlighted under) within the serialized object, and injected the profitable command:

; INSERT INTO satellite_query

(object)

  VALUES

(0xACED00057372001F536174656C6C697465517565727946696C65466F6C6465725574696C69747912D4F68D0EB392CB0200035A0007697351756572795A000869735570646174654C000F706174684F7253746174656D656E747400124C6A6176612F6C616E672F537472696E673B7870010174002C55504441544520706F696E74696E675F6D6F646520534554206E756D65726963616C5F6D6F6465203D20313B)

Wrap-up

Figure-20-Finale

These are solely among the areas lined within the 2023 SANS Vacation Hack Problem; there have been many others that seemed on the safety of JSON web tokens, cracking passwords with hashcat, digital cracking of bags locks and rotary combination locks, Python NaN injection, utilizing the Kusto Query Language for threat hunting, checking DKIM and SPF records to assist determine malicious emails, and hackable minigames.

All in all, I’m positive that such a wide-ranging set of enjoyable challenges can’t fail to be instructive to anybody who makes an attempt to take them on. And whereas I’m already trying ahead to subsequent 12 months’s problem, a well-earned thanks goes out to the organizers of the SANS Vacation Hack Problem for placing collectively this 12 months’s problem.

You may learn my highlights from the 2022 problem at Cracked it! Highlights from KringleCon 5: Golden Rings.

Share30Tweet19
admin

admin

Recommended For You

xAI Dev Leaks API Key for Non-public SpaceX, Tesla LLMs – Krebs on Safety

by admin
2025年5月10日
0
xAI Dev Leaks API Key for Non-public SpaceX, Tesla LLMs – Krebs on Safety

An worker at Elon Musk’s synthetic intelligence firm xAI leaked a non-public key on GitHub that for the previous two months may have allowed anybody to question personal xAI...

Read more

The Turing check falls to GPT-4.5 • Graham Cluley

by admin
2025年5月9日
0
The Turing check falls to GPT-4.5 • Graham Cluley

In episode 45 of The AI Repair, our hosts uncover that ChatGPT is operating the world, Mark learns that mattress firms have scientists, Gen Z has nightmares about...

Read more

Passkeys Set to Shield GOV.UK Accounts Towards Cyber-Assaults

by admin
2025年5月9日
0
Passkeys Set to Shield GOV.UK Accounts Towards Cyber-Assaults

The UK authorities has unveiled plans to roll out passkeys throughout its digital providers because it seeks to cut back the chance of hacks to individuals’s GOV.UK accounts....

Read more

What’s “Rip-off Possible”? Placing the cellphone down on undesirable calls

by admin
2025年5月8日
0
What’s “Rip-off Possible”? Placing the cellphone down on undesirable calls

Bored with dodging all these 'Rip-off Possible' calls? Here is what’s behind the label and easy methods to keep one step forward of cellphone scammers. 18 Nov 2024...

Read more

third Main UK Retailer Focused In Days

by admin
2025年5月8日
0
third Main UK Retailer Focused In Days

Harrods, the long-lasting British luxurious division retailer, has confirmed that it was just lately focused in a cybersecurity incident, changing into the third main UK retailer in just...

Read more
Next Post

Greatest Condominium & HO6 Insurance coverage In Kentucky (Charges from $33/month!)

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Browse by Category

  • Auto insurance
  • Business insurance
  • Cyber insurance
  • Disability insurance
  • Health insurance
  • Insurance Law
  • Life insurance
  • Travel insurance

Trending News

xAI Dev Leaks API Key for Non-public SpaceX, Tesla LLMs – Krebs on Safety

xAI Dev Leaks API Key for Non-public SpaceX, Tesla LLMs – Krebs on Safety

2025年5月10日
Insurance coverage is shifting from the admitted to the surplus and surplus market – this is why

Insurance coverage is shifting from the admitted to the surplus and surplus market – this is why

2025年5月9日
Denied Lengthy-Time period Incapacity In Florida? Steps To Take To Shield Your Rights

Denied Lengthy-Time period Incapacity In Florida? Steps To Take To Shield Your Rights

2025年5月9日
The last word information on how you can construct a package automotive

The last word information on how you can construct a package automotive

2025年5月9日
The Turing check falls to GPT-4.5 • Graham Cluley

The Turing check falls to GPT-4.5 • Graham Cluley

2025年5月9日
Frequent Circumstances in Your 40s Influence Life Insurance coverage

Frequent Circumstances in Your 40s Influence Life Insurance coverage

2025年5月9日
Passkeys Set to Shield GOV.UK Accounts Towards Cyber-Assaults

Passkeys Set to Shield GOV.UK Accounts Towards Cyber-Assaults

2025年5月9日

Market Biz

Welcome to Marketi Biza The goal of Marketi Biza is to give you the absolute best news sources for any topic! Our topics are carefully curated and constantly updated as we know the web moves fast so we try to as well.

CATEGORIES

  • Auto insurance
  • Business insurance
  • Cyber insurance
  • Disability insurance
  • Health insurance
  • Insurance Law
  • Life insurance
  • Travel insurance

Recent News

xAI Dev Leaks API Key for Non-public SpaceX, Tesla LLMs – Krebs on Safety

xAI Dev Leaks API Key for Non-public SpaceX, Tesla LLMs – Krebs on Safety

2025年5月10日
Insurance coverage is shifting from the admitted to the surplus and surplus market – this is why

Insurance coverage is shifting from the admitted to the surplus and surplus market – this is why

2025年5月9日
  • Home
  • About Us
  • Contact Us
  • Disclaimer
  • Privacy Policy
  • Terms & Conditions

Copyright © 2023 Market Biz All Rights Reserved.

No Result
View All Result
  • Home
  • Auto insurance
  • Business insurance
  • Cyber insurance
  • Disability insurance
  • Health insurance
  • Insurance Law
  • Life insurance
  • Travel insurance
  • Contact Us

Copyright © 2023 Market Biz All Rights Reserved.

Are you sure want to unlock this post?
Unlock left : 0
Are you sure want to cancel subscription?