현재 선택한 정보보안 과정

정보보안기사 필기 이론 학습

이론 목록으로 돌아가기

원격접속 공격과 Trojan·Exploit

원격 침입 경로와 취약점·악용 코드·백도어의 차이를 이해합니다.

예상 읽기 6

원격접속 자체는 정상 관리 기능이다. 원격 경로가 취약점, 탈취된 자격증명, 악성 프로그램에 의해 비인가 목적으로 사용되는 조건을 구분한다.

1. Local Attack과 Remote Attack은 시작 조건을 구분하는 말이다

Local Attack

Local Attack은 공격 코드나 명령이 공격 대상 시스템 내부에서 실행되며, 이미 로그인·프로세스 실행·파일 배치 같은 로컬 실행 조건이 필요한 공격이다. 대표적으로 일반 사용자 권한을 관리자 권한으로 높이는 Local Privilege Escalation이 있다.

Remote Attack

Remote Attack은 네트워크를 통해 대상의 서비스·응용·관리 경로를 악용하는 공격이다. 취약점에 따라 인증 없이 성립하거나 인증된 계정이 필요할 수도 있으므로, 원격 공격을 무조건 비인증 공격으로 한정하지 않는다.

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
외부의 공격자
  → 인터넷에 노출된 서비스의 취약점 악용
  → 서비스 프로세스 권한으로 코드 실행
  → 내부에서 Local Privilege Escalation 시도

따라서 Remote Attack과 Local Attack은 배타적인 결과가 아니다. 원격 공격으로 최초 거점을 얻은 뒤 로컬 공격이 연속될 수 있다. 또한 공격자가 다른 도시나 국가에 있다고 해서 모든 행위가 Remote Exploit인 것도 아니다. 이미 훔친 VPN 계정으로 정상 로그인 형식의 세션을 만든 경우는 원격 침입이지만 취약점을 악용한 Exploit과는 다르다.

2. 원격 침입의 대표 경로

  1. 도난 자격증명으로 VPN·SSH·RDP 등 정상 원격 서비스를 악용한다.
  2. 외부 노출 서비스의 취약점을 이용해 인증 우회·원격 코드 실행 등을 시도한다.
  3. 사용자가 실행한 Trojan·RAT·Backdoor가 외부 명령 채널을 만든다.
  4. 승인된 원격지원 도구가 탈취 계정·잘못된 설정으로 악용될 수 있다.

도구 이름보다 인증 기록, Process, 외부 연결, 새 Service·Task·계정 등 주변 증거를 함께 본다.

3. Vulnerability·Exploit·Payload·Trojan·Backdoor를 구분한다

용어의미판단할 핵심
Vulnerability(취약점)위협이 악용하거나 우발적으로 촉발할 수 있는 설계·구현·설정·통제의 약점약점이 존재해도 실제 공격 성공·침해 증거와 동일하지 않음
Exploit취약점을 촉발하여 의도하지 않은 동작을 일으키는 입력·절차·코드어떤 취약점·전제조건·결과를 노리는가
PayloadExploit 성공 또는 사용자 실행 뒤 수행되는 실제 동작Shell 실행, 계정 생성, 정보 수집, DoS 등 결과는 다양함
Trojan Horse정상·유용해 보이는 외형 뒤에 숨겨진 악성 기능이 있는 프로그램기만적 전달·실행과 숨겨진 기능이 핵심
RAT장치를 원격에서 대화형 또는 자동으로 제어하는 기능·도구악성 Trojan일 수도, 정상 도구의 비인가 사용일 수도 있음
Backdoor정상 인증·접근 절차를 우회하거나 숨겨진 방식으로 다시 들어오는 경로지속적 재접근 수단인지 확인
C2(Command and Control)침해된 장치와 원격 운영 주체 사이의 명령·결과 통신누가 연결을 시작하고 어떤 외부 목적지와 장기간 통신하는가
Persistence재부팅·로그아웃·일시 차단 뒤에도 접근을 유지하는 장치Service, Scheduled Task, Startup, Account·Key 추가 등

