전체 글
Hi,
-
*윈도우 PE 1. Windows Preinstallation Environment 2. Windows Portable Executable 1. Dos Header -> 시그니쳐 코드가 MZ다 2. Dos Stub -> 의미없는 코드로 마음대로 변경해도 실행에 문제가 없다. 3. NT Header 3-1) Signature -> 시그니쳐 코드가 PE다 3-2) File Header WORD Machine; -> 현재 컴퓨터의 종류 014C WORD NumberOfSections; -> 섹션의 개수 0003 DWORD TimeDateStamp; -> 생성시간 48025287 DWORD PointerToSymbolTable; DWORD NumberOfSymbols; WORD SizeOfOptionalHead..
2022-06-21*윈도우 PE 1. Windows Preinstallation Environment 2. Windows Portable Executable 1. Dos Header -> 시그니쳐 코드가 MZ다 2. Dos Stub -> 의미없는 코드로 마음대로 변경해도 실행에 문제가 없다. 3. NT Header 3-1) Signature -> 시그니쳐 코드가 PE다 3-2) File Header WORD Machine; -> 현재 컴퓨터의 종류 014C WORD NumberOfSections; -> 섹션의 개수 0003 DWORD TimeDateStamp; -> 생성시간 48025287 DWORD PointerToSymbolTable; DWORD NumberOfSymbols; WORD SizeOfOptionalHead..
2022.06.28 -
컴퓨터가 숫자를 읽는 방식 빅 에디안 리틀에디안 nibble (4bit) : CHAR (1byte) : 1A 2B EC 56 WORD (2byte) : 1A 2B EC 56 DWORD (4byte) : 1A 2B EC 56 --> 리틀 에디안으로 읽을 시 CHAR (1byte) : 56 EC 2B 1A WORD (2byte) : EC 56 1A 2B DWORD (4byte) : EC 56 1A 2B ollydbg 0000 0000 ~ FFFF FFFF (32bit) 00000000 00000000 ~ FFFFFFFF FFFFFFFF (64bit) 모든 명령어의 구조는 OPcode + Operand로 이루어져 있다 (실행 명령) + (주소) cd /etc/networks/interface vi ./test..
2022-06-20컴퓨터가 숫자를 읽는 방식 빅 에디안 리틀에디안 nibble (4bit) : CHAR (1byte) : 1A 2B EC 56 WORD (2byte) : 1A 2B EC 56 DWORD (4byte) : 1A 2B EC 56 --> 리틀 에디안으로 읽을 시 CHAR (1byte) : 56 EC 2B 1A WORD (2byte) : EC 56 1A 2B DWORD (4byte) : EC 56 1A 2B ollydbg 0000 0000 ~ FFFF FFFF (32bit) 00000000 00000000 ~ FFFFFFFF FFFFFFFF (64bit) 모든 명령어의 구조는 OPcode + Operand로 이루어져 있다 (실행 명령) + (주소) cd /etc/networks/interface vi ./test..
2022.06.28 -
LAN : 192.168.100.1/24 em0 : WAN 00:0C:29:54:BF:B9 em1 : LAN 00:0C:29:54:BF:C3 em2 : DMZ 00:0C:29:54:BF:CD 1) 인터페이스 설정 VLAN 설정 : n WAN 인터페이스를 설정 : em0 LAN 인터페이스를 설정 : em1 Optional 1 인터페이스를 설정 : em2 2) 인터페이스 IP주소 부여 2-1) WAN IP 부여 : 1 2-2) WAN IPv4를 DHCP로 받아오나요? : y 2-3) WAN IPv6를 DHCP로 받아오나요? : y 2-4) Web configuration을 설정하나요? : n 2-5) LAN IP 부여 : 2 2-6) LAN IPv4를 입력하세요 : 192.168.100.1 2-7) S/M를..
2022-06-16LAN : 192.168.100.1/24 em0 : WAN 00:0C:29:54:BF:B9 em1 : LAN 00:0C:29:54:BF:C3 em2 : DMZ 00:0C:29:54:BF:CD 1) 인터페이스 설정 VLAN 설정 : n WAN 인터페이스를 설정 : em0 LAN 인터페이스를 설정 : em1 Optional 1 인터페이스를 설정 : em2 2) 인터페이스 IP주소 부여 2-1) WAN IP 부여 : 1 2-2) WAN IPv4를 DHCP로 받아오나요? : y 2-3) WAN IPv6를 DHCP로 받아오나요? : y 2-4) Web configuration을 설정하나요? : n 2-5) LAN IP 부여 : 2 2-6) LAN IPv4를 입력하세요 : 192.168.100.1 2-7) S/M를..
2022.06.28 -
DLL Ejection DLL Injection 반대되는 개념 DLL Injection은 실행 중인 프로세스에 DLL을 삽입하여 공격하는 기법 DLL Ejection은 실행 중인 프로세스에 DLL을 빼는 공격 기법 단, DLL Ejection 우리가 강제로 Injection을 한 DLL만 뺄 수 있다. 기본적인 원리는 Injection과 동일 CreateRemoteThread()함수를 사용 kernel32.dll의 라이브러리에서 LoadLibrary()함수를 사용 > Injection kernel32.dll의 라이브러리에서 FreeLibrary()함수를 사용 > Ejection LOCAL : 내가 속해있는 프로세스 REMOTE : 내가 속해있지 않은 프로세스 CreateRemoteThread() 내가 속..
DLL EjectionDLL Ejection DLL Injection 반대되는 개념 DLL Injection은 실행 중인 프로세스에 DLL을 삽입하여 공격하는 기법 DLL Ejection은 실행 중인 프로세스에 DLL을 빼는 공격 기법 단, DLL Ejection 우리가 강제로 Injection을 한 DLL만 뺄 수 있다. 기본적인 원리는 Injection과 동일 CreateRemoteThread()함수를 사용 kernel32.dll의 라이브러리에서 LoadLibrary()함수를 사용 > Injection kernel32.dll의 라이브러리에서 FreeLibrary()함수를 사용 > Ejection LOCAL : 내가 속해있는 프로세스 REMOTE : 내가 속해있지 않은 프로세스 CreateRemoteThread() 내가 속..
2022.06.28 -
Helloworld.exe파일의 windowsPE분석 실시 1. Section의 개수를 나타내는 위치와 값을 찾으시오 2. Optional Header의 크기를 나타내는 위치와 값을 찾으시오 위치 : 00 00 00 FC 값 : E0 3. Address of EntryPoint의 역할 및 위치와 값을 찾으시오 역할 : 메모리에 올라갈 때 시작점 4. Image Base 역할 및 위치와 값을 찾으시오 역할 : 간접 주소 방식에서 기준점 5. Section Alignment와 File Alignment의 위치와 값을 찾으시오 6. 각 섹션의 offset 및 address 시작 위치와 크기를 찾으시오 7. user32.dll 의 INT와 IAT의 위치를 찾으시오 Import의 시작위치(RVA) : 965C(9..
Windows PE 실습 ( 수정 필요 )Helloworld.exe파일의 windowsPE분석 실시 1. Section의 개수를 나타내는 위치와 값을 찾으시오 2. Optional Header의 크기를 나타내는 위치와 값을 찾으시오 위치 : 00 00 00 FC 값 : E0 3. Address of EntryPoint의 역할 및 위치와 값을 찾으시오 역할 : 메모리에 올라갈 때 시작점 4. Image Base 역할 및 위치와 값을 찾으시오 역할 : 간접 주소 방식에서 기준점 5. Section Alignment와 File Alignment의 위치와 값을 찾으시오 6. 각 섹션의 offset 및 address 시작 위치와 크기를 찾으시오 7. user32.dll 의 INT와 IAT의 위치를 찾으시오 Import의 시작위치(RVA) : 965C(9..
2022.06.27 -
INT / IAT ( Import 관련 Table ) 라이브러리 / DLL 파일 SYS 파일 애플리케이션이 실행할 때 DOS 시절에 관련 라이브러리도 전부 포함해서 코딩 함수를 불러오는 식으로 라이브러리를 만들자 kernel32.dll 라는 라이브러리 안에 여러개의 함수들 Import Name Table > DLL 이름을 찾고 Import Application Table > 함수를 찾는다 MAGE_IMPORT_DESCRIPTOR { union { DWORD Characteristics; DWORD OriginalFirstThunk; // INT(Import Name Table) address (RVA) }; DWORD TimeDateStamp; DWORD ForwarderChain; DWORD Name;..
INT / IATINT / IAT ( Import 관련 Table ) 라이브러리 / DLL 파일 SYS 파일 애플리케이션이 실행할 때 DOS 시절에 관련 라이브러리도 전부 포함해서 코딩 함수를 불러오는 식으로 라이브러리를 만들자 kernel32.dll 라는 라이브러리 안에 여러개의 함수들 Import Name Table > DLL 이름을 찾고 Import Application Table > 함수를 찾는다 MAGE_IMPORT_DESCRIPTOR { union { DWORD Characteristics; DWORD OriginalFirstThunk; // INT(Import Name Table) address (RVA) }; DWORD TimeDateStamp; DWORD ForwarderChain; DWORD Name;..
2022.06.23