vbs 스 크 립 트 바이러스 의 바이러스 원리 분석

머리말
바이러스 수업 선생님 께 서 우리 에 게 암호 화 된 vbs 스 크 립 트 바이러스 코드 를 잃 어 버 리 고 분석 을 시도 하 셨 습 니 다.여기 서 분석 과정 을 보 내 드 리 겠 습 니 다.참고 하 시기 바 랍 니 다.만약 에 글 에 무슨 오류 가 있 거나 건의 가 있 으 면 저 에 게 직접 메 시 지 를 남 겨 주 십시오.감사합니다!
목록
전체 분석 과정 은 다음 과 같은 몇 가지 부분 으로 나 눌 수 있다.
준비 작업
0x 01 복호화 부분
0x 02 기능 분석
3.분석 과정
준비 작업
windows xp 의 가상 컴퓨터(자신의 windows 에서 도 할 수 있다)
vbs 의 기본 문법
0x 01 복호화 부분
바이러스 파일 을 오른쪽 클릭 하고 편집 해서 열 거나 접 두 사 를 txt 로 수정 해서 직접 열 어도 됩 니 다.큰 밀 문 을 볼 수 있 고 함수 deCrypt 를 호출 했 습 니 다.잠시 이것 만 보 았 으 니 이어서 내 려 다 보 세 요.

코드 밑 에 끌 어 다 놓 으 면 deCrypt 가 한 번 있 는 것 을 발견 합 니 다.즉,두 번 의 암호 화 를 거 쳤 습 니 다.여기 서 실행 부분 을 설명 한 다음 에 복호화 결 과 를 텍스트 파일 에 출력 합 니 다.또한 base 64 로 암호 화 된 것 을 볼 수 있다.

이제 디 코딩 후의 결 과 를 보 겠 습 니 다.여전히 읽 을 수 없 는 코드 라 는 것 을 발견 하면 그 가 어떻게 처 리 했 는 지 계속 보 자.

이전 문자열 을"|dz|"로 나 눈 다음 에 얻 은 것 은 ascii 코드 입 니 다.이 ascii 코드 에 대응 하 는 문 자 를 연결 하면 됩 니 다.결 과 를 얻 을 수 있 습 니 다.같은 방법 으로 복호화 결 과 를 파일 에 출력 하고 다시 분석 합 니 다.

그리고 이번에 얻 은 결 과 는 진짜 바이러스 코드 입 니 다.다음은 그의 기능 을 분석 하 겠 습 니 다.

0x 02 기능 분석
처음부터 보 자.서버 도 메 인 이름 을 포함 한 설정 정 보 를 표시 합 니 다.서버 가 미국의 것 임 을 알 수 있 습 니 다.ping 을 시 도 했 습 니 다.ping 이 통 하지 않 습 니 다.서버 가 ping 을 하지 못 하 게 설 치 했 을 수도 있 고 서버 가 이미 사용 하지 않 았 을 수도 있 습 니 다.중국의 방화 장성 이 직접 벽 이 떨 어 졌 을 수도 있 습 니 다.

그 다음 에 사용 할 변수 들 입 니 다.여 기 는 너무 많은 설명 을 하지 않 습 니 다.

그 다음은 코드 스타트 부분 입 니 다.그리고 안에 각종 함수 가 호출 되 었 기 때문에 여 기 는 실행 순서에 따라 호출 된 함수 번 호 를 주어 읽 을 수 있 도록 한다.그렇지 않 으 면 매우 혼 란 스 러 울 것 이다.
여 기 는 먼저 인 스 턴 스 함 수 를 호출 했 습 니 다.

1.instance 함수
이전 인자 usb preading 에 값 을 부여 하고 레 지 스 트 를 작성 합 니 다.

인 스 턴 스 함 수 를 실행 한 후 while true 의 순환 에 들 어가 서버 에서 명령 을 계속 읽 고 실행 합 니 다.while 에 들 어간 후,먼저 인 스타 그램 프로 세 스 를 호출 합 니 다.
2.install 과정
인 스타 그램 에서 upstart 를 호출 했 습 니 다.다시 들 어가 보 세 요.

2.1 upstart 과정
여기 서 레 지 스 트 를 통 해 바이러스 스 크 립 트 를 자동 으로 시작 하 는 것 으로 설정 합 니 다.

