본문 바로가기
보안/용어

내부에서 연결을 건다 — Reverse Shell

by Blacksawsage 2025. 5. 23.

보안 사고가 발생했다는 뉴스를 볼 때, 종종 “해커가 외부에서 쉘을 따냈다”, “원격으로 시스템을 조작했다"라는 표현이 등장합니다. 이 과정에서 언급되는 대표적인 기법 중 하나가 바로 리버스 쉘(Reverse Shell) 입니다.

 


리버스 쉘(Reverse Shell) 이 무엇인가요?

보통 우리가 원격으로 다른 컴퓨터에 접속할 때는 '클라이언트 → 서버' 방향으로 연결을 요청합니다. 하지만 리버스 쉘(Revese Shell) 은 반대로 움직입니다. 이처럼 연결 흐름이 반대이기 때문에 ‘리버스(Reverse)’라는 용어가 붙었습니다. 감염된 컴퓨터가 공격자에게 먼저 손을 내미는 방식입니다.

 

다시 말하면, 공격자는 피해자의 컴퓨터 안에 악성코드를 심고, 이 코드는 공격자의 컴퓨터에 "연결 요청"을 보내면서 자신을 조종할 수 있게 만듭니다. 이 연결이 성사되면, 공격자는 피해자의 컴퓨터에서 자유롭게 명령을 내릴 수 있게 됩니다. 마치 도둑이 원격으로 문을 열고 방 안을 구경하는 것과 같습니다.

 


왜 우회적인 방법을 쓰는 걸까요?

그 이유는 방화벽 때문입니다. 현실적으로 대부분의 시스템은 외부에서 내부로의 직접 연결을 방화벽 등으로 차단하고 있습니다. 공격자가 내부 컴퓨터의 포트를 열고 들어가는 방식은 탐지되기 쉽고 성공률도 낮습니다.

 

반대로, 내부에서 외부로 나가는 연결은 웹 브라우징, 소프트웨어 업데이트 등 정상적인 행위와 구분이 어려워 상대적으로 탐지하기 어렵습니다. 리버스 쉘(Reverse Shell) 은 이 점을 악용합니다.

 


최근 언급된 eBPF 백도어와의 관계

2024년 하반기부터 eBPF(Extended Berkeley Packet Filter)를 활용한 백도어 기법이 보안 커뮤니티에서 주목받고 있습니다. 이 기술은 원래 리눅스 커널 수준에서 고성능 네트워크 분석과 모니터링을 지원하기 위한 용도로 개발되었습니다.

 

문제는, eBPF가 커널 내부에서 실행되며 탐지가 어렵고, 네트워크 흐름을 조작하거나 감출 수 있는 기능까지 제공한다는 점입니다. 따라서 공격자가 eBPF를 악용하면, 리버스 쉘(Reverse Shell) 과 같은 통신도 기존 보안 솔루션으로는 쉽게 탐지되지 않는 방식으로 수행할 수 있게 됩니다. 다만, eBPF 자체가 리버스 쉘(Reverse Shell) 기능을 포함하고 있는 것은 아닙니다. 어디까지나, 리버스 쉘(Reverse Shell) 의 은폐와 유지를 도와주는 수단으로 악용될 수 있다는 의미입니다.

 


리버스 쉘(Reverse Shell) 공격을 대응하는 방법

리버스 쉘(Reverse Shell) 은 단순한 악성코드 실행만으로도 구현될 수 있기 때문에, 사용자는 다음과 같은 보안 수칙을 지켜야 합니다.

  • 의심스러운 이메일의 첨부 파일 또는 링크 클릭 금지
  • 운영체제와 주요 소프트웨어의 보안 업데이트 적용
  • 방화벽에서 불필요하게 나가는 연결 차단

 


블랙쏘세지에서는 리버스 쉘(Reverse Shell) 을 걱정하지 않아도 됩니다

블랙쏘세지는 링크를 클릭하면 스마트폰에서 직접 여는 것이 아니라, 격리된 원격 브라우저를 통해 링크를 열어줍니다.

 

이 구조는 다음과 같은 이점을 가집니다.

  • 악성 링크가 열려도 내 스마트폰과는 격리되어 있어 영향 없음
  • 악성코드가 실행되어도 리버스 쉘(Reverse Shell) 연결 불가능
  • 원격 코드 실행(RCE, Remote Code execution), 백도어, 멀버타이징 등 다양한 위협으로부터 원천 차단