[리눅스] 특정 포트로 설정된 nfs 마운트 하기
·
IT기술 관련/리눅스
출처: http://unix.stackexchange.com/questions/122676/how-to-mount-an-remote-filesystem-with-specifying-a-port-numberhttp://devanix.tistory.com/257 방법1)sshfs -p 42224 -C user@server:/ ~/sshfs/ 방법2) sudo mount -o port=1122 -t nfs 11.11.11.111:/some_directory /mnt/test/ NFS를 사용하여 원격 디렉토리 공유 설치 : sudo apt-get install nfs-kernel-server ▶ exportfs : 모든 공유서버에서 해당 디렉토리 보여줌.$ sudo /usr/sbin/exportfs -v/exp..
리눅스 종류 확인, 리눅스 버전 확인
·
IT기술 관련/리눅스
출처:http://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EC%A2%85%EB%A5%98_%ED%99%95%EC%9D%B8,_%EB%A6%AC%EB%88%85%EC%8A%A4_%EB%B2%84%EC%A0%84_%ED%99%95%EC%9D%B8 ;리눅스 종류 확인하기 ;리눅스 버전 확인하기 ;리눅스 배포판 확인하기 ==개요== *어떤 리눅스를 사용하고 있는가? *리눅스 배포판의 이름과 버전, 리눅스 커널 버전을 모두 답하는 것이 가장 정확하다.리눅스 서버관리 실무 바이블 3.0 p.89 *리눅스 배포판 목록: http://ko.wikipedia.org/wiki/리눅스_배포판 ==배포판 버전 확인== ===방법 1: /etc/*-release=== ;명령어 gre..
Metasploit에 exploits와 modules를 추가하는 방법
·
IT기술 관련/리눅스
출처: http://c8korea.blogspot.kr/2013/04/metasploit-exploits-modules.html 종종 꽤 쓸한만 exploit 소스코드와 모듈 발견 시 어케 사용할까 하는 사람들이 있을 것이다. 아래 링크에 아주 졸라 상세하게 나와 있으니 참조 바란다. 주의 빽트랙 버전, Metasploit 버전마다 추가 방법이 틀리니 구글링해서 맞는 방법을 찾아야한다. 본좌의 버전 현재 metasploit 버전과 exploit 가 몇개 있고, auxiliary가 몇개 있는지 확인 할려면 아래와 같이 명령을 날린다. msf > banner # cowsay++ ____________ ------------ \ ,__, \ (oo)____ (__) )\ ||--||..
Metasploit 커스텀 마이징
·
IT기술 관련/리눅스
출처: http://nopsled.tistory.com/41 Metasploit을 커스텀 마이징을 하는 방법은 대략 세 가지로 나눌 수 있습니다. 1. exploit-db.com에서 구하는 방법 2. https://github.com/rapid7/metasploit-framework에서 구하는 방법 3. 자신이 직접 exploit code를 만들어 업데이트 시키는 방법 저는 github에 올라와 있는 wireshark_mpeg_overflow를 Metasploit에 추가하려 합니다. exploit code는 BTR5 R3 기준으로 /opt/metasploit/msf3/modules/exploits/에 있습니다. exploit code를 분류하여 mv해주시면 됩니다. 예를 들자면, windows에 관련된 ..
linux 환경에서의 메모리 보호기법을 알아보자(4)
·
IT기술 관련/리눅스
출처: https://bpsecblog.wordpress.com/2016/06/10/memory_protect_linux_4/ 이번 편은 linux 환경에서의 메모리 보호 기법 알아보기의 마지막 편입니다!!3편에서 살펴봤던 PIC(Position Independent Code)는 공유 라이브러리에서 이용되지만 이번 편에서 살펴볼 PIE(Position Independent Executable)를 이용하면 실행 파일도 위치 독립적으로 생성할 수 있습니다. PIE에 대해 자세히 알아보겠습니다.* 실습환경 Ubuntu 15.10 32bits1. PIE(Position Independent Executable) 만들기PIE(Position Independent Executable)이란, 전체가 위치 독립 코드로..
linux 환경에서의 메모리 보호기법을 알아보자(3)
·
IT기술 관련/리눅스
출처: https://bpsecblog.wordpress.com/2016/05/25/memory_protect_linux_3/ 이번 편에서는 다음 편에서 다룰 PIE라는 개념을 위해 먼저 PIC에 대해 알아보도록 하겠습니다! 배경 지식들과 함께 알아봅시다.* 실습 환경 Ubuntu 15.10 32bits정적 라이브러리와 공유 라이브러리1) 정적 라이브러리정적 라이브러리(Static Library)는 여러 프로그램에서 사용되는 함수를 포함하는 오브젝트 파일들을 ar명령을 이용하여 하나의 아카이브 파일(.a)로 모아놓은 것입니다.정적 라이브러리를 만드는 과정을 통해 라이브러리 내의 함수를 어떻게 다른 실행 파일에서 호출할 수 있는 지 알아보겠습니다.$ vi my.c // myFunc이라는 함수를 my.c 파..
linux 환경에서의 메모리 보호기법을 알아보자(2)
·
IT기술 관련/리눅스
출처: https://bpsecblog.wordpress.com/2016/05/18/memory_protect_linux_2/ 이번 편에서는 RELRO에 대해 알아보겠습니다!! RELRO 설명에 앞서 필요한 개념들을 하나씩 알아봅시다.Lazy Binding이란?Dynamic Linking 방식으로 컴파일이 된 ELF 바이너리는 공유 라이브러리 내에 위치한 함수의 주소를 동적으로 알아오기 위해 GOT(Global Offset Table) 테이블을 이용합니다.Dynamic Link 방식은 공유 라이브러리를 하나의 메모리 공간에 매핑하고 여러 프로그램에서 공유하여 사용하는 방식입니다. 실행파일 내에 라이브러리 코드를 포함하지 않으므로 PLT와 GOT를 사용하게 되는 이유이기도 합니다. PLT와 GOT를 이용하..
linux 환경에서의 메모리 보호기법을 알아보자(1)
·
IT기술 관련/리눅스
출처: https://bpsecblog.wordpress.com/2016/05/16/memory_protect_linux_1/ 지금부터 Linux 환경에서의 메모리 보호 기법에 대해 알아봅시다!이번 편에서는 ASLR, NX, ASCII-Armor, Stack canary에 대해 알아보겠습니다.위키를 통해 “메모리 보호”라는 말의 정의를 알아보고 넘어갑시다.실습 환경: CentOS 6.7 (32bit)ASLR : Address Space Layout Randomization먼저 ASLR에 대해 알아보겠습니다.ASLR이란, 메모리상의 공격을 어렵게 하기 위해 스택이나 힙, 라이브러리 등의 주소를 랜덤으로 프로세스 주소 공간에 배치함으로써 실행할 때 마다 데이터의 주소가 바뀌게 하는 기법입니다. 말로만 설명하..
쉘코드 뒤에 여유 공간이 필요한 경우 by ORANG
·
IT기술 관련/리눅스
출처: http://orang.tistory.com/category/System%20Hacking/%EC%8B%9C%EC%8A%A4%ED%85%9C%20%ED%95%B4%ED%82%B9%20%EA%B3%B5%EB%B6%80 FTZ나 LOB같은 문제 풀이를 하다보면..[nop]... + [셸코드] + [SFP] + [RET] 는 세그먼트 오류가 나고,[셸코드] + [nop]... + [SFP] + [RET] 는 공격에 성공하는 경우 를 발견할 수 있습니다. 1번째 방법은 안되고, 2번째 방법은 되는 차이를 간단하게 보자면..1번째 방법의 문제를 간단한 메모리로 보겠습니다. RET에 함수 주소가 들어오기 전 스택입니다.이상태에서 leave와 ret 명령어가 실행되는 상황을 통해 보겠습니다. leave 명령어..
gdb 자주 쓰이는 명령어들 정리
·
IT기술 관련/리눅스
출처: http://huammmm1.tistory.com/494http://cr3denza.blogspot.kr/2014/12/gdb-gnu-project-debuger-command.html GDB (The GNU Project Debugger) GDB는 컴퓨터 프로그램의 실행을 추적하고 수정할 수 있는 많은 기능들을 제공한다. 사용자는 프로그램의 내부 변수들의 값을 주시하거나 변경할 수 있으며, 프로그램의 일반적인 실행 과정과 독립적으로 함수를 호출할 수도 있다. 시스템 해킹에서 gdb를 사용할 경우 분석해야 하는 바이너리는 디버깅을 위해 컴파일 된 바이너리가 아니기 때문에 변수 이름이나 메인 함수 같은 디버깅을 위한 심볼이 없는 경우가 많다. 그렇기 때문에 심볼이 있어야만 사용 가능한 명령어들은 제..