본문 바로가기

보안

모의해킹 면접준비 (by gpt)

1. 기본 보안 개념 및 원리

  • OSI 7계층을 설명하고, 각 계층의 보안 취약점에 대해 설명해보세요.
    1. 물리 계층: 데이터가 전기 신호로 변환되어 전송되는 계층. 보안 취약점은 물리적인 장비 공격(예: 케이블 절단).
    2. 데이터 링크 계층: 노드 간 데이터 전송을 담당. 취약점으로는 MAC 스푸핑이나 스위치 재밍이 있습니다.
    3. 네트워크 계층: 패킷의 라우팅을 담당. IP 스푸핑이나 DDoS 공격이 가능합니다.
    4. 전송 계층: TCP/UDP 프로토콜을 사용한 데이터 전송. 취약점은 TCP 세션 하이재킹, 포트 스캔 등이 있습니다.
    5. 세션 계층: 세션 관리. 세션 탈취 공격이 가능합니다.
    6. 표현 계층: 데이터 형식, 암호화. 암호화 취약점, 코드 인젝션 문제가 있을 수 있습니다.
    7. 응용 계층: 최종 사용자가 상호작용하는 계층. XSS, SQL Injection과 같은 취약점이 발생할 수 있습니다.
  • TCP/IP 핸드셰이크 과정은 어떻게 이루어지며, 이 과정에서 발생할 수 있는 공격은 무엇인가요?
    1. SYN: 클라이언트가 서버로 SYN 패킷을 보내 연결을 요청합니다.
    2. SYN-ACK: 서버가 요청을 받아들여 SYN-ACK 패킷을 클라이언트에 보냅니다.
    3. ACK: 클라이언트가 ACK 패킷을 보내고, 연결이 확립됩니다.
    공격으로는 SYN Flood가 있으며, 클라이언트가 ACK 패킷을 보내지 않아 서버 리소스를 과도하게 사용하게 만듭니다.
  • VPN과 방화벽의 차이점은 무엇인가요?
    • VPN: 공용 네트워크를 통해 프라이빗 네트워크에 안전하게 연결하는 방식입니다. 암호화를 통해 데이터를 보호합니다.
    • 방화벽: 네트워크 트래픽을 모니터링하고 특정 규칙에 따라 허용 또는 차단하는 장치입니다. 주로 네트워크 경계를 보호하는 역할을 합니다.
  • 해시 함수의 주요 역할과 해시 충돌에 대해 설명해보세요.
    • 해시 함수는 입력 데이터를 고정된 크기의 해시 값으로 변환합니다. 주로 데이터 무결성 검증에 사용됩니다.
    • 해시 충돌은 서로 다른 입력이 동일한 해시 값을 생성하는 경우를 말합니다. 공격자는 이를 이용해 위조된 데이터를 무결성 검사에서 통과시킬 수 있습니다.

2. 네트워크 보안 및 공격 기법

  • MITM(Man-in-the-Middle) 공격이 무엇인지 설명하고, 이를 방어하는 방법은 무엇인가요?
    • MITM 공격은 공격자가 클라이언트와 서버 간의 통신을 가로채고 조작하는 공격입니다. 이를 방어하려면 TLS/SSL 암호화를 사용하고, 인증서 검증을 철저히 해야 합니다.
  • DoS와 DDoS 공격의 차이점은 무엇이며, 방어 방법은 어떤 것이 있나요?
    • DoS는 단일 공격자가 특정 시스템을 과부하 시켜 정상적인 서비스 제공을 방해하는 공격입니다.
    • DDoS는 여러 대의 기기를 이용해 동시다발적으로 공격을 실행하는 방식입니다.
    • 방어 방법으로는 CDN, 방화벽 규칙, Anti-DDoS 솔루션이 있습니다.
  • 패킷 스니핑(Packet Sniffing)과 패킷 인젝션(Packet Injection)의 차이를 설명해주세요.
    • 패킷 스니핑: 네트워크 트래픽을 도청하여 패킷을 가로채는 공격입니다.
    • 패킷 인젝션: 네트워크에 악성 패킷을 삽입하여 시스템 동작을 조작하는 방식입니다. 주로 취약한 네트워크에서 사용됩니다.
  • 포트 스캐닝의 유형과 각 유형에서 얻을 수 있는 정보는 무엇인가요?
    1. TCP Connect Scan: 모든 포트에 대해 완전한 연결을 시도하여 열린 포트를 확인합니다.
    2. SYN Scan: TCP 핸드셰이크의 SYN 패킷만 보내고 응답을 확인하여 열린 포트를 감지합니다.
    3. UDP Scan: UDP 프로토콜을 사용하는 포트를 탐지합니다.
    4. Xmas Scan: 특정 플래그가 설정된 패킷을 보내 포트 상태를 확인하는 기법입니다.

