반응형

암호학 79

[Cyber Security Rumble] Hashfun - 암호학 / XOR / Python

Hash 인듯 Hash 아닌 문제 조금 헷갈렸는데 어렵지 않게 풀 수 있었다. 문제를 보면 FLAG 를 되돌릴 수 있는 방법은 없을거 같다면서 파일을 하나 제공한다. from secret import FLAG def hashfun(msg): digest = [] for i in range(len(msg) - 4): digest.append(ord(msg[i]) ^ ord(msg[i + 4])) return digest print(hashfun(FLAG)) # [10, 30, 31, 62, 27, 9, 4, 0, 1, 1, 4, 4, 7, 13, 8, 12, 21, 28, 12, 6, 60] 주어진 파일의 내용은 파이썬 코드이다. secret 에서 FLAG 라는 값을 가져와서 hashfun(FLAG) 의 ..

CTF/암호학 2022.12.21

[TeamH4C CTF] The Easiest problem of the universe - 암호학 / Base64 / Binary

'우주에서 가장 쉬운 문제' 문제가 쉽긴 하다만.. 우주에서 가장 쉬운지는 생각해볼 필요가 있다. h4c(V0hreFpreFdPSFJZTVRobldIa3dkRmd4T0hSWWVUQm5XSGt3ZEZneE9XWlllVEJuV0hrd2RGaDVNSFJZZVRCbldIa3habGg1TVdaWU1UaG5XREU0ZEV4V09IUllNVGhuV0hreFpsZ3hPV1pNVXpBOQ==) 이게 문제에서 주어진 문자열인데 데이터의 맨 끝을 보면 == 로 끝나는 것을 볼 수 있다. = 은 Base64에서 사용하는 패딩으로 저렇게 알수없는 알파벳+숫자들이 있는 데이터의 맨 끝이 = 또는 == 이라면 Base64 로 인코딩 되었다고 생각하면 거의 맞다. CyberChef(https://gchq.github.io/Cyber..

CTF/암호학 2022.12.17

[HackTheBox] The secret of a Queen - 암호학 / Mary Queen of Scots Cipher

쉬운 난이도의 암호학 문제 아마 HackTheBox에서 제공하는 문제 중 장르를 불문하고 가장 쉬운 문제가 아닐까 싶다. 문제에서 제공되는것은 이렇게 생긱 그림파일이다. 뭔가 고대문자 같은게 써있는데 무슨 의미인지 하나도 못알아보겠다. 문제 제목이 Secret of a Queen 이고, 문제에서 주어진게 암호문이니 구글에 Queen cipher 라고 검색해봤다. 이미지 검색결과에 보니 바로 위쪽에 Mary Queen of Scots 라는 사진이 보였다. 사진을 보니 문제에서 주어진 기호와 똑같은 기호들이 그려져 있었다. 각 기호들과 주요 단어, 조사들을 저렇게 특정한 기호로 1:1 치환해서 만든 암호인가 보다. 온라인으로 해독할 수 있는 사이트도 찾을 수 있었다. (https://www.dcode.fr/..

[CTFlearn] Suspecious message - 암호학 / Playfair Cipher

CTFlearn의 마흔 다섯번째 문제 이번엔 암호학 문제이다. 문제에서 주어지는것은 암호문과 photo.png 라는 사진 파일이다. MQDzqdor{Ix4Oa41W_1F_B00h_m1YlqPpPP} 위와 같은 암호문이 주어지는데 처음에 Base 종류의 인코딩이나 rot 를 이용해 풀어보려 했는데 풀리지 않았다. 함께 주어지는 사진은 위와 같다. 키보드 배열에 있는 영문자들이 왼쪽 상단부터 J를 제외하고 순서대로 적혀있다. 사진을 딱 보자마자 이전에 풀었던 5x5 crypto 가 생각났지만 (https://hackingstudypad.tistory.com/326) 이번 문제는 좌표같은게 주어지지 않아서 아니라고 판단했다. 이럴때 사용할 수 있는 도구로 Boxentriq(https://www.boxentri..

워게임/CTFlearn 2022.12.14

[CTFlearn] So many 64s - 암호학 / Base64

CTFlearn 의 마흔두번째 문제 이번 문제는 암호학 카테고리의 문제인데 난이도가 Hard 로 분류되어 있고, 점수도 80점이나 된다. 근데 사실 나는 이 문제의 분류와 배점이 아주 잘못되었다고 생각한다. 막상 풀어보면 별다른 기술이 필요없기 때문이다. 문제 설명을 읽어보면 친구가 플래시드라이브를 훔쳐갔다가 돌려줬는데 그 안에 있던 데이터가 변경되었다고 도와(decrypt)달라고 한다. 일단 문제 제목에서부터 어떻게 풀어야 할지 감이 온다. So many 64s 라는 문장을 통해 어떤 문자열을 Base64 를 이용해 아주 많이 인코딩 해 놨을것이라고 추측이 가능하다. Vm0wd2QyUXlVWGxWV0d4V1YwZDRWMVl3WkRSV01WbDNXa1JTVjAxV2JETlhhMUpUVmpBeFYySkVU..

워게임/CTFlearn 2022.12.06

[b01lers CTF] Dream Stealing - 암호학 / RSA / Python

계속해서 이어지는 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/암호학 2022.11.28

[b01lers CTF] Clear the Mind - 암호학 / RSA / Python

쉬운 RSA 문제 2020CCE 대회가 끝나고 이 문제를 풀었는데 CCE 에서 나왔던 문제 유형과 아주 비슷한 문제여서 금방 풀었다. (https://hackingstudypad.tistory.com/315) 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는 개인키로 공개하지..

CTF/암호학 2022.11.26

[CTFlearn] Modern Gaius Julius Caesar - 암호학 / 카이사르암호

CTFlearn의 서른 여덟번째 문제 계속해서 이어지는 암호학 문제이다. 이번 문제는 제목에 있는것 처럼 Caesar 암호와 관련된 문제이다. Caesar는 '카이사르' 라고도 읽힌다. 들어본 사람도 있겠지만, 카이사르는 로마의 황제 이름이다. 카이사르는 동맹군들과 소통해기 위해서 위 그림처럼 알파벳을 몇칸 씩 뒤로 옮겨 새로운 글자로 암호문을 만들었는데 이게 바로 카이사르 암호이다. 예를들어 Apple 라는 단어가 있다면, 이것을 한칸씩 알파벳을 뒤로 옮겨서 Bqqmf 라는 암호를 만드는 것이다. 하지만 문제 설명을 읽어보면 21세기에 누가 알파벳만 가지고 암호문을 만드냐며 keyboard 를 잘 이용해 보라고 한다. BUH'tdy,|Bim5y~Bdt76yQ 주어지는 암호문은 이것이다. 처음엔 알파벳만..

워게임/CTFlearn 2022.11.23

[Root Me] Crypt-art - 암호학 / Piet / Vigenere Cipher

Root Me 에서 제공하는 암호학 문제 분류는 스테가노그래피로 되어있는데 암호학적인 요소가 있어서 그렇게 다시 분류했다. 문제 설명을 읽어보면 경찰이 테러리스트 그룹의 메세지를 가로챘는데, 메세지에는 다른 통신을 암호화하기 위한 비밀 키가 숨겨져 있다고 한다. 그걸 찾아서 decrypt 하는것이 문제의 목표이다. 문제에서 주어지는건 ch8.ppm 파일이다. ppm 이라는 확장자를 난생 처음봤는데 칼리 리눅스로 파일을 옮겨보니 뭔가 그림이 보였다. 찾아보니 Portable PixMap 의 약자로 이미지 파일의 한 종류라고 한다. 일반적인 이미지 뷰어로는 볼 수가 없어서 어떻게 해야하나 고민하다가 cat 명령어로 파일 내용을 한번 봤더니 수상한 문자열들이 보였다. Hi! Welcome to esoteric..

워게임/Root Me 2022.11.19

[CTFlearn] 5x5 Crypto - 암호학 / Python

CTFlearn의 서른일곱번째 문제 이번에는 암호학 문제이다. 항상 암호학 문제가 나오면 두려운데 이번 문제는 그래도 쉬운편이라 다행이다. 문제 설명을 읽어보면 뭐 거의 풀이법을 다 알려주는거나 마찬가지다. 5x5 행렬을 하나 만들어서 순서대로 알파벳을 채워넣는데, k 는 c와 발음이 같기 때문에 제외하고 25글자를 순서대로 배치한다. 그리고 나서 원래 행렬 읽는것처럼 한글자씩 읽어서 데이터를 가져오는데 이것을 5x5 Crypto 라고 한다고 한다. 우선 k를 제외하고 5x5 형태로 알파벳을 배치하면 이런 형태가 될것이다. 1-3,4-4,2-1,{,4-4,2-3,4-5,3-2,1-2,4-3,_,4-5,3-5,} 문제에서 주어지는 암호문은 이건데, 첫번째 거를 한번 풀어보면, 1-3 이니까 이렇게 찾아가서..

워게임/CTFlearn 2022.11.17
반응형