2021.06.24

공격자의 윈도우 네트워크 접근을 ‘쉽지 않게’ 하는 방법 4가지

Susan Bradley | CSO
美 최대 송유관 업체 콜로니얼 파이프라인(Colonial Pipeline)을 마비시킨 공격자는 오래되고 손상된 VPN 자격증명을 사용했을 가능성이 크다. 이를 반면교사 삼아 공격자가 윈도우 네트워크에 액세스하기 ‘어렵게’ 만드는 방법들을 살펴본다. 

여러 사이버 해킹 사건을 살펴보다 보면 공격자가 어떻게 네트워크에 액세스했는지 궁금하지 않은가? 보도에 따르면 지난 5월 발생한 콜로니얼 파이프라인 공격의 초기 감염 지점은 오랫동안 사용되지 않았지만 여전히 열려있었던 VPN 계정으로 추정됐다.

비밀번호는 다크웹에서 발견됐다. 피싱을 통해 얻은 것이 아니었다. 이는 비밀번호가 콜로니얼 파이프라인 직원에 의해 유출됐거나 재사용됐음을 의미한다. VPN 계정에는 이중인증(2FA)이 활성화돼 있지 않아 공격자는 로그인만 하면 됐다. 
 
ⓒGetty Images

이제 우리의 네트워크를 살펴볼 차례다. 2FA가 없는 원격 액세스 자격증명이 있는가? 공격자가 네트워크에 침입할 수 있는 또 다른 방법이 있는가? 로그인을 처리하는 방법이 느슨하진 않은가? 오래 사용하지 않은 계정에 취약한 비밀번호를 쓰고 있지 않은가? 아니면 다크웹에서 찾을 수 있는 비밀번호를 사용하는 건 아닌가?   

여기서는 공격자가 윈도우 네트워크에 쉽게 액세스하지 못하도록 하는 방법 4가지를 살펴본다. 

1. 액티브 디렉토리(Active Directory)에서 오래된 기기 및 계정 찾기 
오랫동안 사용하지 않은 컴퓨터 계정을 찾을 때 유용한 도구가 바로 ‘올드컴프(Oldcmp)’다. 다음과 같이 파워셸(PowerShell)을 사용해 비활성 계정을 찾거나 90일 이상 로그인하지 않은 사용자를 확인할 수 있다. 

Get-ADUser -Filter * -Properties LastLogonDate | Where-Object {$_.LastLogonDate -lt (Get-Date).AddDays(-90)}

애저 액티브 디렉토리(Azure AD)에 오래된 기기가 있는지 확인하려면 콘솔 또는 파워셸을 사용하면 된다. 관리자 권한으로 파워셸을 열고 다음 명령을 실행한다. 

Install-Module -Name AzureAD
Install-Module msonline
Import-Module -Name AzureAD
Import-Module msonline
Connect-MsolService


관리자 자격증명을 입력하라는 메시지가 표시되고 애저 AD에 연결된다. 그다음 파워셸 명령을 실행해 오래된 애저 기기 목록을 csv 형식으로 내보낼 수 있다. 

Get-MsolDevice -all | select-object -Property Enabled, DeviceId, DisplayName, DeviceTrustType, ApproximateLastLogonTimestamp | export-csv “C:\temp\az-devices.csv”

관리자 자격증명을 사용해 애저 포털(Azure Portal)에 로그인한다. ‘Intune’을 검색하고 ‘Intune Blade’를 연다. 그리고서 왼쪽 메뉴에서 ‘Devices’를 선택한 후 ‘기기 정리 규칙(Device cleanup rules)’에 들어가 ‘마지막 체크인 날짜를 기준으로 기기 삭제(Delete devices based on last check-in date)’를 켠다. 얼마 동안 액세스하지 않았을 때 기기를 삭제할 것인지 그 기간도 설정한다. 
 
ⓒSusan Bradley

애저 AD에서 비활성 계정을 찾으려면 ‘마이크로소프트 그래프 API(Microsoft Graph API)’의 ‘signInActivity’ 리소스 타입에 의해 노출된 마지막 ‘SignInDateTime’ 속성을 확인한다. 정보가 비어 있다면 로그인한 적이 아예 없거나 2019년 12월 이전에 로그인한 것이므로, 둘 다 제거해야 하는 오래된 계정을 나타낸다.  

이 밖에 VPN 액세스는 엣지 기기와 통합될 수도 있기 때문에 주변 장치에서도 오래된 사용자 정보를 검토하는 게 좋다. 

2. 계정 액세스에 2FA 추가
액티브 디렉토리부터 클라우드 서비스까지 거의 모든 것에 2FA를 추가할 수 있다. 개인적으로는 사무실에 듀오닷컴(Duo.com)의 2FA를 원격 액세스 및 사용자 로그인에 추가했다. 다른 옵션으로는 브라우저 플러그인을 통해 웹사이트에 2FA를 지원하는 사스패스닷컴(Saaspass.com)이 있다. 

