반응형

crypto 75

[angstromCTF] impossible - 암호학 / Python

암호학 두번째 문제 문제를 어이없게 풀어버려서 제대로된 풀이가 아니다. 서버에 원격접속할 수 있는 주소와 서버에서 돌아가고 있는 파이썬 코드가 주어진다. #!/usr/local/bin/python def fake_psi(a, b): return [i for i in a if i in b] def zero_encoding(x, n): ret = [] for i in range(n): if (x & 1) == 0: ret.append(x | 1) x >>= 1 return ret def one_encoding(x, n): ret = [] for i in range(n): if x & 1: ret.append(x) x >>= 1 return ret print("Supply positive x and y suc..

CTF/암호학 2023.05.24

[Space Heroes CTF] Rick Sanchez Algorithm - 암호학 / RsaCtfTool

제목부터 RSA 로 삼행시를 해놓은 RSA 관련 암호학 문제이다. RSA는 지금까지도 아주 많이 사용하는 공개키 알고리즘의 이름이다. 개발자인 Rivest, Shamir, Adleman 세명의 이름 앞글자를 따서 RSA 라고 이름을 붙혔다. 엄청나게 큰 숫자일수록 소인수분해가 어렵다는것에 착안해서 설계되었다. RSA의 원리는 아래와 같다. 1. 두 소수 p, q를 준비한다. 2. p-1, q-1과 각각 서로소(1외에는 공약수가 없는 수)인 정수 e를 준비한다. 3. ed를 (p-1)(q-1)으로 나눈 나머지가 1의 되도록 하는 d를 구한다.(d는 개인키로 공개하지 않는다) 4. n=pq를 계산한 후 n과 e를 공개한다.(이 둘이 공개키) 이 알고리즘을 이용해서 공개키-개인키 쌍을 만들고 공개키로 암호화했..

CTF/암호학 2023.05.09

[Space Heroes CTF] Bynary Encoding - 암호학 / Binary / HxD

