본문 바로가기

Security

[Operation System] 2. OS 만들기 - BootStrap - 1 1. Pre.. 이번엔 간단하게 아무것도 안하는 부트로더를 제작해 봅시다. - 플로피디스크에 프로그램을 담아 부팅시켜보자. - NASM 컴파일 : nasm -f bin -o boot.bin boot.asm ) - VMware 로 .BIN 파일을 플로피 디스크로 부팅시키기 2. Process - CPU가 BIOS 롬에 새겨진 프로그램 실행 - 현재 사용하는 마더보드 상태, 주변 접속장치등 체크 - 디스크의 첫 512바이트 (MBR 영역 0번 트랙 1번 섹터)를 램으로 읽어들여 ran : 0x7c00 번지에 로드 - 프로그램 실행 3. Code hang: jmp hang ; 중간에 510 byte 사용 가능 times 510 - ($-$$) db 0 ; $ 자신의 현재 위치 - $$ 시작위치 ; 나머진는 0.. 더보기
[Operation System] 1. OS 만들기 - 준비물 1. Preparation - nasm 1.10 이상 http://www.nasm.us 더보기
[System Hacking] 0. Starting System Hacking 시스템 해킹을 공부하기 전에 알아야 할 필수 지식 1. ASSEMBLE 시스템 해킹이라는것은 시스템에 존재하는 취약점을 찾아, 그 점을 이용해 익스플로잇을 해서 관리자 권한을 취하는게 목표입니다. 그런데 관리자 권한 얻는거하고 asm하고 무슨 상관이 있느냐? 먼저 시스템 이라 하는 것인, 컴퓨터 안에서 돌아가는 예를 들어 운영체제나 프로그램들.. 이런것을 종합적으로 합쳐서 시스템이라 하는데, 이들의 취약점을 찾기 위해선 운영체제 커널이나 프로그램을 분석을 해야 합니다. 그 분석을 하기 위해선 리버싱이 필요한데요, 리버싱에 사용되는 디버거들은 응용 프로그램들을 asm 언어로 디스어셈블리 해 줍니다. 즉, asm을 알아야지 프로그램이 뭘 하는지 구조나 흐름을 파악하고 어느 코드 부분에 취약점이 있는지 발견이.. 더보기
[Reversing] ASLR 기능 제거하기 이번엔 PE 조작으로 ASLR 우회하는 방법에 대해서 알아보겠습니다. 1. ASLR ( Address Space Layout Randomization ) ASLR 은 PE 파일이 메모리에 로딩될 때 로딩 시작 주소 값을 랜덤하게 바꾸는 기술입니다.또한 DLL 파일도 초기에 로딩되는 주소가 매 실행마다 달라집니다. 윈도우에서는 Vista 버전부터 적용이 됬고 리눅스는 고대 때 부터 적용이 됬던 기술이죠 (원도우는 역시 열발 늦어 ㅋㅋ) 커널 버전으로 보면 123456789101112OS Kernal versionWindows 2000 5.0Windows XP 5.1Windows Server 2003 5.2Windows Vista 6.0 ------------ ASLR 기술 적용 시작Windows Serve.. 더보기
[Reversing] Basic Knowlodge about IA-32 Registry 이번 강의는 리버싱을 배우기전 필수로 외우고 있어야 하는 레지스터에 대해 알아보겠습니다. 1. CPU Register ( CPU 레지스터 ) 먼저 레지스터란 : CPU 내부에 존재하는 다목적 저장 공간입니다. 몇몇분들이 가끔 우리가 흔히 메모리라 말하는 RAM ( Random Acess Memory )과 헷갈리시는 분이 계시는데 (없으면 말고요) 속도면에서 보면 CPU 는 RAM에 있는 데이터를 사용하기 위해서는 물리적으로 먼 거릴 돌아 가야되기 때문에 시간이 오래 걸립니다. 하지만 레지스터는 CPU와 한 몸이기 때문에 고속으로 테이터 처리가 가능하죠 2. Register 는 필수? 위에 언급했듯이 리버싱을 배우기 전 필수로 외우고 있어야 하는 것 중 하나가 Register 입니다. 이유는 일단 우리가 .. 더보기