요점은 이렇다. 아직 비밀번호에서 벗어난 옵션을 검토하지 않았다면 지금 당장 시작하라. 마이크로소프트는 생체 인식 인증을 지원하는 ‘비즈니스용 윈도우 헬로우(Windows Hello for Business)’, 모바일 기기를 위한 ‘마이크로소프트 어쎈티케이터(Microsoft Authenticator)’, ‘FIDO2 보안키’ 등의 솔루션을 제공한다. 

3. 사용자 로그인 검토 
사용자 로그인을 검토해 조직에서 누가 타깃이 될 수 있는지 확인한다. 애저 AD 로그인에서 ‘실패(Failure)’를 필터링해 확인하면 조직에서 로그인 시도가 가장 많은 사용자를 파악할 수 있다. 이러한 사용자에게 자격증명이 손상될 수 있는 위험에 관해 교육한다. 또 해당 사용자의 액세스 권한을 확인하고 필요하다면 계정의 보안 및 보호 수준을 강화한다. 애저 AD가 있는 경우 위험한 행위를 모니터링하는 조건부 정책을 추가할 수 있다. 

4. 비밀번호 모범 사례 교육 
마지막으로, 사용자가 비밀번호를 쓰는 올바른 습관을 지닐 수 있도록 교육한다. 이를테면 비밀번호를 안전하게 저장하는 것은 괜찮다. 하지만 비밀번호를 재사용하는 것은 좋지 않다. 

비밀번호 유출 여부를 확인해주는 사이트(HaveIbeenpwnd.com)는 잠재적 침해에 관해 기존 암호를 검토하는 애플리케이션, 웹사이트, 통합을 위한 훌륭한 리소스다. ‘k-Anonymity’ 프로젝트에서 알 수 있는 것처럼 API 사용이 우려된다면 오프라인 데이터베이스를 활용해 사용자의 비밀번호 상태를 확인할 수 있다. 

또 사용자가 더 나은 비밀번호를 선택하도록 교육한다. ‘비밀번호는 복잡성을 충족해야 한다’라는 그룹 정책 설정은 암호 정책이 사용자의 선택에 어떤 영향을 미치는지 확인할 수 있는 좋은 장소다. 이러한 정책은 비밀번호를 너무 자주 변경하도록 해, 문자 하나만 변경하거나 쉽게 추측할 수 있는 암호를 선택해버리는 경우가 많다. 조직의 설정을 검토하고 사용자가 자신과 회사를 보호할 수 있는 비밀번호를 선택할 수 있도록 해야 한다. ciokr@idg.co.kr
 



2021.06.24

공격자의 윈도우 네트워크 접근을 ‘쉽지 않게’ 하는 방법 4가지

Susan Bradley | CSO
美 최대 송유관 업체 콜로니얼 파이프라인(Colonial Pipeline)을 마비시킨 공격자는 오래되고 손상된 VPN 자격증명을 사용했을 가능성이 크다. 이를 반면교사 삼아 공격자가 윈도우 네트워크에 액세스하기 ‘어렵게’ 만드는 방법들을 살펴본다. 

여러 사이버 해킹 사건을 살펴보다 보면 공격자가 어떻게 네트워크에 액세스했는지 궁금하지 않은가? 보도에 따르면 지난 5월 발생한 콜로니얼 파이프라인 공격의 초기 감염 지점은 오랫동안 사용되지 않았지만 여전히 열려있었던 VPN 계정으로 추정됐다.

비밀번호는 다크웹에서 발견됐다. 피싱을 통해 얻은 것이 아니었다. 이는 비밀번호가 콜로니얼 파이프라인 직원에 의해 유출됐거나 재사용됐음을 의미한다. VPN 계정에는 이중인증(2FA)이 활성화돼 있지 않아 공격자는 로그인만 하면 됐다. 
 
ⓒGetty Images

이제 우리의 네트워크를 살펴볼 차례다. 2FA가 없는 원격 액세스 자격증명이 있는가? 공격자가 네트워크에 침입할 수 있는 또 다른 방법이 있는가? 로그인을 처리하는 방법이 느슨하진 않은가? 오래 사용하지 않은 계정에 취약한 비밀번호를 쓰고 있지 않은가? 아니면 다크웹에서 찾을 수 있는 비밀번호를 사용하는 건 아닌가?   

여기서는 공격자가 윈도우 네트워크에 쉽게 액세스하지 못하도록 하는 방법 4가지를 살펴본다. 

1. 액티브 디렉토리(Active Directory)에서 오래된 기기 및 계정 찾기 
오랫동안 사용하지 않은 컴퓨터 계정을 찾을 때 유용한 도구가 바로 ‘올드컴프(Oldcmp)’다. 다음과 같이 파워셸(PowerShell)을 사용해 비활성 계정을 찾거나 90일 이상 로그인하지 않은 사용자를 확인할 수 있다. 

Get-ADUser -Filter * -Properties LastLogonDate | Where-Object {$_.LastLogonDate -lt (Get-Date).AddDays(-90)}

