정보보안 16

[Hack.lu 2019] no_risc_no_future

no_risc_no_future #mips #pwn ※ 원본 Write Up : https://github.com/goseungduk/CTF_WriteUp/tree/master/Hack.lu_2019/pwn/no_risc_no_future제목 그대로 risc 형식의 mips 아키텍쳐로 된 바이너리에 대한 pwnable 문제이다. Ghidra로 열어본 바이너리는 이런 모습이다. 64바이트짜리 배열에 256바이트를 입력할 수 있게 해준다. 그리고 입력한 버퍼를 출력시켜준다. 그리고 Canary 외에는 별다른 보호기법도 걸려있지 않는 것으로 보아, buffer overflow 이후, 쉘코드를 이용하여 쉘을 얻어내면 될 것 같다. 대강 순서는 이러하다. 1. puts 함수를 이용해서 canary를 leak 2...

<보안 study>/CTFs 2019.12.21

[SECCON 2019] Follow me

follow_me #reversing ※ 원본 Write Up : https://github.com/goseungduk/CTF_WriteUp/tree/master/SECCON_2019/rev/follow_me 우리의 숙제는 계산기 프로그램에서 실행했던 기록 중에서도 branch 명령에 대한 기록을 보고, 어떤 공식을 프로그램에 전달했는지 찾는 것이다. 파일은 총 3개, 계산기 프로그램 바이너리와 branch명령에 대한 기록, 그리고 branch명령을 따라가는 추적프로그램에 대한 소스코드를 준다. 필자는 앞의 계산기 프로그램 바이너리와 branch 명령에 대한 기록만 보고 문제를 풀었다. main 함수이다. 바이너리의 사용법과 실제로 계산을 해주는 함수가 들어있다. calculate 함수의 switch문 ..

<보안 study>/CTFs 2019.12.21

[SECCON 2019] Coffee_break

COFFEE_BREAK #crypto #reversing※ 원본 Write Up : https://github.com/goseungduk/CTF_WriteUp/tree/master/SECCON_2019/crypto/coffee_break 간단히 풀 수 있었던 크립토(?) 라기엔 리버싱에 가까운 문제였다. The program "encrypt.py" gets one string argument and outputs ciphertext. Example: $ python encrypt.py "test_text" gYYpbhlXwuM59PtV1qctnQ== The following text is ciphertext with "encrypt.py". FyRyZNBO2MG6ncd3hEkC/yeYKUseI/CxYoZ..

<보안 study>/CTFs 2019.12.21

[TokyoWesterns 2019] EASY_CRACK_ME

EASY_CRACK_ME #z3 #reversing ※ 원본 Write Up : https://github.com/goseungduk/CTF_WriteUp/tree/master/TokyoWesterns_2019/reverse/easy_crack_me 단순한 Crack Me 유형의 문제입니다. 인자로 플래그를 받는데, 맞지않는 값을 넣으면 incorrect를 출력시켜줍니다. 바이너리를 뜯어보면 알겠지만 플래그 인증과정이 총 8개정도 있고, 모든 조건에 다 맞아야 정확한 플래그로 인지합니다. 첫 번째 조건 플래그길이는 총 39바이트여야하며, TWCTF{ 로 시작하여 } 로 끝나야합니다. 두 번째 조건 우선 0123456789abcdef 의 표본이 될 문자열이 주어집니다. 그리고 반복문으로 순회하면서 인자로 ..

<보안 study>/CTFs 2019.12.21

Ghidra-Server 기관에 직접 계정의뢰하기

GhidraServer Ghidra-Server 지난 게시글에서는 직접 내 컴퓨터에 Ghidra 서버 구성 하는 법을 작성해보았다. https://goseungduk.tistory.com/33 하지만, Ghidra-Server 기관에서는 현재 더 나은 Ghidra-Server를 위해 피드백도 받고 업데이트도 지속적으로 할 목적으로 자체 공식 서버를 파놓았다. 또한 서버 구축이 어렵거나 안정적인 서버를 원하는 단체에게는 이만한 안성맞춤이 없다. 아무래도 이번 게시글은 기술적인 글보다는 Ghidra-Server에 컨택할 수 있는 방법론에 대해 적으려고 한다. https://twitter.com/Ghidra_Server Ghidra-Server Twitter 우선 Ghidra-Server는 이메일 또는 트위터..

Ghidra-Server 환경 구성하기

GhidraServer Ghidra-Server 이번 포스팅은 팀원끼리 함께 리버싱을 할 수 있는 Ghidra-Server를 어떻게 세팅할 수 있는지 방법을 정리해보려 한다. Ghidra-Server가 제공하는 Shared Project는 리버스 엔지니어링을 하면서 처음 보는 개념이라 신기했다. 우리가 보통 여럿이서 대규모 프로젝트(악성코드 분석에서 라던지...)를 한다던지 CTF 문제를 함께 푼다던지.. 할 때 좋을 것 같다. 우선 이 글을 읽을 때 쯤이면 Ghidra는 설치 되어있을 것이라 생각하고 Ghidra 설치에 관한 내용은 생략하겠다. [server.conf] 우선 서버의 바이너리 및 프로젝트들을 담을 repository 경로를 정해주자. 필자는 Ghidra폴더 최상위에 repo라는 폴더를 만..

반응형