삼성 SmartCam 취약점 관련 이슈
2017. 1. 31. 16:43요즘 가정에서 인기있는 상품 중 하나는 가정에서 아이들을 모니터링 할 수 있는 IoT장비 입니다.
그중에서도 삼성 테크윈이 개발한 SmartCam은 클라우드 서비스를 지원하는 보안 카메라입니다.
그러나 이 SmartCam에서 취약점이 발생을 했습니다.
이번 포스팅은 삼성 SmartCam의 취약점에 대한 포스팅입니다.
2016년 8월 14일 PentestPartners가 SmartCam에서 원격 코드 실행 취약점을 발견하여
원격 공격자가 루트셀을 얻을 수 있도록 했습니다.
또한 관리자 암호 재설정 및 안전하지 않은 네트워크 통신과 같은 몇 가지 다른 취약점이 보고되었습니다.
몇 개월 후인 2017 년 1월 17일에는 사용자가 개인 정보를 침해 할 수 있는 치명적인 취약점이 발견되었습니다.
3가지 취약점은 모두 카메라의 웹 UI를 지원하는 펌웨어의 PHP 코드가 불안전하게 구현되어 발생합니다.
공격자는 특정 HTTP 요청을 전송하여 이러한 취약점을 악용 할 수 있습니다.
exploite.rs는 다음의 세부 사항을 제공했습니다.
1) class_admin_privatekey.php 비밀번호 재설정
이 취약점으로 인해 관리자 암호는 원래 비밀번호를 몰라도 변경할 수 있게 되었습니다.
이 오류는 논리 오류로 인하여 펌웨어”1.17_140507”의
/work/www/htdocs/classes/class_admin_privatekey.php 파일에서 트리거 됩니다.
위에 표시된 것처럼 코드는 POST매개 변수가 “NEW”(설정 중에 새 암호생성)이지만
암호가 이미 설정되어 있는지 확인하지 않은 경우에만 검사합니다.
이 취약점을 악용하기위해 다음 요청을 카메라로 보냅니다.
curl 'http : ///classes/class_admin_privatekey.php'--data 'data = NEW % 3B'
2) iWatch install.php 원격 루트 명령 실행
이 취약점으로 인해 루트 사용자로 원격 명령을 실행 할 수 있습니다.
/mnt/custom/iwatch/web/install.php
위의 코드에서 볼 수 있듯이 $tmpdir에는 임시 파일 업로드 경로가 포함되어 있으며,
실행을 위해 system()함수에 전달됩니다.
그러나 이 변수는 사용자가 제공한 파일 이름으로 제어 할 수 있으며 잘 필터링 되지않습니다.
예를들어 다음 파일 이름은 포트9998에서 셀을 열 수 있습니다.
{busybox, telnetd, {echo, -l $ {HOME} bin $ {HOME} sh}, - p9998};
3) 무선 네트워크 WEP키 명령 주입
WEP Wifi 네트워크 설정 절차에서 명령줄 실행을 위해 “암호”필드가 전달됩니다.
이를 통해 공격자가 WebUI에 접근 한 후 권한상승이 허용됩니다.
해당 취약점에 대해 아래 링크에서 확인 할 수 있습니다.
https://www.exploitee.rs/index.php/Samsung_SmartCam%E2%80%8B#iWatch_install.php_Remote_Root_Command_Execution
이러한 취약점에 대한 해결방안으로 삼성 카메라를 사용하는 사람들은 DIY패치를 다운로드 할 수 있습니다.
하지만 이 해결책은 신뢰할 수 없는 코드를 기기에서 실행하지 않으려는 사람들에게는 부적절한 방법입니다.
또 다른 방법으로는 SmartCam 장치를 네트워크 방화벽으로 보호하여 취약점을 완화 할 수 있습니다.
이번 포스팅은 삼성 SmartCam의 취약점에 관한 이슈였습니다.
다음에도 유익한 정보 올릴 수 있도록 하겠습니다.
감사합니다.