Other Codes

Thread Pool Library – 2010. 05. 20

간단한 Thread Pool Library 입니다.

 

dotter program(example for keyboard interrupt hijacking) [executable file] – 2009. 11. 29

keyboard interrupt를 가로채서 특정 키가 입력될 시, Scancode를 비교하여 비디오 모드 위의 점(dot)을 이동시키는 간단한 프로그램입니다. 16bit 환경에서 작성되었으며, a86 assembler를 이용하였습니다. hijacking을 수행하는것에 어떠한 제한사항도 없기 때문에 예제로 참고하면 좋을 것 같습니다.

 

Multi-Thread Portscanner – 2008. 9. 28

다중 스레드를 이용해서 만든 간단한 포트 스캐너입니다. 마음에드는 예제가 없어서 직접 만들어보았습니다.

 

Netfilter module for cut off the MSN Messenger in Linux – 2008. 12. 1

Linux의 Netfilter 모듈을 이용하여 MSN 메신저를 차단하는 예제입니다. 다양한 자료들에서 자주 등장하는 코드이며 커널 버전이 증가하면서 소켓 버퍼 구조체의 멤버가 다소 변경되어 기존의 예제가 동작하지 않아 간단히 만들어 봤습니다. 단순히 Netfilter 드라이버의 예를 보이는 목적에서 작성 된 코드이기 때문에 패킷 검사의 효율이나 정확성 등을 고려하지 않았습니다.

 

getch() function implementation – 2008. 10. 29

ANSI-C 환경에서 제공되는 getch() 함수를 구현해 보았습니다. 원래는 getch() 함수를 두 번 호출하면 확장 아스키를 구할 수 있지만 여기서는 오직 1byte의 입력을 받는 최소한의 기능만이 구현되었습니다.

 

getdents() function example – 2008. 9. 14

getdents 시스템 콜에 대한 예제를 찾기 힘들어 작성해 보았습니다. ls 명령어 등에서 주로 사용되며, man page에서는 readdir() 함수를 사용할 것을 권하고 있습니다. 해당 시스템 콜은 커널 레벨에서 파일을 숨기는 등의 루트킷을 만들 때 주로 조작됩니다.

 

simple IRC Bot implementation [test screen] – 2008. 7. 16

오래전에 만들어둔 코드를 분실하여 다시 작성해본 IRC Bot의 예제입니다. 원래 IRC Bot은 채널상의 옵이라는 방장 권한을 지키기 위해 생겨난 것인데, 요즘은 그 의미가 악성 코드의 종류 등으로 다양하게 쓰여지고 있습니다. 예제에 의미를 둔 코드이기 때문에 간단한 기능만 수행하도록 구현했습니다.

 

getting a local MAC Address in Linux – 2008. 7. 11

로컬 상의 IP, MAC address를 구해주는 코드입니다.

Other Papers

ATM 해킹 위협과 보안 전망 – 2010. 7. 30

ATM 해킹 위협과 보안 전망에 대하여 간단히 정리한 문서입니다.

 

Various Hacking – ISEC 2009 – 2009. 8. 7

ISEC 2009의 발표자료입니다. Various Hacking이라는 주제로 진행했었고, 실제 내용은 크게 두 가지로 구분되어 있습니다. 하나는 Mysql Injection을 통하여 쉘을 획득하는것에 대한 내용이고, 나머지 하나는 리눅스 커널 취약성에 관한 것으로, 당시 커널기반 익스플로잇에 빈번하게 적용되었던 Null Dereference 취약성의 설명을 중심으로 하고 있습니다.

 

DEFCON 2009 Capture The Flag 본선 문제 풀이 – tucod – 2009. 8. 7

