Real Geeks

와우해커 행사용 광고 영상

AB형의 GEEK

보안 및 해킹 컨퍼런스 티켓 할인 캠페인

카테고리 없음
와우해커 사이트에서 신청하면 15만원 티켓이 2만원으로 구입이 가능합니다.

http://wowhacker.com/hot/53066

http://wowhacker.com/hot/rss

해커 컨퍼런스 관련

AB형의 GEEK

해커 컨퍼런스랑 해킹 대회 개최 관련해서 포스팅이 힘듬..

시간내서 다시 열심히 포스팅을 해야하는데...


사용자 삽입 이미지


와우해커 마크가 있는 버스...


사용자 삽입 이미지

강남일대에서 자주볼수있는 버스..

Cansec 2008

시스템/IT/탐나는정보들
흥미로운 해킹대회 스타일의 컨셉?

제로데이 취약점을 찾는자에게 20000달러의 상금을 주는 스타일의 해킹대회가
있다.

Cansec 컨퍼런스라는 컨퍼런스에서 하는것으로

첫번째, 순수 OS에 모든 패치를 다하고 그 시스템에 대한 취약점을 찾으면 20000달러
두번째, 첫번째 단계에 + 자체내장된 어플리케이션을 포함한 내용의 취약점을 찾으면
           10000달러 , 이때 외부의 서버등에 접속시켜서 실행되는 코드등의 취약점도
           포함이됨
세번째, 두번째까지에다가 다른 어플리케이션을 설치해서 취약점을 찾으면 5000달러
     
위와 같은 내용으로 해킹대회를 진행한다.

우리 와우해커에서도 위와 같은 스타일의 대회를 이벤트 옵션으로 개최를 해봐야겠다
하지만, 국내에서 개최했을때 과연 제로데이가 얼마나 많이 나올런지는 예측불가

해당 대회는 벤더에게 먼저 취약점과 그 해결책을 제시해야야하고, 그때까지
대외적으로 공개는 할수가 없다. 그리고 해당 시스템은 대회를 하고 수상자에게
준다고 한다.

올해는 특히 맥북에어를 이용한 사파리 자체 취약점으로 원격코드가 실행되도록
한 내용등으로 2분만에 했다라는 내용이 있는데, 이 부분은 미리 알고있는 취약점
을 들고가서 한듯싶은 생각이 없지않다.

국내 그룹에서 출전한다면, 사실 미리준비하지 않은 이상 1단계(순수 OS 자체에 최신 패치에 최신업그레이드)에서 취약점을 당일날가서 바로하기는 좀 어려울듯싶고

2단계부터는 매우 많은 취약점들을 찾아낼것같다. 추후 와우해커에서 cansec 2009에
한번 나가서 stage2~ stage3를 공략해보는 기회를 마련하는 것도 좋은 그림이
될 것 같다.

위 대회를 위해서는 사전에 준비도 물론 필요하고, 제로데이 취약점을 찾는 부분이므로
상당한 집중과 노력이 필요할듯..

지금 하는 워게임스타일의 해킹대회도 어렵고, 데프콘에서도 워게임스타일로 진행을
한다. 하지만 cansec 과 같은 대회도 신선한 소재가 되며 즐거움을 선사하지 않을까
싶다.

cansec 2008 , 한국에서도 기필코 저런 스타일의 해킹 이벤트를 만드리라.


관련기사 :

http://www.hankyung.com/news/app/newsview.php?aid=2008033057891

2008 코드게이트 해킹 대회 스토리

AB형의 GEEK

목요일 새벽까지... 와우해커 멤버들과 대략적인 대회 문제 셋팅을 마무리하고

숨을 고르며.. 예선대회 시간까지 마무리 일을 하였음.

목요일 마이크로소프트 윈도우 2008 신제품 발표회 때문에, 새벽일찍 가서 잠도 못잔상태

금요일 바로.. 코드게이트 대회를 시작해야 하므로.. 잘수가 없다.

금요일 10시 바로 코드게이트 대회가 시작!!

윽.. 시작하자마자.. 자동으로 문이 열리는 시스템이 system time과 달라 안열리고

있어서 약 5분가량 지연된 일이 있었음..

신나게 신나게 문제들을 풀다가... 레벨1통과자가 조금씩 나오고...