이 용어들은 한 사건 안에서 이어질 수 있지만 서로 동의어가 아니다.

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
취약점이 존재한다.
  → Exploit이 취약점을 촉발한다.
  → Payload가 서비스 권한으로 실행된다.
  → RAT 또는 정상 RMM이 C2 채널을 만든다.
  → Backdoor·계정·Service가 지속성을 만든다.

반대로 사용자가 Trojan을 직접 실행한 사건에는 공개 서비스 Exploit이 전혀 없을 수 있다. 도난 계정으로 SSH에 접속한 사건에도 취약점이 없을 수 있다.

4. Trojan은 자기 복제보다 ‘기만과 숨겨진 기능’이 핵심이다

Trojan은 Virus나 Worm처럼 스스로 복제해야 성립하는 분류가 아니다. 정상적인 기능을 일부 제공할 수도 있으며, 사용자가 허용한 권한을 악성 기능이 이용할 수 있다.

대표적인 실행 경로

  • 정상 프로그램처럼 보이는 설치 파일을 사용자가 실행
  • 문서·Archive·Shortcut이 추가 실행을 유도
  • 정상 업데이트처럼 가장한 파일이 실행
  • 이미 침해된 서비스가 추가 Payload로 저장·실행
  • 공급망·배포 계정이 침해되어 정상 배포 경로에 악성 기능 삽입

이론의 목적은 파일을 만드는 방법이 아니라 기만된 실행 뒤 어떤 행위가 정상 범위를 벗어나는지 판정하는 것이다.

Inbound Listener와 Outbound Reverse Connection

원격 제어 채널은 큰 틀에서 두 방향으로 생각할 수 있다.

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
Inbound Listener
외부 운영자 → 감염 장치가 열어 둔 수신 포트

Outbound Reverse Connection
감염 장치 → 외부 C2 또는 Remote Access Service로 먼저 연결

Inbound Listener는 새 Listening Port, Firewall 변경, NAT 경로 등이 필요할 수 있다. Outbound 방식은 일반 웹 트래픽처럼 외부로 나가는 연결에 섞일 수 있어 인바운드 포트 차단만 하면 된다는 방어가 충분하지 않다. 그렇다고 모든 장기 Outbound TLS 연결을 악성으로 단정해서도 안 된다. Cloud Agent, Update, Backup, RMM도 비슷한 통신을 만들 수 있으므로 Process·Destination·승인 상태·행위 연계를 확인한다.

Backdoor와 RAT를 구분한다

  • RAT는 원격 제어 기능에 초점을 둔 도구 또는 악성코드다.
  • Backdoor는 정상 접근 절차를 우회하는 숨겨진 재진입 경로다.
  • 하나의 RAT가 Service·계정·Autorun을 설치해 Backdoor처럼 동작할 수 있다.
  • 취약점이 제거되어도 별도 Backdoor가 남으면 공격자는 다시 접속할 수 있다.

따라서 Patch 적용만으로 이미 침해된 시스템의 재접속 수단이 자동 제거된다고 보면 안 된다.

5. 원격 침입의 징후와 대응

주요 징후는 비정상 시간·지역의 Login, 반복 인증 실패 뒤 성공, 새 Process·Service·Scheduled Task, 비정상 Parent/Child Process, 지속적인 외부 연결, 권한 상승과 보안 기능 변경 등이다.

대응은 의심 Session과 Host를 격리하고 계정·Token·Key를 폐기한 뒤, 취약점과 설정을 수정하고 Persistence를 제거하며 동일 Indicator가 다른 Host에 있는지 확인한다. 단순히 Network Channel만 차단하면 재진입 수단이 남을 수 있다.

스스로 확인하기

개념 확인 문제

문제를 누르면 바로 아래에서 정답과 해설을 확인할 수 있습니다.

01Trojan은 반드시 스스로 복제하는가?
정답 및 해설

아니다. 정상·유용해 보이는 외형 뒤에 숨겨진 악성 기능이 있다는 점이 핵심이며 자기 복제가 필수 조건은 아니다.

02취약점 패치를 적용하면 이미 설치된 백도어도 자동 제거되는가?
정답 및 해설

아니다. 취약점 수정과 침해 후 재접근 수단 제거는 별도 작업이다. 남아 있는 계정·키·서비스 등을 확인해야 한다.