올해 부터는 기존 CTF의 운영을 담당해오던 kenshoto가 물러나고 ddtek이 새로운 운영진으로 선정되었습니다. 덕분에 전체적인 운영에 대한 방식이나 각 문제 개별의 스타일 혹은 수준 등에 어느정도 변화가 있었습니다. 본 문서에서는 tucod 바이너리에 대한 풀이를 기술 할 것이며, IDA의 disassemble 결과를 통하여 진행하고자 합니다. 특정 공격 기술에 대한 상세 설명이나 일반적인 루틴의 분석 혹은 익스플로잇 당시의 시행착오 등과 같은 부가적인 설명은 되도록 제외하고 핵심적인 내용을 위주로 기술하여 나갈 것입니다.

 

Defcon CTF 2009 Binary Leetness 100-500 Solutions – 2009. 7. 4

코드엔진(CodeEngn) 세미나의 발표자료입니다. Defcon CTF 2009 Binary Leetness 분야의 모든 문제 풀이를 담고 있으며, Defcon CTF와 각 문제 유형에 대한 간략한 소개와 함께 대회 기간동안 조금 인상적이었던 Pwnable의 첫 번째 문제에 대한 소개를 포함하고 있습니다.


DEFCON 2008 Capture The Flag 본선 문제 풀이 – bakalakadakaChat_d
 – 2008. 8. 17

데프콘 본선 문제의 풀이를 써서 공개하는 이유는, 여러가지 사정 때문에 본선에 직접 참가하지 못한 사람들에게 간접적으로나마 경험을 주고 싶은것과, 세계적인 대회라고 해서 결코 어렵지만은 않다는 것을 보이고 싶어서입니다. 때문에 문제 수준을 고려하여 풀이 대상을 선택했지만 아무튼, 후자의 경우를 다시 말하자면 일종의 Capture The Flag에 대한 고정관념을 없애고 자신감을 얻을 수 있도록 도와주고 싶은 마음에 문서를 작성했습니다.


FLACK 워게임 풀이
 – 2008. 6. 30

FLACK 워게임은 SQL Injection과 관련된 문제들로 이루어져 있으며 서버는 Linux, Mysql, Apache 기반입니다. 모든 문제의 최종적인 목표는 로그인의 성공이고, 전체 문제는 각각 Level1~Level5, Other1, Other3으로 구성되어 있습니다. 문제 유형은 기본적인 인증 우회부터 LOAD_FILE, Blind SQL Injection 등 어느 정도 대표적인 기법들을 포함하고 있으며, 워게임은 http://zetorownage.xf.cz/ 에서 풀 수 있습니다.

 

vmsplice() system call 사용 설명과 예제 – 2008. 2. 14

다소 생소한 vmsplice() 시스템 콜에 대하여 간략히 기술하였습니다. 관련 취약성, 익스플로잇을 분석하시거나 vmsplice() 시스템 콜에 대하여 궁금하신 분들이 읽어보시면 좋을 것 같습니다.

 

KAIST & POSTECH Science War 7번 문제 풀이 – 2007. 9

대회 당시 문제를 해결한 학교가 없어서 끝나고 문제풀이를 작성해 보았습니다.

 

6th HUST hacking festival race condition report – 2007. 5

요청에 의해 작성했던 Race Condition 문제 풀이입니다. Race Condition을 공부하시는 분들이 참고하면 좋을 것 같습니다.

 

About Buffering – 2003

아주 오래전에 문자열 출력시 버퍼링에 대해 간략히 적어놓은 날림글입니다.

 

HUST Hacking Festival Report2008. 10. 13

문제를 구경하는 도중 중간에 갑작스럽게 참여한 대회입니다.
보고서를 마감 2시간 전에 급히 써서 상당히 날림글입니다.

 

고교생 해킹/보안 챔피언십 보고서2007. 12

remote attack, reversing, analysis, forensic, web hacking 등 다양한 분야의 문제가 출제되었던 대회입니다.
보고서를 항상 텍스트 형식으로 써오다가 처음으로 Ms Word를 이용하여 작성해 보았습니다.

 

PADOCON Live Hacking Festival Report2006

PADOCON CTF 예선전 보고서입니다.

 

PADOCON Live Hacking Festival Report2005

PADOCON CTF 예선전 보고서입니다.
문서작성은 거의 대부분 wooyaggo님이 하셨습니다.

 