레벨2~레벨4까지 금방가더니.. 레벨5를 가지고 거의 30시간은 사람들이 보낸듯싶다

레벨6 시스템문제도 어느정도 시간을 버텨주면서, 통과하는 사람들의 숫자가

팍줄었음..

아무튼 잠도 잘못자고,, 다들 고생한 대회였고,

무엇보다, 와우해커 멤버들의 노고가 아주 큰 대회 였음.




1억상금 해킹 대회

시스템/IT/탐나는정보들

오늘 밤 10시부터 1억상금의 해킹대회를 오픈한다.

많은 준비가 되었는데, 멤버들도 다 고생했는데

좋은 대회가 되었으면 한다.

공식 사이트는 http://www.codegate.org

대회 사이트는 http://codegate.wowhacker.ocm


과연 누가 상금을 받아갈지...


커널모듈을 통한 vmsplice() local root exploit 취약점에 대한 방어 모듈

시스템/IT/탐나는정보들
커널모듈을 통한 vmsplice() local root exploit 취약점에 대한 방어 모듈 제작 공개
by hkpco(wowhacker&wowcode)

오늘(2/11) 우연히 vmsplice() root exploit이 공개된것을 보고 커널모듈을 통한 패치를 만들었습니다.

현재까지 kernel 2.6 버전대에서 root exploit이 2개나 공개되었고, 그에대한 패치는

sys_vmsplice() 내부에서 호출되는 몇가지 함수들의 내부에 kernel api인 access_ok()를 사용해서

속성을 체크하는 루틴을 추가시키는 것으로써 예를들면 다음과 같습니다.

