반응형

전체 글 368

[Harekaze CTF 2018] Lost_data writeup

파일을 다운로드 받으면, 압축을 해제할수록 많은 데이터가 보입니다. 여러 메타데이터 파일들이 많아 좀 지저분하고 복잡해 보이지만, 결국 중요한 것들은 여기 보이는 data 파일들과 xxxxx 폴더 안의 파일들인 것 같으니 침착해집시다. [침착] 우선 xxxxx 안의 정보들은 우리가 모르는 xxxxx와 관련되었다고하니 일단 넘어가도록 하고, data 안의 1, 2, 3 파일들을 살펴봅니다. 가장 먼저 실행해본 것은 binwalk를 이용하여 특정 시그니처를 찾아본 것이지만, 나오는 것은 없었슴니다. 흙. 시그니처가 변질되었을 가능성이 있으니, 일단 hex 값을 보기로 합니다.바이너리에서 IHDR, IDAT, IEND 가 보이는 것으로 보아 PNG 파일의 포맷을 따르고 있는 것 같습니다. PNG 파일은 IHD..

Write-up 2018.02.12

[Harekaze CTF 2018] Harekaze Farm writeup

간단한 pwn 문제입니다. 실행시키면 다음과 같이 동물 이름을 입력받습니다.사용자가 입력한 값이 동물이름이면, 해당 동물에 맞는 울음소리를 출력해줍니다. 동물이름이 아니면 아무일도 일어나지 않습니다.. 디스어셈블링해보면 알겠지만, 동물 이름도 cow, sheep, goat, hen 네가지만 해당됩니다. 사용자의 입력은 [rbp-0x110] 에 저장되고, 그 값을 cow, sheep, goat, hen 비교했을 때, 네가지 중 한가지와 같다면 select_animals 라는 심볼을 가진 bss 영역에 저장됩니다. 주소는 0x6020a0 입니다. 한 번 테스트를 해보겠습니다. 첫 번째로 입력한 AAAAA는 동물 이름이 아니기 때문에 저장되지 않고, 두 번째, 세 번째로 입력한 cow와 hen은 bss 영역에..

Write-up 2018.02.12

[Harekaze CTF 2018] 참가후기

https://ctf.harekaze.com/ Harekaze CTF 2018에 동아리 팀원들과 Kuality라는 이름으로 참가했다. 일본 쪽 대회이고 한국시각으로 2월 10일 오후 3시부터 2월 11일 오후 3시까지 진행되었다. 짧게 평가하자면, 우선 문제의 종류는 포너블 문제보다는 웹과 크립토 문제가 더 많았던 것 같다. 암호를 잘하는 사람이 캐리했을 것 같다. 문제가 굉장히 다양해서 재밌는 대회였다. :D 대회를 진행하며, 조금씩 푸는 문제가 늘어가는 모습들에서 우리가 조금씩 발전하고 있다는 확신을 받았다. 지난 한 해가 허투로 지나간 것이 아니라는 생각에 안도감이 든다. 이렇게 점점 더, 성장해나가면 언젠가 좋은 결과를 얻을 수 있을거라고 믿는다. 새로 2학년이 되면서, 이번 년도는 다양한 CTF..

gdb-peda heap plugin install

기존 gdb-peda 만으로는 heap 영역을 보기가 조금 까다롭다. 요즘 시대가 어느 때인데, 걍 편하게 명령어 하나만 뚝딱하면 heap_info, malloc_state 등을 촤락 보여주는 기능이 존재해야 함은 당연한 거다! 그리하야 선지자들께서 해당 명령어들을 구현해놓은 plugin들을 개발하셨는데, 여러 plugin들 중 개인적으로 https://github.com/scwuaptx/Pwngdb를 추천한다. 설치 방법은 README에 나와있듯 다음과 같다. cd ~/ git clone https://github.com/scwuaptx/Pwngdb.git cp ~/Pwngdb/.gdbinit ~/ 자세한 사항은 역시 README 참고.요로코롬 예쁘게 나오면서 exploit에 편리한 기능이 굉장히 많!..

[CODEGATE 2018] BaskinRobins31 write-up

문제는 BaskinRobs31 게임입니다.게임의 규칙은 다들 아시다시피, 31이라는 카운트에서 서로 1~3 까지의 수를 말하고 그에 해당하는 값만큼 값을 깎는 것을 반복하는 겁니다. 자신의 차례에 이미 카운트가 0이 되어있다면 지는 게임입니다. 하지만 모든 게임에는 잔머리가 있듯이, 필!승!전1략1이 있는데요. 제가 한 번 해보겠습니다. 이 게임은 선빵을 먼저 때릴 수 있으면 이기는 게임입니다. 3만 계속 외치다보면 어느순간 상대방의 차례에는 4가 남아, 상대방은 어떤 수를 내도 다음 차례에 질 수 밖에 없기 때문이져. 근데 이놈이 사기를 칩니다; ㅎ..ㅎㅎ프로그램 따위에게 농락을 당해버렸지만, 그 복수는 쉘을 따버리는 것으로 갚겠습니다. 친절하시게도 제일 먼저, ROP가 힌트라고 알려줍니다. 문제를 분..

Write-up 2018.02.06

[CODEGATE 2018] 참가후기

코드게이트에 처음 참가했다. CSAW 2017과 DCTF 2017 이후로 세 번째다. 앞서 두 개의 대회 때와 다른 점이라면, 그 때 당시에는 거의 버퍼오버플로우 정도만 알았던 정도랄까. 그때와 비교해서 지금은 기술 몇 개 정도는 원하는대로 사용할 수 있을 정도이니, 좀 더 대회를 재미있게 즐겼던 것 같다. 이번 대회를 계기로 한가지 큰 것을 얻어가는 것 같다. 퍼너블이 재미있어지기 시작했다. 사실, 개인적으로 CTF 분야에서 포렌식 문제를 좋아한다. 뭔가 잔머리(?)를 굴리고 문제 방향이 다채로워서인데, 퍼너블 분야도 포렌식 분야만큼, 아니 더 그런 면들을 가지고 있다는 것을 많이 느꼇다. 머리 속에서 여러가지 익스플로잇 시나리오를 짜고, 계속 사용할 수 있을 것 같은 여러 방식들을 고민해보고, 내 익..

binwalk 설치 및 사용 예제

>> sudo apt-get install binwalk binwalk 사용 옵션https://github.com/ReFirmLabs/binwalk/wiki/Usage 적당하게 사용에 익숙해질 수 있도록 예시를 하나 들어 설명하려고 합니다. DCTF 2017 inception이라는 문제입니다. 간단하게 사용해보면 다음과 같이 바이너리 내에서 발견할 수 있는 파일 시그니처와 해당 시그니처가 존재하고 있는 오프셋을 알 수 있습니다.실제로 해당 오프셋을 참조해보면 PNG 시그니처를 발견할 수 있습니다. :D 바이너리 안에 이런 파일들이 숨겨져 있다는 것을 발견했으면, 이제 파일을 카빙해야겠지요? -D 옵션을 이용하여 파일을 카빙해보도록 합시다.파일 카빙이 완료되면 현재 경로에 파일들이 생성된 것을 확인하실 수..

Tools Repository 2018.01.29
반응형