System (43) 썸네일형 리스트형 Windows/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 옵션 .. Windows/SEH보호기법/SafeSEH SEH overwrite Exploit- SEH Handler를 덮어씌워서 공격하는 방법 SafeSEH 검증 과정Handler의 주소값 검증등록된 핸들러인지 확인실행 여부 결정 SafeSEH 검증 과정 (세부)Handler의 주소가 스택인지 확인주소가 스택의 범위에 포함되어 있다면 호출 SafeSEH 검증 과정 (세부2)가리키는 주소가 현재 로드된 모듈의 주소그 모듈이 SafeSEH로 컴파일된 모듈이면 적절한 절차로 등록됬는지 검증 * 이때 PE헤더의 Load Configuration Directiory가 이용 SafeSEH 특징SEH는 옵션을 주었을 때만 동작특정조건에 맞는지만 검증 SafeSEH 우회SafeSEH 활성화는 컴파일러에 /SAFESEH옵션을 준 뒤 컴파일-> 단 하나의 모듈이라도 컴파일 .. System/Hacking/TEB 부터 함수를 구하는 과정. * 사용 툴 : Windbg* 실행 파일 : iexplorer.exe* 환경 : Windows 7 SP1 32bit - 프로세스 함수 주소값 구하기 접근 순서 (구조) TEB (Thread Enviorment Block) > PEB (Process Environment Block) > Ldr : PEB_LDR_DATA를 가리키는 포인터 PEB_LDR_DATA > DllBase : 모듈의 주소값 저장 - 첫번째 LDR_DATA 이므로 이 구조체는 실행파일 자체에 대한 정보를 담고 있다. - InMemoryOrderLinks 의 FLINK 값을 따라가다 보면 첫번째로 로드된 라이브러리인 ntdll.dll 파일정보가 들어 있는 두번째 LDR_DATA_TABLE_ENTRY를 만날 수 있다. 실제 접근 !teb .. [Ubuntu] apt 관련 명령 (모르는것만정리) 꼭 필요할 때 까먹어서 찾던 명령어 apt-cache search [패키지이름] ---> 설치할 수 있는 패키지 검색 apt-cache show [패키지이름] ---> 패키지 정보 표시. [MANUAL] 'dpkg' command * 필요한 부분만 해석함* 전체 글은 man dpkg를 통해 얻은 텍스트문서. dpkg(1) dpkg suite dpkg(1) NAME dpkg - package manager for Debian SYNOPSIS dpkg [option...] action dpkg 옵션 행동 WARNING This manual is intended for users wishing to understand dpkg's command line options and package states in more detail than that provided by dpkg --help. 이 매뉴얼은 dpkg 커맨드라인 옵션과 세부 패키지 상태를 좀더 자세하게 이해하기를 바라는 유저에게 맞춰졌다. It should not be used.. ubuntu 16.04 APM 설치. 1. (sudo) apt-get -y install apache22. (sudo) apt-get -y install mysql-server mysql-client3. (sudo) apt-get -y install php libapache2-mod-php php-xml php-gd php-mysql4. service apache2 restart // /etc/init.d/apache2 restart5. service mysql restart // /etc/init.d/mysql restart * 3306 포트와 80 포트가 올라와 있는 지 확인 $ netstat -nlp vi 에디터 - .vimrc , 단축키 vi 에디터 유닉스 환경에서 가장 많이 쓰인 문서 편집기이다. 현재 글을 쓰는 기점으로 약 40년됬으며 1976년 빌조이가 초기 BSD 버클리 소프트웨어 배포판에 포함될 편집기로 만들었다. 비주얼 에디터 (visual editer)라는 뜻에서 유래한 에디터다. vi에서 업그레이드된 버전으로 vim(Vi Improved (향상된 Vi))에디터가 있다. Vi를 효율적으로 사용하려면 단축키를 꼭 아는 것이 필수적이다. 구조를 보면 vim 에디터에는 강력한 기능을 추가할 수 있는 .vimrc와 plugin(script)가 있다. 아주 가벼운 용량으로 강력한 기능을 추가하는 것이 가장 큰 강점이다. 자신의 홈디렉토리에 .vimrc 를열어 간단하게 set hlsearch를 넣어보자. vim 내에서 검색을 했을 때 .. Unix - BSD , PWB/Unix , Linux 유닉스는 C언어로 만들어져 있으며, 이후로 여러 분파로 나누어져 다양한 시스템으로 나눠진다. 크게 BSD와 PWB/Unix로 나뉘어진다. BSD쪽은 오픈소스에 가까운 성향을 PWB/Unix는 상용 소프트웨어에 가까웠다. BSD 계열 파생된 Free BSD가 대표적으로 무료이다. 리눅스는 유닉스 계열에서 벗어나서, 리눅스 토발즈가 만든 새로운 컴퓨터 운영체제의 하나이다. PWB/Unix는 현재 유닉스라인의 시초가 되며, 새롭게 만들어진 리눅스 0.0.1이 현재 리눅스 배포판들의 시초가 된다. 재밌게 리누스 토발즈가 리눅스를 만들고자 작정하고 만든게아니라, 학교 숙제로 만들다 보니 만들었다. 토발즈가 리눅스의 핵심인 커널을 만들었다면, GNU 기반으로 만들어진 리눅스는 리처드 스톨만의 창시 의의에 따라 모든.. 이전 1 2 3 4 5 6 다음 목록 더보기