주어진 Linux 시스템에서 비정상 트래픽이 유발되었다는 신고가 접수되었다. 시스템을 분석하여 root 권한을 획득한 일반 계정명 및 분석 과정을 답안란에 기술하시오.
nano /etc/passwd주어진 Linux 시스템에 누군가 허가 없이 4000~5000번 사이의 TCP 포트번호를 열어 LISTEN 하고 있다. 해당 포트 번호를 찾고 분석과정을 답안란에 기술하시오.
netstat -tulpn
- 4000~5000번 사이의 포트를 사용하고 있다고 하기 때문에 4444번 포트가 LISTEN 중인 것을 확인 할 수 있다.netstat –ant | grep LISTEN
- 4000~5000번 사이 포트 확인주어진 LINUX 시스템이 다운되어 재부팅한 후 “var/log/secure” 로그 확인 결과, 공격당한 것을 확인하였다. 로그를 확인하여, “공격 IP 주소” 및 “분석과정”을 답안란에 기술하시오.
cat /var/log/secure | more
→ Failed password for root from XXX.XXX.XXX.XXX ip 확인주어진 LINUX 시스템의 FTP 서비스가 ANONYMOUS 접근을 허용하고 있어, 불법적인 파일 업로드나 주요 정보 유출 등의 예상치 못한 불법적인 접근으로 인하여 시스템 침해의 위험이 존재한다. FTP 서비스의 ANONYMOUS 접근을 제한하는 과정을 답안에 기술하시오.
nano /etc/vsftpd/vsftpd.conf
→ anonymous_enable = YES주어진 LINUX 시스템의 SSHD에 대한 보안설정을 하려고 한다. 파일(/etc/ssh/sshd_config)를 이용하여 포트번호를 “222”로 변경하는 과정을 답안란에 기술하시오
nano /etc/ssh/sshd_config
→ 13번째 줄 #port 22| 옵션 | 기본값 / 예시 | 설명 | 보안 권장 설정 |
|---|---|---|---|
| Port | Port 22 |
SSH 접속 포트 번호 | 22 → 다른 포트(예: 2222) |
| PermitRootLogin | yes |
root 계정 SSH 로그인 허용 여부 | no (또는 prohibit-password) |
| PasswordAuthentication | yes |
비밀번호 인증 허용 여부 | no (키 인증만 사용) |
| PubkeyAuthentication | yes |
공개키 인증 허용 여부 | yes |
| PermitEmptyPasswords | no |
비밀번호 없는 계정 로그인 허용 여부 | no |
| ChallengeResponseAuthentication | no |
챌린지-응답 인증 허용 여부 | no |
| AllowUsers | AllowUsers user1 user2 |
SSH 접속 허용 사용자 지정 | 필요 시 특정 사용자만 허용 |
| DenyUsers | DenyUsers hacker |
SSH 접속 차단 사용자 지정 | 악성/불필요 계정 차단 |
| AllowGroups | AllowGroups sshusers |
SSH 접속 허용 그룹 지정 | 필요 시 그룹 단위 제한 |
| ListenAddress | 0.0.0.0 |
sshd가 바인딩할 IP 지정 | 특정 IP만 지정 가능 |
| MaxAuthTries | 6 |
인증 실패 허용 횟수 | 3 정도로 제한 |
| LoginGraceTime | 120 (초) |
로그인 완료까지 대기 시간 | 30~60초 |
| X11Forwarding | yes |
GUI(X11) 포워딩 허용 여부 | no |
| Banner | none |
로그인 배너 표시 파일 경로 | /etc/issue.net 등 지정 |
현재 사용중인 서버는 메일 서버의 용도로 사용하고 있지는 않지만 Sendmail 서비스는 설치되어 있다. 어느날 갑자기 사용중인 네트워크가 느려진 것같고, 이곳저곳에서 Spam 메일 발송에 대한 항의가 들어오고 있다. 추적한 결과 192.168.212.xxx에서 접속하여 Spam 중계 용도로 사용중이다. 192.168.212.xxx가 Sendmail 설정을 통해 Sendmail 사용을 차단하는 설정과정을 답안란에 기술하시오.
nano /etc/mail/access
→ 192.168.212 RELAY 삭제주어진 시스템에 누군가 ICMP 프로토콜을 사용하여 공격을 시도하고 있는데 ICMP 프로토콜은 Dos, Port Scanning, Ping of Death등 많은 해킹 기법에 사용된다. 모든 ICMP 패킷에 대한 Echo를 무시하도록 설정하는 과정을 답안란에 기술하시오.
sysctl -a | grep icmp
sysctl -w net.ipv4.icmp_echo_ignore_all=1주어진 시스템에서 악의적 사용을 위해 SUID/SGID bit가 설정되어 있는 파일을 검사하여 검색된 파일 3개 및 분석 과정을 답안란에 기술하시오.
find / -type f -perm +6000 -ls
→ 위 명령어의 결과 권한이 -rwsr-xr-x, -rwxr-sr-x와 같은 형태의 파일을 찾는다.find / -type f -perm /6000 -ls
→ +6000 구식 방식, /6000 최신 방식주어진 Linux 시스템의 로그 확인 결과 아파치(Apache) 환경 파일이 변경되었음을 알게 되었다." /etc/httpd.conf"와 "/etc/httpd.conf.old"을 비교하여 변경된 줄 번호 및 분석 과정을 작성해라.
cmp /etc/httpd.conf /etc/httpd.conf.old -> ex) char 10954, line 297
diff /etc/httpd.conf /etc/httpd.conf.old(내용 확인)diff /etc/apache2.conf /etc/apache2.conf.bak주어진 Linux 시스템의 FTP 서버 접근 실패 시 접근을 차단하려고 한다. "/etc/ftpaccess"파일을 이용하여 '3'회 접근 실패 시 차단시키려는 설정과정을 작성해라.
nano /etc/ftpaccess -> loginfails 5 -> 3으로 수정
주어진 Linux 시스템의 root 계정에 대한 자동 로그아웃 시간을 "50초"로 설정하려고 한다. 설정과정을 작성해라.
nano /etc/profile -> 맨 아래 TMOUT=50 입력
TCP Wrapper는 Localhost로 들어오는 인터넷 서비스에 대한 요청(Request)을 관찰하고 필터링 할 수 있다. 주어진 Linux 시스템을 이용하여 SSH데몬(sshd)으로 접근하는 모든 호스트(Host)에 대해서만 요청을 허락하도록 “/etc/hosts.allow”와 “/etc/hosts.deny” 설정과정을 답안란에 기술하시오.
nano /etc/hosts.allow -> sshd:ALL
nano /etc/hosts.deny -> ALL:ALL
외부에서부터의 ICMP 프로토콜을 사용한 악의적인 공격으로부터 현재의 시스템을 보호하고자 한다. iptables를 사용하여 INPUT 패킷에 대한 모든 ICMP 패킷을 차단하는 설정과정을 작성해라.
iptables –A INPUT –p icmp –j DROP(엔터 후 iptables –L 설정 확인)
iptables –L(방화벽 설정 옵션) -> ICMP와 관련된 설정 보이지 않음
iptables –F(iptables의 모든 규칙을 삭제)
주어진 Linux 시스템의 계정에 대해 확인 결과, 암호화 강도가 낮아서 내부 사용자들에게 패스워드를 변경하도록 하였으나, 제대로 이행되지 않고 있어 강제적으로 패스워드를 변경하려고 한다.
"패스워드가 변경 된지 30일이 지나면 무조건 새 패스워드로 변경, 패스워드는 최소한 8글자 이상 사용"을 만족시키도록 설정하여라.
nano /etc/login.defs -> PASS_MAX_DAYS 30, PASS_MIN_LEN 8
주어진 Linux 시스템은 TFTP를 사용하지 않는다. 해커가 BackDoor를 사용하기 위해 임의로 도용한 "TFTP Port 번호" 및 "분석과정"을 답안란에 기술하시오.
nano /etc/services
→ tftp 포트번호 확인 (이전 시험 답: tftp 69번 --> 4444번으로 변경되어 있음)cat /etc/services | grep tftp
→ tftp 포트번호 확인
주어진 Linux 시스템은 Kerberos를 사용하지 않는다. 해커가 BackDoor를 사용하기 위해 임의로 도용한 "Kerberos Port 번호" 및 "분석과정"을 답안란에 기술하시오.
netstat -natp 명령어를 통해 의심이 되는 포트 번호에 서비스 중인 프로그램을 찾는다.ps -ef 의심되는 포트 번호를 찾았다면 명령어로 해당 서비스 파일을 찾을 수 있다.ps
:현재 실행 중인 프로세스의 목록을 보는 명령어nano /etc/services
→ krb524 포트번호 확인 (이전 시험 답: krb524 88번 --> 4444번으로 변경되어 있음)cat /etc/services | grep krb524
→ krb524 포트번호 확인
현 Linux 시스템은 모든 일반 계정에서 root 권한 변환이 가능하다. 특정 계정(secu10)만 root로 권한을 변경할 수 있도록 하는 설정 과정을 답안란에 기술하시오.
nano /etc/pam.d/su
→ 1) 사용자 uid를 기준으로 그룹을 제한해야 하는 경우usermod -G wheel secu10nano /etc/group
→ wheel:x:1003:root,master 뒤에 secu10 추가adduser secu10
groupadd wheel
grep wheel /etc/group
→ wheel:x:10:root,secu10 확인
주어진 시스템에는 인가되지 않은 리모트 백도어 서비스가 존재한다. 이를 찾아 정답란에 기술하시오.
cd /etc/xinetd.d
ls
→ xinetd 설치 시 기본 프로그램 외 프로그램 찾아내기sudo nano /etc/xinetd.d/의심되는 서비스 파일 → disable = yes 수정sudo systemctl restart xinetd → xinetd 서비스 재시작
주어진 시스템을 분석하여 인가되지 않은 백도어 포트를 찾아 넘버를 정답란에 기술하시오.
netstat -nat 명령어로 포트 상태를 확인해서 인가되지 않은 포트를 알아볼 수 있다.lsof | grep LISTEN 으로 열려 있는 파일 정보를 확인하여 열려 있는 포트를 확인할 수 있다..bash_history 파일에서 telnet localhost {port} 명령어를 찾아 포트를 찾는다.netstat [옵션]
:네트워크 연결 상태, 라우팅 테이블, 인터페이스 상태 등을 보여주는 명령어lsof
:list open files의 약자로 시스템에서 열려있는 파일에 대한 정보를 출력하는 명령어telnet [IP 또는 도메인] [포트]
:원격 호스트와 텍스트 기반으로 통신하기 위한 프로토콜과 도구
Apache를 사용하는 리눅스 웹서버에서 /home/competition 디렉토리는 웹으로 접속이 가능하며 경쟁 업체의 정보를 담고 있다. 사내에서만 사용하는 PC의 IP Address는 "192.168.123.112"에 한하여 접속되도록 하기 위한 설정 과정을 답안란에 기술하시오.
nano /etc/httpd/conf/httpd.conf현 Linux 시스템 로그인 시 아래와 같은 메세지가 출력 되도록 하는 설정 과정을 답안란에 기술하시오.
======================================
System Check : 2021. 07. 13
Admin Email : admin@woosuk.izerone.co.kr
Note : Please Check Your Mail Box
======================================
nano /etc/motd
현 Linux 시스템의 커널 버전을 확인하여 답안란에 기술하시오.
uname -r
→ 커널 버전과 릴리즈 넘버 출력uname -s
→ 운영체제 이름 출력uname -n
→ 호스트명 출력
주어진 Linux 서버가 현재 sniffing 서버로 운영되는 것 같다. Sniffing 서버로 운영되고 있다는 증거를 찾아낸 후, 정상 상태로 돌리기 위한 방법은 무엇인지 답안란에 기술하시오.
ifconfig
→ 네트워크 인터페이스의 설정 확인ifconfig eth0 -promisc
→ 혼잡모드 해제tcpdump
→ 네트워크 인터페이스 실시간 패킷 캡처
주어진 시스템을 분석하여 해킹에 사용된 파일들이 어디에 위치하는지 경로명을 정답란에 기술하시오.
find / -user nobody 2> /dev/null주어진 시스템을 분석하여 침입자가 권한 상승을 위해 사용한 파일을 찾아 경로명을 기술하시오.
/etc/service 파일에 계정에 대한 권한을 설정하려고 한다. 현 사용자에는 읽기와 쓰기 권한을, 현 사용자와 동일한 그룹 사용자에게는 쓰기 권한, 그 외의 사용자에게 쓰기 권한을 부여해라.
chmod
:change mode 파일이나 디렉토리의 권한을 변경하는 명령어FTP 서버에 익명(Anonymous) 권한으로 접근을 해서 Read 권한만 있어도 다른 유저의 설정을 모두 볼 수 있다. 주어진 Linux 시스템을 이용하여 FTP 서버에 익명으로 로그인 할 수 없게 설정하는 방법을 답안란에 기술하시오.
Apache + PHP + MySQL를 지원하는 Linux 시스템의 경우, 일반적으로 PHP로 MySQL DB에 접속하는 경우 PHP에서 연결하는 스크립트(Script)를 사용한다. 일반적으로 WEB 상에 공개된 소스에는 파일명이 대부분 “connect.inc”를 사용하는데 이 파일을 웹 브라우저에 불러오게 되면 바로 읽혀져서 MySQL DB 접속 아이디와 패스워드를 알 수 있게 된다. 이를 방지하는 방법을 “/etc/httpd.conf” 파일을 이용하여 답안란에 기술하시오.
/proc/sys 시스템에서 포트 포워딩을 설정하지 않게 하기 위해서는 “echo “값” > /proc/sys/파일-1/파일-2”와 같은 명령어를 사용하게 된다. 여기서 “값”에 들어가는 적절한 내용을 작성하시오.
(로그파일을 보여주며) 아파치 서버에서 발생한 로그이다. 검색 봇에 해당하는 IP 주소를 작성하라. 없으면 없다라고 작성하고 여러개면 콤마로 구분하라.
서버가 이상하게 느려져서 검토해본결과 본 서버가 스니핑에 사용되고 있다는 판단을 하게 되었다. 판단 근거를 찾아서 기술하고, 해결방법을 서술하시오.
/var/log/messages
:시스템의 표준 메시지 기록. 날짜 및 시간, 메시지가 발생한 호스트명, 메시지를 발생한 내부 시스템이나 응용프로그램의 이름, 발생된 메시지가 ‘:’로 구분되어 기록된다.
/var/log/secure
:인증 기반 접속 관련 기록. 인증과 관련된 로그가 기록된다. 주로 로그인, tcp_wrappers, xinetd 관련 로그가 쌓인다.
/var/log/lastlog
:사용자의 접속 기록. telnet이나 ssh를 통해 들어오는 사용자의 마지막 정보가 기록된다. 바이너리 파일로 기록되어 있어 바로 열람할 수 없다. lastlog 명령어로 확인 가능.
Null session의 취약점을 한 가지만 나열하고 그 취약점에 대한 해결방안을 정답란에 기술하시오.
Null Session
:윈도우 서버에서 IPC$라고 불리는 자유롭게 접근 가능한 네트워크 공유에 대한 익명 접속.
윈도우 스크립팅 호스트(WSH)로 인하여 발생할 수 있는 문제점을 한 가지만 나열하고 그 대응 방안을 정답란에 기술하시오.
윈도우 스크립트 호스트(Windows Script Host, WSH)
:윈도우 운영 체제의 가상화 기술이며 배치 파일에 견줄만하지만 더 다양한 기능을 지원하는 스크립팅 기능을 제공한다.
아파치 서버를 운영하는 웹 서버가 해킹을 당해 관리자로부터 아래 <웹 로그>를 받았다. <웹 로그>를 분석하여 어떤 공격인지 답안란에 기술하시오.
SQL Injection(/var/log/apache2/access.log)아래 <설명>을 보고 <네트워크 구성도>의 ‘A’에 해당하는 보안 솔루션(장비)의 명칭을 답안란에 입력하시오.
IPS(Intrusion Protection System | 침입방지시스템)
아래 <내용>이 설명하고 있는 암호화 알고리즘을 답안란에 입력하시오
RSA(알고리즘)
아래 <내용>이 설명하고 있는 침입탐지기법을 답안란에 입력하시오.
허니팟(Honey pot)
웹 상에서 스크립트(<, &, $, >)를 부적절하게 사용하여 악의적인 행동을 발생시키는 취약점에 대해 작성하시오.
XSS 취약점
해당 바이러스는 바이러스 발생 시 바이러스 이름에 대한 내용 혹은 파일이 많이 생기며, USB, 네트워크 파일, 공유 파일 등으로 인해 감염되는 바이러스이다. 해당 바이러스의 이름을 작성하시오.
웜바이러스
고든 라이온에서 만든 포트 스캔 툴로 자가 광고의 접근도 탐지할 수 있는 툴이다. (해당 툴의 사용 화면을 보여준 뒤) 해당 툴의 이름을 작성하시오.
NMAP 툴