실습 9-1 1. 어떻게 하면 악성코드가 자신을 설치하게 할 수 있는가? 입력받은 인자값은 argc, argv 두 개를 인자값 으로 받는다. 00402510 에서 받는 인자값은 다음 과 같다. 처음 인자값의 길이가 4인지 확인하고, 문자열을 하나씩 읽어와서 비교한다. 처음 61=a(16진수)이며, 문자를 1씩 증가하며 문자를 비교한다. 즉, 00402510 에서 받는 인자값은 abcd 이다. 2. 이 프로그램의 커맨드라인 옵션은 무엇인가? 패스워드 요건은 무엇인가? 커맨드라인 옵션 -in : 설치 -re : 삭제 -c : 업데이트 -cc : 출력 패스워드 : 4문자, abcd 3.이 악성코드가 특수 커맨드라인 패스워드를 요구하지 않게 영구 패치하려면 OllyDbg로 어떻게 해야 하는가? 00402510에..
실습 7-1 1. 이 프로그램은 어떤 방식으로 컴퓨터가 재시작할 때마다 실행(지속 메커니즘)을 보 장하는가? 서비스에 Malservice로 등록하여 시스템 부팅 시 서비스로 동작할 수 있도록 한다. 2. 이 프로그램은 왜 뮤텍스를 이용하고 있는가? 프로그램이 한번에 하나만 실행할 수 있도록 뮤텍스 생성 3. 이 프로그램을 탐지할 때 호스트 기반으로 좋은 시그니처는 무엇인가? Malservice이름으로 서비스 생성. HGL345라는 고유 명칭의 뮤텍스 생성. 4. 이 악성코드를 탐지할 때 네트원크 기반으로 좋은 시그니처는 무엇인가? http://www.malwareanalysisbook.com에 지속적으로 접근한다. 5. 이 프로그램의 목적은 무엇인가? HGL345 뮤텍스 생성하여 Malservice서비스..
실습6-1 1. main이 호출하는 서브루틴만으로 발견한 주요 코드 구조는 무엇인가? if문으로 되어있으며, 인터넷 상태를 받아와 있터넷이 연결 상태를 받아와 Success: Internet Connection를 출력하거나 Error 1.1: No Internet을 출력한다. 2. 0x40105F에 위치한 서브루틴은 무엇인가? 프로그램을 실행해 보면 위와같이 출력된다. 0x40105F는 프로그램 특성상 유추해 보면 printf 이다. 3. 이 프로그램의 목적은 무엇인가? InternetGetConnectedState 함수를 이용해 값을 받아와 1 = True (인터넷에 연결) 이면 Success: Internet Connection를 출력하거나 0 = False (인터넷에 연결되어있지 않음)이면 Erro..
실습 5-1 DllMain의 주소는 무엇인가? 1000D02E Imports 윈도우를 이용해 gethostbyname을 탐색해보자. 임포트 위치는 어디인가? 100163CC gethostbyname에 함수는 몇 개인가? ctrl + x 눌러 상호참조 확인 sub_10001074 sub_10001656 sub_1000208F sub_10002CCE sub_10001365 5개의 함수에 의해 9번 상호참조되고 있다. 0x10001757에 위치한 gethostbyname 호출을 보면 어떤 DNS 요청이 이루어지는지 알 수 있는가? pics.praticalmalwareanalysis.com 요청 0x10001656에 있는 서브루틴에서 IDA Pro는 지역변수 몇 개를 인지하고 있는가? 23개 0x10001656..
실습 3-1 악성코드의 임포트 함수와 문자열은 무엇인가? ExitProcess 하나 임포트 되어있다.bintext를 이용해 확인 할 수 있는 문자열이다. 악성코드임을 의미하는 호스트 기반 표시자는 무엇인가? C\WINDOWS\system32\vmx32to64.exe 파일 설치 레지스트리에 등록 키 값 : HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 값 이름 : VideoDriver 값 데이터 : C:\WINDOWS\system32\vmx32to64.exe 악성코드를 인식할 수 있는 유용한 네트워크 기반 시그니처가 존재하는가? 존재한다면 무엇인가? www.practicalmalwareanalysis.com 으로 DNS 요청을 수행한다. 실습 3-2 악성코드 자..
실습 1-1 http//www.VirusTotal.com/에 파일을 업로드한 후 보고서를 보자. 기존 안티 바이러스 시그니처에 일치하는 파일이 있는가? 2016년 01월 11일 기준, Lab01-01.exe는 21곳에서 진단하고 있으며 Lab01-01.dll은 16곳에서 진단하고 있다. 이 파일은 언제 컴파일 됐는가? 두 파일은 2010년 12월 19일 16시 16분에 컴파일 되었다. 이 파일이 패킹되거나 난독화된 징후가 있는가? 있다면 무엇으로 판단했는가? 난독화의 징후는 없다. 임포트를 보고 악성코드 행위를 알아낼 수 있는가? 그렇다면 어떤 임포트인가? Lab01-01.exe의 CreateFileA, CopyFileA, FindFirstFileA,FindNextFileA (파일 생성과 복사, 파일 탐..
디버깅을 시작하기전에 파일을 실행시켜 어떤 프로그램인지 살펴 봅니다. 현재 실행해보면HD 를 CD-ROM 으로 인식하도록 만들라고 합니다.확인을 누르면 CD-ROM 드라이브가 아니라고 나오네요...실행해보니 abex crackme1은 CD-ROM 드라이브로 인식하게 만들어주면 되는것 같습니다. CodeWindow 창을 살펴보겠습니다. 몇줄 안되네요....comment 창을 보시면 아까 봤던 출력창의 내용들이 있네요그 아래 보시면 조금 짤렷지만 YEAH!! "OK, I really think that your HD is a CD-ROM! :p" 라는 문구가 보입니다.아마도 성공했을때의 메시지로 생각됩니다. 시작인 401000 번지부터 살펴보겠습니다. 401002 번지와 401007 번지에서 00402000..
이전에 대학교 동아리내에서 세미나했던 기본적인 자료들부터 차례대로 포스팅 하겠습니다. 저도 학생이라 여러 책들을 보고 만들었으며, 사실과 다른 부분이 있을것입니다. 틀린부분이 있다거나 저작권에 위반되는 부분이 있다면 즉시 수정하겠습니다. 감사하겠습니다 ^^ 1.리버스 엔지니어링? (Revers Engineering ,RE: 역 공학) 장치 또는 시스템의 기술적인 원리를 그 구조분석을 통해 발견하는 과정이다. 리버스 엔지니어링의 기원은 상업적 또는 군사적으로 하드웨어를 분석한 것에서 시작되었습니다. 목적은 원본 생산의 절차에 관한 지식이 거의 없는 상태에서, 최종 제품을 가지고 디자인 결정과정을 추론하는 것 입니다. 같은 기술이 레거시 소프트웨어 시스템을 응용하기 위해 현재 연구되고 있는데, 산업이나 국방..
리버싱을 공부하다 보면 필히 어셈블리어를 공부해야 합니다.그런 어셈블리어 명령의 대부분이 레지스터값을 조작하는 명령어들입니다.ollydbg 프로그램을 이용할때 레지스터 윈도우창에 EAX, EBX, ECX, ESI등이 보일텐데요.이는 레지스터 값으로써, 오늘은 이 레지스터 값에대해 알아보는 시간을 준비했습니다.CPU 와 레지스터 가 뭔지 알아보고 넘어갑시다.CPU? 중앙처리장치(CPU)는 컴퓨터의 가장 중요한 부분으로 프로그램 명령을 해독하고 수행하는 장치입니다.CPU가 수행하는 명령어는 매우 단순합니다 이 명령어들은 레지스터에 있는 값들을 필요로 합니다.Register?레지스터는 CPU 내부에 존재하는 저장 공간으로 일반적인 데이터 저장소 보다 훨씬 빠르게 접근할 수 있으나,레지스터의 크기가 매..
2 진법(Binary) 컴퓨터는 내부의 정보를 0과 1을 이용하여 저장합니다.사실 컴퓨터는 그리 대단하지 않기? 때문에 0과 1로 구성된 2진수 (binary)를 이용하여 모든 정보를 저장합니다.0과 1은 전기적인 신호인 펄스의 유무를 이용합니다. 이런 식으로 전기적인 신호를 통해 0 또는 1을 이용해 모든 정보를 표시하게 됩니다.이진수에서 각 자리 숫자를 비트(bit) 라고 표현합니다. 또한 2진수는 아래와 같이 표현할 수 있습니다. 10110(2)2진수를 10진수로 변환 할 때에는 그 수의 위치에 2의 멱수로 계산 할 수 있습니다.10110(2) = 1x 2^4 + 0x2^3 + 1x2^2 + 1x2^1 + 0x2^0 = 16+4+2 = 2210 진법(Decimal)10개의 숫자..
- Total
- Today
- Yesterday
- 팝업
- 키로거
- 서비스
- CTB-Locker
- 광고
- IT·컴퓨터
- 리버싱 공부
- 한빛리더스
- 해커스쿨 ftz
- 해커스쿨
- 백신
- 에이콘
- 실전 악성코드와 멀웨어 분석 연습문제
- 리버싱
- 바이로봇
- 크립토락커
- 악성코드
- 실전 악성코드와 멀웨어 분석 문제풀이
- CryptoWall
- banker
- 파밍
- 실전 악성코드와 멀웨어 분석
- malware
- CryptoLocker
- 뱅커
- 에이콘 출판사
- 뱅킹
- 한빛아카데미
- Ransom
- 랜섬웨어
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |