안녕하세요, 다시 오신 것을 환영합니다.
이전 비디오에서 트로이 목마가 은밀한 위치로 스스로 복사본을 만드는 것을 발견한 곳에서 멈췄습니다.
따라서 앞으로 프로젝트는 은밀한 위치이기 때문에 여기에서 확실히 실행될
것이며, 모든 힘을 발휘하기 전에 그 경로를 확인할 것입니다.
따라서 원본이 아닌 여기서부터 분석하는 것이 좋습니다.
이제 Xpg에서 이 원래 분석을 중지하고 대신 다른 위치를 열겠습니다.
즉, Xpg를 사용하여 이를 분석할 것입니다.
경로 복사본을 선택한 다음 Xpg로 이동한 다음 여기에 경로를 붙여넣고 Enter 키를 누른 다음
이 새 파일을 엽니다.
이제 첫 번째 세션에서와 동일한 중단점을 설정하겠습니다.
따라서 가상 잠금에 중단점을 설정하고 Enter 키를 누른 다음 프로세스 내부 생성에 중단점을 설정하고
프로세스
메모리 쓰기에 중단점을 설정하고 Enter
키를 누른 다음 가상 메모리 중단점을 설정하고 가상 메모리에 중단점을 하나 더 추가하고 가상 메모리를 작성해
보겠습니다.
이제 이 빈 쓰기 가상 메모리는 쓰기 프로세스 메모리와 동일하지만 더 낮은 수준입니다.
그리고 보통은 놓치는 것이 없는지 확인하기 위해 이 기능도 사용합니다.
따라서 Enter 키를 누른 다음 중단점 탭을 클릭하여 중단점 네 개가 모두 있는지 확인합니다.
이제 돌아가서 분석을 계속할 수 있습니다.
따라서 F9 또는 이 버튼 실행 버튼을 누르고 첫 번째 중단점 가상 할당에 도달하도록 합니다.
이제 F8을 누르거나 단계를 밟으면 가상으로 이동한 다음 이 단계를
밟습니다.
그리고 X를 보고 숫자 1을 선택한 다음 아래쪽의 숫자 1을 따라갑니다.
마우스 오른쪽 버튼을 클릭하고 팔로우하면 완료됩니다.
이제 비어 있습니다.
F9를 클릭하거나 가상 잠금 버튼을 다시 클릭합니다.
다시 단계를 밟습니다.
따라서 첫 번째 세션과 동일하게 작동합니다.
알겠습니다.
이 가상 자물쇠를 밟고 이 X를 보세요.
이제 2번을 클릭하면 1번이 셸코드로 채워진 것을 확인할 수 있습니다.
두 번째 댐을 클릭한 다음 다음 댐을 마우스 오른쪽 버튼으로 클릭합니다.
따라서 현재 2번은 비어 있습니다.
그러니 실행을 클릭합니다.
이제 두 번째 번호는 셸코드로 채워졌습니다.
여기 이 셸코드, 메모리 내 이 위치, 그리고 이 위치가 바로 그것입니다.
메모리는 C 32와 33이 동일합니다.
따라서 트로이 목마가 최종 실행 파일의 압축을 풀기 위해 사용하는 하나의 큰 셸코드와 같이
연속적인 것과 같습니다.
이제 다시 Virtualalloc을 실행합니다.
그래서 우리는 그것을 극복합니다.
가상으로 이동한 다음 이 가상 잠금 위로 이동하여 이번에는 이 주소의 할당을 확인합니다.
이제 이 세 번째 점프를 선택한 다음 3번 덤 다음에 있는 이 주소를 마우스 오른쪽 버튼으로 클릭합니다.
따라서 현재 덤 3은 비어 있습니다.
그러니 실행하세요.
이제 자유롭게 실행되며 이제 다시 가상이 됩니다.
Away.
요약.
이제 이 호출을 가상 할당으로 넘어가면 여기에 새로운 공기 주소와 네 개의 0이 표시됩니다.
네 번째 완료를 클릭한 다음 이 팔로우 인 덤프를 마우스 오른쪽 버튼으로 클릭합니다.
이제 네 번째 덤프가 비어 있습니다.
실행을 클릭합니다.
뒤로 물러서세요.
따라서 멀웨어 분석의 포장을 푸는 작업의 일부는 VirtualBox를 계속 따라가는 것입니다.
그리고 해당 위치에서 무엇이 풀리고 있는지 확인합니다.
그래서 다시 버추얼을 많이 눌렀는데 이번에는 일부 실행 파일로 다운폴이 채워진 것을 확인했습니다.
64비트 실행 파일임을 알 수 있습니다.
그리고 검트리는 여전히 비어 있습니다.
이제 다시 가상 잠금을 누릅니다.
넘어가 보겠습니다.
최종 실행 파일을 찾고 있습니다.
이제 다시 시작하겠습니다.
알겠습니다.
그리고 이번에는 이 메모리 영역에 6개의 D와 4개의 0을 할당했습니다.
5번 아래로 이동한 다음 마우스 오른쪽 버튼을 클릭한 다음 5번 아래로, 아래로, 아래로 따라갑니다.
이제 실행에 들어갑니다.
가상 할당에 도달합니다.
이번 5번 아래에는 실행 파일이 있습니다.
매직 헤더, 매직 바이트 및 문자열을 볼 수 있습니다.
이 프로그램은 Dos 모드에서 실행할 수 없습니다.
따라서 원한다면 지금 이것을 마우스 오른쪽 버튼으로 클릭한 다음 메모리 맵을 따르고 여기로 이동한 다음 마우스 오른쪽
버튼을 클릭한 다음 파일로 메모리 덤프를 클릭하여 덤프할 수 있습니다.
그런 다음 파일에 메모리를 덤프하고 나면 pbair를 사용하여 매핑 해제를 수정한 다음 Ida로 분석할 수 있습니다.
좋아요, 이건 하나입니다.
하나는 덤프할 수 있다는 것입니다.
알겠습니다.
그렇게 하고 싶었다면 그렇게 하셨을 거라고 믿습니다.
하지만 이 동영상에서는 다른 실행 파일이 어떤 작업을 수행하는지 살펴보겠습니다.
이제 클릭합니다.
이제 다시 가상으로 인사드립니다.
그래서 우리는 넘어갑니다.
이제 다시 가상으로 돌아가 보겠습니다.
이제 다시 시작하여 이번에는 이 메모리 영역을 할당합니다.
따라서 마우스 오른쪽 버튼을 클릭하면 이 메모리 영역이 아직 할당되지 않았기 때문에 따라갈 수 없습니다.
그래서 다시 달려갑니다.
다시 한 번 넘어갑니다.
그렇죠?
가상 잠금을 다시 호출하겠습니다.
알겠습니다.
이번에는 이 메모리 영역을 할당합니다.
마우스 오른쪽 버튼을 클릭합니다.
이번에는 덤프에서 팔로우할 수 있습니다.
따라서 다섯 개의 덤프를 모두 사용했으므로 1번 덤프로 돌아갑니다.
그리고 여기 1번을 따라가서 덤프 팔로우를 마우스 오른쪽 버튼으로 클릭합니다.
따라서 이 덤프는 현재 이 주소에 1번이 있고 그 뒤에 0이 7개가 있습니다.
현재 비어 있습니다.
그럼 직접 달려가서 어떤 일이 일어나는지 살펴봅시다.
그리고 이번에는 그것을 채웠습니다.
이 모든 코드가 있습니다.
이것은 실행 파일입니다.
이 문자열 뒤에 오는 매직바이트 MSG를 볼 수 있습니다.
이 프로그램은 Dos 모드에서 실행할 수 없습니다.
이제 이걸 버리러 가겠습니다.
포장을 완전히 풀었는지 여부는 확실하지 않습니다.
헤더만 볼 수 있으므로 완전히 압축이 풀렸는지 확인하기 위해 이 코드가 실행될
때까지 계속 실행합니다.
이제 프로세스 해커를 열어 다른 프로세스에서 이 코드가 실행되는지 확인해 보겠습니다.
여기에서 프로세스 해커를 열고 유틸리티로 이동하여 프로세스 해커를 클릭합니다.
그런 다음 추가 프로세스가 생성되었는지 확인합니다.
따라서 현재 트로이 목마는 추가 프로세스를 생성하지 않았으며 트릭봇은 SVC 호스트라는 프로세스를 생성한
다음 코드의 일부를 주입하는 것으로 알려져 있습니다.
SVC 내부의 코드입니다.
호스트.
그렇기 때문에 우리는 계속 달려갈 것입니다.
이 코드는 아마도 여기 SVC 호스트 내부에 삽입될 것이며, 나중에 살펴볼 것입니다.
그래서 우리는 지금 덤핑을 하지 않습니다.
먼저 포장을 풀 때까지 기다립니다.
그리고 언제 언패킹이 완료되었는지, 언제 SVC 내부의 가상 메모리에 쓰기가 시작되는지 어떻게
알 수 있을까요?
호스트 그렇게 알고 있습니다.
그래서 현재도 계속 달리고 있습니다.
그래서 이걸로 넘어갈 수 있습니다.
자, 이제 다시 이 단계로 돌아와서 이번에는 동일한 메모리 영역으로 계속 압축을 풀고
있습니다.
1 뒤에 7개의 0이 뒤따르지만 주소가 더 낮습니다.
자, 이제 여기서 계속 포장을 풀어서 덤프에서 이 내용을 따라갈 필요가 없도록 하겠습니다.
하지만 원하는 경우 팔로우할 수 있으며, 마우스 오른쪽 버튼을 클릭한 다음 2번 덤프에서 팔로우할 수 있습니다.
어느 쪽인가요?
이제 실행합니다.
그리고 실제로 이 메모리 영역에 여기에서 시작하여 아래로 내려가서 계속되는 추가 코드를
압축 해제했습니다.
동일한 메모리 영역.
그리고 바우처를 다시 많이 사용한다면.
그럼 뛰어보겠습니다.
계속합니다.
자, 이제 이 통화를 넘어가 보겠습니다.
그리고 이번에는 이 주소에서 여전히 동일한 메모리 영역으로 압축을 풀고 있습니다.
따라서 이 내용을 따르세요.
3번 아래로 내려가서 3번을 선택하고 마우스 오른쪽 버튼을 클릭한 다음 3번 덤프에 따라갑니다.
이제 여기로 이동합니다.
가자.
그리고 이번에는 포장을 풀었습니다.
여기에서부터 동일한 메모리 영역에 추가 코드를 계속 압축 해제합니다.
여기서 계속합니다.
그리고 이것이 로드, 로드, 로드, 커널32 등을 시도하는 라이브러리임을 알 수 있습니다.
이제 포장 풀기가 거의 끝난 것 같습니다.
일단 이걸 보면
어쨌든 계속 진행하겠습니다.
가상을 넘어서는 단계.
자, 이제 이걸 호출해서 어떤 기능을 하는지 살펴봅시다.
이제 계속 압축을 풀고 있으므로 덤프 4에서 압축을 풀고 마우스 오른쪽 버튼을 클릭합니다.
이제 같은 메모리 영역에서 4번 아래쪽부터 시작합니다.
그리고 실행해서 어떤 일이 일어나는지 살펴봅시다.
알겠습니다.
아직 지켜보고 있습니다.
뒤로 물러서세요.
점프.
스위탈라를 뒤집습니다.
이번에는 여전히 이 메모리 영역에 포장을 풀고 있습니다.
이 덤프 파일을 클릭하세요.
마우스 오른쪽 버튼을 클릭합니다.
다음 덤프.
아직 아무것도 없으니 그냥 실행하세요.
아.
이번에도 마찬가지입니다.
무언가를 버리세요.
5-4는 아직 비어 있죠?
그래서 여전히 포장을 풀고 있는 중입니다.
이 주소의 첫 번째 덤프에서 시작된 포장 풀기 프로세스는 여기에서 계속됩니다.
같은 주소, 같은 범위.
하지만 더 아래로 내려가세요.
여기에서 계속하세요.
더 아래로 내려가세요.
동일한 범위.
여기에서 계속하세요.
동일한 메모리 영역에서 1로 시작하여 여기에 7개의 0이 있습니다.
알겠습니다.
그래서 이것은 흥미롭습니다.
이를 따라해 보겠습니다.
해당 메모리 영역에서 또 무엇이 압축 해제되는지 확인하세요.
이제 여기로 넘어와서 통화로 이동해 보겠습니다.
이 버탈라를 밟아보세요.
이번에는 완전히 다른 기억의 영역이기 때문에 포장을 다 풀었다고 생각합니다.
여섯 E 그러니 무시해도 됩니다.
이제 우리는 계속 달리고 있습니다.
이 화면이 나타날 때까지 F9를 클릭하세요.
이것이 바로 우리가 찾고 있는 것입니다.
이 표시가 나타나면 포장을 다 풀었다는 뜻입니다.
따라서 압축 풀기 코드는 이 메모리 영역에 0이 하나 있고 그 뒤에 0이 7개, 이것,
이것, 마지막으로 이것까지 있습니다.
이것이 우리가 여기서부터 시작한 마지막 메모리 영역입니다.
같은 지역.
그래서 포장을 다 풀었습니다.
그래서 이렇게 부르는 것입니다.
이 API를 사용하여 이 SPC 호스트를 생성한 다음 이 악성 코드의 의도대로 이 SPC 호스트에
이 언팩 코드를 작성합니다.
이제 포장을 완전히 풀었으니 점프할 준비가 되었습니다.
이제 안전하게 마우스 오른쪽 버튼으로 클릭한 다음 메모리 맵에서 이 위치로 내려가서 여기를 마우스 오른쪽
버튼으로 클릭합니다.
그리고 나서
파일에 저장할 메모리입니다.
이제 데스크톱 바탕화면에 덤프하고 Trickbot 트로이목마 폴더로 이동한 다음 여기에 저장하면 됩니다.
이제 메인 트릭봇의 실행 파일 중 하나의 압축을 풀고 SDC에 주입하려고 하는 파일을 성공적으로
압축을 풀었습니다.
호스트.
따라서 이 프로세스 해커로 이동하면 SDC가 시작되는 것을 볼 수 있습니다.
호스트 그런 다음 이 파일을 해당 프로세스 메모리에 복사합니다.
이제 직접 실행해 보겠습니다.
알겠습니다.
여기가 비어 있는 것이 보이시죠?
가상 메모리.
이것을 가상 메모리에 기록합니다.
여기로 돌아와서 확인하세요.
지구 이사회에서 SVC 호스트가 시작되었습니다.
보이시죠?
이제 이것을 SVC에 기록합니다.
호스트 시작하겠습니다.
똑같습니다.
계속 작성 중입니다.
여기로 돌아가서 확인하세요.
다시 실행합니다.
알겠습니다.
이 추가 기능은 현재 종료되었으므로 프로세스 해커를 만나러 오시면 됩니다.
종료되었죠?
이제 모든 것을 닫고 다음 동영상에서 여기 폴더에 저장한
덤프 파일을 살펴볼 수 있습니다.
이거요.
감사합니다.
다음 편에서 뵙겠습니다.