1 / 68

Wireless Router Hacking

Wireless Router Hacking. 홍정우 | B10S | Hackerschool. SECUINSIDE 2012. CONTENTS. 공유기의 기본개념. 공유기의 구성. 공유기의 기존 취약점들. IPTIME 0-Day 취약점. uPnP 를 이용한 외부 공격. ANYGATE 0-Day 취약점. 공유기 취약점 활용 시나리오. 대응 방안 및 향후 연구 계획. 공유기의 기본개념. 공유기의 기본 개념. 무선 네트워크 접근 & 인터넷 공유. 공유기의 기본 개념.

norton
Download Presentation

Wireless Router Hacking

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Wireless Router Hacking 홍정우 | B10S | Hackerschool SECUINSIDE 2012

  2. CONTENTS • 공유기의 기본개념 • 공유기의 구성 • 공유기의 기존 취약점들 • IPTIME 0-Day 취약점 • uPnP를 이용한 외부 공격 • ANYGATE 0-Day 취약점 • 공유기 취약점 활용 시나리오 • 대응 방안및 향후 연구 계획

  3. 공유기의 기본개념

  4. 공유기의 기본 개념 무선 네트워크 접근 & 인터넷 공유

  5. 공유기의 기본 개념 A통신사의 명동 지역 내 Wifi

  6. 공유기의 기본 개념 A통신사의 논현동 지역 내 Wifi

  7. 공유기의 기본 개념 잠재적 피해자들

  8. 공유기의 기본 개념

  9. 공유기의 구성

  10. 공유기의 구성 펌웨어 커널, 파일시스템 하드웨어

  11. 공유기의 구성 ( 하드웨어 )

  12. 공유기의 구성 ( 하드웨어 )

  13. 공유기의 구성 ( 하드웨어 ) DRAM 네트워크 컨트롤러 마이크로 컨트롤러 FLASH 메모리 안테나 , 전원 LAN 인터페이스 WAN 인터페이스

  14. 공유기의 구성 ( 펌웨어) 펌웨어 커널, 파일시스템 • Kernel : 2.4.19 • Filesystem : cramfs , squashfs , ext2 • Linux Command , Directory , busybox , cgi , config….

  15. 공유기의 기존 취약점들

  16. 공유기 기존 취약점들 1) IPTIME 공유기 백도어 2) Belkin디폴트 패스워드 3) Dlink인증 없는 설정 4) Linksys stack overflow

  17. 공유기 기존 취약점들 1) IPTIME 공유기 백도어 • 2007년도에 ISSUE가 됐었음 • (http://kldp.org/node/83510) • 내부 명령 실행 , 파일 열람 모두 가능 • 디버깅과 개발 시 편의성을 위해 만들어진 페이지

  18. 공유기 기존 취약점들 2) Belkin디폴트 패스워드

  19. 공유기 기존 취약점들 3) Dlink인증 없는 설정 http://192.168.0.1/apply.cgi? admin_password=pwdpwd& admin_password1=pwdpwd& admPass2=pwdpwd& remote_enable=1& remote_http_management_enable=1& remote_http_management_port=8080& remote_inbound_filter=Allow_All& remote_http_management_inbound_filter=Allow_All • 관리자에 대한 인증절차가 없이 모든 인자 값이 정상 처리된다.

  20. 공유기 기존 취약점들 4) Linksys stack overflow • 경계 값 체크 없이 프로그래밍

  21. IPTIME 0-Day 취약점

  22. IPTIME 0-Day 취약점 악의적인 사용자 TARGET ③ 공격 ④ 모의 공격 취약점 발견 ② ① TARGET과 동일한 공유기 잠재적 피해자들

  23. IPTIME 0-Day 취약점 ① 취약점 발견 펌웨어가 취약 할 것이다. 악의적인 사용자 펌웨어 획득 방법 공식 홈페이지에서 최신펌웨어 다운로드 MCU의 JTAG 포트를 이용한 DUMP Flash 메모리 분리 후 DUMP 모의 공격 취약점 발견 TARGET과 동일한 공유기

  24. IPTIME 0-Day 취약점 펌웨어 확보 방법 (1) : 공식 홈페이지에서 최신 펌웨어 다운로드

  25. IPTIME 0-Day 취약점 펌웨어 확보 방법 (2) : MCU의 JTAG 포트 연결 후 DUMP JTAG PINOUT

  26. IPTIME 신규 취약점 펌웨어 확보 방법 (2) : MCU의 JTAG 포트 연결 JTAG 전용 장비 필요http://devicemart.co.kr/goods/view.php?seq=15635

  27. IPTIME 신규 취약점 펌웨어 확보 방법 (3) : Flash 메모리 추출 후 DUMP Flash memory

  28. IPTIME 0-Day 취약점 펌웨어 확보 방법 (3) : Flash 메모리 추출 후 DUMP 공개 Flash dump 도구 이용 http://github.com/cyphunk/ParallelFLASHDumper

  29. IPTIME 0-Day 취약점 ① 취약점 발견 파일시스템 추출 펌웨어 추출 도구 : http://code.google.com/p/firmware-mod-kit/

  30. IPTIME 0-Day 취약점 ① 취약점 발견 /cgi-bin/timepro.cgi가 로드된다.

  31. IPTIME 0-Day 취약점 ① 취약점 발견 분석 가능 악의적인 사용자 모의 공격 취약점 발견 TARGET과 동일한 공유기

  32. IPTIME 0-Day 취약점 ① 취약점 발견 DEMO

  33. IPTIME 0-Day 취약점 ① 취약점 발견 – 버퍼 오버플로우 Stack Memory BEFORE STRCPY() Buffer AFTER STRCPY() aaaaaaaaaaaaaaaaaaaaaaaaa aaaa aaaa aaaa LDMFD SP, {R11 , SP , PC} R11 SP PC

  34. IPTIME 0-Day 취약점 ① 취약점 발견 – 버퍼 오버플로우 Aaaaaaaaaaaaaaaaaaaaaaaaa aaaa aaaa aaaa Buffer R11 SP PC PC 레지스터 : 다음 실행할 명령어의 위치 프로그램 흐름을 원하는 곳으로 이동시킬 수 있다. GOOD!!!

  35. IPTIME 0-Day 취약점 ① 취약점 발견 – 버퍼 오버플로우 aaaaaaaaaaaaaaaaaaaaaaaaa aaaa aaaa aaaa Buffer R11 SP PC 쉘코드를 어디에 올릴 것인가? CGI 는 환경변수에 HTTP 데이터를 저장한다. utelnetd구동 , iptables에서 telnet 허용 쉘코드 User-Agent :

  36. IPTIME 0-Day 취약점 ① 취약점 발견 – 버퍼 오버플로우 add r1, pc, #96 add r2, pc, #107 add r3, pc, #106 add r4, pc, #108 add r5, pc, #107 add r6, pc, #107 add r7, pc, #111 add r8, pc, #110 add r9, pc, #109 .ascii "/sbin/iptablesF" .ascii "-AF" .ascii "INPUTF" .ascii "-pF" .ascii "tcpF" .ascii "--dportF" .ascii "23F" .ascii "-jF" .ascii "ACCEPTF"

  37. IPTIME 0-Day 취약점 ① 취약점 발견 – 버퍼 오버플로우 stmfdsp!, {r1-r9 ,lr} add r8, pc , #12 strb lr, [r8 , #1] Execve첫번 째 인자 mov r0, r1 , lsl lr mov r1, sp mov r2, lr swi 0x90ff0b Execve두번 째 인자 Execve세번 째 인자 Swi 0x90000b execve(“/sbin/iptables”,”/sbin/iptables”,”-A”,”INPUT”…. , NULL)

  38. IPTIME 0-Day 취약점 ② 모의 공격 • 취약점 발견과 공격코드 구상 • 공유기 시스템 내부 쉘이 있으면 동적 디버깅가능 • 공격에 필요한 각종 테스트를 해야 함 gdb , strace , busybox등 크로스 컴파일해서 업로드 • 공격코드 완성 , 테스트

  39. IPTIME 0-Day 취약점 ② 모의 공격 DEMO

  40. IPTIME 0-Day 취약점 ③ 공격 인터넷 TARGET 공격에 필요한 조건 공격 공유기 패스워드 물리적으로 근접 잠재적 피해자들 악의적인 사용자

  41. IPTIME 0-Day 취약점 ③ 공격 인터넷 TARGET 공격 공격에 필요한 조건 공유기의 아이피 잠재적 피해자들 악의적인 사용자

  42. IPTIME 0-Day 취약점 ③ 공격- uPnP • 홈네트워크에서의 기기 간 인식, 통신 프로토콜

  43. IPTIME 0-Day 취약점 ③ 공격 - uPnP 공유기에 포트매핑 요청 XML 형태로 통신

  44. IPTIME 0-Day 취약점 ③ 공격- uPnP 외부 uPnP요청 허용 외부에서 원하는 포트로 접근가능 ( 80, 23)

  45. IPTIME 0-Day 취약점 ③ 공격- uPnP # telnet 공유기IP uPnP_Port

  46. IPTIME 0-Day 취약점 ③ 공격 - uPnP TARGET 인터넷 취약점 공격 공유기 텔넷접속 가능 80 포트 uPnP요청 23 포트 uPnP요청 잠재적 피해자들 악의적인 사용자

  47. IPTIME 0-Day 취약점 ③ 공격 – Remote Attack DEMO

  48. ANYGATE 0-Day 취약점

  49. ANYGATE 0-Day 취약점 IPTIME 때와 동일 악의적인 사용자 TARGET ③ 공격 ④ 모의 공격 취약점 발견 ② ① TARGET과 동일한 공유기 잠재적 피해자들

  50. ANYGATE 0-Day 취약점 ① 취약점 발견 펌웨어가 취약 할 것이다. 악의적인 사용자 펌웨어 획득 방법 공식 홈페이지에서 최신펌웨어 다운로드 MCU의 JTAG 포트를 이용한 DUMP Flash 메모리 분리 후 DUMP 모의 공격 취약점 발견 TARGET과 동일한 공유기

More Related