청소년 정보보호 페스티벌 보고서2007. 8

ARM Processor상에서 출제된 마지막 문제가 인상깊었던 대회입니다.

 

청소년 정보보호 페스티벌 보고서2006

3번 문제에 간단한 수학 공식을 적용시켜 보았습니다.

 

Argos Hacking Festival Report2007. 3

웹 상의 모의해킹 환경을 “의도”한 문제가 많이 나온 대회였습니다.

 

Argos Hacking Festival Report2005

문제가 11개나 출제되었던 대회입니다.

 

순천향대 총장배 고교생 정보보호 페스티벌 보고서2005

고등학교 1학년 당시 처음 우승했던 대회입니다.

 

UDCSC 해킹대회 보고서2006. 6

마지막 2시간 동안 참가했던 대회입니다.
참고로 UDCSC는 2006년을 마지막으로 사라진 대회입니다.

 

김천과학대학 해킹경진대회 보고서2003

보고서는 가장 엉성하지만 중학교 2학년 당시 처음으로 참가해서 입상했던 저에게는 의미가 큰 대회입니다.

Research Codes

vmsplice() kernel vulnerability protection module [Makefile] – 2008. 2. 11

vmsplice() 취약점에 대한 패치입니다. [Makefile]은 해당 커널 모듈을 컴파일 하기 위한 것이며, 코드에 대한 추가적인 사항은 Paper 메뉴의 “커널 방어 모듈을 통한 vmsplice() local root exploit 취약점 패치”를 참고하시기 바랍니다.

 

hktrace.c [practical use] – 2006

`The Way of Binary Copy without Permission` 문서의 기술을 기반으로 작성된 코드입니다.

 

Mem Jacking technique proof of concept code – 2009. 1. 24

Mem Jacking 기술을 기반으로 구현한 개념 증명 코드입니다. FireFox가 실행될 때의 메모리에서 메일 주소를 추출하여 파일에 저장하는 기능을 수행하며, 이와 관련된 자료는 Paper 메뉴의 “Mem Jacking” 문서를 참고하시면 됩니다.


Research Papers

7.7 DDoS 악성코드 분석 – 2009. 7. 9

2009년 7월, 한국과 미국의 주요 사이트들이 서비스 거부 공격(Distributed Denial-of-Service)의 위협을 받게 됩니다. 본 문서는 그러한 공격의 원인이 되는 악성 프로그램을 지극히 개인적인 관점에서 필요한 일부만을 정적 분석하였고, 부족하지만 해당 부분과 관련하여 조금의 참고라도 되고자 하는 마음에 공개합니다. 악성 코드에 대한 샘플(Sample)을 모두 구하지 못하였기 때문에 분석에 어느 정도 제한이 있을 것임을 미리 밝혀둡니다.

 

Mem Jacking – 2009. 1. 24

본 문서에서는 Mem-Jacking에 대한 간략한 설명, 방어책과 함께 그에 대한 기술 증명 코드를 포함하고 있습니다. 해당 기술은 milw0rm에서 공개된 Mem Jacking 문서를 기반으로 하고 있으며 이러한 기술명은 기존에 불리워지는 Session-Hijacking, Click-Jacking와 같은 기술들 처럼 악의적인 의도로 메모리를 가로챈다는 의미로 Mem-Jacking 이라는 명칭이 만들어졌습니다.

 

Linux Kernel Memory Disclosure 취약성의 기초 – 2009. 1. 5

본 문서에서는 Linux Kernel Memory Disclosure 취약성의 기초에 대하여 설명하고자 합니다. 이는 비록 커널 레벨에서의 취약성이지만 전반적으로 상당히 쉬운 개념에 속하며 커널이라는 생소함 또한 크게 느낄 수 없을 것입니다. 해당 취약성은 루트 권한을 획득할 만큼의 직접적인 위험성은 지니고 있지 않지만 메모리 상에 존재하는 패스워드와 같은 중요한 데이터를 획득할 수 있는 간접적인 위험성은 충분합니다. 기법에 대한 설명은 실제 발표된 취약성을 통해 진행할 것입니다.

 

