CTF HTB - Beatles
@webwareПривет, а вот и первый врайтап из очень популярной CTF платформы Hackthebox, вот и пруф популярности:

Уж больно понравилась эта стеганография и ровно поэтому решил ее запостить, надеюсь и Вы оцените...

Скачав архив мы видим изображение и пойдем по привычному для нас пути:
Stegsolve.jar

Хочу Вам дать понять, что при работе со стеганографией Вы сразу понимали какой софт использовать для максимально быстрого результата, т.е. если Вы начнете смотреть изображение бинарно к примеру:
cat -b BAND.JPG
или
nl BAND.JPG
Мы получаем много мусора:

Дальше пробуем инструментом, который мы показывали ранее - созвучным с иконкой браузера поисковика от Яндекса:
strings BAND.JPG
А ще лучше сразу научиться так, если мы работаем со стеганографией, прочти всегда нужно фильтровать мусор и все значения мешьше <10 так:
strings BAND.JPG | awk 'length($0) > 10'

Вот это другое дело, Base64:
echo 'VkhKNUlFaGhjbVJsY2lFPQ==' | base64 --decode
получаем матрешку VHJ5IEhhcmRlciE=
echo 'VHJ5IEhhcmRlciE=' | base64 --decode
Ну или одной коммандой, я в винде использую Notepad++ быстро и эффективно:
echo 'VkhKNUlFaGhjbVJsY2lFPQ==' | base64 --decode | base64 --decode
Try Harder! Так и что бы это значило? Я понимаю, что это девиз OSCP, но все же...
Идем по привычке, попытаемся узнать, что за фотография это:
binwalk BAND.JPG
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 JPEG image data, JFIF standard 1.01
Чаще всего на равне со strings можно использовать file, быстро подручно и результативно:
file BAND.JPG
BAND.JPG: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 1600x1067, components 3
Хорошо попробуем steghide чтобы извлечь данные получив некий пароль из base64 в base64:
steghide extract -sf BAND.JPG

и к нашему удивлению это не пароль от стеги. 2 вечера я возвращался к этой стеганографии и вспоминал только Try Harder! Try Harder! Try Harder! Try Harder! Try Harder! клинит уже... Если у нас нет других вводных данных и эта картинка все что у нас есть, нужно реальное погружение, что нам остается кроме брута? Правильно - только брут стеги и нам нужен stegcracker:
sudo curl https://raw.githubusercontent.com/Paradoxis/StegCracker/master/stegcracker > /usr/local/bin/stegcracker % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2323 100 2323 0 0 3852 0 --:--:-- --:--:-- --:--:-- 3865 sudo chmod +x /usr/local/bin/stegcracker sudo stegcracker --update StegCracker - (https://github.com/Paradoxis/StegCracker) Copyright (c) 2019 - Luke Paris (Paradoxis) Updating StegCracker to the latest version.. DONE
Запускаем с нашим любимым словариком rockyou.txt в нем 14 344 365 строк с символами как никак:
stegcracker BAND.JPG rockyou.txt
так, это не более чем пример функционала брута стеги, не нужно задавать лишних вопросов, не умею я гифов делать...

Это конечно весело, пару часов ждать, а давайте попробуем составить свой тематический словарик из информации с Wiki: Да кстати просматривая информацию в википедии на английском, то и дело нарывался на словосочетание группы, так же у них оказывается были прикольные названия альбомов типа !Help и A Hard Day's Night прям в тему:
nano Beatles_words.txt

stegcracker BAND.JPG Beatles_words.txt StegCracker - (https://github.com/Paradoxis/StegCracker) Copyright (c) 2019 - Luke Paris (Paradoxis) Attacking file 'BAND.JPG' with wordlist 'Beatles_words.txt'.. Successfully cracked file with password: [B]THEBEATLES[/B] Your file has been written to: [B]BAND.JPG.out
Ура! Мы успешно подобрали пароль и получили вывод в виде файлаBAND.JPG.out
file BAND.JPG.out BAND.JPG.out: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=ca68ea305ff7d393662ef8ce4e5eed0b478c8b4e, not stripped
Так из полезного, это LSB и у нас есть некий sha1ca68ea305ff7d393662ef8ce4e5eed0b478c8b4e
Дальше смотри содержимое, увеличивает фильтрацию, т.к. при 10 символах тоже много мусора, ставим 20:
strings BAND.JPG.out | awk 'length($0) > 20'

Шайтан трава, мы сделали это! Давайте посмотрим Вывод
The tour was canceled for the following month...!
I'll go out for dinner with my girlfriend named Yoco!
Ну там и флаг, и это мучение за 30 очей прям получилось. Реально Русская Матрешка!
Автор сия стеги пересмотрел фильм Кристофера Нолана - Начало...
Пальцы вверх, кто не решил или не понял - думаю будет хорошим уроком и скилом!