뮤직 플레이어 Exploit
2013 CODEGATE JUNIOR
현성원(sweetchip) 서울대원고등학교
Blog : http://pgnsc.tistory.com
Site : http://studyc.co.kr
E-mail : sweetchip@studyc.co.kr
Facebook : https://fb.com/sweetchipp
Vulnerability
시연 자료 : http://codegate.studyc.co.kr시연 자료 : http://codegate.studyc.co.kr
§ 보안 취약점
§ 하드웨어나 소프트웨어의 결함을 이용하여 사용자가 허용이상의 권한
을 획득 하거나 동작을 가능하게 하는 약점
§ 취약점을 이용하여 권한탈취, 정보유출이 가능하다
§ 서버 데몬의 0-Day를 이용하여 서버를 다운, 권한탈취가 가능하다
§ 취약점을 이용한 PDF, HWP파일을 이용하여 나도 모르게 해커에게 해
커에게 권한을 탈취 당해, 자료를 유출당했다.
Vulnerability
§ 보안 취약점
§ 하드웨어나 소프트웨어의 결함을 이용하여 사용자가 허용이상의 권한
을 획득 하거나 동작을 가능하게 하는 약점
§ 취약점을 이용하여 권한탈취, 정보유출이 가능하다
§ 서버 데몬의 0-Day를 이용하여 서버를 다운, 권한탈취가 가능하다
§ 취약점을 이용한 PDF, HWP파일을 이용하여 나도 모르게 해커에게 해
커에게 권한을 탈취 당해, 자료를 유출당했다.
§ 프로그램에서 데이터를 저장할때 개발자가 정한 크기의 버퍼를 사용한다.
§ 버퍼의 용량보다 더 많은 데이터 할당시 다른 메모리영역 까지 침범하여 오류
를 발생시킨다.
§ 버퍼 오버플로우를 이용하여 다른 메모리 영역의 데이터를 바꿀수 있으므로,
공격이 가능하다.
§ 입력한 값의 길이를 검사하는 부분을 추가한다면 충분히 방어가 가능하다.
Windows Buffer Overflow
§ 프로그램에서 데이터를 저장할때 개발자가 정한 크기의 버퍼를 사용한다.
§ 버퍼의 용량보다 더 많은 데이터 할당시 다른 메모리영역 까지 침범하여 오류
를 발생시킨다.
§ 버퍼 오버플로우를 이용하여 다른 메모리 영역의 데이터를 바꿀수 있으므로,
공격이 가능하다.
§ 입력한 값의 길이를 검사하는 부분을 추가한다면 충분히 방어가 가능하다.
§ Target : 뮤직 플레이어
§ Buffer Overflow 취약점
§ ID3 Tag 이용한 Exploit
시연
§ Target : 뮤직 플레이어
§ Buffer Overflow 취약점
§ ID3 Tag 이용한 Exploit
§ ID3는 MP3 파일에서 사용하는 메타
데이터 포맷으로, 음악의 제목, 음악
가 이름등의 음악 파일에 관련된 정
보를 담는다.
§ 로컬의 MP3 파일을 불러올때 ID3를
불러온다.
§ 출처 : http://ko.wikipedia.org/wiki/ID3
ID3 Tag?
§ ID3는 MP3 파일에서 사용하는 메타
데이터 포맷으로, 음악의 제목, 음악
가 이름등의 음악 파일에 관련된 정
보를 담는다.
§ 로컬의 MP3 파일을 불러올때 ID3를
불러온다.
§ 출처 : http://ko.wikipedia.org/wiki/ID3
§ 파일 로딩시 ID3 값의 길이
를 검사하지 않는 문제점
§ 그러므로 비정상적으로 많은
데이터 주입 가능
§ 결국 버퍼오버플로우 발생
Vuln?
§ 파일 로딩시 ID3 값의 길이
를 검사하지 않는 문제점
§ 그러므로 비정상적으로 많은
데이터 주입 가능
§ 결국 버퍼오버플로우 발생
§ Python Script 사용
§ ID3 Tag + Nop * 8000000
§ iamcrasher.mp3 파일 생성
§ 재생
취약점 찾기
§ Python Script 사용
§ ID3 Tag + Nop * 8000000
§ iamcrasher.mp3 파일 생성
§ 재생
OllyDBG
- 국내에 잘 알려진 도구
- 다양한 플러그인 지원
- 무료
Immunity DBG
- OllyDBG와 비슷한 UI
- Python Script 지원
- OllyDBG보다 빠르다
취약점 분석
OllyDBG
- 국내에 잘 알려진 도구
- 다양한 플러그인 지원
- 무료
Immunity DBG
- OllyDBG와 비슷한 UI
- Python Script 지원
- OllyDBG보다 빠르다
§ 최신 버전은 Themida 로 실행압축 되어있었다.
§ Unpack Script등을 이용한다면 언패킹이 가능하다
§ 스크립트는 일부 버전만 나와있으므로 예전 버전을 구하기로 했다.
§ 예전 버전으로 사용하여 Themida 우회 없이 분석이 가능했다.
분석중 문제.
§ 최신 버전은 Themida 로 실행압축 되어있었다.
§ Unpack Script등을 이용한다면 언패킹이 가능하다
§ 스크립트는 일부 버전만 나와있으므로 예전 버전을 구하기로 했다.
§ 예전 버전으로 사용하여 Themida 우회 없이 분석이 가능했다.
Memory Protection
§ SafeSEH, DEP, ASLR 중 SafeSeh와 DEP가 exe에 걸려있는 상태
§ ASLR은 Windows Vista부터 적용되는 보호기법이므로 XP에선 해당되
지 않는다.
§ DEP는 XP sp3 기준으로 Optin 옵션이다. [다음 페이지에 설명]
Memory Protection
§ SafeSEH, DEP, ASLR 중 SafeSeh와 DEP가 exe에 걸려있는 상태
§ ASLR은 Windows Vista부터 적용되는 보호기법이므로 XP에선 해당되
지 않는다.
§ DEP는 XP sp3 기준으로 Optin 옵션이다. [다음 페이지에 설명]
§ Safe Seh는 SEH Overwrite 공격을 막기위한 보호기법
§ SE Handler의 값이 올바르지 않은 값으로 변조 되었는지 체크
§ 변조를 확인하면 프로그램을 종료한다.
§ EXE와 로딩된 모듈중, SafeSeh 옵션이 걸려있지 않은 모듈의 Pop/Pop/Ret 이나 Call /
Jmp dword ptr[ebp+n] 종류의 명령어를 이용한다면 우회가 가능하다.
§ 간단하게 찾아주는 Pvefindaddr 과 Mona 파이썬 스크립트가 있다.
Memory Protection - Safe Seh
§ Safe Seh는 SEH Overwrite 공격을 막기위한 보호기법
§ SE Handler의 값이 올바르지 않은 값으로 변조 되었는지 체크
§ 변조를 확인하면 프로그램을 종료한다.
§ EXE와 로딩된 모듈중, SafeSeh 옵션이 걸려있지 않은 모듈의 Pop/Pop/Ret 이나 Call /
Jmp dword ptr[ebp+n] 종류의 명령어를 이용한다면 우회가 가능하다.
§ 간단하게 찾아주는 Pvefindaddr 과 Mona 파이썬 스크립트가 있다.
§ SEH [ Structured Exception Handler , 구조적 예외처리]
§ Pointer to next SEH record : 다음 SE Handler의 주소
§ SE Handler : 예외 발생시 이동할 Pointer.
§ 프로그램에서 Exception 발생시 처리 하는 역할
§ 강제로 예외를 발생시키고 BOF 공격으로 SE Handler 를 변조시킨다
면 EIP 변조가 가능하다. 이를 SEH Overwite 기법이라고 한다.
Memory Protection - SEH
§ SEH [ Structured Exception Handler , 구조적 예외처리]
§ Pointer to next SEH record : 다음 SE Handler의 주소
§ SE Handler : 예외 발생시 이동할 Pointer.
§ 프로그램에서 Exception 발생시 처리 하는 역할
§ 강제로 예외를 발생시키고 BOF 공격으로 SE Handler 를 변조시킨다
면 EIP 변조가 가능하다. 이를 SEH Overwite 기법이라고 한다.
§ DEP [Data Excution Prevention]
§ 코드 영역 이외 Stack, Heap, Data Section의 Code Execution 금지
§ 코드 실행시 Exception 으로 프로그램을 종료
§ Windows XP / SP3 기준으로 DEP는 Optin이 기본옵션이므로, 해당 플
레이어는 DEP의 제약을 받지 않는다.
Memory Protection - DEP
§ DEP [Data Excution Prevention]
§ 코드 영역 이외 Stack, Heap, Data Section의 Code Execution 금지
§ 코드 실행시 Exception 으로 프로그램을 종료
§ Windows XP / SP3 기준으로 DEP는 Optin이 기본옵션이므로, 해당 플
레이어는 DEP의 제약을 받지 않는다.
Memory Protection - ASLR
§ ASLR (Address Space Layout Randomization, 랜덤 주소 배치)
§ 프로그램 로딩 또는 부팅시 배치되는 주소가 매번 바뀌는 보호기법
§ 메모리 주소를 바뀌게 해서 효과적으로 BOF 공격을 방어
§ Windows Vista 부터 적용되는 방어기법으로, XP에는 해당사항이 아님
§ 사진은 왼쪽부터 ASLR On / On / Off 상태이다.
§ 16진수로 짜여진 프로그램 코드, 주로 Stack 영역에서 실행
§ Shellcode는 Backtrack 의 Metasploit 프로젝트를 이용하여 쉽게 제작
이 가능하다.
§ 쉘코드를 이용하여 원격연결, 실행, 백도어 포트개방등 다양한 명령을
실행이 가능하다.
§ 상황에 따라 인코딩이 필요한 경우도 있다. 예를들어, _swprintf 는 x00
과 xff가 들어있는경우 쉘코드가 손상되므로 저런 문자가 생기지 않도
록 인코딩을 하는것이 중요하다.
§ 예제 - 리눅스에서 /bin/sh를 실행하는 쉘코드
x31xc0x50x68x2fx2fx73x68x68x2fx62x69x6ex89xe3x50x53x89xe1x31xd2xb0x0bxcdx80
Shell Code
§ 16진수로 짜여진 프로그램 코드, 주로 Stack 영역에서 실행
§ Shellcode는 Backtrack 의 Metasploit 프로젝트를 이용하여 쉽게 제작
이 가능하다.
§ 쉘코드를 이용하여 원격연결, 실행, 백도어 포트개방등 다양한 명령을
실행이 가능하다.
§ 상황에 따라 인코딩이 필요한 경우도 있다. 예를들어, _swprintf 는 x00
과 xff가 들어있는경우 쉘코드가 손상되므로 저런 문자가 생기지 않도
록 인코딩을 하는것이 중요하다.
§ 예제 - 리눅스에서 /bin/sh를 실행하는 쉘코드
x31xc0x50x68x2fx2fx73x68x68x2fx62x69x6ex89xe3x50x53x89xe1x31xd2xb0x0bxcdx80
§ 2가지 이상 ShellCode를 이용한 Exploit 을 시연할 예정이다.
§ 1. Exec Shellcode - CMD 나 Calc 를 실행시킴
§ 2. Bind Shellcode - Victim의 Backdoor Port 를 개방
§ 3. Reverse Shellcode - Victim이 Hacker의 Server로 연결
시연에 사용할 Shellcode
§ 2가지 이상 ShellCode를 이용한 Exploit 을 시연할 예정이다.
§ 1. Exec Shellcode - CMD 나 Calc 를 실행시킴
§ 2. Bind Shellcode - Victim의 Backdoor Port 를 개방
§ 3. Reverse Shellcode - Victim이 Hacker의 Server로 연결
Shellcode - Exec Shellcode
§ Victim의 Backdoor 포트를 여는 쉘코드
§ 실제로 쉘코드를 실행하면 왼쪽과 같이
4444포트로 포트가 개방됨
§ 포트를 여는 과정에서 방화벽이나 안티바
이러스등 블로킹을 당할수 있는 단점
Shellcode - Bind Shellcode
§ Victim의 Backdoor 포트를 여는 쉘코드
§ 실제로 쉘코드를 실행하면 왼쪽과 같이
4444포트로 포트가 개방됨
§ 포트를 여는 과정에서 방화벽이나 안티바
이러스등 블로킹을 당할수 있는 단점
Shellcode - Reverse Shellcode
§ Bind Shellcode 와는 반대로 Victim 이 Server에 역으로 접속
§ Bind 에 비해 방화벽이나 안티바이러스에 블로킹 당할 확률이 낮다
§ Victim의 IP를 몰라도 된다.
§ BOF 이후의 Stack의 상태를 예상한다.
§ SEH 를 변조하기 위해 Fack Handler 삽
입한 상태
§ Fake Handler 에 의해 0x00280b0b 로
이동
§ 이동후 Call ebp+30 에 의해 short jump
의 주소로 이동 [스택에 진입]
§ 약 0x12 Byte 만큼 점프후 padding 진입
§ padding[x90]와 Shellcode 실행
§ GOT SHELL
Payload 구성
§ BOF 이후의 Stack의 상태를 예상한다.
§ SEH 를 변조하기 위해 Fack Handler 삽
입한 상태
§ Fake Handler 에 의해 0x00280b0b 로
이동
§ 이동후 Call ebp+30 에 의해 short jump
의 주소로 이동 [스택에 진입]
§ 약 0x12 Byte 만큼 점프후 padding 진입
§ padding[x90]와 Shellcode 실행
§ GOT SHELL
§ 사진은 Python으로 제작된 exploit
§ 모은 정보를 이용하여 Exploit을 작성.
§ GOT SHELL :D
Exploit 구성
§ 사진은 Python으로 제작된 exploit
§ 모은 정보를 이용하여 Exploit을 작성.
§ GOT SHELL :D
EXPLOITEXPLOIT
Questions?Questions?
뮤직 플레이어 Exploit
2013 CODEGATE JUNIOR
Thank you!
현성원(sweetchip) 서울대원고등학교
Blog : http://pgnsc.tistory.com
Site : http://studyc.co.kr
E-mail : sweetchip@studyc.co.kr
Facebook : https://fb.com/sweetchipp

