• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

PACTF2018 (1 round)

BadBlackHat

Green Team
05.02.2017
211
272
Тема создана для writeups тасков которые мы успешно сдали, просьба всем кто сдавал отписаться сюда.
 
Таск Open Sourcery 2018 Solved — 30
Судя по описанию нам необходимо обратиться в прошлогоднему Ctf. Находим подходящий writeups . Переходим по ссылке и поиском находим флаг.

pactf-flag-4boxdpa21ogonzkcrs9p.com
 
  • Нравится
Реакции: IioS и n01n02h
A Picture is a Thousand Words — 10

Нам дается картинка.
image.d25eefefc427.jpg
На ум сразу приходит мысль проверить на exiftool. После загрузки и просмотра данных замечаем строку - Artist: flag_is_DjKVIXXQRZZrrAd
1524464839102.png
 
  • Нравится
Реакции: Dr.Lafa, IioS и n01n02h
Straight From The Emperor — 10
Судя по описанию, мы имеем дело с шифром Цезаря, но к алфавиту нужно добавить цифры.
Идем на сервис .
Добавляем к алфавиту цифры и крутим счетчик смещения пока не получим что-то внятное.

1524465220176.png
 
  • Нравится
Реакции: IioS и n01n02h
Beats by Dr.K 55

TaskBeats by DrK_1.png


В задании нам дано некоторый звуковой файл wav формата.
В подсказке нам говорят "послушай какждый бит"... хммм...
Первое что я делаю, когда вижу wav файл - это испытываю непреодолимое желание посмотреть на него через какой нибудь визуалайзер.
Чаще всего пользуюсь Sonic Visualiser(не реклама :)).
И так, запускаем, открываем и видим:
TaskBeats by DrK_2.png

Сразу бросается в глаза тот факт, что у нас есть последовательность затухающих и возрастающих звуков. Наводит на мысли про 0 и 1
Давай наложим слой спектрограммы и посмотрим повнимательнее:

TaskBeats by DrK_3.png

Вот тут уже лучше видно и наше предположение становится более весомым.
Начинаем считать так, как показано на рисунке:
TaskBeats by DrK_4.png

выделения для наглядности, что бы не слипались(так то считать надо, темная 0 светлая 1)
Получается бинарная последовательность которую с легкостью преобразуем в флаг.
0110011001101100011000010110011101101001011100110111000001100001
0110001101110100011001100110110101110101011100110110100101100011
TaskBeats by DrK_5.png
 

Вложения

  • TaskBeats by DrK_3.png
    TaskBeats by DrK_3.png
    349,6 КБ · Просмотры: 610
Последнее редактирование:
Who Said It 25
Who Said It_1.png

По описанию нам дано что то связанное с PGP(здарвствуйте КЭП:))
Погуглив что конкретно нам дано, я пришел к выводу что это результат прозрачно подписанного документа
с цифровой подписью в формате ASCII(Если я не правильно понял, прошу знающих отписать)
Так же выяснил что с помощью утилиты pgpdump можно получить key id публичного ключа.
Делаем следующее:
Запихиваем содержимое таска в файл с форматом .asc
Качаем pgpdump:
Код:
apt-get install pgpdump
И получаем key id:
Код:
pgpdump proba.asc
Далее идем на кей сервер, о чем говорит нам подсказка.
Вводим id и получаем флаг:)

(картинки добавлю вечером, кали нет под рукой)
 
  • Нравится
Реакции: IioS, Vertigo и n01n02h
Security Through Obscurity? 50
Выделение_002.png

Гуглим любое слово и находим страницу на где есть вот такой алфавит
Выделение_004.png
Пишем простой скрипт на python
#!/usr/bin/python3

text = "Tązhii, Łį́į́ʼ, Dzeeh Mąʼii, Dibé yázhí, Wóláchííʼ, Tłʼízí Tin, Dibé Mósí, Łį́į́ʼ, Dzeeh, Dibé, Tązhii, Dzeeh, Gah, Neeshchʼííʼ, Dzeeh, Béésh dootłʼizh"

di = {}

di['A'] = "Wóláchííʼ"
di['B'] = "Shash"
di['C'] = "Mósí"
di['D'] = "Bįįh"
di['E'] = "Dzeeh"
di['F'] = "Mąʼii"
di['G'] = "Tłʼízí"
di['H'] = "Łį́į́ʼ"
di['I'] = "Tin"
di['J'] = "Téliichoʼí"
di['K'] = "Tłʼízí-yázhí"
di['L'] = "Dibé-yázhí"
di['M'] = "Naʼastsʼǫǫsí"
di['N'] = "Neeshchʼííʼ"
di['O'] = "Néʼéshjaaʼ"
di['P'] = "Bisóodi"
di['Q'] = "kʼaaʼ yeiłtįįh"
di['R'] = "Gah"
di['S'] = "Dibé"
di['T'] = "Tązhii"
di['U'] = "Nóódaʼí"
di['V'] = "Akʼehdidlíní"
di['W'] = "Dlǫ́ʼii"
di['X'] = "Ałnáʼázdzoh"
di['Y'] = "Tsáʼásziʼ"
di['Z'] = "Béésh dootłʼizh"

