inode UFS와 같은 전통적인 유닉스 계통 파일 시스템에서 사용하는 자료 구조입니다. 파일 시스템 내에서 파일이나 디렉토리는 고유한 INODE를 가지고 있으며 inode 번호를 통해 구분이 가능합니다. 사용자가 파일 또는 파일과 관련된 정보에 엑세스 하려고 하면 파일 이름을 사용하지만, 내부적으로 파일 이름은 먼저 디렉토리 테이블에 저장된 inode 번호로 매핑됩니다. 다음으로는 해당 inode 번호를 통해 해당 inode에 액세스 됩니다. inode에 포함된 정보는 아래와 같습니다. -파일 모드(퍼미션), 링크수, 소유자명, 그룹명, 파일크기, 파일 주소, 마지막 접근 정보, 마지막 수정 정보, 아이노드 수정 정보 inode 포인터 구조를 통해 파일의 실제 데이터가 저장된 블록의 정보를 포함하여 파..
Backdoor 시스템 접근에 대한 사용자 인증 등 정상적인 절차를 거치지 않고 응용프로그램 또는 시스템에 접근할 수 있도록 하는 프로그램입니다. 해킹이 아닌 해킹 성공 후의 후속조치라고도 합니다. local backdoor 시스템에 로그인한 뒤에 관리자로 권한 상승을 시키기 위한 백도어입니다. 공격자는 실행하기 위한 일반 계정이 적어도 하나 필요합니다. 단순히 실행하면 관리자 권한으로 상승합니다. 전에 알아보았던 SUID로 만들 수 있습니다. remote backdoor(Port Bind) 원격에서 관리자로 계정과 패스워드를 입력하고 로그인한 것처럼 바로 시스템의 관리자 계정을 얻을 수 있는 백도어입니다. 네트워크에 자신의 포트를 항상 열어 놓은 경우가 많습니다. 일종의 서비스를 제공하는 데몬처럼 동작..
System function 유닉스 계열 서버에서 실제로 실행될 수 있는 명령어를 연속해서 전달하려면 " ; "을 이용하면 된다는 것입니다. " ; "은 셸에서 명령어를 한 줄에 연속해서 적을 때 이용할 수 있으며, 이는 system()함수에도 동일하게 적용됩니다. 1. system function은 비싸고, 리소스가 많이 들어가는 call입니다. 2. It's not portable. 범용성이 없습니다. system()안에 들어가는 인자는 유닉스 운영체제와 윈도우 운영체제가 혼용되어 사용하지 않기 때문입니다. 임시 권한 상승으로 인해 system() 함수에 직접 인자를 입력하는 경우 주의하여 사용하여야 합니다. echo 명령어를 사용하여 백도어 파일 생성이 충분히 가능하기 때문입니다. 이에 대한 실습은..
-목차- 1. SUID/SGID 2. STID 3. 실제사용자(Real User ID)와 유효 사용자(Effective User ID) 4. setreuid SUID/SGID 루트가 아닌 사용자들이 잠깐 루트의 사용권한을 써서 프로그램을 실행해야 할 필요가 있을때 주는 권한입니다. S*ID가 설정된 파일은 특정 명령어를 실행하여 root권한 획득 및 정상 서비스 장애를 발생시킬 수 있으며, 로컬 공격에 많이 이용되므로 보안상 철저한 관리가 필요합니다. SUID의 절대표기값은 4000입니다. 일반사용자가 소유자 권한으로 실행할 수 있도록 하며, 보안상 문제가 생길 확률이 높기 때문에 조심해서 사용하여야 합니다. SGID의 절대표기값은 2000입니다. 일반사용자가 소유 그룹의 권한을 실행할 수 있도록 합니다..