15 KiB
Sztuczki do rozwiązywania zadań z szyfrowania w Crypto CTFs
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź SUBSCRIPTION PLANS!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj The PEASS Family, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.
Bazy danych online z haszami
- Wyszukaj w Google
- http://hashtoolkit.com/reverse-hash?hash=4d186321c1a7f0f354b297e8914ab240
- https://www.onlinehashcrack.com/
- https://crackstation.net/
- https://md5decrypt.net/
- https://www.onlinehashcrack.com
- https://gpuhash.me/
- https://hashes.org/search.php
- https://www.cmd5.org/
- https://hashkiller.co.uk/Cracker/MD5
- https://www.md5online.org/md5-decrypt.html
Magiczne narzędzia do automatycznego rozwiązywania
- https://github.com/Ciphey/Ciphey
- https://gchq.github.io/CyberChef/ (moduł Magic)
- https://github.com/dhondta/python-codext
- https://www.boxentriq.com/code-breaking
Kodery
Większość zakodowanych danych można odkodować za pomocą tych 2 zasobów:
Automatyczne rozwiązywanie podstawień
Szyfr Cezara - Automatyczne rozwiązywanie ROTx
Szyfr Atbash
Automatyczne rozwiązywanie kodowań bazowych
Sprawdź wszystkie te bazy za pomocą: https://github.com/dhondta/python-codext
- Ascii85
BQ%]q@psCd@rH0l
- Base26 [A-Z]
BQEKGAHRJKHQMVZGKUXNT
- Base32 [A-Z2-7=]
NBXWYYLDMFZGCY3PNRQQ====
- Zbase32 [ybndrfg8ejkmcpqxot1uwisza345h769]
pbzsaamdcf3gna5xptoo====
- Base32 Geohash [0-9b-hjkmnp-z]
e1rqssc3d5t62svgejhh====
- Base32 Crockford [0-9A-HJKMNP-TV-Z]
D1QPRRB3C5S62RVFDHGG====
- Base32 Extended Hexadecimal [0-9A-V]
D1NMOOB3C5P62ORFDHGG====
- Base45 [0-9A-Z $%*+-./:]
59DPVDGPCVKEUPCPVD
- Base58 (bitcoin) [1-9A-HJ-NP-Za-km-z]
2yJiRg5BF9gmsU6AC
- Base58 (flickr) [1-9a-km-zA-HJ-NP-Z]
2YiHqF5bf9FLSt6ac
- Base58 (ripple) [rpshnaf39wBUDNEGHJKLM4PQ-T7V-Z2b-eCg65jkm8oFqi1tuvAxyz]
pyJ5RgnBE9gm17awU
- Base62 [0-9A-Za-z]
g2AextRZpBKRBzQ9
- Base64 [A-Za-z0-9+/=]
aG9sYWNhcmFjb2xh
- Base67 [A-Za-z0-9-.!~_]
NI9JKX0cSUdqhr!p
- Base85 (Ascii85) [!"#$%&'()*+,-./0-9:;<=>?@A-Z[\]^_`a-u]
BQ%]q@psCd@rH0l
- Base85 (Adobe) [!"#$%&'()*+,-./0-9:;<=>?@A-Z[\]^_`a-u]
<~BQ%]q@psCd@rH0l~>
- Base85 (IPv6 or RFC1924) [0-9A-Za-z!#$%&()*+-;<=>?@^`{|}~_]
Xm4y
V_|Y(V{dF>`- Base85 (xbtoa) [!"#$%&'()*+,-./0-9:;<=>?@A-Z[\]^_`a-u]
xbtoa Begin\nBQ%]q@psCd@rH0l\nxbtoa End N 12 c E 1a S 4e6 R 6991d
- Base85 (XML) [0-9A-Za-y!#$()*+,-./:;=?@^`{|}~z_]
Xm4y|V{~Y+V}dF?
- Base91 [A-Za-z0-9!#$%&()*+,./:;<=>?@[]^_`{|}~"]
DmPsv8J7qrlKEoY7
- MEGAN35 [3G-Ub=c-pW-Z/12+406-9Vaq-zA-F5]
kLD8iwKsigSalLJ5
- ZONG22 [ZKj9n+yf0wDVX1s/5YbdxSo=ILaUpPBCHg8uvNO4klm6iJGhQ7eFrWczAMEq3RTt2]
ayRiIo1gpO+uUc7g
- ESAB46 []
3sHcL2NR8WrT7mhR
- MEGAN45 []
kLD8igSXm2KZlwrX
- TIGO3FX []
7AP9mIzdmltYmIP9mWXX
- TRIPO5 []
UE9vSbnBW6psVzxB
- FERON74 []
PbGkNudxCzaKBm0x
- GILA7 []
D+nkv8C1qIKMErY1
- Citrix CTX1 []
MNGIKCAHMOGLKPAKMMGJKNAINPHKLOBLNNHILCBHNOHLLPBK
http://k4.cba.pl/dw/crypo/tools/eng_atom128c.html - 404 Dead: https://web.archive.org/web/20190228181208/http://k4.cba.pl/dw/crypo/tools/eng_hackerize.html
HackerizeXS [╫Λ↻├☰┏]
╫☐↑Λ↻Λ┏Λ↻☐↑Λ
- http://k4.cba.pl/dw/crypo/tools/eng_hackerize.html - 404 Nie znaleziono: https://web.archive.org/web/20190228181208/http://k4.cba.pl/dw/crypo/tools/eng_hackerize.html
Morse
.... --- .-.. -.-. .- .-. .- -.-. --- .-.. .-
- http://k4.cba.pl/dw/crypo/tools/eng_morse-encode.html - 404 Nie znaleziono: https://gchq.github.io/CyberChef/
UUencoder
begin 644 webutils_pl
M2$],04A/3$%(3TQ!2$],04A/3$%(3TQ!2$],04A/3$%(3TQ!2$],04A/3$%(
M3TQ!2$],04A/3$%(3TQ!2$],04A/3$%(3TQ!2$],04A/3$%(3TQ!2$],04A/
F3$%(3TQ!2$],04A/3$%(3TQ!2$],04A/3$%(3TQ!2$],04A/3$$`
`
end
XXEncoder
XXEncoder jest narzędziem do kodowania i dekodowania danych w formacie XXEncoded. Jest to popularna metoda kodowania, która konwertuje dane binarne na tekst, aby można je było bezpiecznie przesyłać lub przechowywać. XXEncoder używa zestawu 64 znaków, które reprezentują różne wartości binarne.
Aby skorzystać z XXEncoder, wystarczy wprowadzić dane, które chcesz zakodować lub zdekodować, a następnie kliknąć przycisk "Encode" lub "Decode". Wynik zostanie wyświetlony w polu tekstowym.
XXEncoder jest przydatnym narzędziem podczas rozwiązywania zadań związanych z kodowaniem w CTF-ach (Capture The Flag). Może być również używany do analizy i manipulacji danych kodowanych w formacie XXEncoded.
begin 644 webutils_pl
hG2xAEIVDH236Hol-G2xAEIVDH236Hol-G2xAEIVDH236Hol-G2xAEIVDH236
5Hol-G2xAEE++
end
YEncoder
YEncoder to prosty algorytm kodowania, który jest często stosowany w CTF-ach (Capture The Flag) i innych zabezpieczeniowych konkursach. Algorytm ten jest podobny do Base64, ale ma kilka różnic.
Sposób działania
YEncoder koduje dane w postaci sekwencji znaków ASCII. Każdy znak jest reprezentowany przez 8 bitów. Algorytm działa w następujący sposób:
- Podziel dane na bloki po 3 bajty.
- Dla każdego bloku, podziel go na 4 grupy po 6 bitów.
- Przekonwertuj każdą grupę 6-bitową na wartość dziesiętną.
- Przekonwertuj wartość dziesiętną na odpowiadający jej znak ASCII.
- Połącz wszystkie znaki ASCII w jedną sekwencję.
Przykład
Załóżmy, że mamy dane wejściowe "Hello". Pierwszym krokiem jest przekształcenie tych danych na postać binarną:
H -> 01001000
e -> 01100101
l -> 01101100
l -> 01101100
o -> 01101111
Następnie, dane są podzielone na bloki po 3 bajty:
01001000 01100101 01101100
01101100 01101111
Każdy blok jest podzielony na grupy po 6 bitów:
010010 000110 010101 101100
011011 000110 111101
Każda grupa 6-bitowa jest przekonwertowana na wartość dziesiętną:
18 6 21 44
27 6 61
Wartości dziesiętne są przekonwertowane na odpowiadające im znaki ASCII:
R G V ,
W G 9
Ostatecznie, wszystkie znaki ASCII są połączone w jedną sekwencję:
RGV,WG9
Dekodowanie
Dekodowanie danych zakodowanych za pomocą YEncoder odbywa się w odwrotny sposób. Każdy znak ASCII jest przekonwertowany na odpowiadającą mu wartość dziesiętną, a następnie na grupę 6-bitową. Grupy 6-bitowe są łączone w bloki po 3 bajty, a ostatecznie otrzymuje się oryginalne dane.
Narzędzia online
Można znaleźć wiele narzędzi online do kodowania i dekodowania danych za pomocą YEncoder. Wystarczy wprowadzić dane wejściowe i narzędzie automatycznie przeprowadzi operację kodowania lub dekodowania.
=ybegin line=128 size=28 name=webutils_pl
ryvkryvkryvkryvkryvkryvkryvk
=yend size=28 crc32=35834c86
BinHex
(This file must be converted with BinHex 4.0)
:#hGPBR9dD@acAh"X!$mr2cmr2cmr!!!!!!!8!!!!!-ka5%p-38K26%&)6da"5%p
-38K26%'d9J!!:
ASCII85
ASCII85 to kodowanie znaków, które konwertuje dane binarne na tekst ASCII. Jest podobne do kodowania Base64, ale bardziej efektywne w zakresie przesyłania danych binarnych. W ASCII85 każde 4 bajty danych binarnych są zamieniane na 5 znaków ASCII.
Przykład:
Dane binarne: 01100001 01100010 01100011 01100100
ASCII85: 6&DL
ASCII85 jest często używane w zabezpieczeniach, kompresji danych i w niektórych formatach plików, takich jak PDF.
<~85DoF85DoF85DoF85DoF85DoF85DoF~>
Klawiatura Dvoraka
drnajapajrna
A1Z26
Litery na ich wartość numeryczną
8 15 12 1 3 1 18 1 3 15 12 1
Szyfr afiniczny - kodowanie
Litera na numer (ax+b)%26
(a i b to klucze, a x to litera) i wynik z powrotem na literę
krodfdudfrod
Kod SMS
Multitap zamienia literę na powtarzające się cyfry zdefiniowane przez odpowiadający kod klawisza na klawiaturze telefonu komórkowego (Ten tryb jest używany podczas pisania SMS-ów).
Na przykład: 2=A, 22=B, 222=C, 3=D...
Możesz zidentyfikować ten kod, ponieważ zobaczysz** wiele powtarzających się liczb**.
Możesz odkodować ten kod na stronie: https://www.dcode.fr/multitap-abc-cipher
Kod Bacona
Zamień każdą literę na 4 litery A lub B (lub 1 i 0)
00111 01101 01010 00000 00010 00000 10000 00000 00010 01101 01010 00000
AABBB ABBAB ABABA AAAAA AAABA AAAAA BAAAA AAAAA AAABA ABBAB ABABA AAAAA
Runy
Kompresja
Raw Deflate i Raw Inflate (można znaleźć oba w Cyberchef) mogą kompresować i dekompresować dane bez nagłówków.
Proste szyfrowanie
XOR - Automatyczne rozwiązanie
Bifid
Wymagane jest hasło
fgaargaamnlunesuneoa
Vigenere
Wymagane jest hasło kluczowe.
wodsyoidrods
- https://www.guballa.de/vigenere-solver
- https://www.dcode.fr/vigenere-cipher
- https://www.mygeocachingprofile.com/codebreaker.vigenerecipher.aspx
Silne szyfrowanie
Fernet
2 ciągi base64 (token i klucz)
Token:
gAAAAABWC9P7-9RsxTz_dwxh9-O2VUB7Ih8UCQL1_Zk4suxnkCvb26Ie4i8HSUJ4caHZuiNtjLl3qfmCv_fS3_VpjL7HxCz7_Q==
Key:
-s6eI5hyNh8liH7Gq0urPC-vzPgNnxauKvRO4g03oYI=
Podział tajemnicy Samira
Tajemnica jest dzielona na X części, a do jej odzyskania potrzebne jest Y części (Y <=X).
8019f8fa5879aa3e07858d08308dc1a8b45
80223035713295bddf0b0bd1b10a5340b89
803bc8cf294b3f83d88e86d9818792e80cd
http://christian.gen.co/secrets/
Brute-force OpenSSL
Narzędzia
- https://github.com/Ganapati/RsaCtfTool
- https://github.com/lockedbyte/cryptovenom
- https://github.com/nccgroup/featherduster
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź SUBSCRIPTION PLANS!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.