목록공부 (37)
OutDoorFrog의 리버싱 이야기
안녕하세요! 재활치료 중인 개구리입니다! 세미나 참가 이후... 정보보안 영재교육원에서 정보보안경진대회를 개최했었습니다. 저는 비록 교육원생은 아니지만 Demon팀원 한 분과 갓갓 한 분에게 바이너리 파일을 제공해달라고 요청했습니다! 그리고 간곡한 요청에 마음 넓은 두 분께서 파일을 제공해주셨습니다! 1. Asm picoCTF 때 많이 경험해본 문제 유형입니다.(어셈 코드만 주기) 파일 시그니처를 파악하기 위해 010 editor로 열어보았습니다. 파일 시그니처 대신 귀여운 gdb로 main 함수를 disass한 데이터를 제공했더군요. cmp 명령어 이후 jne 명령어를 사용해서 분기점을 만들어주는데.. cat flag라는 문자열을 입력했는데 Wrong... 이라는 문자열이 출력된 모습이 보이고.. %d..
재활치료 중인 개구리, OutDoorFrog입니다! 0. 인사말 윈도우 아키텍처를 어떻게 설명드릴까... 고민하던 중 어떤 분께서 리버싱케알 문제에 대해서 언급을 해주셨습니다. 요즈음 온라인 CTF랑 세미나에 참가하느라 정신이 없었는데 조언을 해주신 분께 감사의 말씀을 전해드리고 싶습니다. 재활 치료 중이니 난이도가 그나마 쉬운 문제부터 천천히 풀겠습니다! (까먹고 있었는데 정말 감사합니다.) 1. IDA를 이용한 풀이 이번 풀이는 아이다 디컴파일러를 이용해서 트레이싱 없이 진행할 예정입니다. (도구최고) main 함수를 찾아 디컴파일 해봅시다. 이미 풀었기 때문에 각 함수마다 역할에 알맞은 이름을 붙인 상태입니다. Input 함수 : scanf 함수를 호출하고, 문자열을 입력받습니다. judgement..
ANTI - Reversing Techniques Report (Zer0day) 0. 개요 18회 해킹캠프에 참가했을 때 CTF 문제는 어떻게 나올지 궁금했습니다.(그 때 CTF에 참여한 경험이 딱 한 번 밖에 없었거든요) 그래서 1시간 전에 구글링을 하면서 CTF 준비를 하고 있는 도중(혹시 모르잖아요.. 유사 유형 문제가 하나 정도 나와줄 수도 있을 수도??) ChickenMe 문제를 접했습니다. 호기심에 30분 동안 도전해봤지만 난이도가 너무 높더군요. "이런 리버싱 문제가 CTF에서 날뛰고 다닌단 말이야?"라고 경악을 하면서 그 때의 저로써는 패닉 상태에 빠졌는데 지금이라면 도전할 수 있을 것 같습니다! 하여튼 안티 리버싱에 관한 PDF를 보며 안티 리버싱에 대해 예방 접종을 합시다!(문제에 사용..
리버서가 바이너리를 복구하는 이야기입니다. 0. 문제 설명 파이썬 암호화 코드가 있는 "ENC.py" 파이썬 코드에 의해 암호화된 데이터를 지닌 "ENCRYPTED" 문제는 두 파일로 구성이 되어 있습니다. Python, 파일 입출력, 정렬 알고리즘에 지식이 있으면 풀 수 있습니다. 1. Python 코드를 봅시다. from struct import unpack,pack table = [48, 27, 50, 8, 47, 73, 12, 4, 66, 0, 14, 77, 56, 26, 63, 67, 17, 11, 68, 22, 72, 69, 60, 64, 74, 58, 54, 42, 65, 32, 33, 40, 39, 37, 51, 59, 24, 35, 38, 61, 21, 31, 57, 20, 76, 13,..
이 이야기는 어느 리버서의 고통받는 이야기입니다. Windows API 만져본지 8개월이 다 되가는데 분석 문제가 나왔습니다. 문제가 이렇게 나올 줄은 몰랐으며 리버싱하는데 꽤나 걸렸던 문제입니다. 한 글자 한 글자를 연산하는 문제!!! 같이 보시죠!! 1. DIE로 분석 Default로 설정이 되어 있군요.. 2. IDA로 분석해볼까? 붉은색을 Brush Paint로 칠했군요. Hand-Ray 프레임워크를 사용합시다. 핸드-레이 프레임워크는 c->asm, asm->c 가 가능한 프레임워크 입니다. 용량도 가벼워서 사람들이 정말 많이 사용하는데요. 그렇습니다. 우리의 뇌와 손이 있으면 됩니다. 말 그대로 인간 디컴파일러!! 3. 힌트 코인 IDA 덕분에 Winmain으로 Main 함수가 만들어져있는 것을..