이제 dnSpy를 사용하여 정적 분석을 해보겠습니다.
그리고 32비트 애플리케이션이므로 32비트 버전의 dnSpy를 사용하겠습니다.
그래서 저는 이미 32비트 dnSpy를 여기에서 열었습니다.
이제 이 멀웨어를 dnSpy에 로드하겠습니다.
그리고 분석 및 디컴파일을 진행합니다.
여기에서 어셈블리 이름 등에 대한 기본 정보를
확인할 수 있습니다.
그리고 조립 회사는 미니툴입니다.
솔루션 어셈블리 설명은 미니툴 파워 데이터 복구입니다.
그리고 이것은 실제로 멀웨어이기 때문에 가짜 설명일 뿐입니다.
여기에서 진입 지점이 GornyKemp임을 알 수 있습니다.
메인.
그래서 이걸 여기로 가져올게요.
알겠습니다.
이것을 클릭하여 메인으로 이동합니다.
그리고 여기가 메인이고, 여기에서 GornyKemp가 메인 클래스인 것을 볼 수 있습니다.
그리고 여기 안에는 다른 많은 수업도 있습니다.
동적, 암호화, FileZilla, IMVU, 소셜 네트워킹 자료, 인터넷 다운로드
관리자, JDownloader, 키훅, 팔톡, 복구 브라우저, 복구 메일, 그리고 이 모든 것이 브라우저뿐만 아니라
메일의 비밀번호 도용 프로그램이라는 인상을 줍니다. 그리고 여기서 '전송'은 명령 및 제어
서버에 연결하는 것처럼 들립니다.
마지막으로 난독화되어 있는 것처럼 보이는 이상한 이미지가 하나 있는데, 나중에 de4dot을 사용하여
난독화를 해제할 것입니다.
이제 GornyKemp라는 진입점을 살펴보겠습니다.
이를 클릭하고 진입 지점으로 이동하기만 하면 됩니다.
여기에서 엔트리 포인트로 이동할 수 있습니다.
알겠습니다. 보시다시피 이것이 진입점이자
주요 기능인 메인 메소드인 것 같습니다.
여기에서 특정 기능을 위해 각각 생성되는 많은 스레드를 볼 수 있습니다.
마지막으로 하단에는 애플리케이션이 있습니다. 실행.
따라서 이것은 메인 프로그램을 실행하고, 배포하려는 트로이 목마 또는 RAT를 사용자 지정할
수 있는 일종의 원격 액세스 트로이 목마 패키지라는 인상을 주며, 반드시 모든 것이 활성화되는 것은 아닙니다.
그럼 어디 보자. 첫 번째 항목인 ShowMessage를 클릭하면 됩니다.
그래서 비어 있습니다.
즉, 이 기능은 활성화되어 있지 않습니다.
백스페이스를 클릭합니다. 이 AddToStartup을 클릭합니다. 백스페이스. WebsiteBlocker도
활성화되지 않았습니다. 백스페이스. WebsiteVisitor도 활성화되지 않았습니다.
백스페이스. 자체 파괴도 활성화되지 않았습니다. 백스페이스. GetCurrentWindow. 따라서 GetCurrentWindow가 활성화된
것 같습니다.
따라서 이것은 일종의 키로거로 보이며 여기에서 창 제목과 컴퓨터 시간 및 키 입력 유형 등과
같은 키 로그의 일부 콘텐츠를 생성하려고 합니다.
더 자세한 정보를 얻고 싶다면 실제로 이 키 입력 로그를 검색하여 어디에서 사용되었는지 확인할
수 있습니다. 그래서 우리는 이것을 검색할 수 있습니다. 마우스 오른쪽 버튼을 클릭하고 찾기를 클릭합니다.
여기에서 이 기능이 사용되는 장소의 목록을 스크롤할 수 있습니다. 그리고 이 함수에서 키 입력 로그가 사용되는데, 이 메서드는
RecordKeys라고 합니다.
여기에서 키 입력을 캡처하는 것을 볼 수 있습니다.
일정 밀리초 동안 절전 모드로 전환된 후 영구 루프로 전환되어 키 입력을 계속 기록합니다.
다음은 키 로그 키 입력을 캡처한 것입니다.
그리고 여기 아래에서는 어딘가로 보내는 것 같습니다.
이제 이 링크를 클릭하여 어디로 이동하는지 확인해 보겠습니다.
여기에서 명령 및 제어 서버인 URL을 확인할 수 있습니다.
따라서 이것은 타협을 나타내는 지표가 될 수 있으며, 앞서 동적 분석을 수행했을 때 동적 분석에도
표시되었을 것입니다.
자, 백스페이스를 클릭하여 여기로 돌아가 보겠습니다.
알겠습니다.
이제 계속 진행하겠습니다.
이번에는 SendLog라는 메서드를 클릭합니다.
여기서 SendLog가 실제로 명령 및 제어 서버로 무언가를 보내려고 하는 것을 볼 수 있습니다.
여기에는 웹클라이언트가 있습니다.
그리고 여기서 다운로드 문자열은 명령 및 제어 서버에서 정보를 다시 가져옵니다.
그리고 여기에서 "machineName", "machineTime"을 반대로 볼 수 있는데, 아마도 난독화를 시도한 것으로 보입니다.
여기서는 '비밀번호'를 반대로 표시합니다.
여기에는 '클립보드'가 반대로 표시되어 있습니다. 그리고 여기에 '스크린샷'과 '알림'이 있습니다.
따라서 명령 및 제어 서버에서 돌아오는 명령인 응답을 기반으로 캡처하려는
것일 수 있습니다.
이제 이전 위치인 메인으로 돌아가서 분석을 계속해 보겠습니다.
여기에는 GetRecordKeys가 있습니다.
이것은 우리가 이미 본 키 입력 부분입니다.
다시 돌아왔습니다. SendNotification.
따라서 여기에는 아무것도 없으며 활성화되지 않은 것 같습니다.
추가핫워드도 활성화되어 있지 않습니다. 클립보드 로깅.
따라서 악성코드가 클립보드에서 시간, 텍스트 등의 정보를 훔치려고
시도하는 곳입니다.
자, 이제 다시 메인으로 돌아가서 다시 살펴봅시다.
다음은 SetApartmentState입니다.
알겠습니다.
활성화되어 있지 않고 비어 있습니다.
그리고 여기에서는 스크린 로깅이 활성화되지 않았습니다. 다운로드 및 실행이 활성화되지 않았습니다. 백스페이스. ExecuteAndBindedFiles도
활성화되지 않았습니다. 그리고 비밀번호 복구.
예.
따라서 비밀번호 복구가 주요 기능 중 하나라는 것을 알 수 있습니다.
여기에는 많은 일이 일어나고 있습니다.
알겠습니다.
첫 번째 사례를 살펴보겠습니다.
이들은 이메일과 웹 브라우저의 모든 클라이언트입니다.
먼저 Outlook을 살펴보겠습니다. 그리고 여기서 Outlook 함수는 Fence라는 함수를 호출합니다.
그러면 여기에 있는 Fence가 목록에서 어떤 종류의 검색을 수행합니다.
그렇다면 'arList'란 무엇인가요?
알겠습니다.
따라서 "arList"를 검색하여 결과를 확인해야 합니다. "ar_List".
알겠습니다.
따라서 이 목록은 이 함수인 ReadMail을 통해 채워지는 것 같습니다.
그럼 따라해 보겠습니다.
그리고 여기서 ReadMail은 이 '메일'의 폴더 경로를 가져오려고 합니다. txt".
앞서 동적 분석을 수행했을 때 확인된 내용입니다.
알겠습니다.
여기에서 이메일의 내용을 이 파일에 저장하려고 시도하는 것을 볼 수 있지만 여기에 저장하기
전에 이메일에서 정보를 추출하는 프로세스를 거쳐야 하며 아마도 이것이 그
방법일 것입니다.
이 문자열을 거꾸로 실행하려고 하는데, 거꾸로 하면 "GetExecutingAssembly"가
되고 그 다음에 "ResourceManager"가 되고 웹 경로를 실행한 다음 리소스 관리자에서 무언가를 가져온 다음
이 함수인 RsmDecrypt를 사용하여 암호를 해독하려고 합니다.
알겠습니다. 이것을 클릭하여 어떤 기능을 하는지 확인해 보겠습니다.
따라서 리소스 관리자, 파일의 리소스 섹션,
"키" 리소스, 아마도 이것 또는 이것에서 무언가를 가져오고 있습니다.
그런 다음 RSM을 사용하여 암호를 해독합니다.
그럼 암호 해독이란 무엇인지 알아봅시다.
클릭합니다.
여기에서 볼 수 있듯이 대칭적인 복호화 루틴으로 보이는 복호화 루틴입니다.
따라서 RSA는 비대칭이기 때문에 RSA가 아닐 수도 있습니다.
따라서 이것은 대칭 암호화라는 힌트를 제공합니다. 따라서 리소스 섹션에 있는 모든 내용을 해독하는 데
사용합니다.
자, 다시 돌아가서 확인해 보겠습니다.
이것이 바로 RsmDecrypt입니다.
따라서 여기에서 리소스 관리자, 가져 오려는 리소스가 "키"로 표시됩니다.
이제 가서 리소스를 찾아보겠습니다.
여기까지입니다.
"키" 리소스.
이걸 보세요.
헥스 에디터에서 엽니다.
알겠습니다.
그래서 이것은 암호화되어 있는 것 같습니다.
알겠습니다.
우리가 분석하고 있는 경로, 즉 메인 함수인 어셈블리로 돌아가 보겠습니다.
뒷면을 클릭합니다.
닫을 수 있습니다.
알겠습니다.
다시 이 기능으로 돌아와서 살펴보겠습니다.
따라서 리소스, 방금 본 두 리소스를 해독한
다음 여기에서 실행하는 것처럼 보입니다.
따라서 어떻게든 이것을 해독하고 리소스 섹션을 해독하는 방법을 찾아야 합니다.
리소스 섹션은 실행 파일, 임베디드 실행 파일일 수 있습니다.
알겠습니다.
다음 동영상에서는 이 동영상을 계속 진행하면서 여기에서 '핵심' 리소스를 해독하여 그 안에 무엇이 있는지 살펴볼
것입니다.
다음 영상에서 뵙겠습니다.
시청해 주셔서 감사합니다.