Proxyware를 이용해 수익을 얻는 공격자들

Proxyware란 설치된 시스템에서 현재 사용 가능한 인터넷 대역폭 일부를 외부에 공유하는 프로그램이다. 일반적으로 이를 설치하는 사용자는 대역폭을 제공하는 대신 일정한 금액을 받는다. 이러한 서비스를 제공하는 업체들로는 Peer2Profit, IPRoyal과 같은 회사들이 있다. 해당 업체들은 제공 받은 대역폭을 다른 업체들에 제공하는 방식으로 수익을 얻는데 홈페이지에 따르면 소프트웨어 배포, 시장 조사, 광고 검증, 소프트웨어 테스트와 같은 다양한 비즈니스 파트너들이 있다고 주장한다.

사용자 입장에서는 시스템에 Proxyware를 설치함으로써 일정 수익을 얻을 수 있지만, 외부의 다른 사용자가 자신의 네트워크를 이용해 특정 행위를 수행한다는 점에서 위험을 감수해야 한다. 즉 사용자들은 Proxyware 업체들이 주장하는 업체들이 구체적으로 어디인지 확인할 수 없으며 해당 업체들에서 자체적으로 검증을 했다고 하더라도, 추후 자신의 인터넷 대역폭이 악의적으로 사용되는지를 확인할 수 없다는 위험이 존재한다.

[그림 1] IPROYAL 사에서 주장하는 네트워크 제공 업체

최근 ASEC 분석팀에서는 사용자 동의 없이 Proxyware를 설치하는 악성코드들을 확인하였다. 이러한 악성코드에 감염된 사용자는 비자발적으로 네트워크 대역폭을 탈취당하게 되며 공격자는 이를 통해 수익을 얻는다. 이렇게 감염 시스템의 리소스를 이용해 수익을 얻는 방식은 코인 마이너와 유사하다고 할 수 있다. 이러한 유형의 악성코드는 과거부터 꾸준히 존재하였으며, 2021년에도 Cisco Talos 사에서 Proxyware 악성코드들을 분석한 바 있다.[1]


1. Adware를 이용한 유포 사례

여기에서는 먼저 애드웨어를 통해 유포 중인 악성코드를 다룬다. 자사 ASD 로그를 이용해 확인한 결과 해당 악성코드는 Neoreklami 등 애드웨어 악성코드들을 통해 설치되었다.

[그림 2] Neoreklami 애드웨어를 통해 설치되는 Proxyware 악성코드

이 악성코드는 드로퍼 유형의 악성코드로서 실행되면 사용자의 인지 없이 시스템에 본인 계정으로 Peer2Profit, IPROYAL 사의 Proxyware를 설치한다.


…. 1.1. Peer2Profit

먼저 Peer2Profit부터 보자면 악성코드는 다음과 같이 데이터 섹션에 저장하고 있는 Peer2Profit SDK DLL을 동일 경로에 생성한다. 다음 매뉴얼에 따르면 Peer2Profit SDK는 p2p_is_active() 함수를 이용해 현재 프록시 클라이언트가 실행 중인지 확인할 수 있으며, p2p_start() 함수로 프록시를 시작할 수 있다.

[그림 3] Peer2Profit SDK 매뉴얼

실제 악성코드도 위의 매뉴얼과 같이 생성한 SDK DLL을 로드한 후 인자로 공격자의 이메일 주소를 주고 p2p_start() 함수를 실행하는 것을 확인할 수 있다. 즉 해당 악성코드는 감염 시스템에서 사용자의 인지 없이 동작하면서 인터넷 대역폭을 탈취당하게 되고 공격자는 지정한 이메일 주소 즉 자신의 계정을 통해 수익을 얻게 된다.

[그림 4] Peer2Profit SDK 파일 생성 및 실행

…. 1.2. PRoyal Pawns

드로퍼 악성코드는 Peer2Profit SDK 외에도 IPRoyal 사의 Pawns를 함께 설치한다. 초기에 확인되던 드로퍼는 CLI exe 형태의 Pawns를 이용하였다. 일반적인 IPRoyal 프로그램은 GUI 형태이지만 이렇게 CLI 형태를 지원함에 따라 커맨드 라인으로 실행이 가능하기 때문에 사용자의 인지 없이도 설치가 가능하다.

[그림 5] IPRoyal Pawns CLI 프로그램

먼저 현재 CLI 형태의 Pawns가 동작 중일 경우 강제로 종료시키며, 이후에는 Peer2Profit SDK와 유사하게 동일 경로에 Pawns를 생성한다. 그리고 공격자의 이메일 주소와 비밀번호를 인자를 주고 실행시킴으로써 해당 시스템에서 수익을 얻는다.

