목록Wargame (19)
Sechack
한달전인가 부터 조금씩 만들던 워겜이다. 뭔가 문제 더 채워서 공개하고 싶었는데 그냥 빨리 알리고 싶어서 지금 공개했다. 모든 문제는 순수 자체제작이며 앞으로 아이디어 떠오를때마다 문제를 계속해서 만들 예정이다. 언젠간 HackCTF처럼 지금은 사라졌지만 문제가 많아지고 사람들에게 많이 알려지길 기대하고 있다. 아 그리고 Bit VM이라는 리버싱 문제 퍼블따고 Sechack#1869 여기로 Discord DM주면 원하시는 치킨 한마리 공짜로 드리겠습니다!! :) 나름 야심차게 만든 문제라 풀어달라고 치킨까지 거는 모습... https://ctf.sechack.kr SECGAME Sechack's wargame. Happy hacking~~ ctf.sechack.kr 많이 풀어주세요!!
보호되어 있는 글입니다.
이번에는 워게임을 들고왔다. 옛날 워겜부터 최신에 나온 워겜까지 아는걸 전부 적어보려고 한다. https://ctf.sechack.kr (내가만든 워게임 사이트다. 문제 꾸준히 추가될거고 난이도도 다양하니까 많이 풀어줬으면 좋겠다.) https://dreamhack.io (드림핵은 워게임 사이트라기보단 종합적인 해킹 공부 플랫폼이라 보는게 맞다. 재밌는 문제도 많이있고 양질의 강좌도 많이 있다.) https://h4ckingga.me (사실 이거 홍보하려고 글썼다. 내가 몸담고있는 팀인 TeamH4C에서 이번에 새로 런칭한 워게임인데 Project Manager로써 매우 뿌듯하다. 문제도 꾸준히 추가할 예정이니 많은 이용 바란다.) https://pwnable.tw (재미있는 포너블 문제가 많다. 되게..
보호되어 있는 글입니다.
후... 거의 이틀 걸린것같다. 되게 빡세고 힘들고 재밌고 신기한 문제였다. 일단 close로 stdin, stdout, stderr다 닫아버려서 execve("/bin/sh", 0, 0)을 해도 무용지물이다. 리버스 쉘 따야한다. 다행히 바이너리는 static이어서 가젯은 많았고 가젯 잘 조합해서 _stack_prot덮고 _dl_make_stack_executable 호출해서 스택에 rwx박은다음 리버스쉘 때려박으면 되는 문제이다. 가장 힘들었던건 100byte limit이었는데 쉘코드를 줄이고 rop chain쪽에서 chain길이 안늘어나게끔 절묘하게 레지스터 세팅도 해줘서 쉘코드 몇바이트씩 줄어들게 하고 별짓 다해도 rop chain이랑 합하면 107byte이하로 못줄이겠어서 그냥 서버에 소켓으로 ..
보호되어 있는 글입니다.
태그 인젝션이 가능하다. report기능이 있으니까 xss를 하면 된다. Content-Security-Policy: script-src https://*.google.com/ 하지만 이러한 CSP에 걸린다. *.google.com에서 오는 javascript만 허용하고 있다. 자 그러면 풀이방법은 브라우저 0-day찾거나 *.google.com도메인으로 돌아가는 서비스에서 멋지게 RCE트리거해서 xss.js만들어준다음 로드시키면 끝난다.(?) 장난이고 구글은 방대한 서비스이다. 구글 서비스중에서 javascript를 실행할 수 있는걸 찾으면 된다. 방대한 구글 서비스들의 소스코드를 하나하나 분석하는건 미친짓이니까 google jsonp xss 이런식의 키워드로 구글링을 해보면 https://github..
들어가서 new game버튼을 누르면 게임이 나온다. 저기 저 보물상자를 먹어야하는것 같은데 강때문에 막혀있어서 키보드로 백날 조작해봐야 못간다. 절대 못깨게 만들어놓은 게임이다. 하지만 이것은 javascript로 돌아가는 게임이다. 따라서 소스코드를 분석해서 캐릭터의 좌표 위치를 담고있는 무언가를 찾은다음에 변조하면 끝날것이다. 근데 저기 보이다시피 소스코드 파일도 많고 파일 하나하나에 들어있는 javascript코드의 양도 굉장히 많다. 따라서 저걸 전부 분석하는데는 한세월이 걸릴것같아서 다른 방법을 떠올렸다. 지금 게임은 현재 실행중이다. 게임개발 조금 해보신분들은 아시겠지만 게임은 요소 하나하나가 객체이다. C++과 같은 객체지향 프로그래밍을 조금이라도 해보신 분들은 이말이 무슨말인지 바로 알것..
딱봐도 xss문제인 baby문제이다. 일단 태그 인젝션이 가능한게 확인되었다. 하지만 태그로 alert를 해주려고 하면 실행이 되지 않는다. 왜그런가 봤더니 Content-Security-Policy: script-src 'nonce-zwsN5tzvG9CmVOzxy0Cabi3ioXs='; 다음과 같이 csp가 설정되어있는것을 볼 수 있다. 따라서 xss공격이 방어가 된다. 하지만 얼핏보면 안전해보이는 저 csp에 큰 문제점이 하나 있다. 바로 base태그에 대한 정책이 누락되어 있다는것이다. 따라서 태그 삽입이 가능하므로 우리는 base태그를 이용해서 base url값을 맘대로 설정할 수 있다. 페이지 소스코드를 보면 /script.js를 로드하는것을 볼 수 있다. 그러면 임의의 웹사이트를 하나 판 뒤에..
이거는 포렌식 잘하는 지인분이 스테가노그래피라고 했다. 하지만 나는 스테가노그래피를 할줄 모르기 때문에 이 문제는 처음부터 끝까지 write up을 보면서 했다. 덕분에 좋은 도구도 배웠고 앞으로 CTF에서도 스테가노그래피 문제 쉬운건 툴돌려서 풀긴 할것같다. LSB를 뭐 어케 해서 숨기는거라던데 자세한건 모르지만 킹갓 StegSolve툴이 있으니 당분간은 툴에 의존해야겠다. 시간이 나고 진지하게 포렌식을 파고싶어질때 제대로 할것이다. 아직은 pwn, web해야되고 rev도 배워야된다... 아무튼 문제를 풀어보자면 이런 사진이 나온다. 저기 밑에 화살표를 눌러서 아무리 이미지를 가공해봐도 전혀 플래그 관련된게 나오지 않는다. 그래서 이미지가 아닌 텍스트로 숨겨져있지 않을까 하고 Analyse -> Ext..