CTF 많이 풀어본 사람들은 낚였을만한 begineer-friendly 난이도의 암호학 문제였다. 제목의 bynary 가 힌트였다. 문제에서 주어지는 것은 transmission.txt 파일이다. 메모장으로 열어보면 이렇게 아무 내용도 들어있지 않다. 그런데 드래그를 해보면 뭔가 내용이 채워져 있다는 것을 알 수 있다. 여기까지 해보고 CTF 를 좀 해본 사람이라면 WhiteSpace 를 떠올릴 것이다. WhiteSpace 는 이름 그대로 공백을 이용해서 만든 프로그래밍 언어이다. 구글에 검색해보면 온라인 컴파일러를 쉽게 찾을 수 있는데 (https://ideone.com/f64CNl) 문제에서 제공된 코드를 넣고 돌려보면 에러가 난다. WhiteSpace 인척 하는 다른 것이라는 뜻이다. HxD 로 열..

CTF/웹해킹 2023.05.03

[CTFlearn] Skynet Is (Almost) Taking Over - 암호학 / RsaCtfTool

CTFlearn 의 여든여덟번째 문제 4연속 Hard 난이도의 문제가 나와서 살짝 쫄았는데 이번 문제는 아주 쉽게 풀 수 있었다. 문제 설명이 아주 장황하다. 양자 컴퓨팅 어쩌고 하면서 나오는데 사실 이 의도를 잘 모르겠다. RSA 에 관련한 문제인데 RSA는 지금까지도 아주 많이 사용하는 공개키 알고리즘의 이름이다. 개발자인 Rivest, Shamir, Adleman 세명의 이름 앞글자를 따서 RSA 라고 이름을 붙혔다. 엄청나게 큰 숫자일수록 소인수분해가 어렵다는것에 착안해서 설계되었다. RSA의 원리는 아래와 같다. 1. 두 소수 p, q를 준비한다. 2. p-1, q-1과 각각 서로소(1외에는 공약수가 없는 수)인 정수 e를 준비한다. 3. ed를 (p-1)(q-1)으로 나눈 나머지가 1의 되도록..

워게임/CTFlearn 2023.04.20

[HackTheBox] xorxorxor - 암호학

제목 그대로 정직한 XOR 과 관련된 암호학 문제이다. 문제에서 제공되는 파일은 output.txt 파일이다. 해당 파일을 열어보면 암호화된 플래그가 적혀있다. 당연하겠지만 XOR 을 이용해서 암호화 됐을것이다. 암호화하는 파이썬 코드도 함께 주어진다. 암호화하는 과정을 살펴보면 os.urandom(4) 로 4바이트짜리 임의의 키를 생성해서 그 키값과 플래그를 XOR 연산을 한다. 랜덤이라 경우의 수가 굉장히 많지만 HackTheBox 에서의 플래그는 HTB{ 로 시작한다는 사실일 알기때문에 아주 쉽게 풀 수 있다. CyberChef(https://gchq.github.io/CyberChef) 를 이용해서 HTB{ 를 16진수로 바꿔보면 48 54 42 7b 가 된다. 이 값을 암호화된 플래그 맨 앞자리..

[CTFlearn] CoppeRSA Lattice - 암호학 / RsaCtfTool

CTFlearn 의 여든한번째 문제 이번엔 Hard 난이도의 암호학 문제이다. 문제 제목에 나온것 처럼 RSA 암호 알고리즘과 관련되어있다. RSA는 지금까지도 아주 많이 사용하는 공개키 알고리즘의 이름이다. 개발자인 Rivest, Shamir, Adleman 세명의 이름 앞글자를 따서 RSA 라고 이름을 붙혔다. 엄청나게 큰 숫자일수록 소인수분해가 어렵다는것에 착안해서 설계되었다. RSA의 원리는 아래와 같다. 1. 두 소수 p, q를 준비한다. 2. p-1, q-1과 각각 서로소(1외에는 공약수가 없는 수)인 정수 e를 준비한다. 3. ed를 (p-1)(q-1)으로 나눈 나머지가 1의 되도록 하는 d를 구한다.(d는 개인키로 공개하지 않는다) 4. n=pq를 계산한 후 n과 e를 공개한다.(이 둘이 ..

워게임/CTFlearn 2023.03.28

[Tenable CTF] Quit messing with my flags - 암호학 / MD5

풀이수로 알 수 있는것처럼 아주아주 쉬운 문제이다. flag{161EBD7D45089B3446EE4E0D86DBCF92} 문제 설명을 보면 위처럼 플래그 처럼 보이는 것이 주어져 있다. 물론 이게 진짜 플래그는 아니다. {} 중괄호 사이에 있는 문자열들을 보면 총 32 글자인것을 알 수 있다. 이렇게 글자수가 32이고 0~9, A~F 까지의 문자열로 이루어져있다면 해시 알고리즘 중 하나인 MD5 를 의심해봐야한다. https://www.md5online.org/md5-decrypt.html MD5 Online | Free MD5 Decryption, MD5 Hash Decoder www.md5online.org 구글에 검색해보면 MD5를 Decrypt 할 수 있는 온라인 사이트가 아주 많이 나온다. 위 ..

CTF/암호학 2023.03.20

[Tenable CTF] Not JSON - 암호학 / Base64 / Python

어렵진 않지만 조금 고민했던 문제이다. 문제에서 주어지는 것은 Base64 로 인코딩된 듯한 긴 문자열이다. 일단 바로 CyberChef(https://gchq.github.io/CyberChef/) 에서 Base64 디코딩을 해보았다. 뭔가 디코딩이 되긴 되는거 같은데.. 깔끔하지 않은 느낌이었다. 좀더 자세히 보기 위해 To Hex 레시피를 추가해 16진수값으로 한번 살펴보았다. notepad++ 에 옮겨적고 천천히 분석해봤더니 패턴이 보였다. 빨간 화살표가 표시된 1....2..... 부분부터 16진수 값에 특정한 패턴이 보였다. 맨앞에 있는 30, 31, 32, 33 ... 이 숫자들은 ASCII 코드로 0,1,2,3... 을 의미하는데 이 숫자들은 플래그의 INDEX 값이다. 그리고 세번째 열(..

CTF/암호학 2023.03.16

[CTFlearn] XOR Is Friend Not Food - 암호학

CTFlearn의 일흔 아홉번째 문제 암호학 카테고리의 Hard 난이도 문제인데 풀어보니 Hard는 아닌것 같다. 문제의 목표는 주어진 암호문인 \t\x1b\x11\x00\x16\x0b\x1d\x19\x17\x0b\x05\x1d(\x05\x005\x1b\x1f\t,\r\x00\x18\x1c\x0e 를 해독하는 것이다. 문제 제목에서 XOR 을 언급했으니 당연히 XOR 을 사용해야 할 듯 하다. 플래그가 ctflearn{ 으로 시작한다는 아주 중요한 힌트도 주어진다. CyberChef(https://gchq.github.io/CyberChe) 에서 우선 주어진 암호문을 From Hex 로 바꿔보았다. Output 을 보면 뭔가 결과가 제대로 나오지 않는 느낌인데 이건 중간중간에 인코딩된 문자열이 포함되어있..

워게임/CTFlearn 2023.03.10

[CTFlearn] The Simpsons - 암호학 / HxD / Vigenere Cipher

CTFlearn의 일흔 세번째 문제 이번엔 Hard 난이도의 암호학 문제이다. Hard 치고는 그렇게 어렵지 않다. 이번 문제부터 풀이수가 1,000 밑으로 떨어지기 시작했다. 문제에서는 ItsKrumpingTime.jpg 파일이 주어진다. 해당 파일을 먼저 HxD 로 열어보았다. 맨앞이 FF D8 FF E0 로 시작하는걸 볼 수 있는데 FF D8 FF E0 로 시작하는것은 JPG 파일의 특징이다. 마찬가지로 JPG 파일은 FF D9 로 끝이 난다. 저 뒤에 더이상 데이터가 있으면 안되지만 뭔가 숫자로 된 데이터가 많이 들어있는것이 보인다. Ahh! Realistically the Simpsons would use octal instead of decimal! encoded = 152 162 152 14..

워게임/CTFlearn 2023.02.25
반응형