Post

Windows 11 로그온 오류 "참조된 계정이 현재 잠겨 있으므로 그 계정으로 로그온할 수 없습니다" 해결

"참조된 계정이 현재 잠겨 있으므로 그 계정으로 로그온할 수 없습니다" 라고 표시되며 로그온 진행이 되지 않는 문제에 대해 살펴봅니다. PC가 공격을 받고 있다는 의미일 수 있으니 주의가 필요합니다.

Windows 11 로그온 오류 "참조된 계정이 현재 잠겨 있으므로 그 계정으로 로그온할 수 없습니다" 해결

title

Danger

해당 오류가 발생했다는 것은 누군가가 당신의 PC에 무차별 대입(brute force) 공격으로 원격 로그인을 시도했을 가능성이 높다는 의미입니다!
아래 글을 잘 읽어보고, 만약 실제로 공격이 들어온 것이 맞다면 그에 맞는 방어 조치를 취하는 것을 권장합니다.


Table of Contents


해결법

먼저, 바쁘신 분들을 위해 해결 방법부터 알려드립니다.

  1. LAN선을 뽑아 인터넷 연결을 차단한다.
  2. 잠시 (약 5분) 기다렸다가 다시 로그온을 시도한다.

위에도 설명하였듯이, 원격 데스크톱 연결(RDP)을 통한 무차별 대입 공격이 이 오류의 원인일 수 있습니다. 시간이 있다면 아래 내용을 참고하여 이 문제가 발생한 원인을 정확히 파악하는 것을 추천드립니다.

오류의 원인

이 오류가 발생하는 근본적인 원인은 바로 너무 많은 로그인 시도입니다.

로컬에서든 원격지에서든 잘못된 사용자 이름과 비밀번호로 PC에 계속 로그인하려고 하면, Windows는 보안을 위해 해당 계정에 로그인할 수 없도록 잠시 동안 계정을 잠가 버립니다. 즉, 이 오류가 발생하였다는 것은 누군가가 지속적으로 PC에 로그인하려고 시도하였다는 의미입니다.

그런데, 누가 내 PC에 지속적으로 로그인을 하려고 시도한 것일까요?

두 가지 경우가 있을 수 있습니다. 첫째로는, 누군가 실제로 내 PC에 물리적으로 접근하여 로그인을 시도하려고 했을 수 있습니다. 혹은, 내가 내 PC를 사용하기 위해 로그인하려고 하는데 사용자 이름이나 비밀번호를 너무 많이 틀린 경우도 포함이 될 수 있겠습니다. 하지만, 누군가 내 집이나 사무실에 실제로 침입하여 이런 다수의 로그인 시도를 했을 가능성은 그리 높지 않을 것입니다.

두 번째 경우는, 바로 원격지에서 원격 데스크톱 연결 (RDP)을 이용하여 로그인을 시도한 것입니다.

rdp window 원격 데스크톱 연결

원격 데스크톱 연결 기능 자체는, 인터넷만 있다면 어디서든지 내 PC에 로그인하여 원격으로 편하게 작업을 할 수 있게끔 하는 편리한 기능입니다. 하지만, 많은 Windows 사용자들이 잘 알지 못해서, 또는 귀찮다는 이유로 원격 데스크톱 연결에 대한 보안 조치를 취하지 않는 경우가 많습니다. 해커들은 바로 이 점을 노리고 원격 데스크톱 연결을 통해서 PC를 공격하고자 하는 것입니다.

RDP Brute Force Attack

원격 데스크톱 연결(RDP)은 기본적으로 PC 사용자의 윈도우 로그온 ID와 비밀번호를 통해서 인증 절차를 수행합니다. 해커들은 이 ID와 비밀번호를 아래에서 설명할 무차별 대입법(Brute Force)으로 알아맞추어서 대상 PC에 접근하려고 합니다.

Brute Force

brute force Brute Force 공격1

무차별 대입법 (Brute Force)이란, 입력 가능한 모든 경우의 수의 암호를 암호가 뚫릴 때까지 전부 입력해 보는, 단순무식해 보이는 방법이지만 충분한 시간만 있다면 그 어떤 암호 시스템도 뚫을 수 있는 위협적인 공격 방법입니다.