3. 취약점 분석 및 탐지

  • SQL 인젝션(SQL Injection) 공격이 어떻게 작동하는지 설명하고, 이를 방어하는 방법은 무엇인가요?
    • SQL Injection은 사용자의 입력을 검증하지 않고 SQL 쿼리에 삽입하는 공격입니다. 공격자는 이를 통해 데이터베이스를 조작하거나 데이터를 탈취할 수 있습니다.
    • 방어 방법은 입력값 검증, Prepared Statements를 사용하여 SQL 쿼리와 입력값을 분리하는 것입니다.
  • XSS(Cross-Site Scripting)와 CSRF(Cross-Site Request Forgery)의 차이점과 방어 방법은 무엇인가요?
    • XSS는 악성 스크립트를 웹 페이지에 삽입하여 다른 사용자의 브라우저에서 실행하는 공격입니다. 방어 방법은 입력값 필터링출력 시 인코딩을 하는 것입니다.
    • CSRF는 인증된 사용자가 의도치 않은 요청을 서버로 보내도록 유도하는 공격입니다. 방어 방법은 CSRF 토큰을 사용하여 요청이 유효한지 확인하는 것입니다.
  • 취약한 웹 애플리케이션을 식별하기 위한 도구나 방법에는 어떤 것들이 있나요?
    • OWASP ZAP, Burp Suite, Nessus와 같은 도구를 사용해 웹 애플리케이션의 취약점을 분석할 수 있습니다.
    • 수동으로는 소스 코드 리뷰, 로그 분석 등을 통해 취약점을 찾을 수 있습니다.
  • 버퍼 오버플로(Buffer Overflow) 공격이 어떻게 이루어지며, 이를 예방하는 방법은 무엇인가요?
    • 버퍼 오버플로는 프로그램이 버퍼의 크기를 초과하는 데이터를 입력받아 메모리 영역을 침범하는 공격입니다. 이를 통해 공격자는 임의 코드를 실행할 수 있습니다.
    • 예방 방법은 입력값 검증, 스택 가드 사용, ASLR(Address Space Layout Randomization) 적용입니다.

4. 도구 및 기술 활용

  • nmap을 사용하여 네트워크의 개방된 포트를 스캔하고 결과를 분석하는 방법을 설명해주세요.
    • nmap -sS <IP> 명령어로 SYN 스캔을 수행하여 대상 호스트의 열린 포트를 확인합니다.
    • 스캔 결과에서 서비스 및 버전을 확인하고, 취약한 서비스가 실행 중인지 분석할 수 있습니다.
  • Metasploit을 사용하여 취약한 시스템에 대한 공격을 실행하는 과정을 설명해보세요.
    1. nmap으로 대상 시스템의 포트와 서비스 스캔.
    2. Metasploit에서 use exploit/multi/handler를 사용해 공격 모듈 선택.
    3. 취약점을 찾고, 이를 통해 대상 시스템에 쉘을 획득합니다.
    4. set payload 및 exploit 명령으로 공격을 실행.
  • Wireshark를 사용하여 네트워크 트래픽을 분석하는 과정에서 주요 패턴을 찾는 방법을 설명해주세요.
    • 특정 IP, 포트, 프로토콜 등을 기준으로 필터링하여 트래픽을 분석합니다.
    • 비정상적인 패킷 재전송, 패킷 크기 변화, 특정 패킷의 반복 등 이상 패턴을 찾아내는 것이 중요합니다.
  • Burp Suite를 사용한 웹 애플리케이션 테스트 절차를 설명해보세요.
    1. 프록시 설정을 통해 클라이언트와 서버 간 트래픽을 가로챕니다.
    2. Scanner를 사용하여 자동으로 취약점을 탐지합니다.
    3. Repeater를 사용해 수동으로 요청을 수정하여 테스트합니다.
    4. Intruder를 사용해 브루트포스 공격이나 파라미터 변조를 시도합니다.