ActiveX 취약성 공격시의 Unicode Shellcode – 2008. 8. 27

많은 사람들이 ActiveX 취약성 공격 시 유니코드상의 문제점으로 인하여 어려움을 겪고 있습니다. 이는 영문판 윈도우를 제외한 모든 사용자들에게 해당되는 것인데, 윈도우는 다양한 언어의 지원을 위하여 내부적으로 MBCS(Multi Byte Character Set)를 적용하고 있습니다. 때문에 우리가 삽입한 데이터가 그에 맞게 변경되므로 쉘 코드 제작이 힘들다는 것이 일반적인 사실입니다. 본 문서는 지금까지 관련 문제로 고생했던 그리고 앞으로 공부하고자 하는 모든 분들을 위하여 작성하였습니다.

 

Core Rootkit Technology for Linux Kernel 2.6 – 2008

리눅스 커널 2.6의 시스템 콜 제어에 대한 문서입니다. 커널 2.4 에서의 기술은 많이 공개되어 있지만 2.6 부터는 여러가지 제약 사항 때문에 적용이 어려운 것으로 알려져 있으며 전반적인 기반 기술을 정리해서 문서화 한 자료도 찾기 힘듭니다. 본 문서에서는 커널 2.6 에서의 시스템 콜 제어와 관련된 핵심 기술에 대하여 상세히 다루고 있습니다.

 

The Way of Binary Copy without Permission – 2007. 7

읽기 권한이 존재하지 않는 바이너리에 대한 복사를 수행하는 방법론 및 실제 코드의 적용 등을 기술한 문서입니다. 32bit x86 Linux와 FreeBSD 환경에서 테스트 되었으며 일반적으로 읽기 권한이 없는 상태의 바이너리에 대한 복사가 불가능하다는 편견을 하나씩 풀어 나갈 것 입니다. 문서와 관련된 전체 코드는 Code 메뉴에서 볼 수 있습니다.

 

커널 방어 모듈을 통한 vmsplice() local root exploit 취약점 패치 – 2008. 2. 11

취약점 익스플로잇을 살펴본 뒤에 잠깐 만들어본 커널 방어모듈에 대해 기술한 페이퍼입니다.

 

Shared Library Hijacking For Playing Wargames – 2005

간단한 팁에 대해 기술한 것으로 문서화는 제가 하지 않았습니다.

 

Universal setreuid() Shellcode – 2004

간단한 내용의 페이퍼입니다. 오래전에 작성된 자료입니다.

 

Vulnerabilities

Linux Kernel libceph Null Pointer Dereference Vulnerability (CVE-2013-1059) – 2013. 07

This is very brief advisory just to record the vulnerability which I discovered in my spare time.
A remote attacker, malicious ceph monitor, can make an exploit to cause a denial-of-service condition by sending the
crafted auth_reply message.
It could possibly lead to another impacts such as remote code execution if some other vulnerabilities are combined.
An explanation is based on linux kernel 3.10 which is latest version now.

 Mac OS X < 10.6.7 Kernel Panic Exploit – 2011. 06

The i386_set_ldt system call in the kernel in Apple Mac OS X before 10.6.7 does not properly handle call gates, which allows local users to gain privileges via vectors involving the creation of a call gate entry. – CVE-2011-0182

 

국내 압축 유틸리티 ZIP 파일 포멧 핸들링 취약성 – 2010. 6. 24

압축 유틸리티가 ZIP 파일 포멧의 File name 필드를 파싱 및 핸들링하는 과정에서 버퍼 오버플로우 취약성이 존재합니다. 이러한 문제점은, 해당 프로그램의 Crash 또는 악의적인 코드의 실행과 같은 결과로 이어질 수 있습니다. 본 권고문 발표 시 확인되어진 취약한 유틸리티는 빵집, V3ZIP, 밤톨이 등입니다.


Profile