[그림 6] IPRoyal Pawns 설치 루틴

이후 확인되는 유형들은 CLI 형태의 Pawns를 쓰는 대신 DLL 형태의 Pawns를 이용한다. 드로퍼는 동일 경로에 pawns.dll를 생성하고 로드한 후 Initialize() 함수 및 startMainRoutine() 함수를 호출한다.

[그림 7] DLL 형태의 Pawns 실행 루틴

직접 커맨드 라인 인자로 공격자의 이메일 주소와 비밀번호를 전달받았던 CLI 형태의 Pawns와 달리 DLL 형태의 Pawns는 인코딩된 데이터를 인자로 전달받는다. 해당 문자열은 Base64 인코딩되어 있으며 복호화 시 다음과 같은 json 설정 데이터를 확인할 수 있다.

[그림 8] Base64 복호화된 인자 데이터

해당 데이터는 인증에 사용되는 데이터로 추정되며, 실제 GUI 형태의 IPRoyal에서도 유사한 방식이 사용된다. IPRoyal에 로그인하면 GUI 클라이언트가 설치 경로 내의 %PROGRAMFILES%\IPRoyal Pawns\resources\packages\main\resources\libpawns 에 위치하는 libpawns.dll (x86 환경에서는 libpawns32.dll) 파일을 로드한 후 동일하게 인코딩된 설정 데이터를 인자로 주고 startMainRoutine() 함수가 호출되는 방식이다.

[그림 9] GUI 형태의 IPRoyal 클라이언트


2. 취약한 MS-SQL 서버 대상 공격 사례

참고로 Peer2Profit은 다른 공격자들에 의해서도 사용되고 있는데, 다음은 취약한 MS-SQL 서버에 Peer2Profit SDK가 설치되는 로그이다. 해당 시스템에는 코인 마이너나 백도어 등 사전 공격을 통해 유포되는 다양한 악성코드들의 감염 로그가 함께 확인되는 것으로 보아 이러한 악성코드들과 동일하게 취약한 계정 정보를 가짐에 따라 사전 공격을 통해 유포되는 것으로 추정된다.

[그림 10] 취약한 MS-SQL 프로세스에 의해 설치되는 Peer2Profit SDK

“sdk.mdf” 파일은 UPX로 패킹되어 있으며 2022년 6월 초부터 현재까지 다수의 취약한 MS-SQL 서버를 대상으로 설치되고 있다. 물론 Peer2Profit 특성상 DLL이며 익스포트트 함수의 인자로 공격자의 메일 주소를 전달하기 때문에 파일 만으로는 공격자의 이메일 주소와 같은 추가적인 정보는 확인할 수 없다.

최근 확인되고 있는 Proxyware 드로퍼 악성코드는 시스템의 리소스를 이용해 수익을 얻는다는 점에서 코인 마이너와 유사하다. 이러한 악성코드들은 애드웨어를 이용해 유포되거나 취약한 MS-SQL 서버를 대상으로 설치되고 있다. 사용자들은 알려지지 않은 출처에서 프로그램을 설치하는 행위를 자제해야 하며, 데이터베이스 서버가 설치되어 있다면 접근 통제 정책 및 계정 정보 설정을 적절하게 관리해야 한다. 또한 V3를 최신 버전으로 업데이트하여 악성코드의 감염을 사전에 차단할 수 있도록 신경 써야 한다.

[파일 진단]
– Dropper/Win.Proxyware.C5173477 (2022.07.18.03)
– Dropper/Win.Proxyware.C5173478 (2022.07.18.02)
– Dropper/Win.Proxyware.C5210584 (2022.07.18.02)
– Unwanted/Win.Peer2Profit.R505332 (2022.07.18.02)
– Unwanted/Win.Pawns.C5211846 (2022.07.21.01)
– Unwanted/Win.Pawns.C5211847 (2022.07.21.01)

[IOC]
MD5
드로퍼

– 05ed95d997662ee0ba15f76949955bf0
– dd709b8529802d6489311a27372044aa
– 29cbc8a8cdb0e24f3561fac8ac0c0174

Peer2Profit SDK
– b1781c2670a2e0a35a10fb312586beec
– e34d9ec5d43501dc77ee93a4b464d51b

IPRoyal Pawns
– 7f8c85351394fd8221fc84d65b0d8c3e
– 3e4bb392494551a89e090fbe1237f057

연관 IOC 및 관련 상세 분석 정보는 안랩의 차세대 위협 인텔리전스 플랫폼 ‘AhnLab TIP’ 구독 서비스를 통해 확인 가능하다.

0 0 votes
별점 주기
guest
0 댓글
Inline Feedbacks
View all comments