--- linux-2.6.orig/fs/splice.c
+++ linux-2.6/fs/splice.c
@@ -1237,6 +1237,9 @@ static int get_iovec_page_array(const st
                if (unlikely(!base))
                        break;

+                if (unlikely(!access_ok(VERIFY_READ, base, len)))
+                        break;
+

또 하나는 vmsplice() system call을 제거하는 방법입니다.

하지만, 두가지 방법 모두 커널을 다시 컴파일 해야하는 단점이 있습니다.

그래서 간단한 방어모듈을 제작해 봤습니다.

현재까지 나온 패치방법은 모두 커널 소스코드를 수정해야 하며,

외국에선 아래 커널 함수들을 수정하는 형태로 공개되었습니다.

vmsplice_to_pipe(), vmsplice_to_user(), get_iovec_page_array(), copy_from_user_mmap_sem()


그런데 위 함수들은 다음과 같은 순서로 호출됩니다.

-------
sys_vmsplice() -> vmsplice_to_pipe() -> get_iovec_page_array() -> copy_from_user_mmap_sem()
or
sys_vmsplice() -> vmsplice_to_user()
-------


그리고 각 kernel api들을 패치할 때 추가되는 루틴은 위 함수들에서 공통적으로 적용되는 인자값이기 때문에

아예 sys_vmsplice()에서 해당 인자값들을 체크하도록 한다면 취약점을 방어할 수 있습니다.

아래는 방어모듈 소스 코드와 이를 컴파일 하기위한 Makefile 입니다.

------------------------------
http://hkpco.kr/code/vmpatch.c
http://hkpco.kr/code/Makefile
------------------------------


다음은 방어모듈을 로드하기 전에 exploit을 테스트 한 결과입니다.

==========================
vmplice local root exploit
==========================

[hkpco@localhost ~]$ id
uid=500(hkpco) gid=500(hkpco) groups=500(hkpco) context=root:system_r:unconfined_t:SystemLow-SystemHigh

[hkpco@localhost ~]$ gcc -o vm_exploit vm_exploit.c
[hkpco@localhost ~]$ ./vm_exploit
-----------------------------------
Linux vmsplice Local Root Exploit
By qaaz
-----------------------------------
[+] mmap: 0x0 .. 0x1000
[+] page: 0x0
[+] page: 0x20
[+] mmap: 0x4000 .. 0x5000
[+] page: 0x4000
[+] page: 0x4020
[+] mmap: 0x1000 .. 0x2000
[+] page: 0x1000
[+] mmap: 0xb7f85000 .. 0xb7fb7000
[+] root

[root@localhost ~]# id
uid=0(root) gid=0(root) groups=500(hkpco) context=root:system_r:unconfined_t:SystemLow-SystemHigh


다음은 방어모듈을 로드하는 과정입니다.

====================
protect module patch
====================

[root@localhost hkpco]# wget http://hkpco.kr/code/vmpatch.c
--05:32:18--  http://hkpco.kr/code/vmpatch.c
Resolving hkpco.kr... 220.80.107.55
Connecting to hkpco.kr|220.80.107.55|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2287 (2.2K) [text/plain]
Saving to: `vmpatch.c'

100%[====================================================================================>] 2,287       --.-K/s   in 0s

05:32:18 (62.0 MB/s) - `vmpatch.c' saved [2287/2287]

[root@localhost hkpco]# wget http://hkpco.kr/code/Makefile
--05:32:33--  http://hkpco.kr/code/Makefile
Resolving hkpco.kr... 220.80.107.55
Connecting to hkpco.kr|220.80.107.55|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 210 [text/plain]
Saving to: `Makefile'

100%[====================================================================================>] 210         --.-K/s   in 0s

05:32:33 (12.2 MB/s) - `Makefile' saved [210/210]

[root@localhost hkpco]# ls
Makefile  vmpatch.c

[root@localhost hkpco]# make
make -C /lib/modules/2.6.18-1.2798.fc6/build SUBDIRS=/root/hkpco modules
make[1]: Entering directory `/usr/src/kernels/2.6.18-1.2798.fc6-i586'
  CC [M]  /root/hkpco/vmpatch.o
/root/hkpco/vmpatch.c: In function 'get_sys_call_table':
/root/hkpco/vmpatch.c:57: warning: assignment makes pointer from integer without a cast
  Building modules, stage 2.
  MODPOST
  CC      /root/hkpco/vmpatch.mod.o
  LD [M]  /root/hkpco/vmpatch.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.18-1.2798.fc6-i586'

[root@localhost hkpco]# ls -l vmpatch.ko
-rw-r--r-- 1 root root 109481 Feb 11 05:42 vmpatch.ko

[root@localhost hkpco]# insmod vmpatch.ko


다음은 방어모듈을 로드한 후에 다시 익스플로잇을 적용시켜본 모습입니다.

==========================
vmplice local root exploit
protect module loaded
==========================

[hkpco@localhost ~]$ id
uid=500(hkpco) gid=500(hkpco) groups=500(hkpco) context=root:system_r:unconfined_t:SystemLow-SystemHigh

[hkpco@localhost ~]$ gcc -o vm_exploit vm_exploit.c
[hkpco@localhost ~]$ ./vm_exploit
-----------------------------------
Linux vmsplice Local Root Exploit
By qaaz
-----------------------------------
[+] mmap: 0x0 .. 0x1000
[+] page: 0x0
[+] page: 0x20
[+] mmap: 0x4000 .. 0x5000
[+] page: 0x4000
[+] page: 0x4020
[+] mmap: 0x1000 .. 0x2000
[+] page: 0x1000
[+] mmap: 0xb7f85000 .. 0xb7fb7000
[-] vmsplice: Bad address

[hkpco@localhost ~]$ id
uid=500(hkpco) gid=500(hkpco) groups=500(hkpco) context=root:system_r:unconfined_t:SystemLow-SystemHigh


익스플로잇이 실패한것을 볼 수 있습니다.

리눅스 커널 배포판이 다양하고 커널 소스코드도 각 배포판마다 부분적으로 수정되기 때문에

시스템 콜 제어를 통한 방어모듈은 모든 리눅스 커널에서 적용되지는 못합니다.

!! 해당 커널모듈 코드는 2월에 출간될 와우스토리에서 Linux Kernel 2.6 Rootkit(제가씀ㅎㅎ) 이라는 주제로

소개되는 내용에서 설명하는 방법을 이용하고 있습니다


http://wowhacker.com/BoArD/view.php?id=wow_free&page=1&sn1=&divpage=2&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=8014

와우해커 07년 3번째 워크샵

카테고리 없음

사용자 삽입 이미지
hinehong 자고있내

사용자 삽입 이미지

pool

사용자 삽입 이미지
사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지


사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지