Start the machine, hack the system, and find the hidden flags to complete this challenge and earn points!
pip3 install pillow numpygem install zsteg (requires Ruby) or download from GitHubchallenge.png from the challenge page to your local machine.file challenge.png to confirm it's a valid PNG file.strings challenge.png | grep -i flag to search for any obvious references to flags in the file.exiftool challenge.png to examine metadata for any hidden information.zsteg or stegsolve to analyze the image for hidden data.Pillow and numpy to extract the least significant bits from the pixel data.len(flag) * 8 pixels of the image.19d9ad44-709a-40a8-acd6-9ff98cd7b555gem install zsteg (requires Ruby to be installed)zsteg challenge.png19d9ad44-709a-40a8-acd6-9ff98cd7b555extract_lsb.py with the following content:from PIL import Image
import numpy as np
# Load the image
img = Image.open('challenge.png')
arr = np.array(img)
# Flatten the array for easier manipulation
flat = arr.flatten()
# Extract LSBs from the first 36*8 pixels (36 characters * 8 bits each)
bits = []
for i in range(36 * 8):
bits.append(str(flat[i] & 1))
# Convert bits to bytes and then to ASCII characters
flag = ''
for i in range(36):
byte_bits = bits[i*8:(i+1)*8]
byte_value = int(''.join(byte_bits), 2)
flag += chr(byte_value)
print(f'Extracted flag: {flag}')python3 extract_lsb.py19d9ad44-709a-40a8-acd6-9ff98cd7b555Enter your email to continue
Choose a username to get started
We've sent a 9-character code to your email