포스팅 내용

국내외 보안동향

PowerShell 명령어를 실행하기 위해 DNS 쿼리를 사용하는 새로운 파일리스 공격

PowerShell 명령어를 실행하기 위해 DNS 쿼리를 사용하는 새로운 파일리스 공격

NEW FILELESS ATTACK USING DNS QUERIES TO CARRY OUT POWERSHELL COMMANDS


최근 DNSMessenger라 불리는 독특한 공격방법이 발견되었는데, 이 공격방법은 악성 PowerShell 명령어를 해킹당한 컴퓨터에서 실행하기 위해 DNS 쿼리를 사용하는 것으로 확인되었습니다. 보안 연구원들은 이 방법이 원격 액세스 트로이 목마가 대상 시스템에 떨어지는 것을 감지하기 어렵게 한다고 밝혔습니다.


이 공격은 조작된 Word문서를 사용자들에게 발송하여 메세지 열람을 위해서 "컨텐츠를 활성화" 하라고 요구함으로써 시작됩니다. 만약 수신자가 공격자의 의도대로 컨텐츠를 활성화 한다면, 이 문서에 포함되어 있던 Visual Basic for Applications 매크로를 실행하여 초기 PowerShell 명령어를 오픈합니다. 


보안연구원은 "이런 방법은 RAT를 관리하는 매우 드문방법이다. 파일이 없으면서 PowerShell의 여러 단계를 사용한다는 것은 공격자가 탐지를 우회하기 위해 매우 많은 조치를 취했다는 것을 나타낸다"고 밝혔습니다.


초기의 PowerShell 명령은 Word 문서 자체 내에 포함 되어 실행 됩니다. 감염 시스템에 파일을 쓰는 등 일반적인 감염방식을 사용하지 않기 때문에 이 공격은 매우 독특합니다. 대신 악성코드 감염방법은 DNS TXT 메세징 기능을 이용하여 DNS TXT 기록을 통하여 원격에서 저장된 악성 PowerShell 명령어를 요청하고 불러옵니다. 


이 악성코드 샘플은 양방향 C&C 채널을 생성하여 DNS TXT 기록 쿼리 및 응답을 사용합니다. 이를 통하여 공격자가 감염된 기기에서 실행 될 새로운 명령어를 등록하고, 명령어 실행 결과를 공격자에게 리턴하는데 DNS 통신을 사용할 수 있게 됩니다. 


기술 분석에 따르면, 공격자들은 다수의 VBA 스크립트를 활용했으며 이들 각각은 독립적인 고유한 PowerShell 스크립트를 분석합니다. 감염 프로세스의 각 단계에서 악성코드는 스크립트에 하드코딩 된 여러 도메인 중 하나에 DNS 쿼리를 전송합니다. 


연구원들은 “이 문서는 Document_Open()함수를 사용해 또 다른 VBA 함수를 호출한다. 호출 된 함수는 PowerShell 명령어를 정의하고, 실행 될 코드를 포함하는 긴 문자열을 설정한다. 이후 이 명령어는 Create 메소드를 사용해 Windows Management Interface (WMI) Win32_Process 오브젝트를 사용하여 실행 된다.”고 밝혔습니다.


이 과정을 통하여 감염된 시스템의 파일 시스템에 코드를 쓰지 않더라도 코드를 실행할 수 있도록 허용합니다. 

다단계 감염 프로세스의 목적은 대상 시스템의 접근 권한과 설치 된 PowerShell 버전을 알아내고, 윈도우 레지스트리를 변조하고 지속성을 유지하기 위한 백도어를 여는 것입니다.


보안연구원은 DNSMessenger가 공격자가 탐지를 피할 수 있는 독창성 및 길이를 보여준다고 말하며,  “이는 HTTP/HTTPS, SMTP/POP3 등과 같은 네트워크 프로토콜을 검사 및 필터링 하는 것 이외에도 기업 네트워크의 DNS 트래픽 또한 공격자가 완전한 기능을 갖춘 양방향 C2 인프라를 구현할 수 있는 채널로 간주되어야 한다.”고 밝혔습니다. 


보안연구원들은 실행할 명령어를 보내기 위해 C2 인프라에 연결할 수 없었는데, 이는 APT공격에서 볼 수 있는 흔한 경우로, 공격자가 의도한 피해자 혹은 희생양(victim)들에게만 명령어를 보내기 떄문입니다. 




출처 :

https://threatpost.com/new-fileless-attack-using-dns-queries-to-carry-out-powershell-commands/124078/



티스토리 방명록 작성
name password homepage