본문 바로가기

반응형

전체 글

(170)
System/Paper/차상길 - 바이너리 분석을 통한 자동익스플로잇 생성: 과거 현재 미래 Listen & Write 보호되어 있는 글입니다.
System/Linux/GNU Binutils 정리 출처 : https://www.gnu.org/software/binutils/ GNU Binutils(1) 주요 도구 - ld : GNU 링커 - as : GNU 어셈블러 (2) 기타 도구 - addr2line - 주소를 파일 이름과 줄 번호로 변환합니다. - ar - 아카이브를 만들고, 수정하고, 추출하는 유틸리티입니다. - c ++ filt - 인코딩 된 C ++ 기호를 분리하기 위해 필터링합니다. - dlltool - DLL을 만들고 사용할 수있는 파일을 만듭니다. - gold - 베타 테스트를 거친 새롭고 빠른 ELF 전용 링커. - gprof - 프로파일 링 정보를 표시합니다. - nlmconv - 객체 코드를 NLM으로 변환합니다. - nm - 오브젝트 파일의 심볼을 나열합니다. - objco..
Programming/Python/모듈 다루기 # 모듈 path 확인이나, import 시킬때 맞을 수 있는 문제나 에러에대해서 포스팅하고 업데이트할 예정입니다. # 업데이트 내역- 2018/01/17 ++ 기본 내용 - 설치된 모듈 확인하기# pydoc modules# python -c 'help("modules")'# pip list# pip freeze# python -c 'import pip,pprint; pprint.pprint(pip.get_installed_distributions())'- modulename.__file__ : 모듈이 로드된 path를 알아내는 방법입니다.1234567import moduleprint module.__file__ #orimport ospath = os.path.abspath(module.__file__)..
System/Linux/메모리 보호기법 해제 - 1 # 환경 OS : ubuntu 14.0.4.5 LTS /# 커널 : 4.10.0-42 # 기본적인 /proc/sys/kernel/* 수정방법/etc/sysctl.conf에 커널 옵션 값들을 넣어 부팅할 때 수정되도록 하는것.sysctl 명령으로 수정./proc/sys/ 디렉토리 내 파일들을 편집기로 열어 수정.echo [값] > /proc/sys/kernel/@ 으로 표준 입력으로 파일에 직접 값을 넣어 변경# 적용 확인- sysctl -p 명령어를 통해서 확인할 수 있습니다. # ASLR - 확인은 cat/proc/self/maps 명령을 통해 자신의 스택 힙 라이브러리 등이 랜덤하게 바뀌는 것을 확인 할 수 있습니다.- ASLR을 해제하는 명령은 echo 0 > /proc/sys/kernel/rand..
C/Symbolic Execution/KLEE Tutorials 1-2 Anaylsis # 대상 파일 : ~/klee_src/examples/get_sign/get_sign.c 기호실행을 할 수 있게 해주는 가상 엔진입니다.소스코드와 함께 헤더파일이 전처리되어 소스를 감싼 후 기호 실행할 변수를 지정하는 klee_make_symbolic() 함수를 이용해 기호실행을 합니다.klee_make_symbolic()은 소스 내의 지정할 변수의 주소값, 기호로 다룰 크기, 그 변수를 부를 이름 이렇게 3가지를 인자값으로 사용합니다. - Bllvm 바이너리 생성하는 방법clang -I [전처리할 헤더 위치] -emit-llvm -c -g [소스 위치]-I는 컴파일러가 klee/klee.h 파일을 찾을 수 있게 하는 옵션이고,-g는 디버그 정보를 바이트 코드에 포함시키는 옵셥입니다.최적화를 시키려면 -..
System/Paper/AEG : Automatic Exploit Generation Averinos 한글패치 by hyeonbell 보호되어 있는 글입니다.
Android/Fiddler를 이용한 프록시 구성 - 총 세가지 측면의 설정으로 나눌 수 있습니다. 첫째는 프록시 서버 호스트가 될 PC, 둘째는 피들러, 셋째는 안드로이드 device입니다.- 피들러 설정과 device설정은 검색하면 많이 나오지만, host 설정에서 방화벽을 허용해주는 것은 언급하지 않아 많이 해맸습니다.- 피들러가 자동적으로 방화벽 승인 요청을 할 것 같았지만 하지않아 많이 돌아돌아 해결했던 문제입니다. # 피들러 설정- Tools > HTTPS 탭에서, Capture HTTPS CONNECTs 체크와 Decrypt HTTPS traffic 체크.- Tools > Connections 탭에서, Allow remote computers to connect 체크하고 listen port 기억 / 기본 8888 # Device 설정- W..
System/Linux/'/proc'가 가상 파일 시스템이라는 것의 확인 - 데이터가 저장되는 방식은 물리적으로 나눠보면 RAM아니면 하드디스크에 저장되는 방식이 있다. RAM은 휘발성의 성격을 가져 전기적으로 흐름이 끊겼을 시 데이터가 사라지게 된다. 반대로 비휘발성인 하드디스크에는 전기가 끊겨도 반영구적으로 데이터를 저장할 수 있다. 휘발성인 대신에 RAM이 속도가 더 빠르다는 장점으로 하드디스크에서 CPU로 데이터를 읽어 프로그램을 실행시키는 것보다 RAM에서 CPU로 매개하여 프로그램을 실행시키는 것이 더 빠르다. 프로그램이 실행될 때 RAM에 프로그램이 올라가게 되고, 리눅스 에서는 프로그램이 실행상태 일때 /proc 파일시스템의 형식으로 메모리에 올라가게 된다. 파일 형식이라서, 혹시나 하드디스크에 저장되는 것은 아닐까 생각해 보았고 결정적으로 메모리에 올라가는 것..

반응형