전체 글 (170) 썸네일형 리스트형 System/Hacking/Fuzzing OWASP 퍼징 ref > https://www.owasp.org/index.php/Fuzzing 퍼징- 수많은 입력 값을 무작위로 대입하여 자동으로 취약점을 찾아내는 방법Dumb 퍼징 파일 포맷을 분석하지 않은 상태에서 무작위로 값을 변형하는 방식Smart 퍼징 파일 포맷을 분석한 뒤에 포맷에 맞추어 변형하는 방식환경변수 퍼징커맨드라인 퍼징레지스트리 퍼징드라이버 퍼징네트워크 퍼징등퍼징의 작동 원리- 입력값 생성 > 실행 및 감시 > 크래시 분류 Dumb 퍼징- 가장 기본적인 퍼징 형태- 샘플 파일의 일부를 변형하여 파일을 실행.MiniFuzz- 프로그램을 전혀 이해하지 못한 상태로 진행되므로 코드 커버리지 측면에서 취약 Smart 퍼징- 파일포맷을 완전히 이해한 상태에서 수행하는 퍼징- 파일의 포맷을 .. System/DllInject/레퍼런스 및 오류 # 과정 1 : http://cinema4dr12.tistory.com/891 > DLL 생성- 오류 1 : 기존 프로젝트 생성 x > https://docs.microsoft.com/ko-kr/sql/ssms/solution/add-an-existing-project-to-a-solution 해결 # 과정 2 : dllinject 코드 작성http://keybreak.tistory.com/116http://reversecore.com/40https://m.blog.naver.com/PostView.nhn?blogId=siren258&logNo=141636528&proxyReferer=https:%2F%2Fwww.google.co.kr%2F - 오류 2 : dll 빌드 프로젝트를 만들시 주의해야하는데, .. Linux/Make/Makefile 정리 make 유틸리티 - make : 만들다.라는뜻 - man make 프로그램 그룹에서 어느 부분이 새롭게 컴파일 되어야 하는지 자동적으로 판단하여 필요한 커맨드(gcc 등)을 이용해 그들을 재컴파일 시킴. make가 사용되는 경우 - 입력파일이 바뀌어 자동적으로 결과 파일이 바뀌기 원할 때 - LaTex 파일 처럼 자동적으로 프로그램이 수행되길 바랄 때 (batch의 개념) latex 프로그램 : 문서 조판에 사용되는 프로그램 == 매크로 스크립트 latex make 다루기 makefile 구성전 1차적 명령어 1 2 % latex make.tex > 명령 부분은 TAB으로 시작 해야하는 문법 규칙(안지키면 make 실행 중 에러) make가 명령어가 맞는지 아닌지 인식하는 규칙. Gcc 컴파일 과정 -.. System/Hacking/버그헌팅/기본 방법론 PoC(Proof of Concept)- 발견한 취약점을 증명Exploit 코드를 작성 # 블랙박스와 화이트박스- 블랙박스 테스트소스코드 없이 점검하는 것점검방법리버싱퍼징장점빠른 점검 가능쉬운 점검 환경 구성예상하지 못한 취약점 발견단점커버리지 문제 발생원인 분석 시간 증가점검 난이도 증가- 화이트박스 테스트프로그램의 소스코드를 리뷰할 수 있는 상황에서 점검점검방법소스코드 리뷰소스코드 자동 점검툴장점거의 완전한 커버리지 가능빠른 원인 분석 가능단점개발 환경 구성 필요점검 복잡도 증가소스코드 확보 어려움 > 퍼징- 자동화가 가능하여 선호하는 편이지만 발견하지 못하는 유형의 취약점도 존재 # 버그 식별 및 평가- 버그이 오탐 여부와 공격 가능성 판단.- 자동 점검툴소스코드 리뷰 직접 찾음 > 해당 취약점으로.. System/Hacking/ASLR/ASLR 우회 ASLR(Address Space Layout Randomization) 기법 - 방어기법대부분의 공격은 특정 주소값이 필요하기 때문에 고정적인 주소를 사용하는 공격을 방어 할 수 있다. 하지만 모든 공격을 막을 수는 없다. # ASLR 적용법- 컴파일러 옵션에 의해서 적용 여부가 결정임의 기준 주소 (DYNAMICBASE)옵션 활성화 > 예프로그램 실행 시 마다 코드 주소 및 스택 주소 등이 모두 변경가젯들의 주소가 매번 변경되기 때문에 DEP 우회를 위한 ROP 체인을 구성 할 수 없다. # ASLR 우회 - Bruteforce 공격- 고정 주소값이 나올 때 까지 동일한 주소 혹은 다양한 주소로 무작위 대입을 시도하는 것.성공률이 낮다.한두번의 공격으로 성공해야하는 파일 포맷 기반의 Client 공격.. System/Hacking/ROP와 Chaining RTL ROP(Return Oriented Programming)ROP는 RTL Chain을 이용하여 몇 가지 유용한 API를 호출하여 DEP를 우회하는 방법.RTL와 비슷하게 실행권한이 존재하는 코드를 이용함수뿐만 아니라 Gadget을 이용 하여 Chain만듬. RTL (Return To Library)쉘 코드가 아닌 Library로 돌아간다.쉘코드를 직접 변조하지 않고, 이미 실행권한이 존재하는 라이브러리들의 코드 영역으로 변조.함수에 필요한 인자값들은 스택에 미리 구성로드된 모듈의 특정 함수만 사용 가능 RTL 접근- 호출 하는 함수의 인자가 미리 호출어드레스 아래 스택에 구성되어 있어야 한다.1.EIP Overwrite로 EIP를 원하는 값으로 변경이 가능2.변경한 RET이 실행되어 WinExec 함수(.. System/Hacking/DEP와 DEP 우회 DEP 기법DEP(Data Execution Prevention)란, 실행 권한이 없는 메모리 영역의 코드가 실행되지 못하도록 방지하는 기법스택 영역, 힙 영역의 실행 코드 방지 DEP의 우회- 초기 기법 : RTL 기법- 현재 기법 : ROP 기법RTL Chaining 기법-> DEP와 ASLR은 Exploit 방지의 핵심 DEP 종류- H/W 기반, S/W 기반최근 CPU에서는 대부분 H/W기반 지원옵션에 따라 여러 가지 방식으로 동작 DEP 옵션 옵션설명Optin지정된 바이너리만 보호OptOut지정된 바이너리를 제외하고 모두 보호AlwaysOn모든 프로세스를 항상 보호AlwaysOff모든 프로세스를 보호하지 않음 기본 동작 방식 windows 7 : OptIn 추가적으로 Permanent DEP 옵.. System/Hacking/SEH overwrite Exploit SEH overwrite Exploit- SEH Handler를 덮어씌워서 공격하는 방법 SafeSEH 검증 과정Handler의 주소값 검증등록된 핸들러인지 확인실행 여부 결정 SafeSEH 검증 과정 (세부)Handler의 주소가 스택인지 확인주소가 스택의 범위에 포함되어 있다면 호출 SafeSEH 검증 과정 (세부2)가리키는 주소가 현재 로드된 모듈의 주소그 모듈이 SafeSEH로 컴파일된 모듈이면 적절한 절차로 등록됬는지 검증 * 이때 PE헤더의 Load Configuration Directiory가 이용 SafeSEH 특징SEH는 옵션을 주었을 때만 동작특정조건에 맞는지만 검증 SafeSEH 우회SafeSEH 활성화는 컴파일러에 /SAFESEH옵션을 준 뒤 컴파일-> 단 하나의 모듈이라도 컴파일 .. 이전 1 ··· 5 6 7 8 9 10 11 ··· 22 다음