목록전체 글 (111)
Sechack
오랜만에 H4C에서 CTF를 제대로 뛰어봤다. 이번에 팀원 모집 하면서 TeamH4C내부에 있는 CTF팀인 C4C에도 잘하시는 분들 많이 오셔서 좋은 성과를 낼 수 있었다. 레이팅 47.77짜리 CTF라서 어려울줄 알았는데 생각보다 문제가 쉬워서 문제 많이 풀었다. 주 분야인 포너블도 올클 했다. write up은 내가 푼 문제만 작성할 것이다. rev/sequence _BOOL8 __fastcall read_numbers(__int64 a1){ char s[264]; // [rsp+10h] [rbp-110h] BYREF unsigned __int64 v3; // [rsp+118h] [rbp-8h] v3 = __readfsqword(0x28u); printf("input: "); ff..
https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 요즘 해킹보다는 백준푸는게 더 재밌어서 PS를 하고있다. 풀다가 가끔씩 재밌었던 문제나 삽질했던 문제들을 블로그에 포스팅할 계획이다. 일단 이 문제에서는 2가 바이러스고 1이 벽이고 0이 빈 공간이다. 입력으로 바이러스와 벽, 빈공간이 있는 맵이 주어지고 여기서 벽 3개를 어떻게 더 세우면 인접한 빈 칸으로 퍼져나가는 바이러스의 확산을 최대한 막을 수 있냐고 물어보는 문제이다. 문제를 보자마자 가장 먼저 떠오..
와콘 본선장인데 웅장했다. 장소는 매우 마음에 들었다. 와콘 후기 요약 1. 반드시 자기 메인 분야 먼저 할 수 있는데까지 다 해두고 다른 분야 건들이자. 귀찮아 보인다고 다른분야 먼저 건들다가 메인 분야 풀 시간이 부족해질 수 있다. 2. 예선은 살살해도 본선때는 풀타임 빡겜 뛸 각오 하자. 한번 틀어진 집중력은 쉽게 돌아오지 않는다. 3. 대회 성과는 실력 외에도 문제 운이나 컨디션, 시간 분배 등 여러가지 외부 요인으로 인해 예상보다 안좋게 나올 수도 있다. 이럴때 멘탈이 매우 크게 흔들리겠지만 실력이 문제인지 다른게 문제인지는 본인이 가장 잘 알고 있다. 다음에 잘하면 되니까 멘탈 깨질 필요는 없다. 4. 물질적으로 얻은건 없지만 실력적으로 얻은건 예선 본선 모두 매우 많은것 같다. 가장 큰 CT..
대회때 하나만 해결하면 바로 rop할 수 있었는데 그걸 해결 못해서 못풀었다. 너무 미련이 남아서 대회 끝나고 막혔던 부분만 다른분 아이디어 참고해서 다시 풀어봤다. 그렇게 어려운 문제도 아니었고 막혔던 부분만 해결했으면 바로 풀 수 있었는데 너무 아쉽고 미련이 많이 남는다. 그래도 턱걸이로 본선 갔으니까... 다행이긴 하다. 대회 당시 https://irrlicht.sourceforge.io/forum/viewtopic.php?f=7&t=52785&sid=82d189da1e8d466aea667d5958334975 [fixed]Stack buffer overflow in MD2 Parser - Irrlicht Engine You discovered a bug in the engine, and you ar..
이번에도 포너블 올클 했다. 레이팅 23.36인데 포너블은 그렇게 어렵진 않았다. 13등 GG 올클 GG 같이 참여했던 분들 수고하셨습니다. access 이건 자고 일어나니까 같은 팀 형이 풀어놓은 문제다. https://www.facebook.com/profile.php?id=100009136532072 로그인 또는 가입하여 보기 Facebook에서 게시물, 사진 등을 확인하세요. www.facebook.com 본인이 페북 링크 올리라해서 올린다. pass.txt읽어서 스택에 저장한다. 아마 저게 플래그 같다. 그리고 fsb터지니까 그냥 스택에 있는 플래그 읽어오면 된다. flag : BtSCTF{@Fin3@cc3$$} shellcode int __cdecl main(int argc, const cha..
이번엔 데프콘에 참여해보았다. 100솔버가 넘는 쉬운 날먹 문제긴 했는데 다른 문제는 접근조차 제대로 되지 않았다. __int64 __fastcall main(int a1, char **a2, char **a3) { unsigned int v3; // er12 void *v4; // rax const void *v5; // r15 unsigned int v6; // er14 unsigned int v7; // esi unsigned int v8; // ebx __int64 v9; // rbp void *v11; // rax void (*v12)(void); // rax char v13; // [rsp+Bh] [rbp-3Dh] BYREF unsigned int v14[15]; // [rsp+Ch] [rbp..
무계획으로 하고싶은대로 살다보니까 처음 몇개월은 열정적으로 워게임 풀고 CTF뛰면서 하루종일 고민하고 했는데 점점 갈수록 IT공부보단 노트북 앞에 앉아서 놀면서 무의미하게 보내는 시간이 많아진것 같다. 지금도 워게임 끄적이고 CTF꾸준히 하고 있긴 한데 예전처럼 열정적으로 하는것도 아니고 실력도 거의 안느는듯 싶다. 내가 잠시 느슨해진 사이에 엄청나게 치고 올라가는 몇몇 사람들을 보면서 자괴감도 많이 느껴졌다. 선린 합격하고도 고민을 많이 했다. 내신을 잡아야 할지 아니면 컴퓨터에 올인하는게 맞는지.. 둘다 챙기기엔 둘다 어중간해져서 이것도 저것도 아닌 사람이 될것 같아서 하나만 확실하게 잡고 갈것이다. 고민을 많이 해봤는데 내신만 할거면 이 학교에 온 이유가 없다. 많은 고민 끝에 그냥 컴퓨터에 올인하..
잡담 + 친목용으로 디스코드 서버하나 만들었습니다. 편하게 오셔서 편하게 대화해주세요. 많이 와주세요!! 또 저에게 개인적으로 궁금하거나 하고싶은말이 있으면 DM도 환영입니다. https://discord.gg/jQPvGzx2y6 Join the Sechack's Community Discord Server! Check out the Sechack's Community community on Discord - hang out with 2 other members and enjoy free voice and text chat. discord.com
포너블은 커널빼고 다 풀었다. 레이팅 24.19짜리 CTF인데도 이정도 푼거 보면 포너블은 이제 나도 CTF에서 어느정도 경쟁력을 갖춘것 같다. 리버싱이나 웹해킹, 크립토 등 다른 분야도 빨리 공부해놔야 나중에 수상 노리고 대회 뛸때 팀 대회가 아닌 개인전에서도 활약할 수 있을것 같다. Codechainz void __noreturn loop_de_loop() { char s[10]; // [rsp+Eh] [rbp-12h] BYREF int v1; // [rsp+18h] [rbp-8h] BYREF char v2; // [rsp+1Fh] [rbp-1h] v1 = -1; v2 = 0; while ( 1 ) { while ( 1 ) { menu(); fflush(stdout); input_int(&v1); i..
하나의 서비스를 exploit하는 일반적인 포너블과는 다르게 바이너리의 특정 부분이 계속해서 바뀌고 바뀐 부분을 자동으로 읽어내서 여러번 exploit하는 AEG문제이다. 디스어셈블 결과나 opcode에서 필요한 부분을 읽어와서 exploit에 적용해야 하므로 약간의 코딩 능력이 필요하다. 문제에서 주는 nc주소에 접속해보면 hexdump로 출력한듯한 내용을 준다. 그리고 60초 내에 입력을 줘야하고 프로그램의 exit code를 주어진대로 만들어야한다. 저걸 받아와서 IDA로 분석해보자. 프로그램 구조는 간단하다. 그냥 fsb터진다. exit_code를 원하는 값으로 덮으면 된다. 문제는 permute함수인데 안에 들어가보면 이런식으로 함수들을 순서대로 호출한다. permute라는 이름만 봐도 알 수 ..