반응형

ASCII 6

[CTFlearn] HailCaesar! - 포렌식 / ASCII Cipher

CTFlearn 의 여든 네번째 문제 Medium 난이도의 포렌식 문제인데 이전에 비슷한 유형의 문제보다 살짝 어렵다. 문제설명을 읽어보면, Python 을 사용하면 편하다는데 안써도 충분히 풀 수 있다. 문제에서 제공하는 HailCaesar.jpg 파일은 이렇게 생겼다. HxD 를 이용해 해당 파일을 열어보면 시작부터 뭔가 눈에띄는 데이터들이 보인다. 좀더 깔끔하게 보기 위해 Sublime에 붙혀넣어서 확인해봤다. CTFlearn 으로 시작하는 플래그 같이 생긴애들이 보이고 밑에는 Base64로 인코딩 된듯한 데이터가 보인다. 당연하게도 이 세 가지는 진짜 플래그가 아니다. 힌트일거라고 생각해서 고민해보니 두번째 줄은 맨 앞글자만 모아서 보면 ASCII, 세번째 줄은 32 ~ 126 이라는 숫자에 주목..

워게임/CTFlearn 2023.04.02

[JISCTF] Upside Down!! - 암호학 / Python

암호학 카테고리의 간단한 문제 간단한 코딩으로 풀 수 있는 문제이다. 별다른 설명 없이 암호화된 플래그가 주어진다. fkhrwv_wldm_vmtorhs_xszizxgvih_xibkgltizksb 위 내용을 Decrypt 하는것이 문제의 목표인데 문제 제목에서 힌트를 얻었다. Upside Down 이니 뭔가 알파벳으로 장난을 쳤을거라고 생각했다. 맨 앞에 있는 f 를 예로 들어보면 f는 알파벳 순서로 봤을때 6번째에 있으니 (a b c d e f) 알파벳을 z부터 a까지 거꾸로 나열했을 때 6번째에 있는 u 로 (z y x w v u) 바꾸면 되지 않을까 하는 생각이 들었다. 생각한 내용을 코드로 옮길때는 ASCII 코드표를 참고했다. 위의 표를 보면 소문자 a는 10진수로 97, 소문자 z는 10진수로 ..

CTF/암호학 2023.01.15

[2020CCE] Simple Botnet - 리버싱 / IDA

2020년에 진행된 국정원 주최 사이버공격방어대회 오랫동안 컴퓨터에 당시 문제들을 묵혀놨다가 이제야 풀이 포스팅을 해본다. 당시는 거의 이런 대회에 나가본게 처음이라, 시간에 쫒겨서 캡쳐를 제대로 못한 부분이 많다. Simple botnet 이라는 첫번째 리버싱 문제이다. simple_botnet 이라는 이름의 바이너리 파일이 하나 주어진다. file 명령어로 확인해보면 ELF 파일은 것을 알 수 있다. ELF 는 리눅스 환경에서 실행가능한 파일이다. 한번 실행시켜 봤는데 아무런 동작도 없이 바로 프로그램이 종료된다. 자세히 보기위해 IDA 라는 디스어셈블러를 이용해 주어진 바이너리를 열어보았다. main 함수의 수도코드를 한번 천천히 살펴보았다. int __cdecl main(int argc, cons..

CTF/리버싱 2022.10.11

[SharkyCTF] Z3ROBOTWAVES - 리버싱 / IDA

리버싱 문제 그렇게 어렵진 않았는데 매우 귀찮은 문제였다. 문제 설명을 읽어보면 개발자가 어떤 로봇을 만들었는데 그 로봇이 잠겨서(Locked) 비밀번호를 요구한다고 한다. 문제에서 주어지는 파일은 z3_robot 파일이다. 리눅스 환경에서 file 명령어를 통해 어떤 파일인지 살펴보면 ELF 파일이라고 한다. ELF는 리눅스에서 실행가능한 실행파일이다. 터미널에서 ./z3_robot 이라고 입력하면 실행이 가능하다. 실행시켜봤더니 아까 들었던것 처럼 비밀번호를 요구하고 있다. 시험삼아 hello 라고 입력해봤는데 그랬더니 로봇이 기분나쁘게 웃으면서 프로그램이 종료되었다. IDA 라는 디스어셈블러를 이용해 문제파일을 살펴보았다. main 함수의 수도코드를 보면, fgets 함수를 이용해 s 라는변수에 사..

CTF/리버싱 2022.08.16

[CTFlearn] Character Encoding - 암호학 / ASCII

CTFlearn의 세번째 문제 문제 풀이한 수가 앞의 문제보다 낮은건 너무 쉬워서 안풀고 그냥 넘어간 사람들이 많기때문이지 않을까.. 라는 생각이든다. 그정도로 쉬운 문제이다. 사실 풀이까지도 필요없을거 같지만.. 그래도 일단 적어본다. 문제 설명을 읽어보면 컴퓨터 산업이 발달하면서 미국의 coder 들이 정보 교환을 위해 표준을 만들었다고 한다. 그러면서 어떤 문자열이 주어지고, 무엇인지 알아낼 수 있겠냐고 물어본다. 41 42 43 54 46 7B 34 35 43 31 31 5F 31 35 5F 55 35 33 46 55 4C 7D 주어지는 문자열은 2자리로 된 16진수 숫자들이다. 분류를 암호학으로 하긴 했지만 사실 이건 암호라기보단 인코딩이다. 암호는 key를 사용해서 다른사람들이 알아볼 수 없는..

워게임/CTFlearn 2022.07.08

[Space Heroes CTF] Buzz's Secret Watch (Part 1) - 포렌식 / Binary

이번 대회에서 중급 난이도로 분류되었던 포렌식 문제이다. 사실 풀이를 보면 포렌식인가? 싶다. 간단한 아이디어만 있다면 누구나 쉽게 풀 수 있는 문제였다. 문제의 설명을 보면 Buzz의 시계에 비밀 메세지가 있다고 한다. 참고로 Buzz는 토이 스토리에 나오는 그 버즈가 맞다. buzzsaw.avi 파일이 주어지게 되는데 해당 파일을 실행시켜 보면 이렇게 나온다. 위 사진은 문제파일을 gif 파일로 다시 만든것이다. 시계의 중앙 부분에 빨간색, 초록색 불빛이 깜빡깜빡 거리는 것을 볼 수 있다. 직관적으로 이 부분이 비밀 메세지라는 것을 알 수 있을 것이다. 불빛의 개수를 세어보면 8개이다. 빨간부분은 그냥 아무 의미없는 부분이거나 이전 값을 초기화하는 것이라고 생각했다. 초록색 불이 들어온 부분을 1, ..

CTF/포렌식 2022.04.08
반응형