본문 바로가기

개발

(326)
개발/해킹
버퍼오버플로우 - Stack buffer overflow : 스택영역에 할당된 버퍼에 크기를 초과하는 데이터를 기록하고 리턴어드레스를 변경하여 임의의 코드 실행 - Heap overflow : 힙 영역에 할당된 버퍼의 크기를 초과하는 데이터를 기록하여 저장된 데이터 및 함수의 주소를 변경해 임의의 코드를 실행 - 메모리 구조 Lower Memory Address Program Header Table TEXT Area Initialized DATA Area Uninitialized DATA Area Heap Area Stack Area High Memoty Address - 대응책 : 1. 운영체제 커널 패치 /etc/system에서 다음 2줄 추가(Solaris) set noexec_user_stack=1 set no.. 2012.02.05
개발/해킹
Race Condition - 원리 : 임시 파일을 만들어 쓰고 지우는 과정에서 쓰기 바로직전 경쟁 조건을 이용하여 원하는 파일을 삽입한다. - 대책 : o 임시 파일을 만들지 않는다. o unlink() 불가능하게 한다. o creat(), open()의 구분을 확실히 한다. o umask 값을 022로 한다. 2012.02.05
개발/해킹
whowatch 일반적으로 레드헷 계열의 리눅스에서는 w, who 명령어로 사용자들을 확인하고 점검할수 있다. 하지만 whowatch는 실시간으로 사용자들의 작업상황을 파악하고 확인할 수 있다. [02] 다운로드 및 설치 # mkdir /whowatch # cd /whowatch/ # wget http://wizard.ae.krakow.pl/~mike/download/whowatch-1.4.tar.gz # tar -zxvf whowatch-1.4.tar.gz # ls -F whowatch-1.4/ whowatch-1.4.tar.gz # cd whowatch-1.4/ # pwd /whowatch/whowatch-1.4 # ./configure; make gcc -g -O2 -Wall -I. -c -o process.o p.. 2012.02.05
개발/해킹
chkrootkit 을 이용한 루트킷 탐지법 # mkdir /chkrootkit /* 디렉토리 생성 */ # cd /chkrootkit/ /* 생성된 디렉토리로 이동 */ # wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz /* wget으로 다운로드 */ [1] chkrootkit 설치 # ls -al -rw-r--r-- 1 root root 39421 9월 8 14:15 chkrootkit.tar.gz # tar -zxvf chkrootkit.tar.gz /* 압푹 파일 풀기 */ # ls -alF drwxr-xr-x 2 1000 1000 4096 7월 30 23:26 chkrootkit-0.49/ -rw-r--r-- 1 root root 39421 9월 8 14:15 chkrootkit.. 2012.02.05
개발/서버
사용자 계정 관리 1. 계정의 이해 리눅스의 계정은 오피스텔의 임대에 비유 할수 있다. 루트권한, 로그인, 계정생성, 소유권, 퍼미션, 그레커, 열쇠글, 계정삭제 2. 계정생성 * 생성 : useradd [옵션] 계정명 (adduser 와 같음) * 변경 : usermod [옵션] 계정명 * 삭제 : userdel [옵션] 계정명 -> /etc/passwd 파일에 계정 정보 저장 (실습) # useradd kim (==adduser kim) # ls -l /home # useradd -c 010-1213-4567 hong # cat /etc/passwd | grep hong * assuser 옵션 hong:x:502:502:010-123-4567:/home/hong:/bin/bash 사용자계정:사용자비번:사용자UID:사용.. 2012.02.05
개발/해킹
TCP Syn Flooding 공격 대처방법 TCP Syn Flooding 공격 대처방법 Tcp Syn Flooding은 웹으로의 공격이 대부분이므로 syn_recv 프로세스가 일정 개수가 넘게 되면 아파치를 재시작한다. 지속적인 공격일 경우 대처 방안으로 두 가지 방법이 있다. 첫째, sysctl -a | grep syn_backlog으로 확인 후 backlog를 늘려주거나 둘째, sysctl -a | grep synCOOKIEs로 확인 후 synCOOKIEs의 값을 1로 바꾸어준다. syn_bac klog의 값을 조정해주는 방법은 다음과 같다. # sysctl -w net.ipv4.tcp_max_syn_backlog=1024 # echo 1024 > /proc/sys/net/ipv4/tcp_max_syn_backlog synCOOKIEs의 값은.. 2012.02.05