본문 바로가기

반응형

System

(43)
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/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옵션을 준 뒤 컴파일-> 단 하나의 모듈이라도 컴파일 ..
Windows/메모리보호기법/MSDN 출처는 Microsoft 기술 블로그를 출처 하였습니다.https://blogs.technet.microsoft.com/askpfeplat/2017/04/24/windows-10-memory-protection-features/ CFG(Control Flow Guard) - 코드가 실행될때 그전에 이동할 위치가 유효한 점프 위치에 존재하는지 비트 맵 테이블과 비교하여 유효한 점프 위치에 나열되어 있지 않으면 프로세스를 종료시키고 멀웨어 실행을 차단함. - SysInternals ProcessExplorerView/ Select Columns / Process Image "Control Flow Guard"를 선택하여 항목에 추가. 윈도우 자체 전역 설정- [로컬 정책 설정] 컴퓨터 구성 \ 관리 템플릿 ..
Linux/침입차단시스템/Snort 스노트- 기본 라이브러리 말고도 다른 라이브러리가 많다.- source download스노트 운영을 위한 서버 소스 다운로드 - wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz스노트 소스 다운로드 - wget https://www.snort.org/downloads/snort2.9.11.tar.gz- 압축해제tar -xvzf daq-2.0.6.tar.gz- 라이브러리 의존성확인cd daq-2.0.6./configure - 크래시 확인 필요한 부분을 설치.- 라이브러리 다운로드yum -y install bison flexyum -y install libpcap-develyum -y install zlib-devel pcre-devel libdnet..
Linux/Kernel-analysis/LXR 개발환경 구축하기 1.펄 설치- 버전확인perl -v 2.exuberant ctags 설치- 버전확인ctags --version- 설치 sudo apt-get install exuberant-ctags 3.데이터베이스 설치- mysql 설치- 마리아DB 서버 설치sudo apt-get install mariadb-server- mysql 기본 보안설정 명령mysql_secure_installation 4.DB 설정- su 로 루트전환 후 mysql 루트 로그인 (우분투)sumysql -u root -p - DB생성, 일반 사용자 생성, 권한 부여, 권한 적용create database [이름];create user '[이름]'@'[localhost 또는 호스트명]' identified by '[비밀번호]';grant pr..

반응형