Smart Home Hacking in Real World Team Emohtrams 발표자조성준, 박상현
About Speakers Name: 조성준 Nickname: DelspoN Membership: - BOB 6기취약점분석트랙, 2017~ - 정보보호영재교육원수료, 2014~2015 Degrees: - 한양대학교컴퓨터소프트웨어학부, 2017~ - 한국디지털미디어고등학교해킹방어과, 2014~2017 Current Research Interests: - Internet of Things - Vulnerability research and exploitation Website: - delspon.wordpress.com - github.com/delspon Name: 박상현 Nickname: zzado Membership: - BOB 6기취약점분석트랙, 2017~ Degrees: - 경기대학교융합보안학과, 2012~ Current Research Interests: - 임베디드시스템 - 소프트웨어취약점분석 Website: - http://zzado.tistory.com - https://github.com/zzado
Content Smart Home Hacking? Attack Surfaces Analyzing each of surfaces Demo Video
Smart Home Hacking?
User Interface Mobile App Wall Pad
Controllable in app Light Heater Gas valve Visitors log Ventilation
Controllable in wall pad Doorlock Main entrance Parking entrance gate CCTV Elevator Camera of wallpad All the functions
Service Structure
Mobile app data flow 1 2 3
Wall pad data flow 1
Wall pad data flow 2 1
Network Structure 외부망 내부망
Mobile app data flow 1 아파트단지서버검색 2 단지서버로데이터전달 3 동게이트웨이를거쳐서 4 월패드에서기기제어
Wall pad data flow 1 월패드에서기기제어
Wall pad data flow 3 단지서버로데이터전달 4 공용시설제어 2 동게이트웨이를거쳐서 1 월패드에서기기제어
Attack Surfaces
Attack Surfaces
Mobile app Security Asset 내부네트워크접근기회 클라이언트-중앙서버-제어서버-월패드순으로데이터전달클라이언트공략시내부망에접근가능성이있다고판단 앱내부정보취득 서버주소, 프로토콜정보등획득가능
Attack Surfaces
중앙서버 Security Asset 관리자페이지획득가능성 단지서버에대한정보 해당서비스를이용중인아파트정보획득가능
Attack Surfaces
단지제어서버 Security Asset PMS 서버 (Patch Management System) 펌웨어획득가능펌웨어변조및업로드, 유포가능 민감한개인정보획득가능 방문자사진, 입출차내역등의데이터
Attack Surfaces
Wall pad Security Asset 모든기능장악가능 각세대의도어락, 공동시설등모든기능제어
시작 제어서버존재여부 검색엔진 / 스캐닝을통한정보수집 관리자페이지존재여부 웹서비스취약점분석 포트미러링 중앙웹서버를통한원격제어 FTP 계정탈취 패킷분석 인증체계존재여부 프로토콜분석 CCTV auth bypass Analysis 포트스캔 업데이트취약점존재여부 아파트단지서버를통한원격제어 기능장악 종료 포트분석 펌웨어변조및유포 월패드취약점분석 쉘획득여부 펌웨어추출 IPC MITM 을통한월패드장악 하드웨어디버깅포트존재여부 Flash ROM dump USB 포트를통한 Command Injection
시작 제어서버존재여부 검색엔진 / 스캐닝을통한정보수집 관리자페이지존재여부 웹서비스취약점분석 포트미러링 중앙웹서버를통한원격제어 FTP 계정탈취 패킷분석 인증체계존재여부 프로토콜분석 CCTV auth bypass Analysis 포트스캔 업데이트취약점존재여부 아파트단지서버를통한원격제어 기능장악 종료 포트분석 펌웨어변조및유포 월패드취약점분석 쉘획득여부 펌웨어추출 IPC MITM 을통한월패드장악 하드웨어디버깅포트존재여부 Flash ROM dump USB 포트를통한 Command Injection
Mobile app Web view 형식 앱에서얻을것이별로없음
Mobile app 어플리케이션버전확인 구버전어플리케이션획득후분석 취약점발견
Mobile app 최신버전앱의 URL 과다름 구분최신버전구버전 URL /mobile2 /mobile 권한인증여부
Mobile app Before PoC Code After
시작 제어서버존재여부 검색엔진 / 스캐닝을통한정보수집 관리자페이지존재여부 웹서비스취약점분석 포트미러링 중앙웹서버를통한원격제어 FTP 계정탈취 패킷분석 인증체계존재여부 프로토콜분석 CCTV auth bypass Analysis 포트스캔 업데이트취약점존재여부 아파트단지서버를통한원격제어 기능장악 종료 포트분석 펌웨어변조및유포 월패드취약점분석 쉘획득여부 펌웨어추출 IPC MITM 을통한월패드장악 하드웨어디버깅포트존재여부 Flash ROM dump USB 포트를통한 Command Injection
Network analysis 포트미러링 패킷분석
Network analysis 10.107.10.3 분석대상 107 동 1003 호
Network analysis
Network analysis FTP 계정노출 펌웨어버전확인 월패드부팅시, 월패드와 10.10.10.10( 단지서버 ) 와의통신내역확인
Network analysis 버전별펌웨어획득 방문자기록, 출입내역획득
시작 제어서버존재여부 검색엔진 / 스캐닝을통한정보수집 관리자페이지존재여부 웹서비스취약점분석 포트미러링 중앙웹서버를통한원격제어 FTP 계정탈취 패킷분석 인증체계존재여부 프로토콜분석 CCTV auth bypass Analysis 포트스캔 업데이트취약점존재여부 아파트단지서버를통한원격제어 기능장악 종료 포트분석 펌웨어변조및유포 월패드취약점분석 쉘획득여부 펌웨어추출 IPC MITM 을통한월패드장악 하드웨어디버깅포트존재여부 Flash ROM dump USB 포트를통한 Command Injection
USB Command Injection Only 정적분석 수상한로직발견
USB Command Injection USB mount event handler 1. ptypeautobatch.cmd 파일이존재하는지확인 2. 만약존재하면해당파일실행
USB Command Injection PoC Code Successful
What to do? 공유기 ( 외부망 ) 라즈베리파이 월패드 ( 내부망 )
What to do? 9997 포트에리버스텔넷으로 /bin/sh 데몬실행
What to do? 외부망에서라즈베리파이접속후월패드 9997 포트접속 Root Shell 획득
시작 제어서버존재여부 검색엔진 / 스캐닝을통한정보수집 관리자페이지존재여부 웹서비스취약점분석 포트미러링 중앙웹서버를통한원격제어 FTP 계정탈취 패킷분석 인증체계존재여부 프로토콜분석 CCTV auth bypass Analysis 포트스캔 업데이트취약점존재여부 아파트단지서버를통한원격제어 기능장악 종료 포트분석 펌웨어변조및유포 월패드취약점분석 쉘획득여부 펌웨어추출 IPC MITM 을통한월패드장악 하드웨어디버깅포트존재여부 Flash ROM dump USB 포트를통한 Command Injection
Protocol analysis 기능제어시발생하는패킷 25000 번포트사용
Protocol analysis <start=0000&0> 패킷의길이 인증절차가없다 $version=2.0$copy=00-0000$cmd=20$dongho=111&2222$target=light 구분자 동, 호수 #mode=sub#no=1#device_no=1#onoff=y#dimming=8 구분자
Protocol analysis 내부망에서만공격하면파급력이별로잖아?
정보수집 외부망아이피?
정보수집 한눈에보기에도 25003 번포트가수상하다
시작 제어서버존재여부 검색엔진 / 스캐닝을통한정보수집 관리자페이지존재여부 웹서비스취약점분석 포트미러링 중앙웹서버를통한원격제어 FTP 계정탈취 패킷분석 인증체계존재여부 프로토콜분석 CCTV auth bypass Analysis 포트스캔 업데이트취약점존재여부 아파트단지서버를통한원격제어 기능장악 종료 포트분석 펌웨어변조및유포 월패드취약점분석 쉘획득여부 펌웨어추출 IPC MITM 을통한월패드장악 하드웨어디버깅포트존재여부 Flash ROM dump USB 포트를통한 Command Injection
CCTV CCTV 를켰을때발생하는패킷 10.100.30.150 과통신하는것을확인 29000 번포트사용
CCTV 포트스캐닝을통해정보수집 DVR 기기라는것을확인 찾아보니 DVR 기기는영상데이터기록장치
CCTV 해당기기의정식소프트웨어분석. RTSP 프로토콜사용. 29000번포트를사용하지않음. 29000번포트의정체는?
CCTV 서비스제공사에서소프트웨어를개조해놓음. 정식소프트웨어의인증절차를없어짐. SIGN [CCTV 번호 ] 패킷전송시, 스트리밍데이터를받아올수있음.
CCTV CCTV 스트리밍데이터수신 영상데이터복원
시작 제어서버존재여부 검색엔진 / 스캐닝을통한정보수집 관리자페이지존재여부 웹서비스취약점분석 포트미러링 중앙웹서버를통한원격제어 FTP 계정탈취 패킷분석 인증체계존재여부 프로토콜분석 CCTV auth bypass Analysis 포트스캔 업데이트취약점존재여부 아파트단지서버를통한원격제어 기능장악 종료 포트분석 펌웨어변조및유포 월패드취약점분석 쉘획득여부 펌웨어추출 IPC MITM 을통한월패드장악 하드웨어디버깅포트존재여부 Flash ROM dump USB 포트를통한 Command Injection
Wall pad analysis Wall pad? 스마트홈서비스의핵심단말기 스마트홈네트워크에연결된모든디바이스들을제어!
Wall pad analysis 펌웨어획득 FTP / Flash ROM Dump ROOT shell 획득 Command injection 펌웨어분석 only reversing
Wall pad analysis Debugging? Fuzzing? Reversing!! (x) (x) (O)
Wall pad analysis Step1) Listening port scan 23 은 telnet 이고.. 64347 에바인딩되어있는프로세스가.. NgnServer?!
Wall pad analysis NgnAppControl NgnAppMain 64347 NgnAppEnergy NgnAppSecurity NgnServer NgnAppSetting NgnAppQws
Wall pad analysis Step2) IPC 확인 Socket(UDS) 을이용하여프로세스간통신하고있는것을확인
Wall pad analysis
Wall pad analysis Step3) IPC 송수신데이터확인
Wall pad analysis NgnServer 는서버역할 다른프로세스로부터데이터수신 처리후 Broadcast 로응답
Wall pad analysis NgnAppControl NgnAppMain 64347 NgnAppEnergy NgnAppSecurity NgnServer NgnAppSetting NgnAppQws NgnServer 가다른프로세스로부터데이터를수신하고처리 수신한데이터에대한응답을다른프로세스에 Broadcast
Wall pad analysis Step3) IPC 송수신데이터확인
Wall pad analysis 알아낸것..! 월패드내프로세스들은 NgnServer 프로세스 (64347 port) 중심으로통신한다. NgnServer가수신한데이터를연결된프로세스들에게브로드캐스팅한다. 디바이스가작동할때관련 xml 데이터를 NgnServer가수신한다.
Wall pad analysis
Wall pad analysis
Wall pad analysis
Wall pad analysis
Wall pad analysis
Wall pad analysis
Wall pad analysis 디바이스가동작할때의송수신데이터를 TCP Dump 를통해수집
Wall pad analysis payload
Wall pad analysis
시작 제어서버존재여부 검색엔진 / 스캐닝을통한정보수집 관리자페이지존재여부 웹서비스취약점분석 포트미러링 중앙웹서버를통한원격제어 FTP 계정탈취 패킷분석 인증체계존재여부 프로토콜분석 CCTV auth bypass Analysis 포트스캔 업데이트취약점존재여부 아파트단지서버를통한원격제어 기능장악 종료 포트분석 펌웨어변조및유포 월패드취약점분석 쉘획득여부 펌웨어추출 IPC MITM 을통한월패드장악 하드웨어디버깅포트존재여부 Flash ROM dump USB 포트를통한 Command Injection
펌웨어변조및유포시나리오 Background PMS 서버장악가능 월패드내펌웨어무결성검증기능부재 시나리오바이너리패치를통한펌웨어변조및유포 Backdoor remote shell 특정시간에도어락오픈 디버그함수호출을통한디바이스제어
펌웨어변조및유포시나리오
펌웨어변조및유포시나리오 Backdoor sub process 생성
펌웨어변조및유포시나리오 sub process 생성 도어락열림을위한 serial data 를직접 device driver 에전송 커스텀펌웨어를통해월패드에연결된 디바이스들을직접적으로제어
펌웨어변조및유포시나리오 디버깅용도로추정되는함수존재 정상적인펌웨어내에서는참조되지않는함수 바이너리패치를통해해당함수호출
DEMO VIDEO
Thank you Q&A Special Thanks to Team Emohtrams Multi-diagnosis of Smart home control system project Team Emohtrams 조성준 박상현 정한솔 서동조 최소혜이상섭 이경문 오효근
Appendix
취약점진단 공격시나리오 IPC MITM 을통한월패드장악 도어락을포함한월패드의모든기능제어 스마트홈제어시스템다면진단취약점별시나리오 중앙웹서버를통한원격제어 아파트단지서버를통한스마트홈기능제어 월패드의 USB Port 를이용한 Command Injection FTP 계정노출 스마트홈제어시스템 CCTV authentication bypass 조명, 난방, 차량개폐기, 로비도어등원격제어 init daemon 등록을통한 backdoor 설치 펌웨어의디바이스제어트리거를통한월패드기능제어 펌웨어변조를통한새로운트리거생성 FTP 서버내프로그램, 방문자사진등정보및소스코드탈취 FTP 내월패드펌웨어교체를통한악성펌웨어유포 서버 SQL Injection CCTV 스트림데이터수신및영상조회
스마트홈제어시스템다면진단취약점별대응방안 IPC MITM 을통한월패드장악 중앙웹서버를통한원격제어 대응방안 기대효과 아파트단지서버를통한스마트홈기능제어 Localhost 를이용하여통신 외부에서의접근방지 월패드의 USB Port 를이용한 Command Injection NgnMain 인증절차추가 무인증요청으로인한도어락제어방지 FTP 계정노출 스마트홈제어시스템 CCTV authentication bypass 펌웨어변조및유포
스마트홈제어시스템다면진단취약점별대응방안 IPC MITM 을통한월패드장악 중앙웹서버를통한원격제어 대응방안 기대효과 아파트단지서버를통한스마트홈기능제어 월패드의 USB Port 를이용한 Command Injection HTTP 폐쇄및 HTTPS 사용 사용하지않는 mobile 디렉토리삭제 세션하이재킹및 SSL strip 방지 인증우회를통한기능제어방지 FTP 계정노출 스마트홈제어시스템 CCTV authentication bypass 펌웨어변조및유포
스마트홈제어시스템다면진단취약점별대응방안 IPC MITM 을통한월패드장악 중앙웹서버를통한원격제어 대응방안 기대효과 아파트단지서버를통한스마트홈기능제어 USB 에시리얼파일추가해서인증 월패드의 USB Port 를이용한 Command Injection 실행가능한커맨드제한 사전에정의된기능수행 비인가자에대한월패드시스템접근방지 FTP 계정노출 스마트홈제어시스템 CCTV authentication bypass 펌웨어변조및유포
스마트홈제어시스템다면진단취약점별대응방안 IPC MITM 을통한월패드장악 중앙웹서버를통한원격제어 아파트단지서버를통한스마트홈기능제어 월패드의 USB Port 를이용한 Command Injection 대응방안 월패드와단지제어서버간 SFTP 도입 기대효과 FTP 계정탈취방지 FTP 계정노출 스마트홈제어시스템 CCTV authentication bypass 펌웨어변조및유포
스마트홈제어시스템다면진단취약점별대응방안 IPC MITM 을통한월패드장악 중앙웹서버를통한원격제어 아파트단지서버를통한스마트홈기능제어 월패드의 USB Port 를이용한 Command Injection 대응방안 CCTV 영상요청에대한인증절차도입 기대효과 비인가자에대한요청차단 FTP 계정노출 스마트홈제어시스템 CCTV authentication bypass 펌웨어변조및유포
스마트홈제어시스템다면진단취약점별대응방안 IPC MITM 을통한월패드장악 중앙웹서버를통한원격제어 아파트단지서버를통한스마트홈기능제어 월패드의 USB Port 를이용한 Command Injection 대응방안 TPM 을이용한펌웨어업데이트 서버에서 ssh 를통한주기적무결성검사 Trust os / secure world kernel 에서무결성검사 기대효과 ( 하드웨어모듈 ) 안전한절차를통한펌웨어업데이트 지속적인펌웨어무결성체크 별개의권한으로관리하여우회방지 FTP 계정노출 스마트홈제어시스템 CCTV authentication bypass 펌웨어변조및유포