Codegate 2013 Junior - Music Player Exploit

  • 1.
    뮤직 플레이어 Exploit 2013CODEGATE JUNIOR 현성원(sweetchip) 서울대원고등학교 Blog : http://pgnsc.tistory.com Site : http://studyc.co.kr E-mail : sweetchip@studyc.co.kr Facebook : https://fb.com/sweetchipp
  • 2.
    Vulnerability 시연 자료 :http://codegate.studyc.co.kr시연 자료 : http://codegate.studyc.co.kr
  • 3.
    § 보안 취약점 §하드웨어나 소프트웨어의 결함을 이용하여 사용자가 허용이상의 권한 을 획득 하거나 동작을 가능하게 하는 약점 § 취약점을 이용하여 권한탈취, 정보유출이 가능하다 § 서버 데몬의 0-Day를 이용하여 서버를 다운, 권한탈취가 가능하다 § 취약점을 이용한 PDF, HWP파일을 이용하여 나도 모르게 해커에게 해 커에게 권한을 탈취 당해, 자료를 유출당했다. Vulnerability § 보안 취약점 § 하드웨어나 소프트웨어의 결함을 이용하여 사용자가 허용이상의 권한 을 획득 하거나 동작을 가능하게 하는 약점 § 취약점을 이용하여 권한탈취, 정보유출이 가능하다 § 서버 데몬의 0-Day를 이용하여 서버를 다운, 권한탈취가 가능하다 § 취약점을 이용한 PDF, HWP파일을 이용하여 나도 모르게 해커에게 해 커에게 권한을 탈취 당해, 자료를 유출당했다.
  • 4.
    § 프로그램에서 데이터를저장할때 개발자가 정한 크기의 버퍼를 사용한다. § 버퍼의 용량보다 더 많은 데이터 할당시 다른 메모리영역 까지 침범하여 오류 를 발생시킨다. § 버퍼 오버플로우를 이용하여 다른 메모리 영역의 데이터를 바꿀수 있으므로, 공격이 가능하다. § 입력한 값의 길이를 검사하는 부분을 추가한다면 충분히 방어가 가능하다. Windows Buffer Overflow § 프로그램에서 데이터를 저장할때 개발자가 정한 크기의 버퍼를 사용한다. § 버퍼의 용량보다 더 많은 데이터 할당시 다른 메모리영역 까지 침범하여 오류 를 발생시킨다. § 버퍼 오버플로우를 이용하여 다른 메모리 영역의 데이터를 바꿀수 있으므로, 공격이 가능하다. § 입력한 값의 길이를 검사하는 부분을 추가한다면 충분히 방어가 가능하다.
  • 5.
    § Target :뮤직 플레이어 § Buffer Overflow 취약점 § ID3 Tag 이용한 Exploit 시연 § Target : 뮤직 플레이어 § Buffer Overflow 취약점 § ID3 Tag 이용한 Exploit
  • 6.
    § ID3는 MP3파일에서 사용하는 메타 데이터 포맷으로, 음악의 제목, 음악 가 이름등의 음악 파일에 관련된 정 보를 담는다. § 로컬의 MP3 파일을 불러올때 ID3를 불러온다. § 출처 : http://ko.wikipedia.org/wiki/ID3 ID3 Tag? § ID3는 MP3 파일에서 사용하는 메타 데이터 포맷으로, 음악의 제목, 음악 가 이름등의 음악 파일에 관련된 정 보를 담는다. § 로컬의 MP3 파일을 불러올때 ID3를 불러온다. § 출처 : http://ko.wikipedia.org/wiki/ID3
  • 7.
    § 파일 로딩시ID3 값의 길이 를 검사하지 않는 문제점 § 그러므로 비정상적으로 많은 데이터 주입 가능 § 결국 버퍼오버플로우 발생 Vuln? § 파일 로딩시 ID3 값의 길이 를 검사하지 않는 문제점 § 그러므로 비정상적으로 많은 데이터 주입 가능 § 결국 버퍼오버플로우 발생
  • 8.
    § Python Script사용 § ID3 Tag + Nop * 8000000 § iamcrasher.mp3 파일 생성 § 재생 취약점 찾기 § Python Script 사용 § ID3 Tag + Nop * 8000000 § iamcrasher.mp3 파일 생성 § 재생
  • 9.
    OllyDBG - 국내에 잘알려진 도구 - 다양한 플러그인 지원 - 무료 Immunity DBG - OllyDBG와 비슷한 UI - Python Script 지원 - OllyDBG보다 빠르다 취약점 분석 OllyDBG - 국내에 잘 알려진 도구 - 다양한 플러그인 지원 - 무료 Immunity DBG - OllyDBG와 비슷한 UI - Python Script 지원 - OllyDBG보다 빠르다
  • 10.
    § 최신 버전은Themida 로 실행압축 되어있었다. § Unpack Script등을 이용한다면 언패킹이 가능하다 § 스크립트는 일부 버전만 나와있으므로 예전 버전을 구하기로 했다. § 예전 버전으로 사용하여 Themida 우회 없이 분석이 가능했다. 분석중 문제. § 최신 버전은 Themida 로 실행압축 되어있었다. § Unpack Script등을 이용한다면 언패킹이 가능하다 § 스크립트는 일부 버전만 나와있으므로 예전 버전을 구하기로 했다. § 예전 버전으로 사용하여 Themida 우회 없이 분석이 가능했다.
  • 11.
  • 12.
    § SafeSEH, DEP,ASLR 중 SafeSeh와 DEP가 exe에 걸려있는 상태 § ASLR은 Windows Vista부터 적용되는 보호기법이므로 XP에선 해당되 지 않는다. § DEP는 XP sp3 기준으로 Optin 옵션이다. [다음 페이지에 설명] Memory Protection § SafeSEH, DEP, ASLR 중 SafeSeh와 DEP가 exe에 걸려있는 상태 § ASLR은 Windows Vista부터 적용되는 보호기법이므로 XP에선 해당되 지 않는다. § DEP는 XP sp3 기준으로 Optin 옵션이다. [다음 페이지에 설명]
  • 13.
    § Safe Seh는SEH Overwrite 공격을 막기위한 보호기법 § SE Handler의 값이 올바르지 않은 값으로 변조 되었는지 체크 § 변조를 확인하면 프로그램을 종료한다. § EXE와 로딩된 모듈중, SafeSeh 옵션이 걸려있지 않은 모듈의 Pop/Pop/Ret 이나 Call / Jmp dword ptr[ebp+n] 종류의 명령어를 이용한다면 우회가 가능하다. § 간단하게 찾아주는 Pvefindaddr 과 Mona 파이썬 스크립트가 있다. Memory Protection - Safe Seh § Safe Seh는 SEH Overwrite 공격을 막기위한 보호기법 § SE Handler의 값이 올바르지 않은 값으로 변조 되었는지 체크 § 변조를 확인하면 프로그램을 종료한다. § EXE와 로딩된 모듈중, SafeSeh 옵션이 걸려있지 않은 모듈의 Pop/Pop/Ret 이나 Call / Jmp dword ptr[ebp+n] 종류의 명령어를 이용한다면 우회가 가능하다. § 간단하게 찾아주는 Pvefindaddr 과 Mona 파이썬 스크립트가 있다.
  • 14.
    § SEH [Structured Exception Handler , 구조적 예외처리] § Pointer to next SEH record : 다음 SE Handler의 주소 § SE Handler : 예외 발생시 이동할 Pointer. § 프로그램에서 Exception 발생시 처리 하는 역할 § 강제로 예외를 발생시키고 BOF 공격으로 SE Handler 를 변조시킨다 면 EIP 변조가 가능하다. 이를 SEH Overwite 기법이라고 한다. Memory Protection - SEH § SEH [ Structured Exception Handler , 구조적 예외처리] § Pointer to next SEH record : 다음 SE Handler의 주소 § SE Handler : 예외 발생시 이동할 Pointer. § 프로그램에서 Exception 발생시 처리 하는 역할 § 강제로 예외를 발생시키고 BOF 공격으로 SE Handler 를 변조시킨다 면 EIP 변조가 가능하다. 이를 SEH Overwite 기법이라고 한다.
  • 15.
    § DEP [DataExcution Prevention] § 코드 영역 이외 Stack, Heap, Data Section의 Code Execution 금지 § 코드 실행시 Exception 으로 프로그램을 종료 § Windows XP / SP3 기준으로 DEP는 Optin이 기본옵션이므로, 해당 플 레이어는 DEP의 제약을 받지 않는다. Memory Protection - DEP § DEP [Data Excution Prevention] § 코드 영역 이외 Stack, Heap, Data Section의 Code Execution 금지 § 코드 실행시 Exception 으로 프로그램을 종료 § Windows XP / SP3 기준으로 DEP는 Optin이 기본옵션이므로, 해당 플 레이어는 DEP의 제약을 받지 않는다.
  • 16.
    Memory Protection -ASLR § ASLR (Address Space Layout Randomization, 랜덤 주소 배치) § 프로그램 로딩 또는 부팅시 배치되는 주소가 매번 바뀌는 보호기법 § 메모리 주소를 바뀌게 해서 효과적으로 BOF 공격을 방어 § Windows Vista 부터 적용되는 방어기법으로, XP에는 해당사항이 아님 § 사진은 왼쪽부터 ASLR On / On / Off 상태이다.
  • 17.
    § 16진수로 짜여진프로그램 코드, 주로 Stack 영역에서 실행 § Shellcode는 Backtrack 의 Metasploit 프로젝트를 이용하여 쉽게 제작 이 가능하다. § 쉘코드를 이용하여 원격연결, 실행, 백도어 포트개방등 다양한 명령을 실행이 가능하다. § 상황에 따라 인코딩이 필요한 경우도 있다. 예를들어, _swprintf 는 x00 과 xff가 들어있는경우 쉘코드가 손상되므로 저런 문자가 생기지 않도 록 인코딩을 하는것이 중요하다. § 예제 - 리눅스에서 /bin/sh를 실행하는 쉘코드 x31xc0x50x68x2fx2fx73x68x68x2fx62x69x6ex89xe3x50x53x89xe1x31xd2xb0x0bxcdx80 Shell Code § 16진수로 짜여진 프로그램 코드, 주로 Stack 영역에서 실행 § Shellcode는 Backtrack 의 Metasploit 프로젝트를 이용하여 쉽게 제작 이 가능하다. § 쉘코드를 이용하여 원격연결, 실행, 백도어 포트개방등 다양한 명령을 실행이 가능하다. § 상황에 따라 인코딩이 필요한 경우도 있다. 예를들어, _swprintf 는 x00 과 xff가 들어있는경우 쉘코드가 손상되므로 저런 문자가 생기지 않도 록 인코딩을 하는것이 중요하다. § 예제 - 리눅스에서 /bin/sh를 실행하는 쉘코드 x31xc0x50x68x2fx2fx73x68x68x2fx62x69x6ex89xe3x50x53x89xe1x31xd2xb0x0bxcdx80
  • 18.
    § 2가지 이상ShellCode를 이용한 Exploit 을 시연할 예정이다. § 1. Exec Shellcode - CMD 나 Calc 를 실행시킴 § 2. Bind Shellcode - Victim의 Backdoor Port 를 개방 § 3. Reverse Shellcode - Victim이 Hacker의 Server로 연결 시연에 사용할 Shellcode § 2가지 이상 ShellCode를 이용한 Exploit 을 시연할 예정이다. § 1. Exec Shellcode - CMD 나 Calc 를 실행시킴 § 2. Bind Shellcode - Victim의 Backdoor Port 를 개방 § 3. Reverse Shellcode - Victim이 Hacker의 Server로 연결
  • 19.
  • 20.
    § Victim의 Backdoor포트를 여는 쉘코드 § 실제로 쉘코드를 실행하면 왼쪽과 같이 4444포트로 포트가 개방됨 § 포트를 여는 과정에서 방화벽이나 안티바 이러스등 블로킹을 당할수 있는 단점 Shellcode - Bind Shellcode § Victim의 Backdoor 포트를 여는 쉘코드 § 실제로 쉘코드를 실행하면 왼쪽과 같이 4444포트로 포트가 개방됨 § 포트를 여는 과정에서 방화벽이나 안티바 이러스등 블로킹을 당할수 있는 단점
  • 21.
    Shellcode - ReverseShellcode § Bind Shellcode 와는 반대로 Victim 이 Server에 역으로 접속 § Bind 에 비해 방화벽이나 안티바이러스에 블로킹 당할 확률이 낮다 § Victim의 IP를 몰라도 된다.
  • 22.
    § BOF 이후의Stack의 상태를 예상한다. § SEH 를 변조하기 위해 Fack Handler 삽 입한 상태 § Fake Handler 에 의해 0x00280b0b 로 이동 § 이동후 Call ebp+30 에 의해 short jump 의 주소로 이동 [스택에 진입] § 약 0x12 Byte 만큼 점프후 padding 진입 § padding[x90]와 Shellcode 실행 § GOT SHELL Payload 구성 § BOF 이후의 Stack의 상태를 예상한다. § SEH 를 변조하기 위해 Fack Handler 삽 입한 상태 § Fake Handler 에 의해 0x00280b0b 로 이동 § 이동후 Call ebp+30 에 의해 short jump 의 주소로 이동 [스택에 진입] § 약 0x12 Byte 만큼 점프후 padding 진입 § padding[x90]와 Shellcode 실행 § GOT SHELL
  • 23.
    § 사진은 Python으로제작된 exploit § 모은 정보를 이용하여 Exploit을 작성. § GOT SHELL :D Exploit 구성 § 사진은 Python으로 제작된 exploit § 모은 정보를 이용하여 Exploit을 작성. § GOT SHELL :D
  • 24.
  • 25.
  • 26.
    뮤직 플레이어 Exploit 2013CODEGATE JUNIOR Thank you! 현성원(sweetchip) 서울대원고등학교 Blog : http://pgnsc.tistory.com Site : http://studyc.co.kr E-mail : sweetchip@studyc.co.kr Facebook : https://fb.com/sweetchipp