5. 침투 테스트 실무

  • 모의해킹을 시작하기 전에 어떤 정보 수집 과정을 거치나요?
    1. 수동적 정보 수집: Google hacking, WHOIS 조회, 도메인/IP 정보 수집.
    2. 능동적 정보 수집: nmap, Nessus 등을 사용하여 포트 스캔, 서비스 탐지.
  • 블랙박스(Black Box), 화이트박스(White Box), 그레이박스(Gray Box) 모의해킹의 차이점은 무엇인가요?
    • 블랙박스: 외부 공격자 시점으로, 내부 정보 없이 공격을 시도.
    • 화이트박스: 내부 개발자 시점으로, 시스템의 모든 정보에 접근 가능.
    • 그레이박스: 일부 정보만 제공받고 제한된 범위 내에서 테스트.
  • 실제 모의해킹을 수행하면서 직면한 가장 어려운 문제는 무엇이었고, 어떻게 해결했나요?
    • 예를 들어, 방화벽이나 WAF에 의해 차단된 상황에서, 우회 기법으로는 Payload Encoding 또는 DNS 터널링을 활용할 수 있습니다.
  • OWASP Top 10 취약점 중 몇 가지를 설명하고, 이와 관련된 실제 해킹 사례를 말해보세요.
    1. Injection: SQL, OS 명령어, LDAP 등 다양한 인젝션 공격이 포함됩니다. 예: SQL Injection을 통해 데이터베이스 탈취.
    2. Broken Authentication: 약한 인증 메커니즘을 이용한 계정 탈취. 예: 비밀번호를 평문으로 전송하는 웹사이트.
    3. Sensitive Data Exposure: 암호화되지 않은 민감한 데이터가 노출되는 취약점. 예: HTTPS 미사용 웹사이트에서의 데이터 도청.

9. 기타 실무 지식

  • 서버에서 웹쉘을 설치하는 과정을 설명하고, 이를 탐지하지 못하게 할 방법은 무엇인가요?
    1. 웹 애플리케이션 취약점을 통해 업로드.
    2. 웹쉘 코드를 난독화하거나, 기존의 정상 파일에 위장.
    3. 로그를 삭제하거나 타임스탬프를 조작하여 탐지를 피함.
  • 사회공학적 공격(Social Engineering Attack)의 유형과 방어 방법을 설명해주세요.
    • 피싱(Phishing), 스피어 피싱(Spear Phishing), 베이팅(Baiting) 등이 있습니다.
    • 방어 방법은 보안 인식 교육, 이메일 필터링, 2단계 인증이 효과적입니다.
  • 클라우드 환경에서의 모의해킹과 온프레미스 환경에서의 모의해킹의 차이점은 무엇인가요?
    • 클라우드 환경에서는 공유 책임 모델에 따라 클라우드 제공자가 인프라 보안을 관리하고, 사용자는 애플리케이션 및 데이터 보안에 집중해야 합니다.
    • 온프레미스 환경에서는 모든 보안 책임이 내부 팀에 있으며, 네트워크 및 물리적 보안까지 모두 관리해야 합니다.

'보안' 카테고리의 다른 글

해킹 시나리오 #1 (메타스플로잇)  (1) 2024.10.12
해킹이론 요약  (2) 2024.10.08