
실행파일 설정의 HTTP 주소, 샌드박스 POST 대상과 일치
실행파일에서 추출된 `http://ANYIOBA.INFO/index.php`가 Rising MOVES 샌드박스의 POST 요청 대상으로도 기록됐다. 설정된 목적지가 분석 환경에서 사용됐다는 근거지만, 요청 본문과 서버 응답이 없어 정보 유출이나 C2 세션 성공 여부는 확인할 수 없다.
실행파일에서 추출한 설정에 적힌 HTTP 주소가 샌드박스의 POST 요청 기록에도 그대로 나타났다. 목적지는 http://ANYIOBA.INFO/index.php다. 악성코드 설정에 남아 있는 주소가 실제 실행 환경에서도 사용됐는지는 별개의 문제다. 이 사례에서는 설정과 요청의 일치가 그 간극을 좁힌다. 다만 요청이 기록됐다는 사실에서 서버가 명령을 전달했거나 정보 탈취가 완료됐다는 결론까지 이어지는 것은 아니다.
CTX Threat Intelligence가 검토한 자료에서 Rising MOVES 샌드박스 보고서는 해당 주소로의 POST와 anyioba.info에 대한 DNS 조회를 함께 기록했다. 다른 두 샌드박스 보고서에도 같은 도메인의 조회가 남았다. 따라서 이 도메인은 파일과 느슨하게 연관된 평판 지표에 그치지 않는다. 파일의 설정에 포함됐고, 분석 환경에서 실제 요청 대상으로 등장한 호스트다.
핵심은 도메인이 얼마나 많은 보안 제품에서 악성으로 분류됐느냐보다, 파일이 그 주소를 어떤 역할로 사용했느냐다. 설정은 의도된 목적지를 설명하고, HTTP 기록은 그 목적지를 향한 동작을 보여 준다. DNS와 호스트 내부의 흔적은 이 연결을 더 자세히 이해하게 하지만, 모두 같은 수준의 증거는 아니다.
설정 속 주소가 요청 대상으로 확인되기까지
분석 대상은 윈도 실행파일 SHA-256 접두부 #a1fc44bbe7ef다. MANDIANT_TCR가 추출한 설정에는 악성코드 계열이 Azorult로, 연결 범주가 C2로 기재돼 있다. 호스트는 ANYIOBA.INFO, 포트는 80이며, HTTP 프로토콜과 /index.php 경로가 명시됐다. 추출 방법은 제공되지 않았으므로 이를 메모리에서 복원한 설정이나 정적 분석으로 찾은 문자열이라고 더 구체화할 수는 없다.
이 설정이 중요한 이유는 단순한 도메인 이름보다 비교할 요소가 많기 때문이다. 호스트뿐 아니라 프로토콜과 경로가 있어, 샌드박스에서 나타난 요청이 설정된 목적지와 일치하는지 확인할 수 있다. 도메인 하나가 같다는 관계와 특정 URL 전체가 같다는 관계는 설명력이 다르다. 후자는 파일 안에 제시된 통신 대상이 실행 관찰에서도 사용됐다는 판단을 더 직접적으로 뒷받침한다.
Rising MOVES 보고서에는 바로 그 URL을 대상으로 한 HTTP POST가 기록돼 있다. 같은 보고서의 DNS 조회 대상도 설정의 호스트와 일치한다. 설정만 있었다면 사용되지 않는 값이나 실행 조건에 따라 접근하지 못하는 주소일 가능성을 남겨 둬야 한다. 하지만 요청 기록이 더해지면서, 적어도 해당 분석 환경에서는 설정된 주소를 향한 HTTP 동작이 관찰됐다고 말할 수 있다.
여기서 연결의 단위는 파일에 대한 샌드박스 보고서다. 제공된 HTTP 항목에는 요청을 발생시킨 프로세스를 특정할 PID나 그에 상응하는 상관관계 정보가 없다. 따라서 이 결과를 특정 프로세스의 특정 네트워크 함수 호출까지 추적한 기록처럼 설명해서는 안 된다. 또 같은 보고서에 DNS 조회와 POST가 있다는 사실은 두 관찰을 함께 해석할 근거가 되지만, 목록 순서만으로 조회 직후 요청이 일어났다는 시간 순서를 만들지는 못한다.
계열 식별도 이 관계를 보조한다. 자료에는 Elastic Security와 CAPEv2의 Azorult YARA 규칙 일치가 있고, C2AE와 VMRay의 샌드박스 판정에도 해당 계열명이 등장한다. 이는 Azorult 관련 표본이라는 해석을 뒷받침한다. 그러나 이 기사에서 더 결정적인 증거는 계열명이 아니라 설정과 요청의 일치다. 계열에 알려진 기능을 이 표본의 실행 결과로 옮겨 적지 않아도, 해당 엔드포인트의 실제 관련성은 설명할 수 있다.
POST가 보여 주는 역할과 아직 보여 주지 않는 내용
추출 도구가 이 URL을 C2로 분류했고, 같은 주소에 대한 POST가 관찰됐다는 점을 종합하면 외부 보고 또는 명령 교환용 엔드포인트라는 해석은 타당한 가설이다. 그렇지만 설정에 붙은 C2 분류는 통신 내용 자체가 아니다. POST라는 요청 방식 역시 무엇을 보냈는지 대신 설명해 주지 않는다. 요청 방식과 목적지의 일치는 사용 여부에 답하고, 본문과 응답은 그 사용의 목적과 결과에 답한다.
제공된 자료에는 POST 본문, 서버 응답, 처리 결과가 없다. 따라서 전송하려던 내용이 자격증명이나 브라우저 데이터였는지, 단순 상태 정보였는지 구별할 수 없다. 샌드박스에서 생성된 비민감 정보나 시험용 데이터가 포함됐을 가능성도 관찰과 양립한다. 이것이 가장 중요한 대안 해석이다. 요청 대상이 악성코드 설정과 일치한다는 결론을 약화시키지는 않지만, 그 요청을 곧바로 피해 데이터 유출로 부르는 것은 막는다.
서버 측의 역할도 같은 이유로 범위를 나눠야 한다. 기록은 주소를 향한 요청을 보여 주지만, 상대가 이를 받아 처리했는지 또는 유효한 명령을 돌려줬는지는 보여 주지 않는다. 이 사례에서 확인된 것은 설정된 엔드포인트를 향한 HTTP 요청이며, 성공한 양방향 C2 세션은 아니다. CTX Team은 이 차이가 단순한 표현상의 주의가 아니라 영향 판단의 경계라고 본다.
이렇게 구분하면 추가로 확인할 정보도 구체화된다. 파일과 URL의 관련성을 입증하기 위해 평판 판정을 더 쌓는 것과, 요청의 내용을 알아내는 것은 다른 작업이다. 전자는 이미 설정과 동작의 일치로 상당 부분 뒷받침된다. 이 사례의 의미를 정보 유출이나 명령 수신까지 확장하려면, 이제 필요한 것은 같은 요청의 본문과 응답처럼 통신 결과를 설명하는 증거다. 도메인에 대한 악성 판정이 늘어나더라도 그 빈자리를 채우지는 못한다.
반복된 DNS 조회와 A 레코드는 어디까지 연결되는가
다른 실행 환경의 관찰은 해당 호스트가 우연히 한 보고서에만 등장한 것은 아니라는 점을 보여 준다. VMRay와 VirusTotal Jujubox 보고서 모두 anyioba.info 조회를 기록했다. 서로 다른 보고서에서 같은 호스트가 반복된다는 사실은 파일과 도메인의 관계를 보강한다. 설정에 명시된 이름이 여러 분석 환경에서도 조회 대상으로 나타난 것이다.
다만 반복되는 것은 DNS 조회이지, 세 보고서 모두에서 확인된 HTTP POST가 아니다. 제공된 POST 기록은 Rising MOVES에 있다. VMRay와 Jujubox의 조회를 여기에 붙여 하나의 긴 통신 흐름으로 만들거나, 모든 환경에서 같은 HTTP 교환이 이뤄졌다고 확장할 수는 없다. 각 보고서는 별도의 분석 관찰이며, 서로의 비어 있는 부분을 대신 채우지 않는다. 이 경계를 지킬 때 반복 조회는 독립적인 보강 증거로서 의미를 갖는다.
Jujubox에는 8.8.8.8:53/UDP를 목적지로 한 트래픽도 기록됐다. 이는 DNS 조회가 나타난 보고서에서 확인된 53번 포트 통신이다. 반면 파일의 집계된 접촉 IP 관계에도 같은 주소가 있다는 이유만으로 이 주소를 악성코드의 명령 서버로 분류할 근거는 없다. 집계 관계 자체는 프로세스나 세션, 성공적인 교환을 확정하지 않으며, 이 트래픽 항목에도 특정 DNS 질의와 응답을 연결하는 내용은 제공되지 않았다.
도메인 프로필에는 또 다른 주소인 173.212.234.246이 A 레코드로 제시된다. 이 값은 도메인의 인프라를 더 살펴볼 수 있는 단서지만, Rising MOVES의 POST가 도달한 IP라고 단정할 수 없다. 해당 샌드박스 실행 시점의 DNS 응답이나 그 요청의 목적지 IP가 없기 때문이다. 도메인 프로필에 보이는 해석 결과와 실행 보고서에 보이는 요청은 호스트 이름을 매개로 관련되지만, 그 관계만으로 특정 시점의 연결 경로가 완성되지는 않는다.
A 레코드의 TTL은 119초다. 이 수치는 기록된 DNS 값의 속성이지, 실제 주소 변경을 관찰했다는 뜻은 아니다. 마찬가지로 Cloudflare 네임서버가 기재돼 있다는 사실도 권한 DNS의 단서일 뿐, POST를 받은 서버의 운영자나 악성코드 운영 주체를 밝히지 않는다. 이 사례에서 인프라 정보의 역할은 확인된 URL을 더 조사할 출발점을 제공하는 것이다. 파일의 동작을 특정 IP나 사업자의 행위로 옮겨 놓는 증거는 아니다.
이 구분은 네트워크 기록을 읽는 단위에도 영향을 준다. HTTP 목적지, DNS 질의 대상, 53번 포트의 상대 주소, 도메인 프로필의 A 레코드는 모두 주소처럼 보이지만 서로 다른 역할을 맡는다. 이를 하나의 ‘접촉 인프라’ 목록으로 평평하게 만들면, 가장 강한 연결인 설정 URL과 POST의 일치는 오히려 흐려지고 확인되지 않은 서버 경로가 확정 사실처럼 보이게 된다.
인터넷 설정 흔적은 요청의 내용을 대신하지 않는다
네트워크 목적지와 함께 눈에 띄는 것은 윈도 인터넷 설정과 브라우저 관련 저장 경로다. Rising MOVES 보고서에는 Internet Settings\Connections 아래의 DefaultConnectionSettings와 SavedLegacySettings 설정 기록이 있다. 같은 보고서의 파일 쓰기 항목에는 History.IE5, Temporary Internet Files\Content.IE5, Cookies 경로가 나타난다. 이 때문에 POST를 브라우저 정보 수집이나 프록시 조작과 연결하고 싶어질 수 있다.
그러나 기록된 행위의 종류를 보면 해석이 달라진다. 이 항목들은 해당 경로에 대한 쓰기 기록이지, 저장된 쿠키나 방문 기록을 읽어 수집했다는 기록이 아니다. 이름에 Cookies가 포함됐다는 사실만으로 그곳의 데이터를 가져갔다고 바꿔 읽을 수는 없다. HTTP 요청과 같은 보고서에 있다는 점은 함께 검토할 이유가 되지만, 파일 쓰기와 요청 본문 사이의 데이터 흐름을 증명하지는 않는다.
레지스트리 규칙 일치도 구체적인 대상과 함께 봐야 한다. 자료의 낮은 심각도 Sigma 규칙 제목은 ‘Modification of IE Registry Settings’다. 실제 일치한 이벤트는 Event ID 13의 SetValue이며, 대상은 WPAD 아래의 WpadNetworkName과 WpadLastNetwork다. 두 값에는 같은 네트워크 식별자와 관련된 정보가 기록돼 있다. 규칙 제목은 인터넷 설정 영역의 변경을 요약하지만, 일치한 값만으로 악성 프록시 주소가 삽입됐거나 통신이 공격자 쪽으로 우회됐다고 말할 수는 없다.
별도의 Jujubox 보고서에서는 ProxyEnable에 0을 쓰고, 쿠키 및 방문 기록의 CachePrefix에 각각 Cookie:와 Visited:를 기록한 항목이 보인다. 여기서도 값의 이름과 쓰기 사실은 확인되지만, 변경 전 상태나 실제 네트워크 경로의 변화는 제공되지 않는다. 특히 이 관찰을 Rising MOVES의 POST보다 앞선 단계로 배치해 ‘프록시를 해제한 뒤 정보를 보냈다’는 순서를 만들면, 서로 다른 실행의 기록을 하나의 공격 과정으로 합치는 오류가 된다.
이 흔적들에 대한 가장 강한 대안은 분석 환경에서 사용된 윈도 네트워킹 구성요소의 통상적인 처리 과정에서도 일부 설정과 캐시 관련 쓰기가 생겼을 수 있다는 것이다. 제공된 자료는 그 가능성과 악성코드가 의도적으로 설정을 조작했다는 해석을 가를 만큼 상세한 호출 관계를 보여 주지 않는다. 따라서 여기서 유용한 관찰은 인터넷 설정 및 저장 경로에 변화가 기록됐다는 사실이며, 우회나 탈취라는 목적을 확정하는 것은 아니다.
이 사례가 바꾸는 이해는 명확하다. anyioba.info는 단순히 악성 평판이 붙은 도메인이 아니라, 파일에서 추출된 설정의 구체적인 HTTP 목적지이자 샌드박스에서 POST 대상으로 기록된 호스트다. 반면 도메인의 A 레코드와 주변 레지스트리·캐시 흔적은 그 요청의 서버 경로나 내용까지 설명하지 않는다. 조사상 가장 단단한 연결은 파일과 정확한 엔드포인트 사이에 있다. 이 연결을 중심에 놓으면 주소의 평판을 반복 확인하는 데서 벗어나, 어떤 요청이 실제로 이뤄졌고 그 결과가 무엇이었는지를 구분하는 분석으로 나아갈 수 있다.