본문 바로가기

분류 전체보기

[Grotesque] Starcraft 마지막으로 글 쓴 날짜가 언젠가 봤더니 작년이다. 1년 전에 쓴걸보니.. 그동안 정말 매우 많이 바빴나보다. 일하는 부서를 옮겼더니, 나랑 평생 연이 없을 줄 알았던 개발. 특히 안드로이드 플랫폼 보안 쪽을 다루며 매일 야근중이다. (살...살려주....) 현재는 잠깐 여유가 나니 문제를 풀 틈이 생겼다. 주말에 2~3시간 정도지만; 이 문제는 취약점이 금방 보였지만 exploit할 때 어떤 부분을 이용해야 할지 많이 고민했다. (아무래도 가끔씩 해킹공부 하다보니 내 기술력이 점차 무뎌져가서 그런게 아닐까 ㅠㅠ) 이 문제는 내 느낌엔 1. C++ 디버깅을 체험해봐라 2. C++ 코딩 시 vtable을 잘못 사용할 경우 어떤 취약점이 발생하는가? 이 두가지를 공부시킬 목적인 듯 하다. 주말마다 짬짬히 하느.. 더보기
[Grotesque] lokihardt 오랜만에 문제를 풀었다. 그간 오랜 공백기간이 있던 것 같은데. 회사에서 이런저런 바쁜 일이 많다보니 문제 풀 시간이 잘 안났다. lokihardt 문제는 실제 lokihardt(갓정훈님)가 Microsoft Edge의 Chakra 자바스크립트 엔진에서 일으킨 취약점(CVE-2016-0191)을 기반으로 만들어졌다. 이런 류의 취약점은 실제로 자주 일어난다고 한다. 이 문제는 아마 HeapSpray 기법을 학습해보라는 의도로 만들어진 듯 하다. 이틀간 문제 푸는동안 많은 공부가 되었다. - 400명 이상 푼 문제는 PoC 코드를 공개하겠다. - 이 글에는 문제 풀이, 힌트 등이 있으니 실력 증진을 원하는 분들은 충분히 삽질한 후 읽어주시길 바란다. 1. 코드 흐름 ======================.. 더보기
[Grotesque] lokihardt (2021.03.28 클리어) 오랜만에 주말에 깔짝 문제 풀 시간이 생겼다. 사실 2주 전에 한번 짬내서 풀어봤다. 그 때는 ubuntu 18.04 환경에서 문제를 분석했는데.. heap chunk 할당방식이 다른가.. 도저히 취약점을 못찾겠더라. 오늘은 lokihardt의 문제서버 환경과 동일하게 ubuntu 16.04로 바꾸어 분석해봤는데.. 취약점이 바로 보이네? 취약점이 바로 보이니까 난 이게 진짜 쉬운 문제라고 생각했는데.. 후. ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 처음에는 UAF 일으켜서 Heapspray로 힙 영역을 싹 덮어버리고 type confusion 일으켜서 arraybuffer에 fakeOBJ 생성하고.. got_overwrite를 통해 free(theOBJ)를 system("/bin/sh")로 실행하려고 했다. gdb에선 개잘된.. 더보기
와 어떡하지 오랜만에 basic system hacking technique 카테고리의 글을 하나씩 읽어보는데 글이 진짜 개판이다;; 내가 봐도 이해하기 어렵다. 대학생 때의 나는 정말로... 글은 끄적이기만 하면 되는건줄 알았나보다. 근데 이걸 또 수정하긴 귀찮고 ㅠ 내가 아는 해킹 기술을 별도의 문서에 예쁘게 정리해봐야겠다. 더보기
보안점검을 위한 체크리스트에 대하여(2) 요즘 책 집필, 출판을 위해 이것저것 알아보고 사전 작업을 하느라 정신없었던 것 같다. (제가 글을 잘 못 써가지고..ㅋㅋㅋ 출판사에 샘플원고 투고하기 전에 미리 책 내용을 다 채워놓으려구요.. ㅠ) 오늘은 살짝 여유로우니 보안점검을 위한 체크리스트에 대해 이어서 써보려고 한다. 글에서 최종적으로 말하고자 하는 바를 요약하자면, "대학원에서 배우고 연구한 '체크리스트'와 실제 기관, 기업 등에서 연구하고 사용하는 '체크리스트'는 어떤 차이가 있을까?" 얘기하고 싶은게 많다보니 시리즈별로 내용을 구분하고자 한다. '보안점검을 위한 체크리스트에 대하여(1)' 에서는 대학원에서 연구한 AI 스피커의 체크리스트에 관한 내용을 다루겠다. '보안점검을 위한 체크리스트에 대하여(2)' 에서는 기업의 체크리스트와 대학.. 더보기
좋은 소식이 들려오네요 저에게 고려대학교 정보보호대학원에 대해 문의 주신 몇 분이 합격했다고 연락왔네요! 제가 다 뿌듯해요 ㅎㅎㅎㅎㅎ 제가 알려드린 건 뭐 없구 그분들이 노력해서 합격한거지만요 ㅎㅎ 그래도 너무 기분좋네요. 대학원에 들어가시게 되었으니, 연구실에서 벅찬 마음으로 연구를 하시겠죠! 그러나 연구실이 마냥 행복한 곳은 아닙니다 ㅋㅋ 연구실의 일이 많다면 일상이 너무 피폐해질 수 있거든요. 너무 힘들어서 포기하고 싶을 때마다 '할 수 있다. 포기하지 말자. 할 수 있다. 할 수 있다...' 라는 생각을 끊임없이 하시며 버티고, 인내하셔야 합니다. 그렇게 1년, 2년이 지나다보면 어느새 보안분야의 전문가로 한발 더 들어서게 될거에요. 정보보호대학원에 합격하신 분들 모두 축하드려요~~ .. 오랜만에 광주와서 게임좀 하면서.. 더보기
책 집필을 슬슬 준비하고 있습니다. 집필하는 기간이 얼마나 걸릴 지 모르겠지만, 일단 시작이라도 해보려고 합니다. 보통 집필기간이 1년정도 걸리니까.. 회사에서 한창 바쁠 때는 집필하기 어려울테니, 먼저 전달하고자 하는 내용을 미리 어느정도 다 써놓은 뒤(한 절반 이상?) 출판사와 얘기해보려구요. 제가 글을 잘 못쓰는 점도 있으니 ㅋㅋㅋ 내용을 다 써놓은 뒤 다듬는 작업만 해도 엄청 오래걸릴 것 같네요. 후회가 남지 않도록 작업하기 위해 천천히 쓰려고 합니다. 전달하고 싶은 내용은 목차에 다 포함시켰으나, 추가적으로 필요할 것 같은 부분은 찐 전문가분들에게 자문을 구해서 채우려고 생각중입니다. 저는 해킹공부를 하다가 중간에 대학원에 가서 해킹공부 흐름이 살짝 끊겼거든요. 해킹의 H도 모르는 사람들을 대상으로 접근하기 쉬운 책을 쓰고 싶네요.. 더보기
보안점검을 위한 체크리스트에 대하여(1) 정신없는 10월을 보내고 일이 좀 여유로워지는 느낌이 드니, 주말에 글을 끄적일 여유도 생겼다. 여유로움은 개뿔.. ㅠㅠ 현재(11.24)까지 바빠서, 매일 야근에 주말출근해서 계속 일했다 ㅠㅠㅠ... .. 이 글에서는 보안점검을 위한 체크리스트에 대해 얘기하고자 한다. 글에서 최종적으로 말하고자 하는 바를 요약하자면, "대학원에서 배우고 연구한 '체크리스트'와 실제 기관, 기업 등에서 연구하고 사용하는 '체크리스트'는 어떤 차이가 있을까?" 얘기하고 싶은게 많다보니 시리즈별로 내용을 구분하고자 한다. '보안점검을 위한 체크리스트에 대하여(1)' 에서는 대학원에서 연구한 AI 스피커의 체크리스트에 관한 내용을 다루겠다. '보안점검을 위한 체크리스트에 대하여(2)' 에서는 기업의 체크리스트와 대학원에서 연.. 더보기
[Grotesque] maze 문제 난이도가 생각보다 어렵지 않고, 재밌다. 문제풀면서 뭔가.. 치트키를 입력해서 숨겨진 장소에 들어가는 기분이 들기도 하고.. 여튼 재밌다. 무슨 문제 풀지 고민되시는 분들은 이걸 꼭 풀어보길 바란다. - 400명 이상 푼 문제는 PoC 코드를 공개하겠다. - 이 글에는 문제 풀이, 힌트 등이 있으니 실력 증진을 원하는 분들은 충분히 삽질한 후 읽어주시길 바란다. 1. 코드흐름 ==================================================== 이 문제는 어셈으로만 보기에는 시간이 너무 오래걸릴 것 같아서 IDA Pro의 힘을 빌렸다. main 함수이다. read_mapfile(), maze_process(), finish_maze() 함수, clear_count 등의 변수.. 더보기
[Grotesque] maze 클리어 오늘 뭔가.. 어디도 안나가고 아무것도 안하니까, 뭐라도 풀긴 풀어야겠는데. 모든게 너무 귀찮았따. 사실 maze 문제를 열어놓고 풀까말까 하다가 꾸역꾸역 문제를 풀었는데, 풀다가 중간에 갑자기 재밌어져서 좀 집중했다. (어... 어???? 오... 문제를 이렇게 만들어놨어?? 오.... 하고 감탄하는 순간부터 집중) 문제푸는데 꾸역꾸역 5시간 정도 걸린 것 같다. 풀다가 느낀점은 문제 난이도가 Grotesque하다기보다는 정말 신박하고 재밌게 만들어놨다. 이 문제 만든 분 누구야 ㅋㅋㅋㅋㅋ 아이디어뱅크자나? 심심하신 분은 꼭 풀어보길 바란다. maze 문제풀이는 이번주 출장 기간 중에 진~~~~~~짜 시간많을 때 쓰거나, 아니면 토, 일요일(10.17 ~ 10.18)쯤 쓰도록 하겠다. 이 문제가 aeg.. 더보기