Saturday, December 29, 2018

하드디스크를 파괴하는 C언어 소스코드와 분석

2018-11-29

HDD를 파괴하는 C언어 Source Code 

& Debugging 


  • 실습 1 

    • Parmeter 없는 소스를 구현




[ 소스코드 ]
strcmp(A,B) : A와 B를 비교(문자열 일 때)
함수의 원형(proto type)->함수의 사용법



    •  Release Mode




      • [EBP-4] [EBP-8] 함수가 두개임을 추측
      • 00401026 ->  JL 이면 0401006 => DO WHILE  추측
        • JL(Jump if Lower than)

      • CDQ (Convert DWORD to QWARD)

        •  EDX부분을 00000000으로 정리
        • EDX(????????) : EAX(0102020) -> EDX(00000000) : EAX(00000002)

      • IDIV ECX 

        • EDX(32bit) : EAX(32bit) ECX 나눗셈
EAX: 몫, EDX: 나머지






  • CPU 주요구성


    •  ALU : 사칙연산, SHIFT연산, BIT연산
    •  FPU : 부동소수연산(악성코드만들때는 사용안함)
   

AL(8Byte)
= 1/4EAX
=AX+AX(AH+AL)


 FFFFFF=-1(음수일 경우)


[ 참고 ]
EAX에 반환값이 들어감(대체적으로)



TEST A, B = A and B(AND연산) 
=> 0000 and 0000=0000 ->ZF=1



(참고)

  • Win32 API (까만창안뜨는, 악성코드용)

#include<Windows.h>int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){return 0; }

  • 파일다루기
    • Handle(핸들) : 하드디스크에 있을 때는 파일명, 메모리에 로딩되면 핸들값으로 파일 내용을 읽고   있다. (열기전에는 파일이름, 열고  후에는 핸들값으로 파일을 구분)
    • CreateFile : 파일을   또는 만들 

      HANDLE WINAPI CreateFile(        _In_      LPCTSTR lpFileName,  //열거나 만들 파일명 또는 장치         _In_      DWORD dwDesiredAccess, // 읽고 싶은지 쓰고 싶은지 아니면 둘다        _In_      DWORD dwShareMode, // 내가 열어서 사용하고 있는지 다른사람 접근하면 어떻게 하지? 아무도 열지 못하게 할수도 읽기만 허용, 쓰기 허용, 삭제 허용        _In_opt_  LPSECURITY_ATTRIBUTES lpSecurityAttributes, //자식한테 상속할까?                           상속할맘 없으니 그냥 NULL 하자.        _In_      DWORD dwCreationDisposition,//만들지 열지        _In_      DWORD dwFlagsAndAttributes,// 파일만들  기본 속성        _In_opt_  HANDLE hTemplateFile // 잘안씀
      );


  • 실습 2
    •  HDD Destroy
      • exe실행시킬 때, 

가상머신 스냅샷 잘 찍어두기
[ 소스코드 ]
exe파일 실행하고 5초뒤에 shutdown


[ 실행했을 때 ]


      • Release Mode

[ main 함수 ]
사용한 함수 확인가능
진행순서 및 방향성확인

    • 시간을 정해놓고 실행 

[ 소스코드 ]
SYSTEMTIME 함수사용하여 시간과 분 지정


파괴

No comments:

Post a Comment

List

MobSF

MobSF는 오픈소스 모바일 앱 자동 보안 진단 프레임워크로 자동 분석 시스템 구축할 때 사용한다. 정정 및 동적 분석이 가능하며, Android, iOS, Windows에 대해 침투 테스트, 멀웨어 분석 및 보안 평가를 할 수 있다. 참고자료 필...