• Codeby web-security - Курс "Тестирование Веб-Приложений на проникновение с нуля" от команды codeby. Общая теория, подготовка рабочего окружения, пассивный фазинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое. Подробнее ...

  • Мобильный клиент нашего форума для Android гаджетов доступен в Google Play Market по этой ссылке. Клиент можно скачать с нашего форума по этой ссылке. Последняя версия МК в нашем телеграм канале вот здесь

PACTF 2018(2 round)

07.07.2017
11
38
#3
Am I Pwned? -- 15
Дан следующий текст

I was talking on IRC with a guy who tricked me into giving him a hash of my password and then said he could hack me! He said I might be “pwned”! I know the hashing algorithm is MD5; that’s still secure, right?
… Oh, you want to know whether my password is secure or not?
It doesn’t have any uppercase letters or numbers or punctuation, but isn’t six characters still a lot? what he meant by that one. Would you be able to hack my password? Here’s the hash:
eca065fba51916821eb7274c786c67d9
Нам нужно расшифровать хэш. Идем на серис
Для просмотра контента необходимо: Войти или зарегистрироваться
и узнаем, что это MD5
Затем следующий сервис
Для просмотра контента необходимо: Войти или зарегистрироваться
дает нам флаг(lmaoez )
1525093908274.png
 
07.07.2017
11
38
#4
Hash Master -- 90
Дан текст:

Miles forgot his login for
Для просмотра контента необходимо: Войти или зарегистрироваться
, so he asked Darcy to send a password reset. Instead, she gave him the hash of his password—and the custom hashing algorithm. Miles doesn’t have great password security, so you could probably brute force it… but maybe there’s a way to do this more efficiently?
Here is the hash of Miles’ password: 293366475
Here is the hashing algorithm:
def hash_it(string):
q = 0
z = 127
for i in [int(byte) for byte in bytearray(string, "utf-8")]:
q += i
z *= i
return (((q << 3)+1)*z) % (2**32 - 1)

Я пошел следующим путем и решил просто сбрутить хэш используя следующий алгоритм. Для атаки был взят словарь rockyou.
Сам скрипт следующий:
f = open('rockyou.txt' , 'r')
f_read = f.read().split()
def hash_it(string):
q = 0
z = 127
for i in [int(byte) for byte in bytearray(string, "utf-8")]:
q += i
z *= i
return (((q << 3)+1)*z) % (2**32 - 1)
for i in f_read:
try:
if str(hash_it(i)) == "293366475":
print i
break
except Exception, ex:

После нескольких секунд получаем флаг - aaaaab

1525094346156.png
 
07.07.2017
11
38
#5
The Signal and the Noise -- 35
Дан файл с большим количеством слов
1525094473140.png
И нам требуеться найти среди этого го**а флаг. В подсказки четко сказано,что искать нужно фильтруя по кодировке.
Составляем следующий скрипт
P.S. можно взять который выше и немного изменить

f = open('haystack.txt' , 'r')
f_read = f.read().split()
def hash_it(string):
q = 0
z = 127
for i in [int(byte) for byte in bytearray(string, "utf-8")]:
q += i
z *= i
return (((q << 3)+1)*z) % (2**32 - 1)
for i in f_read:
try:
hash_it(i)
except Exception, ex:
print i
1525095191478.png

Мы получаем следующие -
th‍e
fla‌g
i​s
iп»їn
pп»їlain
sighп»їt

Чистим от мусора и получаем флаг(the flag is in plain sigh)
 
07.07.2017
11
38
#6
Zip Zap Zop -- 45
Текст: My friend gave me this file, but I have no idea what to do with it?
Скачиваем файл. Узнаем что это zlib архив, распаковываем и получаем опять zlib. Проще всего написать скрипт который все сделает за нас.


from zlib import *
import os
import zlib
while True:
str_object1 = open('test.zip', 'rb').read()
str_object2 = zlib.decompress(str_object1)
f = open('my_recovered_log_file', 'wb')
f.write(str_object2)
f.close()
os.remove('test.zip')
os.rename('my_recovered_log_file', 'test.zip')

Затем мы получим в конце ошибку, значит скрипт завершился и перед нами уже не zlib. Идем дальше и смотрим содержимое файл. Результат следующий - }q X flagqX! Gotza_Makes_1T_V_small_1539248962qs.
Как всегда чистим от мусора и получаем флаг.
1525095749582.png
 

sinner67

Red Team
24.03.2017
239
269
#7
Truly Blue?45
TruluBlue_1.png

И так, нам дано, синий квадрат(монотонный на первый взгляд)
TruluBlue_2.png

Проверки binwalkом, stringsом и exiftoolом не дала никаких результатов.
Обычно, после такого я проверяю картинку stegsolve. Давайте посмотрим что мы сможем увидеть:
Дойдя до проверки по каждому биту синего цвета, вот какую картину мы увидели на 0 бите:
TruluBlue_3.png

Я думаю у вас возникла та же мысль что и у меня тогда. Бинарный код. Черный - 0. Белый - 1
Как оказалось это была ошибочная теория, которая украла уйму времени.
Я решил заново пройтись stegsolveом по картинке и Аллилуйя! смотрите что я нашел:
TruluBlue_4.png

Видите!? Видите? Когда stegsolve начал проверять картинку рандомными цветами все сразу стало понятно,
потому что не было никакий двух цветов, их было МНОГО. Много разных оттенков синего(не путать с серого -_-)
Слудующим моим шагом было выяснить что это за цвета такие и я написал маленький скриптик:

TruluBlue_5.png

И вот что получилось:
TruluBlue_6.png

Т.е. оттенков всего 8. Чувствуете к чему все дело идет???
Теперь я пронумеровал каждый оттенок трех разрядным бинарым числом следующим образом:
0-48-156 - 000 - 0
0-48-157 - 001 - 1
0-49-156 - 010 - 2
0-49-157 - 011 - 3
1-48-156 - 100 - 4
1-48-157 - 101 - 5
1-49-156 - 110 - 6
1-49-157 - 111 - 7

Далее все прост:) пишем скриптик:
TruluBlue_7.png

Как вы могли заметить я не по всем строчкам прохожу, т.к. stegsolve показал нам, что информация есть только в первых 17.
Получаем бинарную последовательность с которой мы уже знаем что делать.
TruluBlue_8.png

Вот и все :)
 

Citizen0

Well-known member
07.02.2017
159
179
#8
Redacted Problem — 10

ANDOVER, MA— Phillips Academy Capture the Flag releases an institution-wide memorandum on the security of PDF documents. For privacy, parts of the memo are redacted.

View the memo:
Для просмотра контента необходимо: Войти или зарегистрироваться
.
Переходим по ссылке и видим pdf-документ с "замазками"
pdf_txt.png

Копируем текст и вставляем, например, в блокнот
На месте из одной замазанных областей будет флаг
pdf_flag.png
###################################################################################
Wakanda problem is this? — 60
You’ve arrived at Wakanda’s border. Only the flag will allow you to enter.
Для просмотра контента необходимо: Войти или зарегистрироваться


Hint: Use the bytes in the second image.
Нам дано одно изображение, но в подсказке указана вторая картинка.
Предположим, что у нас картинка в картинке.
Давайте посмотрим с помощью strings
Код:
strings %ПУТЬ_ДО_КАРТИНКИ%
wakanda_img.png
Действительно что-то есть. Обратите внимание на последние 2 строчки
Пробуем извлечь с помощью binwalk
wakanda_binwalk.png
Посмотрим с помощью strings второе изображение (blackpanther2.jpg)
А вот и флаг
wakanda_flag.png
 
Вверх Снизу