Всем снова привет.
Пришло время поесть пончики.
Скачиваем файл, unzip его.
Есть картинка, выглядит, как будто и тут теперь стеганография, проверим
file, strings, exiftool, binwalk, foremost, exiv2, steghide никакого результата мне не дало. Хотя была онлайн тулза, которая дала мне инетерсное, но я ни интересного не запомнил, ни сохранил тулзу.
unzip donut.zip
Получаем 2 файла donut.exe и dough.zip.
Пробуем unzip dough.zip, но нужен пароль - а его нет, значит смотрим donut.exe
file donut.exe
Показывает, что это PE32+ executable (console) x86-64, for MS Windows, 7 sections
Прежде чем идти сразу в винду в IDA и дебажить ( как это сделал я в начале и потерял на этом кучу времени и в итоге в коде наткнулся на то что привело меня к дальнейшим действиям) сделаем strings donut.exe
Видим, что есть python38.dll, PYZ, Cryptodome и это должно натолкнуть на мысль, что тут снова скомпилированный python и значит надо его разбирать.
Для разбора я использовал несколько тулзовин, pydumpck, pyinstxtractor.py и ту, что использовал для CTF Файлы PYC (writeup), тут тоже произошла разборка, однако далее с этими файлами я ничего поделать не мог, т.к. натыкался на Bad Magik при попытке PYC перевести в py.
Гуглил я долго и пробовал разные способы, пока не понял, что надо даунгрейдить питона, что мне подтвердили участники комьюнити.
На самом деле pycdc мне выдал pyc файлы и cat donut.pyc я могу сделать и даже пароль от архива я получил оттуда, однако, что бы получит флаг, надо с архивом как-то иначе работать.
Чтош, прошлый опыт был печальный, надеюсь сейчас все пройдет успешно. Ну и раз вы читаете этот райтап все прошло успешно. Негативный опыт тоже опыт =)
Гуглим и устанавливаем питон 3.8 из исходников как альтернативный (sudo make altinstall), к нему устанавливаем pip и decompyle3.
python3.8 ./pyinstxtractor.py donut.exe
cd donut.exe_extracted
decompyle3 donut.pyc > ../donut.py (для того, чтобы он лежал рядом с dough.zip)
code ./donut.py
удаляем не нужное, модифицирем нужное и получаем на выходе файл donut (если не модифицировать, то .donut), в котором находится флаг не совсем в чистом виде, тут тоже надо почистить флаг от ненужного.
ЗЫ
Если не модифицировать donut.py, то можно полюбоваться на прикольную ASCII графику, спасибо!
ЗЗЫ
Не смотря на "легкий" райтап, не очень понятно, почему это задание в легких, а не в средних. Но это мое, нубское ,мнение.
Пришло время поесть пончики.
Скачиваем файл, unzip его.
Есть картинка, выглядит, как будто и тут теперь стеганография, проверим
file, strings, exiftool, binwalk, foremost, exiv2, steghide никакого результата мне не дало. Хотя была онлайн тулза, которая дала мне инетерсное, но я ни интересного не запомнил, ни сохранил тулзу.
unzip donut.zip
Получаем 2 файла donut.exe и dough.zip.
Пробуем unzip dough.zip, но нужен пароль - а его нет, значит смотрим donut.exe
file donut.exe
Показывает, что это PE32+ executable (console) x86-64, for MS Windows, 7 sections
Прежде чем идти сразу в винду в IDA и дебажить ( как это сделал я в начале и потерял на этом кучу времени и в итоге в коде наткнулся на то что привело меня к дальнейшим действиям) сделаем strings donut.exe
Видим, что есть python38.dll, PYZ, Cryptodome и это должно натолкнуть на мысль, что тут снова скомпилированный python и значит надо его разбирать.
Для разбора я использовал несколько тулзовин, pydumpck, pyinstxtractor.py и ту, что использовал для CTF Файлы PYC (writeup), тут тоже произошла разборка, однако далее с этими файлами я ничего поделать не мог, т.к. натыкался на Bad Magik при попытке PYC перевести в py.
Гуглил я долго и пробовал разные способы, пока не понял, что надо даунгрейдить питона, что мне подтвердили участники комьюнити.
На самом деле pycdc мне выдал pyc файлы и cat donut.pyc я могу сделать и даже пароль от архива я получил оттуда, однако, что бы получит флаг, надо с архивом как-то иначе работать.
Чтош, прошлый опыт был печальный, надеюсь сейчас все пройдет успешно. Ну и раз вы читаете этот райтап все прошло успешно. Негативный опыт тоже опыт =)
Гуглим и устанавливаем питон 3.8 из исходников как альтернативный (sudo make altinstall), к нему устанавливаем pip и decompyle3.
python3.8 ./pyinstxtractor.py donut.exe
cd donut.exe_extracted
decompyle3 donut.pyc > ../donut.py (для того, чтобы он лежал рядом с dough.zip)
code ./donut.py
удаляем не нужное, модифицирем нужное и получаем на выходе файл donut (если не модифицировать, то .donut), в котором находится флаг не совсем в чистом виде, тут тоже надо почистить флаг от ненужного.
ЗЫ
Если не модифицировать donut.py, то можно полюбоваться на прикольную ASCII графику, спасибо!
ЗЗЫ
Не смотря на "легкий" райтап, не очень понятно, почему это задание в легких, а не в средних. Но это мое, нубское ,мнение.