ZINO
HomeResearchBlogTagsPlaygroundStackPortfolio
⌘K

레드팀 · AI 자동화 · 시스템 엔지니어링

직접 만들고, 실험하고, 기록한다

개인정보처리방침·이용약관

© 2026 ZINO LAB

← 태그 목록

Tag Archive

#bruteforce

이 태그가 포함된 글을 최신순으로 모아봤어요.

6
posts
BLOG2026-07-20
[🥉 Bronze 1] 두 순열로 만든 clock 키스트림 되맞추기 — DreamHack Basic of crypto 풀이
blog

[🥉 Bronze 1] 두 순열로 만든 clock 키스트림 되맞추기 — DreamHack Basic of crypto 풀이

플래그 64바이트를 clock 제너레이터가 만든 키스트림과 XOR한 문제. 키스트림 값은 두 순열 H, M으로 keystream[i] = 8·H[i//8] + M[i%8] 처럼 결정되는데, 알려진 평문(DH{, }, 대문자와 밑줄만) 제약이 강해 순열을 전수조사하면 유일한 플래그가 복원된다. 실제로 40320가지 H 순열 중 39092번째에서 정답이 나오고, 걸린 시간은 0.14초뿐이다.
#dreamhack#ctf#crypto+4
 
BLOG2026-07-14
[🥉 Bronze 2] 거듭제곱 차이 한 줄로 평문을 되돌리다 — DreamHack ICM2022 풀이
blog

[🥉 Bronze 2] 거듭제곱 차이 한 줄로 평문을 되돌리다 — DreamHack ICM2022 풀이

평문을 두 키의 거듭제곱 차이에 곱해 암호문 하나로 내보내는 crypto 문제. 키가 두 개지만 하나는 공개되고 다른 하나는 좁은 범위라, 암호문이 정수로 떨어지는 키를 전수조사하면 평문 정수 p가 그대로 복원된다. 그 p 자체가 플래그이며, ord 값을 이어 붙인 형태라 사람이 읽을 수도 있다.
#dreamhack#ctf#crypto+3
 
BLOG2026-07-13
[🥉 Bronze 3] 원형 리스트 인코더를 블랙박스로 뒤집다 — DreamHack tiny-ouroboroi 풀이
blog

[🥉 Bronze 3] 원형 리스트 인코더를 블랙박스로 뒤집다 — DreamHack tiny-ouroboroi 풀이

입력 각 글자를 그 글자값 길이의 원형 연결리스트로 만들어 회전·토글한 뒤 비트를 모아 한 바이트씩 출력하는 인코더 문제. 출력의 각 바이트가 오직 그 자리 글자와 위치에만 의존하므로, 함수를 다 역산할 필요 없이 후보 글자를 통째로 넣어 위치별 매핑을 만들면 플래그가 복원된다.
#dreamhack#ctf#reversing+3
BLOG2026-07-20
[🥉 Bronze 3] 16비트 시드짜리 스트림 암호 전수조사 — DreamHack STREAMer-Prototype 풀이
blog

[🥉 Bronze 3] 16비트 시드짜리 스트림 암호 전수조사 — DreamHack STREAMer-Prototype 풀이

16비트 상태를 비트 회전시켜 키스트림을 만드는 스트림 암호로 플래그를 XOR한 문제. 시드가 getrandbits(16)이라 경우의 수가 65,536개뿐이고, 플래그가 DH로 시작한다는 조건으로 정답 시드를 가려낸다. 실제로 전수조사를 돌려보면 65536개 중 접두사 조건을 만족하는 시드는 정확히 하나뿐이라, 우연히 걸릴 위험 없이 확실하게 정답이 가려진다.
#dreamhack#ctf#crypto+3
BLOG2026-07-13
[🥉 Bronze 4] 키 공간이 62,500뿐인 아핀 암호 — DreamHack Affe!n 풀이
blog

[🥉 Bronze 4] 키 공간이 62,500뿐인 아핀 암호 — DreamHack Affe!n 풀이

비밀 문장을 GF(251) 위 아핀 암호로 가린 문제. 키가 두 바이트(각 1~250)뿐이라 가능한 키쌍이 62,500개에 불과하고, 평문에 "cryptography"가 들어 있다는 조건으로 유일 키를 특정할 수 있다. 전수조사로 키를 찾아 복호하면 문장 끝에 플래그가 나온다.
#dreamhack#ctf#crypto+3
 
BLOG2026-07-07
[🥈 Silver 4] 암호문 배열을 걷어내니 로직은 열 줄도 안 됐다 — DreamHack Secure Mail 풀이
blog

[🥈 Silver 4] 암호문 배열을 걷어내니 로직은 열 줄도 안 됐다 — DreamHack Secure Mail 풀이

1.1MB짜리 난독화된 JS라 겁먹었지만, 진짜 로직은 223KB짜리 암호문 배열을 걷어내면 열 줄이 안 됐다. 생년월일 후보의 MD5를 키/IV로 쓰는 AES-128-CBC로 첨부 메일을 복호화하는 구조라, 원본 코드를 그대로 브루트포스하면 한 번에 2.3초씩 걸려 하루가 넘게 걸린다. 알고리즘만 뽑아 Node 네이티브 AES로 다시 짜서 3만 5천 개 생년월일을 45초에 끝냈다.
#dreamhack#ctf#reversing+5