본문 바로가기

분류 전체보기

정보보호올림피아드2015 본선 Q2 리버싱 문제입니다. 문제 내용은 63빌딩을 오르면서 세 개의 키를 획득하면 올바른 최종 키가 나오게 됩니다. 실행시켜보면 ID를 입력받습니다. 제 ID는 Player14였습니다. 입력하고 들어가서 엔터를 누르면게임이 시작됩니다. Stage63까지 가면 키를 다 얻나 봅니다.UPX가 걸려 있어 언패킹을 하고 IDA로 먼저 정적 분석을 합니다. 문자열을 보면 익숙한 문자열들이 좀 보입니다. 여기서 Pass가 있는 부분으로 갑니다.여기서 이 문자열을 사용하네요. 이제 이 함수를 올리디버거에서 동적 분석 해 보겠습니다. 브레이크포인트를 걸고 온 뒤 분석을 해 보면 여기서 0x3F와 비교를 하는데 이는 십진수로 63입니다. 즉 저 변수가 몇 층인지를 저장하는 변수라고 볼 수 있습니다. 63과 같으면 아래 분기문에.. 더보기
Easy Unpack - 100pt 보호되어 있는 글입니다. 더보기
Easy Keygen - 100pt 보호되어 있는 글입니다. 더보기
IDA Linux Remote Debugging IDA리눅스 원격 디버깅 하는 방법입니다.일단 준비물은 IDA, 리눅스(가상머신) 이렇게만 있으면 됩니다. 먼저 IDA폴더-dbgsrv로 가 주시면이렇게 파일들이 있습니다. 자신의 리눅스가 32비트라면 linux_server을, 64비트라면 64가 붙은 파일을 리눅스로 복사해 주세요. 그 다음 터미널에 ifconfig명령어로 리눅스의 IP를 아셔야 합니다. 그리고 아까 복사한 파일을 실행해 주세요.그러면 이렇게 23946포트로 연결을 기다리고 있습니다.그 다음 호스트 컴퓨터에서 IDA를 실행시킨 뒤이렇게 선택해 주시면이렇게 창이 나오게 됩니다. Application - 디버깅할 파일Directory - 디버깅할 파일이 있는 폴더Parameters - 전달할 파라미터Hostname - 아까 구한 리눅스의 .. 더보기
Layer7 CTF Write-UP 아쉽게 고등부 4위를 했지만 와업 올려봅니다. 진짜 포너블 제대로 공부해야겠네요... 더보기
암호학 기초 암호학 기초에 대해서 알아보겠습니다.일단 암호학은 정보보안의 3대 요소인 기밀성을 위해서 사용이 됩니다. 말 그대로 암호 알고리즘을 이용하여 데이터를 다른 사용자가 구별할 수 없게 만드는 기술 입니다.암호학에서는 평문, 암호문, 암호화, 복호화라는 말들을 자주 볼 수 있는데 이것들이 무엇 이냐면 우선 평문은 암호화 되지 않은 원본 문자열, 암호문은 암호화를 거치고 난 암호화된 문자열, 암호화는 평문을 암호문으로 만드는 행위, 복호화는 암호문을 평문으로 만드는 행위라고 볼 수 있습니다. 그럼 여기서 암호학에서 아주 기초적인 내용을 하나 보겠습니다. 바로 전치와 치환인데요. 전치는 평문에서 각 문자들의 위치를 바꿔 암호화를 하는 것입니다. 그리고 치환은 평문의 각 문자들을 각각 다른 문자로 대응시켜 암호화를.. 더보기
YISF 2015 Write-Up 예선 몇 일 전에 끝났던 순천향대학교 정보보호 페스티벌 YISF2015 풀이 올립니다. 대회 도중에는 아쉽게 리버싱200 문제를 풀지 못했지만 끝나고 바로 풀었으므로 따로 풀이 올리겠습니다. 더보기
PEB구조체를 활용한 안티디버깅 *이 포스팅은 리버싱 핵심원리에서 공부한 내용을 정리한 내용입니다. 틀린 부분이 있을시 지적해 주세요.* 이전 글에 이어 PEB구조체를 활용한 안티디버깅 방법입니다.PEB의 값을 참조해서 할 수 있는 안티디버깅 방식으로는 약 4가지 정도가 있습니다.1. BeingDebugged2. Ldr3. Process Heap4. NtGlobalFlag이렇게 4가지로 분류할 수 있습니다. 하나씩 알아보겠습니다. 1. BeingDebugged PEB.BeingDebugged(+0x2)의 값을 참조하여 안티디버깅을 할 수 있습니다. WinDbg로 봐 보면여기에 존재합니다. 이 BeingDebugged는 디버깅 중일 때는 1(True)로 설정이 되며 디버깅 중이지 않을 때는 0(False)로 설정이 됩니다. 이를 이용해서.. 더보기
TEB, PEB 구조체의 위치 구하기 *여기 있는 내용들은 리버싱 핵심원리와 고길님의 블로그(http://gogil.kr)에서 보고 공부했던 내용들을 정리하는 방식으로 했습니다.* PEB(Process Environment Block)구조체는 프로세스의 정보를 담고 있는 구조체 입니다. 안티디버깅 기법을 적용할 때 많이 참조되기 때문에 꼭 알아야 하는 구조체 입니다. PEB구조체의 위치를 구하는 방법을 알기 전에 PEB에 대해서 조금만 알아보고 갑시다.PEB구조체의 내용은 이렇게 됩니다. 출처는 MSDN입니다. 향후 윈도우 버전에서는 변경될 수도 있다네요.. 좀 더 자세한 정보 확인을 위해서 WinDbg로 가 줍시다.>>>!peb이렇게 PEB의 주소와 정보를 볼 수 있구요.좀 더 자세한 정보를 보기위해>>>dt_peb구체적인 정보를 볼 수 .. 더보기
ATmega Instruction 제가 ATmega를 공부할 때 봤었던 문서를 첨부합니다.거의 대부분의 명령어 설명은 이 문서에 다 들어 있구요.레지스터나 일부 명령어에 대한 설명은 따로 포스팅 할 예정입니다. 더보기