Another steg challenge...
Like challenge 2, the first thing we try is strings. Unfortunately that yields nothing here, so then we check the hex image data to see if there's anything notable. There isn't, so presumably the hidden data is in the pixel values themselves. So something we might try is LSB (Least Significant Bit) steg.
Using a tool like https://incoherency.co.uk/image-steganography/#unhide we upload our image and find that indeed there is a message hidden in the least significant bits. The hidden image seems to be hexadecimal code, so we transcribe it:
666c61677b6368616c6c
656e6765382d6a724b5
66b43474143674675645
0594c5466674a5463665
0627d
Then we hex decode this to get the flag.
Essentially, the way LSB steg works is the LSB of every pixel is changed to hide a message. This alters the colours in the image but since it's the least significant bit, the change is tiny and undetectable by eye.
Our flag is:
<aside> 💡 flag{challenge8-jrKVkCGACgFudPYLTfgJTcfPb}
</aside>
Steganography 101 - LSB Introduction with Python - Part 1