반응형

분류 전체보기 712

[justCTF] That's not crypto - 리버싱 / uncomplye6

어렵지 않은 리버싱 문제 crypto 문제가 아니라고 문제 제목에서부터 강력하게 어필하고 있다. 문제에서 주어지는 것은 checker.pyc 파일이다. .pyc 파일을 파이썬 코드로 복구하는데는 uncompyle6 라는 도구를 사용한다. pip install uncompyle6 라고 입력하면 다운로드 받을 수 있다. uncompyle6 이라고 입력하면 아래쪽에 디컴파일된 결과가 출력된다. from random import randint def make_correct_array(s): from itertools import accumulate s = map(ord, s) s = accumulate(s) return [x * 69684751861829721459380039 for x in s] def val..

CTF/리버싱 2023.02.15

[CTFlearn] Favorite Color - 포너블 / 버퍼오버플로우 / gdb

CTFlearn의 예순 여덟번째 문제 이번엔 Medium 난이도의 포너블 문제이다. ssh 로 원격 접속할 수 있는 주소가 하나 주어진다. 주어진 명령어를 그대로 입력하고 비밀번호인 guest 를 입력하면 문제 서버에 원격으로 접속할 수 있다. 문제 서버에는 color, color.c, flag.txt, Makefile 파일이 있다. 문제의 목표는 flag.txt 파일의 내용을 읽는 것이다. cat 명령어를 사용해서 읽어보려 했더니 권한이 없어서 읽을 수가 없었다. 이번엔 color 바이너리를 실행시켜 보았다. Enter your favorite color : 이라는 문구가 출력되면서 사용자의 입력을 받는다. red 라고 입력해봤더니 틀린 답이라는 문구가 나온다. #include #include #inc..

워게임/CTFlearn 2023.02.14

[justCTF] MyLittlePwny - 포너블 / Jail Escape

