/etc/(x)inetd.conf(인터넷 슈퍼데몬 서비스) 설정파일인 inetd.conf(xinetd.d) 파일에 대한 접근 권한을 제한하고 있는지에 대한 여부를 점검하며, inetd.conf(xinetd.d)의 접근권한이 과도하게 설정되어 있을 경우 비 인가자가 악의적인 프로그램을 등록하고 root 권한으로 서비스를 실행시켜, 기존 서비스에 영향을 줄 수 있다.
/etc/(x)inetd.conf 파일 소유자 및 권한 설정(취약한 설정)
xinetd.d 디렉토리의 퍼미션을 확인했을 때 과도하게 권한이 지정되어 있는 것을 확인했다.
동작 중인 서비스를 확인 시 finger 서비스가 동작중임을 확인했다.
xinetd.d 파일에서 finger 서비스 역시도 권한이 과도하게 설정되어 있어, 모든 사용자가 finger 서비스 설정 파일을 읽고, 수정하고, 실행이 가능한 상태이다.
finger 서비스가 참조하는 파일의 위치를 확인해, 이를 활용하기로 했다.
mbl4ck.c파일을 하나 만들었다.
.c로 확장자가 되어 있으니까, C언어로 제작된 파일이며, uid, gid 값을 0으로 지정하고(솔지히 필요없음), 현재 계정이 어떤 계정인지를 확인하고, mbl3ck라는 유저를 생성하고 root 그룹에 추가하고, 패스워드를 삭제 시켜줌으로써, 패스워드의 입력 없이 mbl3ck로 접근이 가능하도록 만들었다.
c로 제작한 파일은 바로 사용할 수가 없으며, 서비스 파일이 참조할 수 있는 파일을 만들 때 이름을 in.~~ 이런 식으로 지정을 한 이유는 의심을 최소화하기 위해서 명명했다.
gcc는 GNU Compiler Collection을 줄임말로, GNU 프로젝트의 일환으로 개발되어 널리 쓰이고 있는 컴파일러이다.
자유 소프트웨어 중에서 가장 잘 알려진 것들 중 하나이다.
원래는 C만 지원했었는데, C++, Java, Fortran Ada 등 여러 언어를 컴파일 할 수 있게 발전되었다.
관리자에 의해, 슈퍼데몬이 재시동 되는 것을 기다린 후 재시동됐다.
이때, finger 서비스를 사용해, 로컬에 Finger요청을 가게 해, /tmp/in.mbl4ck를 실행시켜, 현재 자신이 어떤 계정인지를 확인하고, 계정을 생성하고, 계정의 패스워드를 지움으로써 언제든지 접근이 가능하도록 변경했다.
이로써, root 권한을 획득한 것과 동일한 형태를 만들었고, Port를 열어 나중에 들어올 수 있는 backdoor를 생성 해 추후에도 접근이 가능하도록 만들 수 있을 것 같다.
/etc/(x)inetd.conf 파일 소유자 및 권한 실행(양호한 설정)
xinetd.d 디렉토리의 권한을 필요한 만큼만 지정하고, 소유권 역시 root로 설정해 함부로 해당 디렉토리에 접근하지 못하도록 해야 한다.
'리눅스 > 주요정보통신기반시설_UNIX' 카테고리의 다른 글
[파일 및 디렉토리 관리]2.8 CentOS 6.7 /etc/services 파일 소유자 및 권한 설정 (0) | 2019.03.26 |
---|---|
[파일 및 디렉토리 관리]2.7 CentOS 6.7 /etc/syslog.conf 파일 소유자 및 권한 설정 (0) | 2019.03.25 |
[파일 및 디렉토리 관리]2.5 CentOS 6.7 /etc/hosts 파일 소유자 및 권한 설정 (0) | 2019.03.19 |
[파일 및 디렉토리 관리]2.4 CentOS 6.7 /etc/shadow 파일 소유자 및 권한 설정 (0) | 2019.03.18 |
[파일 및 디렉토리 관리]2.3 CentOS 6.7 /etc/passwd 파일 소유자 및 권한 설정 (0) | 2019.03.18 |