애저 액티브 디렉토리(Azure AD)에 오래된 기기가 있는지 확인하려면 콘솔 또는 파워셸을 사용하면 된다. 관리자 권한으로 파워셸을 열고 다음 명령을 실행한다. 

Install-Module -Name AzureAD
Install-Module msonline
Import-Module -Name AzureAD
Import-Module msonline
Connect-MsolService


관리자 자격증명을 입력하라는 메시지가 표시되고 애저 AD에 연결된다. 그다음 파워셸 명령을 실행해 오래된 애저 기기 목록을 csv 형식으로 내보낼 수 있다. 

Get-MsolDevice -all | select-object -Property Enabled, DeviceId, DisplayName, DeviceTrustType, ApproximateLastLogonTimestamp | export-csv “C:\temp\az-devices.csv”

관리자 자격증명을 사용해 애저 포털(Azure Portal)에 로그인한다. ‘Intune’을 검색하고 ‘Intune Blade’를 연다. 그리고서 왼쪽 메뉴에서 ‘Devices’를 선택한 후 ‘기기 정리 규칙(Device cleanup rules)’에 들어가 ‘마지막 체크인 날짜를 기준으로 기기 삭제(Delete devices based on last check-in date)’를 켠다. 얼마 동안 액세스하지 않았을 때 기기를 삭제할 것인지 그 기간도 설정한다. 
 
ⓒSusan Bradley

애저 AD에서 비활성 계정을 찾으려면 ‘마이크로소프트 그래프 API(Microsoft Graph API)’의 ‘signInActivity’ 리소스 타입에 의해 노출된 마지막 ‘SignInDateTime’ 속성을 확인한다. 정보가 비어 있다면 로그인한 적이 아예 없거나 2019년 12월 이전에 로그인한 것이므로, 둘 다 제거해야 하는 오래된 계정을 나타낸다.  

이 밖에 VPN 액세스는 엣지 기기와 통합될 수도 있기 때문에 주변 장치에서도 오래된 사용자 정보를 검토하는 게 좋다. 

2. 계정 액세스에 2FA 추가
액티브 디렉토리부터 클라우드 서비스까지 거의 모든 것에 2FA를 추가할 수 있다. 개인적으로는 사무실에 듀오닷컴(Duo.com)의 2FA를 원격 액세스 및 사용자 로그인에 추가했다. 다른 옵션으로는 브라우저 플러그인을 통해 웹사이트에 2FA를 지원하는 사스패스닷컴(Saaspass.com)이 있다. 

요점은 이렇다. 아직 비밀번호에서 벗어난 옵션을 검토하지 않았다면 지금 당장 시작하라. 마이크로소프트는 생체 인식 인증을 지원하는 ‘비즈니스용 윈도우 헬로우(Windows Hello for Business)’, 모바일 기기를 위한 ‘마이크로소프트 어쎈티케이터(Microsoft Authenticator)’, ‘FIDO2 보안키’ 등의 솔루션을 제공한다. 

3. 사용자 로그인 검토 
사용자 로그인을 검토해 조직에서 누가 타깃이 될 수 있는지 확인한다. 애저 AD 로그인에서 ‘실패(Failure)’를 필터링해 확인하면 조직에서 로그인 시도가 가장 많은 사용자를 파악할 수 있다. 이러한 사용자에게 자격증명이 손상될 수 있는 위험에 관해 교육한다. 또 해당 사용자의 액세스 권한을 확인하고 필요하다면 계정의 보안 및 보호 수준을 강화한다. 애저 AD가 있는 경우 위험한 행위를 모니터링하는 조건부 정책을 추가할 수 있다. 

4. 비밀번호 모범 사례 교육 
마지막으로, 사용자가 비밀번호를 쓰는 올바른 습관을 지닐 수 있도록 교육한다. 이를테면 비밀번호를 안전하게 저장하는 것은 괜찮다. 하지만 비밀번호를 재사용하는 것은 좋지 않다. 

비밀번호 유출 여부를 확인해주는 사이트(HaveIbeenpwnd.com)는 잠재적 침해에 관해 기존 암호를 검토하는 애플리케이션, 웹사이트, 통합을 위한 훌륭한 리소스다. ‘k-Anonymity’ 프로젝트에서 알 수 있는 것처럼 API 사용이 우려된다면 오프라인 데이터베이스를 활용해 사용자의 비밀번호 상태를 확인할 수 있다. 

또 사용자가 더 나은 비밀번호를 선택하도록 교육한다. ‘비밀번호는 복잡성을 충족해야 한다’라는 그룹 정책 설정은 암호 정책이 사용자의 선택에 어떤 영향을 미치는지 확인할 수 있는 좋은 장소다. 이러한 정책은 비밀번호를 너무 자주 변경하도록 해, 문자 하나만 변경하거나 쉽게 추측할 수 있는 암호를 선택해버리는 경우가 많다. 조직의 설정을 검토하고 사용자가 자신과 회사를 보호할 수 있는 비밀번호를 선택할 수 있도록 해야 한다. ciokr@idg.co.kr
 

X