일반적인 암호 시스템은 이 무차별 대입 공격을 막기 위해서, 암호를 뚫기에 ‘충분한 시간’을 엄청나게 길게 늘리는 방법을 사용합니다. 예를 들어, 위의 그림에서 표시된 것과 같은 5자리의 숫자로만 구성된 암호는, 현대의 컴퓨팅 성능으로는 단 수 초 내에 모든 경우의 수를 순회하여 암호가 간파될 수 있습니다. 하지만, 암호의 길이가 충분히 길고, 숫자 뿐만 아닌 영문 대소문자, 특수문자까지 포함되면 가능한 경우의 수가 기하급수적으로 증가하여, 현 시점에서 가장 성능이 좋은 슈퍼컴퓨터를 동원한다 해도 전체를 대입하는 데 몇천 년이 걸리는 암호를 만들 수 있습니다. 웹사이트 계정 비밀번호를 만들 때 대소문자와 특수문자를 포함하라고 하는 이유가 바로 여기에 있습니다.

또한, 암호를 특정 횟수 이상 틀렸을 경우 일정 시간 동안 로그인을 차단하는 방법이 있습니다. 실생활에서 쉽게 접할 수 있는 예시로는, 휴대폰 잠금 비밀번호를 5회 이상 틀렸을 시 30초 동안 잠금을 해제할 수 없게 되는 것이 있겠습니다. Windows에서 “참조된 계정이 현재 잠겨 있으므로 그 계정으로 로그온할 수 없습니다 라는 오류가 발생하는 것도 Windows가 무차별 대입 공격을 막기 위해 사용하는 일종의 방어책인 것입니다. 해결법 중에 LAN 케이블을 뽑는 과정이 있는 것도, 공격이 지속적으로 시도되고 있는 상황이라면 이 로그인 차단이 계속 이어지기 때문에 일단 LAN 케이블을 뽑아 공격을 물리적으로 차단하기 위해서입니다.

공격 시도가 있었는지 확인하기

RDP Brute Force 공격이 수행되었다면, 무차별 대입 공격의 특성상 수많은 로그인 실패 기록이 PC에 남게 됩니다. 즉, 로그인 실패 이력을 확인하면, 내 PC가 무차별 대입 공격을 받고 있는지를 확인할 수 있습니다.

  1. Windows+R 단축키로 실행 창을 열고, eventvwr.msc를 입력하여 이벤트 뷰어를 엽니다. eventvwr

  2. 왼쪽 탐색 창에서 Windows 로그보안을 차례로 엽니다. security log

  3. 오른쪽 작업 창에서 현재 로그 필터링을 클릭하고, 이벤트 ID에 4625를 입력합니다. 이벤트 ID 4625는 Windows 로그온 실패에 대한 이벤트 로그 ID입니다. log filtering

  4. 로그온 유형이 3(네트워크)인 이벤트에 대해서, 이벤트 발생 시간과 접속 원본 네트워크 주소 등을 확인하여 해당 접속 시도가 정상적이었는지 확인합니다. logon type 로그인 유형 ‘3’인 로그를 확인합니다.
    attacker address 스크롤을 내리면 로그온 시도가 들어온 네트워크 주소와, 어떤 사용자 ID로 로그온을 시도하였는지가 표시됩니다.
    ip2location.io 페이지에서 해당 IP에 대한 정보를 조회할 수 있습니다. ip information 네덜란드에서의 접속 시도가 있었음을 확인할 수 있습니다.
    저는 이 로그가 찍힌 시간에 네덜란드에 간 적이 없으니, 이것은 명백한 공격 시도였음을 짐작할 수 있습니다.

IP 주소 상 공격자의 위치는 네덜란드 암스테르담으로 표시되지만, 실제로 공격이 네덜란드에서 이루어지고 있을 가능성은 낮습니다. 자신의 정보를 다 노출하면서 범죄 행위를 저지르는 멍청한 해커는 많지 않을 테니까요. 아마 VPN이나 Tor 등을 이용하여 공격 트래픽이 여러 국가와 지역을 거쳐 빙빙 돌아오도록 해서 자신의 위치를 숨기고 있을 것입니다.

이벤트 로그 필터링에서 이벤트 ID 4624를 입력하면 로그온에 성공한 기록을 확인할 수 있습니다. 대부분의 이벤트 로그는 Windows 시스템의 사용자 인증 (코드 5) 또는 사용자 본인의 로컬 로그인 성공 (코드 2) 이겠지만, 로그 중에 네트워크 로그온 (코드 3)의 로그온 시도 성공이 위에서 본 공격자 의심 IP에서 이루어진 것이라면, 공격자가 공격에 성공하였으며, 이미 PC에 몹쓸 짓을 해 놓았을 수도 있습니다! 이럴 경우 당장 중요한 자료를 백업하고 PC를 포맷하는 것을 강력히 권장합니다.

attack success 원격 로그인 성공 로그입니다.
(제가 직접 제 PC에 원격 접속한 기록이니 걱정하지 않으셔도 됩니다.)

