Portál AbcLinuxu, 25. dubna 2024 03:00


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
21.10.2019 17:03 ja
Rozbalit Rozbalit vše Re: The Catch CTF 2019
Odpovědět | Sbalit | Link | Blokovat | Admin
Vďaka za zápis. Pri "Ice-cream selling machine" som balast považoval za dáta, VOIP za balast a nevedel som, že Wireshark dokáže prehrať VOIP. A na mojom low-end notebooku som aircrack-ng vypol po hodine, keď som videl heslo z "Payment Terminal", tak som veľmi neveril, že heslo k tomuto bude v slovníku. :-(
21.10.2019 23:17 V.
Rozbalit Rozbalit vše Re: The Catch CTF 2019
Odpovědět | Sbalit | Link | Blokovat | Admin
Ahaaa tak mne napadlo, že proto vidim přístupy z "Amazon Data Services" na vpsku ;-)
22.10.2019 03:57 Mrkva | skóre: 22 | blog: urandom
Rozbalit Rozbalit vše Re: The Catch CTF 2019
Odpovědět | Sbalit | Link | Blokovat | Admin
Jeste sem dohodim posledni dve ulohy:
Colonel Roche
roche.py:
#!/usr/bin/python
import sys
data = sys.argv[1]
key = sys.argv[2]

buckets = []

keyLen = len(key)

seq = [ None ] * keyLen
read = 0
chidx = 0
totalLen = 0
for chpos in range(0, 26):
    found = True
    while found:
        found = True
        ch = chr(ord('a')+chpos)
        if ch not in key:
            found = False
            break
        idx=key.index(ch)
        k=list(key)
        k[idx]='#'
        key="".join(k)
        seq[idx] = chidx+1
        chidx +=1
        totalLen += chidx
print("totalLen: "+str(totalLen))
print("dataLen: "+str(len(data)))
if totalLen < len(data):
    repeats = len(data) / totalLen
    seqLen = len(seq)
    for j in range(0, int(repeats)-1):
        for i in range(0, seqLen):
            seq.append(seq[i])

bucket = 0
bucket_pos = 0
for c in data:
    if bucket >= len(buckets):
        buckets.append([ c ])
    else:
        buckets[bucket].append(c)

    bucket_pos += 1
    if bucket_pos >= seq[bucket]:
        bucket += 1
        bucket_pos = 0

    if bucket >= len(seq):
        bucket = 0
        bucket_pos = 0

i = 0

c=1
for j in range(0, 100):
    found = False
    for i in range(0, len(seq)):
        if j < len(buckets[i]):
            if c % 2 == 0:
                endch=" "
            else:
                endch=""
            print(buckets[i][j], end=endch)
            c+=1
        else:
            continue
print()
A wrapper roche.sh:
#!/bin/bash
data=`cat colonel_roche.encrypted`
keys=("monday" "monday" "monday" "monday" "monday" "monday" "monday" "monday")
offset=0
chunkSize=0
dataSize=`echo -n "$data"|wc -c`
keyIdx=0

while [ $offset -lt $dataSize ]; do
	key=${keys[$keyIdx]}
	chunkSize=0
	for i in $(seq 1 $(echo -n $key|wc -c)); do
		let chunkSize=$chunkSize+$i
	done
	#echo "chunkSize: $chunkSize"

	workChunk=$(echo "$data"|tail -c +$(expr $offset + 1)|head -c $chunkSize)
	echo "workChunk: $workChunk"
	echo "key: $key"
	if [ -z "$key" ]; then
		break
	fi
	ANS="$ANS $(./roche.py $workChunk $key|grep -v Len)"

	echo
	let offset=$offset+$chunkSize
	let keyIdx=$keyIdx+1
done
echo $ANS|xxd -r -ps

Posledni (nevybavuju si jmeno)
#!/usr/bin/python
import matplotlib.image as img
import numpy as np
import scipy.misc
from PIL import Image

mimg = Image.open("m.png")
cimg = Image.open("c.png")

m = np.array(mimg)
c = np.array(cimg)
mcsq = c * c  * m

scipy.misc.imsave("mcsq.png", mcsq)

Tady byla trochu zrada, kdyz clovek pouzil matplotlib.image.imread, tak to normalizovalo data v obrazku na 0...1 (misto 0..255), takze to pak nevychazelo).
Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
Jendа avatar 22.10.2019 12:14 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: The Catch CTF 2019
For the record, mohl bys sem nahrát ty obrázky/zadání toho posledního?
22.10.2019 12:43 Mrkva | skóre: 22 | blog: urandom
Rozbalit Rozbalit vše Re: The Catch CTF 2019
Přílohy:
Mohl.
Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
radicz avatar 22.10.2019 09:26 radicz
Rozbalit Rozbalit vše Re: The Catch CTF 2019
Odpovědět | Sbalit | Link | Blokovat | Admin
Na cracknuti hesla jsem pouzil tuto sluzbu https://hashc.co.uk/ - kde na me zhruba po pulhodince uz cekala passphrase.

Take jsem se zasekl na uloze Colonel Roche, kde jsem se snazil data ze souboru ruzne XORovat s klicem [monday ... sunday] bohuzel bez uspechu - akorat jsem objevil funkci cycle z pythoniho itertools.
radicz avatar 22.10.2019 09:52 radicz
Rozbalit Rozbalit vše Re: The Catch CTF 2019
jeste pridam ze sem se snazil nalezt nejakou sifru, ktera ma puvod na univerzite, ktera se nachazi na Avenue du Colonel Roche, France.
22.10.2019 10:32 Ladislav Hagara | skóre: 102 | blog: Ride the Raven
Rozbalit Rozbalit vše Re: The Catch CTF 2019
Odpovědět | Sbalit | Link | Blokovat | Admin
Pro řešení rovnice jsem po její úpravě použil qalc z Qalculate!. Nejnovější verze umí i syntax "where".
22.10.2019 12:43 Mrkva | skóre: 22 | blog: urandom
Rozbalit Rozbalit vše Re: The Catch CTF 2019
Hmm, ja sedem nahrazoval pismenka za cisla a prevedl neznamou na X, a az pak mi to qalc prechroupal...
Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
22.10.2019 11:40 NN
Rozbalit Rozbalit vše Re: The Catch CTF 2019
Odpovědět | Sbalit | Link | Blokovat | Admin
Vykaslal jsem se na to, kdyz jsem ani na 15 ty pokus nedokazal spravne zapsat flag z dronu na mape..
Limoto avatar 22.10.2019 12:46 Limoto | skóre: 32 | blog: Limotův blog
Rozbalit Rozbalit vše Re: The Catch CTF 2019
Já jsem na tom byl obdobně s tou nahrávkou...
22.10.2019 17:15 ledvinap
Rozbalit Rozbalit vše Re: The Catch CTF 2019
To ja na tom byl podobne. Tak jsem to nahral nejake AI na prepis hlasu na text, jako slovnik pridal zulu slova a bylo to hned ...
19.10.2023 09:18 OKBet
Rozbalit Rozbalit vše Re: The Catch CTF 2019
Odpovědět | Sbalit | Link | Blokovat | Admin
It's nice to see your writing, which is exactly what I need, it's very detailed OKBet online casino

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.