본문 바로가기

Hacking/System Hacking-

[시스템 방어] Buffer Over Flow 에 대한 방어, ASLR 1. ASLR이란? ASLR (Address Space Layout Randomization) 은 프로그램을 실행했을 때 코드와 데이터가 항상 동일한 메모리 주소에 로드되는 것을 방지하기 위해Windows Vista 이상의 시스템에 적용된 보안 기법입니다. 프로그램이 실행되어 Windows 실행파일 (.exe) 이 메모리에 로딩될 때마다 기본 주소 (Image Base)의 값을랜덤하게 생성하여 프로세스가 메모리의 어느 부분에 로딩될지 알 수 없게 함으로써버퍼 오버플로우 취약점을 통한 공격을 차단하는 기술입니다. Windows XP 이하 시스템의 경우, 프로그램과 DLL (동적 링크 라이브러리, Dynamic Link Library) 의 메모리 주소가정해져 있었기 때문에 이를 통한 버퍼 오버플로우 공격에 .. 더보기
[시스템 해킹]버퍼 오버 플로우(Buffer Overflow) 1. 버퍼(Buffer)의 정의 및 버퍼 오버 플로우(Buffer Overflow) 의 정의 버퍼(Buffer) 란 메모리의 조각들, 다시 말해서 데이터를 저장하기 위해 휘발성으로 잠시동안 사용되는 한정적인 공간입니다. 흔하게 예를들어서 VB와 같은 프로그램으로 프로그래밍시에 버퍼의 크기를 검사하지 않고 프로그래밍할 경우 10KB 라는 할당 되어있는 저장공간이 있으면 이 메모리의 범위를 초과하는 버퍼가 입력되면 할당 된 버퍼 밖의 공간에 쓰기 가 발생하게 되는데 이 경우에 에러가 발생하게 됩니다. 이것을 버퍼 오버플로우 (Buffer Overflow) 라고 합니다. 2. 프로세스의 메모리 구조 버퍼 오버플로우를 이해하기 위해서는 먼저 프로그램의 실행 흐름과 스택(Stack) 의 구조에 대한 이해가 필요합.. 더보기
키로거, 자바스크립트 예제, 백트랙편 안녕하세요M1S Secur입니다이번강의는 메타스플로잇을 활용합니다원래 메타스플로잇으로 합니다 이번 키로거는 상대방에게 하는것이아닌 키로거의 쾌감을느낄수있는 그런 강의입니다자 시작하겠습니다 백트랙 터미널을 열고 메타스플로잇을 준비해야합니다# msfconsole몇초후에 메타스플로잇창이 뜹니다#msf> use auxiliary/server/capture/http_javascript_keylogger이 강의는 자바스크립트를 이용한 키로거니 서버를 사용해야합니다그리고 이어서 명령어를입력합니다> show options>set demo true> set SRVPORT 4444> set SRVHOST 아이피> set URIPATH 별명>exploit-------명령어 입력은 끝났습니다 이제 파이어폭스를 켜주고 http.. 더보기
[2]SystemHacking -Race Condition(레이스 컨디션) 본 레이스 컨디션 강의에 사용되는 O/S는 Linux 기반임을 미리 밝히며 포스팅을 시작합니다. Race Condition(레이스 컨디션)의 정의 - > 한정된 자원을 동시에 이용하려는 여러 프로세스가 지원의 이용을 위해 경쟁을 벌이는 현상을 말합니다. 알집, 기타 프로세스에 모두 우선순위로 동작, 보통순위로 동작 등이 있는데엄청난 프로세스들이 최고 우선순위로 동작하려고 한다면해커는 상대방의 프로세스를 강제적으로 종료시키거나 할 수 있습니다. 즉, 버그를 갖고 있는 Setuid 프로그램과 해커의 exploit이 서로 경쟁상태(Race Condition) 에 이르게 하여, setuid 프로그램의 권한으로 다른 파일에 접근할 수 있게 하는 방법입니다. [레이스컨디션의 한 예] ▶ 레이스컨디션이 발생할 조건 .. 더보기
[1]SystemHacking- Root Kit-(루트 킷) 이번에는 Root Kit 에 대해 알아볼껀데요, 루트킷의 정의부터 공부해보도록 하겠습니다. RootKit(루트킷)이란? - > 해커들이 관리자 시스템을 해킹할 때 시스템 관리자가 해킹당하고 있음을 알지 못하게 하기 위해사용하는 프로그램, 엔진 등을 이야기 합니다. 해커들은 먼저 해당 사용자의 시스템 취약점을 찾아내어 접근 권환을 획득한뒤 , 루트킷을 설치합니다. 루트킷을 설치하면 공격자가 어디서 접근하였는지, 어떠한 프로그램으로 인하여 접근하게되었는지 조차 감지하지 못하게모든 시스템을 은폐시킵니다. 따라서 시스템 권한자는 루트킷이 설치되어있는 사실조차 감지하기 어렵습니다. 루트킷은 연결되어있는 모든 네트워크상의 다른 컴퓨터에 있는 사용자 ID와 암호들을 스니핑 하거나 탐지하여 해커에게루트 권한, 시스템 .. 더보기