Name – Chanam Park
Nickname – hkpco (how to pronounce – hackko, haeko, hepko, pico, h-k-p-c-o and so on)
E-mail – chanam.park@hkpco.kr
Twitter – @hkpco

 

Prizes Won
Codegate International Hacking Security Competition 2009 / 1st(CParK team)
Hack In The Box Capture The Flag 2009 / 1st(KOREA team)
PADOCON Live Hacking Festival (CTF) 2005 / 1st
HUST Hacking Festival 2012 / 1st
Hacking & Security Championship 2007 / 1st
Argos Hacking Festival 2006 / 1st
Youth’s Information Security Festival 2007 / 1st
Youth’s Information Security Festival 2005 / 1st
Youth’s Information Security Festival 2006 / 2nd
KISA Hacking & Security Contest 2011 / 2nd(JAMBa team)
KISA Hacking & Security Contest 2008 / 2nd(JAMS team)
Argos Hacking Festival 2005 / 2nd
DEFCON Capture The Flag 2013 / 3rd
HUST Hacking Festival 2008 / 3rd
Corea Hacking Challenge 2006 / 3rd(with PADOCON)
KISA Hacking & Security Contest 2009 / 3rd(JAMBa team)
UDCSC Hacking Contest 2006 / silver prize
KIMCHEON SCIENCE COLLEAGE Hacking Contest 2003 / bronze prize
DEFCON Capture The Flag 2007 / Qualified
DEFCON Capture The Flag 2008 / Qualified
DEFCON Capture The Flag 2009 / Qualified
Nuit Du Hack CTF 2012 / Qualified
PHDays CTF 2013 / Qualified

 

Contest Administration
Corea Hacking Challenge 2007
KAIST & POSTECH Science War 2007-2010
Codegate International Hacking Security Competition 2008
Cyber Warfare ISEC Capture The Flag 2009-2010
WhiteHat Hacker Competition for Youth 2012-2013
Secuinside CTF 2013

 

Profile

성명 – 박찬암
닉네임 – hkpco (발음 – 핵코, 해코, 햅코, 피코, 해풔, 핵포, 흐큽코, 에이치케이피씨오 등등)
이메일 – chanam.park@hkpco.kr
Twitter – @hkpco

 

입상
코드게이트(Codegate) 국제해킹방어대회 2009 / 1위(CParK team)
Hack In The Box Capture The Flag 2009 / 1위(KOREA team)
고교생 해킹 보안 챔피언십 2007 / 1위
HUST Hacking Festival 2012 / 1위
전국 대학 연합 PADOCON 해킹대회 2005 / 1위
Argos Hacking Festival 2006 / 1위
청소년 정보보호 페스티벌 2007 / 1위
순천향대 총장배 정보보호 페스티벌 2005 / 1위
KISA 해킹 방어대회 2011 / 2위(JAMBa team)
KISA 해킹 방어대회 2008 / 2위(JAMS team)
청소년 정보보호 페스티벌 2006 / 2위
Argos Hacking Festival 2005 / 2위
DEFCON Capture The Flag 2013 / 3위
HUST Hacking Festival 2008 / 3위
KISA 해킹 방어대회 2009 / 3위(JAMBa team)
Corea Hacking Challenge 2006 / 3위(with PADOCON)
대전지역보안연합(UDCSC) 해킹대회 2006 / 은상
김천과학대학 해킹경진대회 중고등부 2003 / 동상
DEFCON Capture The Flag 2007 / 본선진출
DEFCON Capture The Flag 2008 / 본선진출
DEFCON Capture The Flag 2009 / 본선진출
Nuit Du Hack CTF 2012 / 본선진출
PHDays  CTF 2013 / 본선 진출

 

대회 운영 및 문제출제
Corea Hacking Challenge 2007
KAIST & POSTECH Science War 2007-2010
코드게이트(Codegate) 국제해킹방어대회 2008
Cyber Warfare ISEC Capture The Flag 2009-2010
청소년 화이트해커 경진대회 2012-2013
Secuinside CTF 2014