포스팅 내용

국내외 보안동향

훔친 신용 카드 데이터를 밀수하기 위해 DNS를 사용하는 윈도우 POS 악성코드 발견

Windows POS malware uses DNS to smuggle stolen credit cards


공격자의 원격 서버로 훔친 신용 카드 정보를 몰래 전송하기 위해 DNS 프로토콜을 사용하는 윈도우 POS 악성코드가 발견되었습니다.


POS 악성코드는 POS 시스템에 설치되어 신용카드를 사용하여 이루어지는 거래를 모니터링합니다. 


원격 터미널이나 로컬 기기에서 지불이 이루어지면, 악성코드는 컴퓨터의 메모리에서 신용 카드 정보를 긁어모아 공격자가 운영하는 원격 C&C 서버로 전송합니다.


그런 다음, 공격자는 신용카드 정보를 통해 사기성 결제, 신용카드 복제와 같은 공격을 실행하거나 데이터를 다크 웹 시장에 판매합니다.



Alina POS 악성코드, 탐지를 피하기 위해 DNS 사용해


POS 시스템을 보호할 때는 보통 필요한 특정 프로토콜에만 연결할 수 있도록 시스템을 잠그는 것이 일반적입니다. 


이 과정에서 HTTP 프로토콜을 잠가 POS 시스템에 웹 서버에 연결할 수 없도록 하는 경우가 많습니다.


이로써 악성코드가 훔친 신용카드 정보를 전송하기 위해 HTTP 프로토콜을 사용하는 POS 악성코드의 C&C 서버에 연결하는 것을 막을 수 있습니다.


하지만 DNS 프로토콜은 다양한 윈도우 서비스와 일반적인 기기 운영에 필요하기 때문에 일반적으로 차단되지 않는 경우가 많습니다.


Alina POS 악성코드는 이를 악용하여 암호화된 DNS 요청을 통해 C&C 서버와 통신합니다.


CenturyLink의 연구원들은 보고서를 공개해 이들의 머신 러닝 모델 중 하나가 지난 4월 특정 도메인을 향한 비정상적인 DNS 쿼리를 발견했으며, 이 쿼리를 발생시키는 악성코드가 Alina POS라는 것을 발견했다고 밝혔습니다.


2020년 4월, Black Lotus Labs의 머신 러닝 모델 중 하나가 특정 도메인을 향한 비정상적인 쿼리를 탐지하여 이 악성코드를 발견할 수 있었습니다. 


조사 결과 Alina POS 악성코드는 웹사이트의 이름을 IP 주소로 변환하는 기능인 DNS를 아웃바운드 통신 채널로 사용하여 훔친 데이터를 전송하고 있었습니다.



<C2 도메인의 DNS 트래픽>

<이미지 출처: https://blog.centurylink.com/alina-point-of-sale-malware-still-lurking-in-dns/>



추가 조사 결과 Alina 악성코드는 DNS를 통해 C&C 서버와 통신하기 위해 도메인 4개를 사용하고 있었던 것으로 밝혀졌습니다.



analytics-akadns[.]com

akamai-analytics[.]com

akamai-information[.]com

akamai-technologies[.]com

sync-akamai[.]com (비활성화 상태)



암호화된 DNS 쿼리를 통한 데이터 유출


Alina 악성코드는 C&C 서버와 통신할 때 DNS 쿼리를 인코딩해 하위 도메인으로 위장하여 도메인에 추가합니다.


예를 들어, 아래는 akamai-technologies.com의 서브 도메인으로 인코딩되어 추가된 데이터입니다.



yeTLxcbvkOjr6eH_-pCYkPrDxM0.akamai-technologies[.]com



공격자의 C2 서버가 이 쿼리를 수신하면 PING 명령 추출, 공격자에게 해당 악성코드 실행 여부 확인, 탈취한 신용 카드 정보 전송을 위해 인코딩된 서브 도메인을 복호화합니다.


발견된 각 DNS 쿼리는 위의 ‘Ping’ 쿼리와 같이 C2에 체크인하거나, 신용 카드 정보를 포함하고 있었습니다. 


신용카드 정보를 포함한 쿼리는 위치/설명 필드 뒤에 있는 필드에 실행 파일 이름을 포함하고 있었습니다. 


이는 악성코드가 메모리 내 신용카드 정보를 포함하고 있다고 알리는 프로세스인 것으로 보입니다.


PING일 경우 데이터는 아래와 같이 [피해자id]:[위치]:Ping과 같은 형식으로 전송될 것입니다.



cNaolE:BACKTT:2:Ping



신용 카드 정보를 포함한 쿼리의 경우 데이터 형식은 [피해자id]:[위치]:[긁어낸 프로세스]:[신용카드 데이터]가 됩니다.



viYaKNsY:BACKOFFICEz2::ddcdsrv1.exe::<신용 카드 정보 삭제됨>



연구원들은 아래 프로세스에서 신용카드 데이터가 스크랩되어 DNS 쿼리에 포함된다는 것을 발견했습니다.



DSIMercuryIP_Dial.exe

EdcSvr.exe

fpos.exe

Brain.exe

Focus.exe

appidt.exe

ddcdsrv1.exe

fontdvrhost.exe

tcopy.exe



신용 카드 데이터 섹션에 포함된 마지막 데이터는 신용카드 번호, 만료일, 밝혀지지 않은 7자리 숫자를 포함하고 있습니다.



[신용 카드 번호 삭제됨]=DDMMYYYY[밝혀지지 않은 7자리 숫자]



보안 소프트웨어와 게이트웨이에서는 DNS 쿼리를 통한 인코딩된 데이터 추출을 탐지하기 어렵습니다.


연구원들은 이 공격을 예방하기 위해 조직에서 DNS 트래픽을 모니터링하여 동일한 도메인에 대한 의심스러운 반복적 쿼리를 찾아볼 것을 권장했습니다.


“PoS 시스템을 사용하는 소매점을 포함한 모든 조직에 DNS 트래픽을 모니터링해 의심스러운 쿼리를 찾아볼 것을 권장합니다.”


현재 알약에서는 해당 악성코드 샘플에 대해 'Trojan.Agent.Alinaos'으로 탐지 중에 있습니다.





출처:

https://www.bleepingcomputer.com/news/security/windows-pos-malware-uses-dns-to-smuggle-stolen-credit-cards/

https://blog.centurylink.com/alina-point-of-sale-malware-still-lurking-in-dns/

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