요즘은 정적으로 악성코드를 분석하는 부서가 별로 없지만 다행히 나의 경우 해당 업무를 담당했고 뛰어나신 분 옆에서 3년동안 분석을 배울기회가 있어서 좋은 경험을 쌓을 수 있었다.
다만 점점 익스플로잇킷에 의한 취약점 공격이 아닌 메일 위주의 Formbook과 같은 악성코드가 늘어남에 따라 분석하는 시간이 아까워지기 시작했다. 다크웹 같은 곳에서 돈을 주면 얼마든지 악성코드를 생성하는 프로그램을 받아 찍어내기 식으로 악성코드를 제작할 수 있게 되었다. 그리고 열심히 막아도 점점 분석하기 어려운 방식으로 발전하고 그 양도 늘어남에 따라 정적분석보다는 동적분석으로 대응하고 이메일에 의한 감염을 줄이는 방식으로 대응하기 시작했다.
제작한 악성코드를 다른 PC에서 실행하여 감염시키면 원격으로 서버에 연결되어 공격자가 임의대로 제어할 수 있다.
테스트를 위해 이번에도 네이버 클라우드의 윈도우 서버를 이용했다.
좌측 메뉴의 Client Settings를 클릭해서 빌드를 위해 먼저 포트와 암호를 설정하고
(포트: 5432, 암호 123456)
좌측 메뉴의 Create Server를 클릭해서 악성코드 이름, 팩킹, 등 이것저것 설정을 한 뒤 build 버튼을 클릭한다. 악성코드가 생성되면 같은 폴더에 악성코드가 생성된다. 악성코드의 이름은 server.exe이다. 지금 저 아이피는 클라우드 서버에 윈도우 서버를 생성해서 작업한 것이고 vm에서 테스트를 위해 해보는 경우 제어 서버와 감염 호스트가 동일하므로 127.0.0.1로 설정하면 된다.
이후 가상머신에서 악성코드를 실행시키면 서버에 연결을 시도한다.
다시 돌아와 빌드한 서버에서 상태를 확인하면 연결된 것을 확인할 수 있다.
감염된 PC의 국적, 호스트명, IP, 사용자정보, 운영체제, 캠, 현재 최상단으로 실행중인 프로그램 등의 정보가 보인다. 위의 메뉴에서 Network Stress Tester Tools를 이용하면 디도스 공격도 가능하다.
이제 이 감염된 피씨를 더블클릭하자. 이제 이 피씨는 마음대로 제어가 가능하다.
파일목록
레지스트리 목록
실행중인 프로세스
그 외 서비스, 설치된 프로그램, 시작프로그램 등을 확인할 수 있다.
클립보드한 내용도 확인이 가능하다.
키로깅
아쉽게도 실시간 모드의 경우 정상적으로 긁어오지는 못하고 기록을 모두 가져와야 정상적으로 보인다
원격제어
원격제어 화면이다.
이것 외에도 원격으로 명령어를 실행하고, 비밀정보, 악성코드 다운로드, 업로드 등을 할 수 있다.
사용자에게 메시지를 보내거나 음성을 들리게 할 수 있다.
추가 공격을 위해 감염된 PC와 연결된 피씨를 검색할 수 있다.
그 외로 PC를 종료시키거나 로그아웃 할 수 있다.
그 외로 상단의 마스크 버튼을 클릭하면 감염된 PC의 사용자를 괴롭힐 수 있는데
지금 바탕화면의 아이콘이 모두 사라진 것을 볼 수 있다.
Disabled Desktop을 클릭하면 바탕화면에서 아무런 작업을 할 수 없다.
Hide Taskbar를 클릭하면 작업표시줄이 사라진다.
그리고 마스크 옆에 있는 사람 아이콘을 클릭하면 사용자의 행위들이 모두 기록되어 저장하고 있음을 확인할 수 있다.
지금은 하나의 피씨를 상대로 조종을 진행했고 연결된 모든 피씨에게 한번에 명령을 내릴 수도 있다.
특정 사이트로 접속하도록 명령을 내렸다.
Thumbnail View를 클릭하면 감염된 PC들의 상태를 다 확인할 수 있다.
이 악성코드의 파일 크기는 627 KB밖에 되지 않는다.
하지만 감염되면 정말 모든 것이 탈탈 털리고 감시받게 되므로 악성코드 감염을 대수롭게 여기지말자.
그리고 해커가 지금처럼 서버를 여는 것은 정말 쉽다. 나 같은 경우 클라우드 서비스에 윈도우 서버를 실행했고 제어 서버로 만들었다.
만약 특정 회사에서 취약한 윈도우 서버 또는 실행중인 서비스에서 취약점이 발생할 경우 해커의 공격대상이 될 것이고 그 서버에서 지금과 같은 작업을 진행할 것이므로 취약점 패치도 꾸준히 해야할 것이다.