공격이 성공한다면?

공격이 성공하여 PC의 계정명과 암호를 획득한다면, 공격자는 PC에 대한 사실상 모든 권한을 획득하게 됩니다. 만약 PC에 Google, Microsoft 등 각종 서비스 자동 로그인 설정이 되어 있다면 해당 계정까지 전부 다 노출될 가능성이 있습니다. 조금 착한(?) 해커라면 PC에 가상화폐 채굴 프로그램을 설치하여 당신의 전기세를 도둑질하는 정도에 그치겠지만, 키보드 입력 탈취 프로그램을 심어 웹사이트 비밀번호 등 민감한 개인정보를 탈취할 수도 있고, 랜섬웨어를 심어 PC를 못 쓰게 만들 수도 있습니다.

대응책

이처럼 심각한 결과를 초래할 수 있는 RDP Brute Force 공격을 막기 위한 방법을 알아봅시다.

원격 데스크톱 기능 끄기

만약 내가 원격 데스크톱 연결이 뭔지 모른다, 혹은 알더라도 사용하지 않는다면 이 기능을 끄는 편이 가장 안전합니다.

rdp settings ‘설정’ → ‘시스템’ → ‘원격 데스크톱’ 에서

rdp off 원격 데스크톱 기능을 끌 수 있습니다.

Windows 비밀번호 복잡하게 설정

로그온 비밀번호를 0000, 1234와 같은 누구나 추측할 수 있는 쉬운 비밀번호 대신 영문 대소문자와 특수문자가 포함된 충분한 길이의 비밀번호로 설정합니다. 숫자, 대소문자, 특수문자 포함 10자리 이상의 비밀번호만 설정해도 무차별 대입 공격에 대해서는 거의 완전한 면역을 갖출 수 있다고 해도 과언이 아닙니다.

RDP 포트 변경

원격 데스크톱 서비스의 기본 접속 포트는 3389번입니다. 그렇기에 당연히 해커들은 3389번 포트에 집중적으로 공격을 시도합니다. 다행히도, 레지스트리 값 변경을 통해 RDP 접속을 위한 포트 번호를 변경할 수 있습니다.

  1. Windows+R 단축키를 눌러 실행창을 열고, regedit을 입력하여 레지스트리 편집기를 엽니다. run regedit

  2. 왼쪽 탐색 창에서 아래 순서대로 폴더를 열고, PortNumber를 찾아 더블클릭합니다.
    • HKEY_LOCAL_MACHINE
    • SYSTEM
    • CurrentControlSet
    • Control
    • Terminal Server
    • WinStations
    • RDP-Tcp regedit HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
  3. ‘단위’를 ‘10진수’로 설정하고, ‘값 데이터’에 새로운 포트 번호를 입력합니다. port number
    포트 번호는 1024번 ~ 49151번 사이의 registered port 범위 중 하나를 선택하면 됩니다. 단, 다른 소프트웨어가 사용하는 포트 번호와는 겹치지 않아야 합니다.

  4. PC를 다시 시작하여 변경 사항을 적용합니다.

흔히 3389번의 대체 포트로 3390번을 많이 이용하는데, 너무 많이 이용하다 보니 이제 3390번 포트 역시 공격의 대상이 되고 있습니다. 본인은 기억할 수 있지만 기존과는 완전히 다른 포트 번호를 선택하여 일종의 추가적 비밀번호와 같은 개념으로 설정하는 것이 좋습니다.

만약 변경된 포트로 원격 데스크톱에 접속하려면 아래와 같이 주소에 변경된 포트 번호를 명시해야 합니다. 만약 변경한 포트 번호가 12345라면,

other port number

위와 같이 주소 옆에 : (콜론)을 찍고 포트 번호를 입력하면 됩니다.

잘 알려진 Windows 사용자명 사용하지 않기

이미 사용 중인 Windows 사용자의 이름을 바꾸는 것은 어렵기 때문에, Windows를 설치할 때에 주의해 주어야 하는 부분입니다.

공격 성공 가능성을 높이기 위해, 공격자는 널리 쓰이는 Windows 사용자명을 이용하여 공격을 시도합니다. 따라서, 이런 이름들을 사용자 ID로 사용하는 것을 피하는 것이 좋습니다.

사용을 피해야 하는 이름들로는,

  • Administrator
  • Admin
  • User
  • Test

등이 있습니다.

attacked names 실제 공격이 시도된 계정명들입니다.

References

  1. 이미지 출처: https://www.strongdm.com/blog/brute-force-attack ↩︎

This post is licensed under CC BY 4.0 by the author.