그리고 upstart 과정 에서 나 와 서 인 스타 그램 의 남 은 코드 를 계속 보 세 요.좀 많 습 니 다.직접 기능 을 알려 드 리 겠 습 니 다.
모든 구동 을 스 캔 합 니 다.유형 번호 가 1 이면 동작 이 있 습 니 다.1 시 에 모 바 일 장 치 를 대표 합 니 다.이것 은 유 틸 리 티 디스크 와 같은 모 바 일 장 치 를 감염 시 키 려 는 것 입 니 다.모 바 일 장치 의 루트 디 렉 터 리 에 스 크 립 트 를 복사 한 다음 파일 속성 을 설정 합 니 다.2 는 파일 숨 기기,읽 기,쓰기,4 는 시스템 파일,읽 기,쓰기.
그리고 모 바 일 장치 루트 디 렉 터 리 의 모든 파일 을 가 져 옵 니 다.lnk 파일 이 아니라면 숨겨 진 시스템 파일 로 설정 하고 읽 고 쓸 수 있 습 니 다.그 다음 에 해당 하 는 단축 키 를 만 듭 니 다.가리 키 는 프로그램 은 cmd.exe 입 니 다.그 인 자 는"/c start"&replace(installname,",chrw(34)&"&chrw(34)&"&start"&replace(file.name,",chrw(34)&"&"chrw(34)&"&"exit"입 니 다.이 단축 키 를 누 르 면 그 스 크 립 트 바 이러 스 를 먼저 시작 한 다음 에 실제 파일 을 시작 하고 cmd 를 종료 한 다 는 뜻 입 니 다.
그리고 루트 디 렉 터 리 에 있 는 폴 더 를 똑 같이 조작 합 니 다.이로써 서브루틴 인 스타 그램 에 대한 분석 은 여기 서 끝나 고 함수 프로그램 post 를 분석 합 니 다.

3.post 함수
post 의 기능 은 감 염 된 기기 에 대한 정 보 를 서버 로 보 내 고 서버 에서 바이러스 제작자 의 명령 데 이 터 를 가 져 오 는 것 입 니 다.감 염 된 기기 에 대한 정 보 를 얻 기 위해 함수 information 를 호출 했 습 니 다.어떻게 이 루어 졌 는 지 보 세 요.

3.1 정보 함수
information 함 수 는 하 드 디스크 시리 얼 번호,시스템 관련 정보 와 컴퓨터 에 설 치 된 보안 소프트웨어 를 가 져 오 는 데 사 용 됩 니 다.

현재 post 함수 에서 실행 을 마치 고 서버 의 명령 을 받 았 습 니 다.그 다음 에 명령 에 대한 해석 이 실 행 됩 니 다.다음은 vbs 에서 switch...case...의 구조 로 서로 다른 명령 에 대한 해석 이 실 행 됩 니 다.
4.각종 명령 에 대한 해석 실행
4.1 명령 실행
여기 서 받 은 명령 을 직접 수행 합 니 다.

4.2 update 명령
서버 에서 데 이 터 를 가 져 와 바 이러 스 를 업데이트 합 니 다.

4.3 uninstall 명령
uninstall 프로 세 스 를 호출 하여 바이러스 이전에 등록 표 에 대한 수정 을 복원 하고,이전에 다른 몇 개의 디 렉 터 리 에 복 사 된 바이러스 스 크 립 트 를 삭제 합 니 다.

4.4 send 명령
다운 로드 를 호출 하여 서버 에서 파일 을 다운로드 합 니 다.

4.5 site-send 명령
이 호출 사이트 다운 로 더 과정 은 서버 에서 도 다운로드 되 지만 이 다운 로드 는 사이트 소스 코드 같은 것 같 습 니 다.

4.6 recv 명령
upload 함 수 를 호출 하여 지정 한 파일 을 업로드 합 니 다.

4.7 enum-driver,enum-faf,enum-processs 명령
각각 해당 함 수 를 호출 하여 모든 드라이브 에 대한 정 보 를 얻 고 디 렉 터 리 에 있 는 모든 파일 과 폴 더,시스템 의 모든 프로 세 스 를 지정 합 니 다.

4.8 cmd-셸 명령
cmdshell 함 수 를 호출 하여 받 은 cmd 명령 을 실행 하고 명령 결 과 를 서버 로 가 져 옵 니 다.

4.9 delete 명령
호출 프로 세 스 deletefaf 지정 한 파일 이나 폴 더 삭제

4.10 exit-process 명령
지정 한 프로 세 스 를 끝내기 위해 exitprocess 를 호출 합 니 다.

4.11 sleep 명령
스 크 립 트 의 수면 시간 설정

이로써 모든 명령 을 분 석 했 습 니 다.해당 명령 을 실행 한 후 바 이러 스 는 지 정 된 시간 을 자고 서버 에서 명령 을 계속 가 져 옵 니 다.
총화
여기 서 이전의 분석 을 정리 하고 이번 분석 을 통 해 배 운 것 을 정리 합 시다.
1.먼저 base 64 인 코딩 에 대한 학습 입 니 다.실제 분석 에서 세부 사항 을 알 필요 가 없습니다.적어도 사용 해 야 합 니 다.
2.vbs 의 학습.
3.레 지 스 트 를 설정 하여 지정 한 프로그램의 자동 시작 을 설정 합 니 다.
4.기본 적 인 디 버 깅 능력 은 어 려 운 코드 부분 에 대해 결 과 를 출력 하면 더욱 빨리 이해 할 수 있다.
그리고 실험 에서 바이러스 에 대해 서도 분명히 알 았 습 니 다.제 방법 은 비밀문 서 를 직접 캡 처 한 다음 에 검색 하 는 것 입 니 다.이 필드 를 포함 한 vbs 파일 을 삭제 하 는 것 입 니 다.이렇게 레 지 스 트 는 수정 되 지 않 았 지만 시작 할 파일 은 이미 삭제 되 었 기 때문에 괜 찮 습 니 다.또 다른 방법 은 바이러스 중의 uninstall 모듈 을 꺼 내 서 단독으로 호출 하여 모든 수정 사항 을 복구 하 는 것 이다.
그리고 이번 에는 이 바이러스 가 vbs 를 통 해 서버 와 의 통신,파일 시스템 수정,레 지 스 트 수정 등 을 실현 한 것 을 볼 수 있다.다른 언어 를 사용 하 는 것 도 마찬가지 로 이 루어 질 수 있 습 니 다.대부분의 windows 에 vbs 해석 기 가 있어 서 전파 하기 쉽 고 vbs 가 배우 기 쉬 우 며 바이러스 작 가 는 그 를 사용 하여 작 성 했 기 때 문 이 라 고 생각 합 니 다.한 마디 로 하면 서로 다른 언어 는 모두 자신의 특징 을 가지 고 있 지 않 습 니까?관건 은 그 장점 이 자신의 수요 와 일치 하 는 지 를 봐 야 합 니 다.
위 에서 말 한 것 은 소 편 이 여러분 에 게 소개 한 vbs 스 크 립 트 바이러스 의 바이러스 원리 에 대한 분석 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기