전체 글 172

4장 IA-32 Register 기본 설명

CPU 레지스터란? Register란 CPU 내부에 존재하는 다목적 저장 공간. RAM과는 성격이 조금 다르다. CPU가 RAM에 있는 데이터를 액세스 하기 위해서는 물리적으로 먼 길을 돌아가야 하기에 시간이 오래 걸린다. 하지만 레지스터는 CPU와 한 몸이기 때문에 고속으로 데이터를 처리할 수 있다. cpu가 재빨리 읽고 쓰기를 해야 하는 데이터들을 cpu 내부에 존재하는 메모리를 사용하는 데 이 메모리를 레지스터라고 한다 어셈블리 명령령어의 대부분은 레지스터를 조작하고 그 내용을 검사하는 것들이라 알아야 한다! IA-32의 레지스터의 종류 Basic program execution registers x87 FPU registers MMX registers XMM registers Control reg..

3장 리틀 엔디언 표기법

컴퓨터에서 메모리에 데이터를 저장하는 방식을 의미하는 바이트 오더링이라 한다. 바이트 오더링이 무엇이냐? 데이터를 저장하는 방식을 말한다. 리틀 엔디언 표기법 빅 엔디언 표기법 간단하게 예시를 들어보자면 0x123456 이있다고 하면 빅 엔디언은 [12][34][56] 리틀 엔디언은 [56][34][12] 빅엔디언은 데이터를 저장할 때 사람이 보는 방식과 동일하게 앞에서부터 순차적으로 저장한다. 리틀엔디언은 역순으로 저장한다! 하지만 바이트 자체는 정상적인 순서로 저장이 된다. 오로지 2바이트 or 4바이트 자료형과 같이 멀티바이트 인 경우 각 바이트가 역순으로 저장되는 것 또한 str 문자열은 엔디엔 형식에 상관없이 동일하다. 빅 엔디언 사람이 보기에 직관적 대형 UNIX 서버에 사용되는 RISC 계열..

2장 Hello World! 리버싱

※ Release 모드로 빌드하면, 코드가 좀 더 간결해져서 디버깅하기 편하다. 참고 : https://jung2.net/visual-studio%EC%97%90%EC%84%9C-release-build-%ED%95%98%EA%B8%B0/ https://hsm-racoon.tistory.com/109 OllyDbg 사용법/단축키 (1)Code Window - Disassembly Code를 표시하여 Comment/Label 등을 보여주며 코드를 분석하여 Loop, Jump 위치 등의 정보를 표시 (2)Register Window - CPU 레지스터 값을 실시간으로 표시하며 특정 레지스터들은 수정까지 가능 (3)Dump Window - 프로세스에서 원하는 메모리 주소 위치의 Hex값과 ASCII/유니코드 ..

1장 리버싱 스토리

리버스 엔지니어링이란? 리버스 엔지니어링(역공학)이라고 불림 물건이나 기계장치, 시스템 등의 구조, 기능, 동작 등을 분석해 그 원리를 이해하며 단점을 보완하고 새로운 아이디어를 추가하는 일련의 작업 리버스 코드 엔지니어링 SW 분야의 리버스 엔지니어링 SW를 리버싱 관점에서 상세하게 분석한다는 뜻! 정적, 동적 분석 방법 정적 분석 파일의 겉모습을 관찰하여 분석하는 방법(파일 실행X) 파일의 종류(EXE, DLL, DOC, ZIP 등), 크기, 헤더(PE)정보, Import/Export API, 내부 문자열, 실행 압축 여부, 등록 정보, 디버깅 정보, 디지털 인증서 등의 다양한 내용을 확인하는 것 디스어셈블러(Disassembler)를 이용해서 내부 코드와 그 구조를 확인하는 것 동적 분석 방법에 좋..

[Reversing.kr]Ransomware

처음에 ransomware 파일을 실행시켜보았다. 아무렇게나 Key를 입력하고 보니 응(?) 파일을 복구했다고 한다. 근데 보니 올바른 키값을 받아야 정상화가 되고 잘못된 키값을 넣으면 파일이 망가진다고 한다. 무슨소린고 하고 readme를 보았다. 이게 아마 힌트인듯 싶다 복호화 해야하고 EXE .. 일단 실행파일 EXE파일을 리버싱하기위해 보니 안되는 부분이 많았다. 그래서 검색을 통해 다음과 같은 툴을 이용하게 되었다. Exeinfo PE 는 A.S.L 이 만든 소프트웨어이며, 프리웨어 버전 이라고 되있는걸 보아하니 유료 버전도 있는 것 같다. 본 소프트웨어는 PEiD 와 같은 분석 툴이며, 실행 후 드래그&드롭 으로 간편하게 해당 프로그램이 어느 언어로 컴파일 되었는지, 또 패킹, 크립팅, 프로텍..

Question 15

15번 문제입니다! 15. An internet search for vendor name/model of NIC cards by MAC address can be used to find out which network interface was used. In the above answer, the first 3 hex characters of the MAC address report the vendor of the card. Which NIC card was used during the installation and set-up for LOOK@LAN? 번역 : MAC 주소로 NIC 카드의 공급 업체 이름 / 모델을 인터넷으로 검색하면 어떤 네트워크 인터페이스가 사용되었는지 확인할 수 있습니다. 위의 대..

Forensic/CFReDS 2019.07.25

Question 14

14번 문제입니다! 14. This same file reports the IP address and MAC address of the computer. What are they? 번역 : 이 파일은 컴퓨터의 IP 주소와 MAC 주소를보고합니다. 그들은 무엇인가? 참고 : http://www.ischo.net/board_windows/16531 \HKEY_CURRENT_USER\Software\Microsoft\Windows\CurentVersion\Explorer\MountPoints2\ 키이름중에 MAC 이 존재한다고 하는데 \MountPoints2 이 없다! 그렇다면 \HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\ : windows에 인식된 하드웨..

Forensic/CFReDS 2019.07.25

Question 13

13번 문제입니다! 13. List the network cards used by this computer 번역 : 13. 이 컴퓨터에서 사용하는 네트워크 카드 나열 참고 블로그 : http://blog.naver.com/PostView.nhn?blogId=tlvkffjak&logNo=221212222505&parentCategoryNo=&categoryNo=60&viewDate=&isShowPopularPosts=true&from=search HKEY_LOCAL_MACHINE → SOFTWARE → Microsoft → Windows NT → CurrentVersion → NetworkCards // 네트워크 어댑터 카드와 전화 접속 네트워킹 내용 * ServiceName 카드를 작동시키는데 필요한 드..

Forensic/CFReDS 2019.07.25

Question 12

12번 문제입니다. 12. A search for the name of “G=r=e=g S=c=h=a=r=d=t” reveals multiple hits. One of these proves that G=r=e=g S=c=h=a=r=d=t is Mr. Evil and is also the administrator of this computer. What file is it? What software program does this file relate to?(“G=r=e=g S=c=h=a=r=d=t”라는 이름을 검색하면 여러 개의 히트가 표시됩니다. 이 중 하나는 G=r=e=g S=c=h=a=r=d=t가 미스터 이블이며이 컴퓨터의 관리자이기도하다는 것을 증명합니다. 어떤 파일입니까? 이 파일은 어떤 소프..

Forensic/CFReDS 2019.07.25