Basic knowledge
-
ASPACK UnpackingBasic knowledge/리버싱(Reversing) 2019. 5. 6. 12:49
패킹 중에서 Aspack 패킹이라는 방법이 있습니다. 예시를 들기 위해서 Codeengn basic 10번 문제의 문제파일을 가져 왔습니다. 해당 파일을 PEID 툴을 이용해서 확인해 보겠습니다. 저기 아래에 보면 Aspack v2.0/2.001 이라는 문자열을 확인 할수 있습니다. 올리디버거로 확인해 보겠습니다. 좀 아래로 내려가 보면 다음과 같은 화면을 확인 할 수 있습니다. PUSHAD 라는 문자열을 확인 할 수 있습니다. PUSHAD는 범용 레지스터에 저장된 값들을 스택에 저장하는 명령어 입니다. 현재의 레지스터값을 스택에 저장하고 원본 코드로 복구한다음 POPAD를 이용해서 원래의 레지스터 값으로 되돌린 다음 복구한 OEP로 분기합니다. F8을 한번더 눌러보면 PUSHAD 명령어가 실행 되서 E..
-
PE File Format(2)Basic knowledge/리버싱(Reversing) 2019. 3. 25. 20:11
1. RVA to RAW PE 파일이 메모리에 로딩 되었을때 각 섹션에서 메모리의 주소(RVA)와 파일 옵셋을 잘 매핑할 수 있어야 합니다. 이러한 방법을 RVA to RAW이라고 합니다. 1. RVA가 속해있는섹션을 찾습니다.2. 간단한 비례식을 사용해서 파일 옵셋(RAV)을 계산합니다. IMAGE_SECTION_HEADER 구조체의 비례 식은 다음과 같습니다. RAW - PointerToRawData = RVA - VirtualAddress RAW = RVA - VirtualAddress + PointerToRawData Q1. RVA = 5000일때 File Offset = ? 일단 RVA는 5000이므로 Section이 (".text")를 가리키고 있습니다.IMAGE_SECTION_HEADER 구..
-
PE File Format(1)Basic knowledge/리버싱(Reversing) 2019. 3. 25. 17:58
PE Format 이란? PE(Portable Executable) 파일을 그대로 해석해 보자면, 옮겨 다니면서 실행시킬수 있는 파일을 뜻하는데, 이는 MS 뿐만 아니라 다른 운영체제와 이식성을 좋게 만들기 위해서 사용합니다.또한, windows 운영체제에서 사용되는 실행 파일 형식입니다. PE파일은 32비트 형태의 실행 파일을 의미하며 PE32라는 용어를 사용합니다.하지만 32비트가 아닌 64비트는 PE+ 또는 PE32+ 라고 이야기 하며, PE의 확장 형태 입니다.[PE64라고 생각할 때도 있지만 실수 하시면 안됩니다.] PE File 종류? PE File의 기본 구조 PE File의 기본 구조는 다음과 같습니다.( 메모리에 적재(loading 또는 mapping)됬을때의 모습 )섹션의 시작 위치는 ..
-
모의 해킹이란?Basic knowledge/이론 2018. 11. 27. 18:21
모의 해킹이란?- 보안 평가 방법론 측면에서 모의 해킹은 궁극적으로 가장 적극적인 보안 평가 방법 - 모의 해킹은 철저한 보안 평가나 감사를 수행할 때 실시한다.- 전산시스템에서 나타날 수 있는 취약점 여부를 사전에 점검- 외부의 공격 위협으로부터 전산 자원을 보호하기 위한 일련의 과정 모의 해킹의 종류1. 블랙 박스 테스트- 원격지에서 네트워크 인프라를 평가하는 외부 테스트- 내부에 어떤 보안 기술이 적용돼 있는지 알지 못하여 침투할 수 있는 모든 방향을 대상으로 테스트한다- 테스트 완료후, 위험 요소를 분류 한 후에 경영진이 이해할 수 있는 수준으로 표현한 보안 결과서 제출- 대상의 현실적인 보안 상태와 취약성 분류, 인지된 위험들의 비지니스 연관성과 관련한 모든 필요한 정보를 포함 2. 화이트박스 ..
-
SETOOLKIT을 이용한 Credential Harvester Attack 실습Basic knowledge/칼리 리눅스 2018. 11. 27. 15:22
※ 주의사항아래의 공격 코드는 학습 목적으로 작성 되었으며, 악의적인 목적으로 이용할 시 발생할 수 있는 법적 책임은 자신에게 있습니다. 이는 해당 글을 열람할 때 동의하였다는 것을 의미합니다. SETOOLKIT은 Social Engineering TOOLKIT의 약자로 "사회 공학 키트"입니다. Credential Harvester Attack Method 모듈은 실제 웹 사이트를 기반으로 복제 한 사이트(phishing 사이트)를 이용하여 피해자들의 ID 나 Password를 탈취하는데 사용되는 모듈 입니다. - 패스트 트랙(Fasttrack) : 자동 공격 도구메타스포로잇 모듈을 사용해당 도구는 메타 스포로잇에 기반을 두고 있고 공격기법 중하나인 Autopwn 공격은 내장 기능중 nmap을 통해네트..
-
어셈블리어(Assembly)의 기초와 8086 프로세서Basic knowledge/시스템(Pwn) 2018. 11. 27. 07:00
어셈블리를 하기 위한 기초 지식 1. 하드웨어1) CPU - 컴퓨터에서 구성 단위 중 기억, 연산, 제어의 3대 기능을 종합하는 장치인 Central Processing Unit(중앙 처리 장치)의 줄임말- 메모리에 있는 내용을 읽고, 쓰며 데이터를 메모리와 각 레지스터로 보내는 역할- 하나의 프로세서는 12~14개의 레지스터가 있고, CPU의 연산, 논리 장치는 숫자와 기호에 관한 연산자를 인식- 클럭 속도, IPC, 코어 수에 따라서 CPU의 성능이 결정됩니다. 2) RAM- 사용자가 자유롭게 내용을 읽고 쓰고 지울수 있는 기억장치 이며, ROM과 함께 컴퓨터의 주기억 장치 역할- 각 셀들은 숫자 값을 포함하고 주소가 정해지는 형식이며 프로그램에서는 메모리라고 불리는 것들은 RAM을 의미 2. 808..
-
시스템 호출(System Call)Basic knowledge/시스템(Pwn) 2018. 11. 26. 16:51
시스템 호출 이란? - 시스템 호출은 대부분 시스템 콜이라고 자주 쓰임- 시스템 콜은 응용프로그램에서 운영체제에게 어떠한 기능을 수행해 달라고 하는 하나의 수단- 운영 체제의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근 하기 위한 인터페이스 시스템 호출의 기능 1. 사용자 모드에 있는 응용 프로그램이 커널의 기능을 사용할 수 있도록 한다.2. 시스템 호출을 하면 사용자 모드에서 커널 모드로 바뀐다,3. 커널에서 시스템 호출을 처리하면 커널 모드에서 사용자 모드로 돌아가 작업을 계속한다. 시스템 호출의 유형 1. 프로세서 제어(process Control)2. 파일 조작(file manipulation)3. 장치 관리(Device Management)4. 정보 유지(Inform..