1. 개요 [1]

- 2023.01 중국 해킹 그룹 샤오치잉은 한국을 겨냥한 메시지와 함께 해킹 진행

- 샤오치잉은 Deface Attack 및 내부 자료를 탈취해 텔레그램에 공개

 

1.1 Deface Attack [2]

- 화면 변조 공격

- 웹 사이트의 첫 화면인 홈페이지를 공격자 임의로 변경하는 공격으로, 해킹 사실을 알리기 위한 목적을 지님

- 주로 정치적 목적이나 해킹 실력 과시용으로 활용되었으나, 공격자가 웹 사이트의 권한을 획득한 것이기 때문에 정보 유출 등의 추가 피해 발생 가능

 

2. 타임라인

[사진 1] 샤오치잉 해킹 그룹의 공격 타임라인

3. 공격 기법

- 1월에는 SQL Injection, 외부에 노출된 계정정보를 사용해 침투 후 내부 정보 유출

- 2월에는 WebLogic 취약점을 악용해 웹 페이지만 변조

[사진 2] 공격 과정 요약

3.1 취약점 스캔

- 샤오치잉은 웹 사이트를 대상으로 취약점 스캔(sqlmap, Nuclei)을 수행해 공격 대상 선정

① sqlmap [3]

> SQL Injection을 탐지하여 데이터베이스 서버 침투 프로세스를 자동화한 오픈 소스 침투 테스트 도구

> User-Agent 헤더에 sqlmap이 명시되나, 옵션을 통해 변경이 가능함

 

② nuclei

> YAML 템플릿을 기반으로 공격 대상 스캔을 수행하는 취약점 점검 도구

> 공격시 sftp.json(서버 IP, 계정정보 등 SFTP 서버 설정 정보가 저장된 파일) 관련 YAML 탬플릿을 사용한 것으로 판단됨

YAML [5]
- 타 시스템 간에 데이터를 주고받을 때 약속된 포맷(규칙)이 정의되어있는 또 하나의 파일 형식
- 인간 중심으로 작성되어 가독성이 높음

 

3.2 내부 침투

- 스캔 결과 취약한 설정 및 WAS 취약점을 악용해 내부 침투

① SQL Injection

공격에 사용된 SQL Injection 설명
AND ORD(MID((SELECT IFNULL(CAST(table_name AS NCHAR),0x20) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema=**** LIMIT 0,1),1,1))>64&idx=0 Table 이름 확인
AND ORD(MID((SELECT IFNULL(CAST(COUNT(column_name) AS NCHAR),0x20) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name=admin AND table_schema=****),1,1))>48&idx=0 Column 개수 확인
AND ORD(MID((SELECT IFNULL(CAST(admin_id AS NCHAR),0x20) FROM ****.admin ORDER BY admin_id LIMIT 0,1),1,1))>64&idx=0 admin Table에서 웹
관리자 계정 ID 검색
AND ORD(MID((SELECT IFNULL(CAST(admin_pwd AS NCHAR),0x20) FROM ****.admin ORDER BY admin_id LIMIT 0,1),1,1))>64&idx=0 admin Table에서 
웹 관리자 계정 패스워드 검색

 

② 계정 설정 파일 접근

> 관리자의 설정 실수로 계정정보나 민감정보가 외부에서 접근 가능하도록 설정된 경우가 더러 있음

> sftp.json은 개발환경과 웹 서버 동기화를 위한 SFTP 계정 정보를 저장한 파일로, 해당 파일이 웹 서버에 업로드된 서버를 악용

 

③ 취약한 버전의 WebLogic 악용

> Oracle에서 배포하는 WAS인 WebLogic의 오래된 버전의 취약점을 악용

> 샤오치잉이 텔레그램에 공개한 자료 중 WebLogic과 관련된 도구가 포함

구분 피해기업 1 피해기업 2 피해기업 3
운영체제 버전 Solaris 10 IBM AIX 7.1 Red Hat Enterprise Linux 5.5
WebLogic 버전 10.3.6 10.3.5 10.3.5
WebLogic
마지막 업데이트
2014 2016 2013
변조된 웹페이지
업로드 경로
[Domain Directory]/servers/*****/tmp/_WL_internal/wls-wsat/a16ls0/war/index.html [Domain Directory]/servers/*****/tmp/_WL_internal/wls-wsat/5y8uhv/war/index.html [Domain Directory]/servers/*****/tmp/_WL_internal/wls-wsat/5y8uhv/war/index.html

 

3.3 피해 발생

① 내부 정부 탈취

> "3.2 내부 침투"을 악용하면, 서버 내부 자료에 접근이 가능

> 내부 정보에 직접 접근하거나, 웹쉘 또는 백도어 등을 업로드해 내부 정보 탈취

 

② Deface Attack

> 해킹 사실을 알리기위해 웹페이지를 메인페이지와 교체하거나 추가 업로드

 

③ 자료 삭제

> 특정 기업의 경우 서버에 있는 DB를 탈취한 후 삭제 진행

 

3.4 자료 공개

- 해킹 사실 입증을 위해 탈취한 정보 공개 및 웹페이지 변조

 

4. 대응방안

① SQL Injection 공격 대응을 위해 다음 방안 준수

> 웹 서버 시큐어 코딩

> 웹 서버 공격을 방어하기 위한 WAF 도입

> 입력값 검증, 저장 프로시저 사용 등 공격자의 Query가 DB에 영향을 미치지 않도록 조치

> 최소 권한으로 DB 운영, 에러 메시지 노출 차단 등

 

② 계정 관리

> 서버 내 계정정보 업로드 여부 점검

 

③ OS, S/W 등 최신 버전 업그레이드

④ 중요 자료 백업

⑤ 모니터링 강화, 웹 로그 점검, WebLogic의 경우 로그 저장 기간 연장

⑥ KISA 보안공지와 같은 OSINT 활용

 

5. 참고

[1] https://kisa-irteam.notion.site/09d3e4c83a784380acc3b36271a1f58a
[2] https://www.boannews.com/media/view.asp?idx=113709
[3] https://sqlmap.org/
[4] https://github.com/projectdiscovery/nuclei
[5] https://inpa.tistory.com/entry/YAML-%F0%9F%93%9A-yaml-%EA%B0%9C%EB%85%90-%EB%AC%B8%EB%B2%95-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%F0%9F%92%AF-%EC%B4%9D%EC%A0%95%EB%A6%AC
[6] https://ggonmerr.tistory.com/177

'취약점 > 기타' 카테고리의 다른 글

Netcat(nc) 명령어 -e 옵션  (0) 2023.05.06
AD(Active Directory) 공격  (0) 2023.04.20
IFS(Internal Field Separator) String  (0) 2023.02.01
DNS Zone Transfer  (0) 2022.12.07
Brute Force Attack  (0) 2022.11.16

+ Recent posts