Linux 24

objdump을 통한 해부

바이너리 파일 해킹 시 사용되는 툴 리눅스는 아래의 a.c에서 만든 main()을 어떻게 실행시키는가. 요약 1. GCC는 crtbegin.o, crtend.o, gcrt1.o를 첨가형 프로그램을 컴파일한다. 이 때 다른 기본 라이브러리들도 동적으로 링크된다. 프로그램의 시작 주소는 _start의 주소로 설정된다. 2. 커널은 실행 파일을 읽어들여 /text/data/bss/stack을 생성한다. 이 때 매개변수와 환경변수를 위한 페이지를 할당하고 필요한 정보는 스택에 push 한다. 3. _start가 실행된다. _start는 스택에서 커널이 집어넣은 정보를 얻고 __libc_start_main을 위한 매개변수 스택을 만든 후 _start를 부른다. 4. __libc_start_main은 malloc과..

OS/Linux 2012.01.18

euid, uid

euid : 유효사용자 ID. 명령어 실행시 실제 어떤 사용자 권환으로 실행되는가. 커널은 프로세스마다 네가지 번호 부여. 실제uid(ruid), 유효uid(euid), 실제gid(rgid), 유효gid(egid) 실제(real) 번호들은 계정 관리를 위해 사용. 유효(Effective) 번호들은 접근 권한을 결정할 목적. 보통은 실제번호와 유효번호가 동일. 정상적이라면 프로세스는 자신에게 부여된 네가지 번호를 변경하지 못한다. 예외) 다른 프로그램 파일을 실행하고 싶은 프로세스는 exec 시스템 콜 가족 중의 하나를 호출. 이때 새로운 프로그램의 이미지를 담고 있는 파일의 setuid 나 setgid 허가 비트가 설정되어 있다면 프로그램의 euid와 egid는 실행되는 파일의 uid와 gid로 설정. ..

OS/Linux 2012.01.18

가상메모리기법

가상기억장치 기법 - Atlas 컴퓨터 시스템에서 처음 나타났다. - 두가지 구현 방법이 있다. 페이징 기법 - 블럭의 크기가 동일한 고정된 크기로 가상 기억장소를 구성 세그먼트 기법(Segmentation) - 블럭의 크기가 다른 가변적인 크기로 가상 기억장소를 구성 실행 프로세스가 참조하는 주소를 virtual address(가상주소)라 한다. 주기억장소에서 사용할수 있는 주소를 real address(실주소)라 한다.

OS/Linux 2011.08.18

find

find [경로][옵션] -name [파일이름] 파일이름과 일치하는 것 검색 -perm [권한] 권한과 일치하는 파일 검색 ex) find / -user level2 -perm -4000 4000의 의미는 -(최소한), 4(SetUID)가 걸린 000(모든 파일)을 의미. -user [유저] user와 일치 -group [그룹] group과 일치 -empty 비어있는 파일이나 디텍토리 검색 -size [±파일크기][bckw 택 1] 파일크기와 일치하는 것 검색 b : 블록단위 c: byte k : KByte w : 2byte 워드 단위가 없을 때 -> default로 b 파일크기에 + : ~이상 - : ~이하 부호 없을 때 -> 그 크기의 파일 -type [파일타입] b : 블록 특수 파일 (block ..

OS/Linux 2011.07.22

shadow file, passwd file for hackerschool level8

shadow file 전통적으로는 /etc/passwd 에 사용자 계정 정보를 보관. 하지만 이 파일은 수많은 도구들이 사용하게되므로 누구든지 읽을 수 있도록 되어있다. (예를 들어 파일의 소유자를 보여주기 위하여 사용자 번화와 사용자 이름을 매치한다.). 결국 이는 어느 정도 보안상의 위험을 야기한다. 또 하나의 방법은 shadow file을 이용. 이는 전통적인 방식(/etc/passwd)과 호환성 있는 형식으로 저장 된다. 패스워드는 실제로 /etc/passwd에 저장되지 않고 이 곳에는'x' 한 글자만을 넣어둔다. /etc/shadow에는 암호화된 패스워드와 그 외의 정보, 즉 패스워드 유효기간을 저장. /etc/shadow는 root 만이 읽을 수 있음. /etc/shadow 사용자의 패스워드가..

OS/Linux 2011.07.22
반응형