간단한 난이도의 Jail Escape 문제 대회에서는 보이는것 처럼 PWN, MISC 두 카테고리에 동시에 들어가 있는 문제였다. 별도로 파일은 제공되지 않고 nc 명령어를 이용해 원격에서 접속할 수 있도록 해놨다. 원격으로 접속하면 > 프롬포터가 나오면서 사용자의 입력을 받는다. 테스트용으로 hihi 라고 입력해 봤더니 My Little Pony 에 나오는 것 같은 캐릭터가 내가 입력한 말을 그대로 echo 해주었다. 단순히 입력한 말을 그대로 출력해주는데 어떻게 Escape 할 수 있을지 생각해봤다. 방법은 아주 간단했다. ` 기호를 입력하고 그 사이에 명령어를 넣으면 위처럼 명령어가 실행된 결과가 출력된다. 위 사진은 ls 명령어의 실행 결과이다. 중간에 flag 라는 이름의 파일이 보인다. 해당 ..

CTF/포너블 2023.02.13

[CTFlearn] RSA Twins! - 암호학 / RsaCtfTool

CTFlearn의 예순 일곱번째 문제 이번엔 암호학 카테고리의 RSA 문제이다. 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는 개인키..

워게임/CTFlearn 2023.02.12

[boot2root] Vulnerable Adventure 2 - MISC / Python

이전 문제(https://hackingstudypad.tistory.com/413) 와 연계되는 문제이다. 똑같이 전에 제공되었던 client.py 파일을 이용해서 풀 수 있다. import struct import socket import random s = socket.socket() port = 1013 s.connect(('35.238.225.156',port)) coins = 100 health = 100 mana = 100 posx = 0 posy = 0 goblin = 0 terminated = 0 dummyflag = 0 vuln = random.randint(1,500) while(1 == 1): print "Welcome to game" print "What would you like ..

CTF/MISC 2023.02.11

[AWS Cloud Practitioner] 시험정보 / 후기 / 공부방법

2022년 12월 취득한 AWS Cloud Practitioner 자격증 AWS 에서 주관하고 있는 AWS 클라우드 관련 자격증이다. AWS 에서 주관하는 자격증이 총 12개가 있는데 Cloud Practitioner 는 그중 가장 쉬운 난이도의 자격증이다. 자격증 시험은 총 90분간 치뤄지고 한번 응시하는데 100 달러가 든다. 총 65개 문항으로 구성되어 있으며, 모두 객관식 문제이고 기본적으로 4지선다인데 복수정답을 선택하는 문제가 일부 섞여있다. AWS 클라우드의 가치 설명 AWS 공동 책임 모델 이해 및 설명 보안 모범 사례 이해 AWS 클라우드 비용, 경제성 및 결제 관행 이해 컴퓨팅, 네트워크, 데이터베이스, 스토리지를 포함한 핵심 AWS 서비스 설명 포지셔닝 일반 사용 사례에 맞는 AWS ..

[CTFlearn] Reykjavik - 리버싱 / IDA

CTFlearn 의 예순 여섯번째 문제 이번엔 쉬운 난이도의 리버싱 문제이다. 문제 설명을 보면 gdb 를 이용해보라고 하는데 더 쉬운 IDA 를 이용해 풀것이다. 문제 제목인 Reykjavik 는 아이슬란드의 수도라고 한다. 문제 출제자가 아이슬란드 사람인가 보다. 문제에서 주어지는 것은 Reykjavik 바이너리 파일이다. 한번 실행시켜 봤는데 인자로 플래그를 입력받는듯 했다. 바로 IDA 라는 디스어셈블러를 이용해 바이너리를 열어보았다. main 함수의 수도 코드를 살펴보니 v3 변수에 사용자가 입력한 인수를 저장하고 아래쪽에 strcmp 함수로 v3 와 CTFlearn{Is_This_A_False_Flag?} 가 같은지 비교하고 있다. 같으면 아래쪽 printf 가 실행되는데 이건 가짜 플래그라고..

워게임/CTFlearn 2023.02.09

[boot2root] Vulnerable Adventure - MISC / Python

이번 문제는 뭐라 분류해야 할지 몰라서 MISC 로 넣었다. MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 문제 설명을 읽어보면 client 를 실행시켜 플래그를 얻으라고 한다. 문제에서 주어지는 파일은 client.py 파일이다. import struct import socket import random s = socket.socket() port = 1013 s.connect(('35.238.225.156',port)) coins = 100 health = 100 mana = 100 posx = 0 posy = 0 goblin = 0 terminated = 0 dummyflag = 0 vuln = random.randint(1,500) print(vuln) ..

CTF/MISC 2023.02.08

[부산 부산진구 냉수탕가든] 방문 후기

주말에 근처 가야 근처에 볼일이 있어 들렸다가 일행들과 방문하게 된 냉수탕 가든 부산에서는 엄청 유명한 오리고기집이라고 한다. 연말 연초 등 때는 모임 예약으로 자리가 없을 정도라고 했다. 나는 애매한 시간대에 방문 해서 그런지 가게에 그렇게 사람이 많지 않았다. 영업은 11시부터 시작한다. 오르막길을 쭉 올라오면 이렇게 냉수탕 가든 안내소가 있다. 주차장이 엄청 넓어서 주차하기 너무 편했다. 테이블이 많고 자리도 널직널직하다. 냉수탕 가든은 별관과 본관인지 따로 건물이 두개로 나뉘어져 있는데 나는 2층으로 올라가는 좀더 큰 건물쪽으로 갔다. 우리가 시킨 오리불고기 3인분 사실 양은 별로 많지 않다. 우리는 남성 3인 여성 2인으로 방문 하여 5인분을 시켰다. 남자들만 간다면 부족한 양인데 일행 중에 비..

일상 2023.02.07

[CTFlearn] ALEXCTF CR2: Many time secrets - 암호학 / XOR

CTFlearn 의 예순 다섯번째 문제 이번엔 Medium 난이도의 암호학 문제이다. 간만에 조금 생각해볼만한 문제가 나왔다. ALEXCTF 라는 대회에서 나왔던 기출문제를 그대로 가져왔나 보다. 문제 설명을 읽어보면 Fady 라는 사람이 one time pad 를 구현했는데 one time pad 에 대해서 정확하게 이해하지 못한 상태에서 만들었다고 한다. 플래그는 ALEXCTF{ 로 시작한다는 힌트도 같이 주어져 있다. 0529242a631234122d2b36697f13272c207f2021283a6b0c7908 2f28202a302029142c653f3c7f2a2636273e3f2d653e25217908 322921780c3a235b3c2c3f207f372e21733a3a2b37263b313012 ..

워게임/CTFlearn 2023.02.06
반응형