di['1'] = "tʼááłáʼí"
di['2'] = "naaki"
di['3'] = "tááʼ"
di['4'] = "dį́į́ʼ"
di['5'] = "ashdlaʼ"
di['6'] = "hastą́ą́"
di['7'] = "tsostsʼid"
di['8'] = "tseebíí"
di['9'] = "náhástʼéí"
di['0'] = "ádin"
di['0'] = "názbąs"

# print(di)

text = text.replace(" yázhí","-yázhí")

for c,a in di.items():
text = text.replace(a,c)

text = text.replace(" ",'')

print(text)
и получаем в итоге T,H,EF,L,A,GI,SC,H,E,S,T,E,R,N,E,Z
Флаг CHESTERNEZ
 

Вложения

  • 1524474040650.png
    1524474040650.png
    23,3 КБ · Просмотры: 571
Security Through Obscurity? 50
Посмотреть вложение 17846
Гуглим любое слово и находим страницу на где есть вот такой алфавит
Посмотреть вложение 17847
Пишем простой скрипт на python
#!/usr/bin/python3

text = "Tązhii, Łį́į́ʼ, Dzeeh Mąʼii, Dibé yázhí, Wóláchííʼ, Tłʼízí Tin, Dibé Mósí, Łį́į́ʼ, Dzeeh, Dibé, Tązhii, Dzeeh, Gah, Neeshchʼííʼ, Dzeeh, Béésh dootłʼizh"

di = {}

di['A'] = "Wóláchííʼ"
di['B'] = "Shash"
di['C'] = "Mósí"
di['D'] = "Bįįh"
di['E'] = "Dzeeh"
di['F'] = "Mąʼii"
di['G'] = "Tłʼízí"
di['H'] = "Łį́į́ʼ"
di['I'] = "Tin"
di['J'] = "Téliichoʼí"
di['K'] = "Tłʼízí-yázhí"
di['L'] = "Dibé-yázhí"
di['M'] = "Naʼastsʼǫǫsí"
di['N'] = "Neeshchʼííʼ"
di['O'] = "Néʼéshjaaʼ"
di['P'] = "Bisóodi"
di['Q'] = "kʼaaʼ yeiłtįįh"
di['R'] = "Gah"
di['S'] = "Dibé"
di['T'] = "Tązhii"
di['U'] = "Nóódaʼí"
di['V'] = "Akʼehdidlíní"
di['W'] = "Dlǫ́ʼii"
di['X'] = "Ałnáʼázdzoh"
di['Y'] = "Tsáʼásziʼ"
di['Z'] = "Béésh dootłʼizh"

di['1'] = "tʼááłáʼí"
di['2'] = "naaki"
di['3'] = "tááʼ"
di['4'] = "dį́į́ʼ"
di['5'] = "ashdlaʼ"
di['6'] = "hastą́ą́"
di['7'] = "tsostsʼid"
di['8'] = "tseebíí"
di['9'] = "náhástʼéí"
di['0'] = "ádin"
di['0'] = "názbąs"

# print(di)

text = text.replace(" yázhí","-yázhí")

for c,a in di.items():
text = text.replace(a,c)

text = text.replace(" ",'')

print(text)
и получаем в итоге T,H,EF,L,A,GI,SC,H,E,S,T,E,R,N,E,Z
Флаг CHESTERNEZ
ниче се))) я бы поленился бы скрипт писать))
 
Credit Card Leak
Нам дают текстовый файл с "валидными" кредитными картами и одной невалидной, которую нужно найти. Валидность карты проверяется по алгоритму Luhn, реализация которого есть на питоне:
Python:
# сначала устанавливаем либо, естественно, pip3 install luhn
from luhn import verify
for line in open("cc_leak.txt.eecc6f896436"):
     code = line.replace("\n","")
     if verify(code):
             print("[-] "+code)
     else:
             print("[+] "+code)
             break
1524503415702.png


Bad Melody
Импортируем midi-файл в audacity или любой другой редактор звука, поддерживающий midi-файлы. Флаг "нарисован"
1524503508434.png
 
Последнее редактирование:
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab