본문 바로가기

해킹&보안/네트워크

[DDoS] SNMP 반사공격 (+패킷 분석)

SNMP반사공격

다른 반사 공격과 마찬가지로 출발지 IP를 공격 대상의 IP로 위조하여 SNMP가 열려 있는 서버들에게 SNMP 정보를 요청하고, 그에 대한 응답 값을 공격 대상에게 전송하는 방식을 공격에 사용한다. SNMP 반사 공격은 SNMP 정보를 수신할 수 있는 여러 명렁어 중에서 응답 값을 빠르고 대량으로 전송받을 수 있는 snmpbulkwalk 라는 명령어를 이용한다.

SNMP명령어에는 snmpget, snmpwalk, snmpbulkwalk 등이 있는데 네트워크 장비와의 상호작용에서 데이터를 조회하거나 수집하는 데 사용된다. 각각의 명령어는 데이터의 양과 방식에서 차이가 있다

snmpget

  • 기능: 단일 OID에 대한 값을 조회한다.
  • 용도: 특정 장비의 단일 정보(예: 시스템 이름)를 조회할 때 사용된다.
  • ex: snmpget -v2c -c public 192.168.1.1 1.3.6.1.2.1.1.5.0

snmpwalk

  • 기능: 주어진 OID부터 시작하여 해당 하위 OID를 순차적으로 조회 한다
  • 용도: 특정 OID의 하위 항목들을 전체적으로 조회할 때 사용됩니다. 예를 들어, 시스템 정보나 테이블의 모든 항목을 조회할 때 유용하다.
  • ex: snmpwalk -v2c -c public 192.168.1.1 1.3.6.1.2.1.1

snmpbulkwalk

  • 기능: snmpwalk와 비슷하지만, SNMPv2c 및 SNMPv3의 GETBULK 요청을 사용하여 대량의 데이터를 효율적으로 조회한다.
  • 용도: 많은 양의 데이터를 한 번의 요청으로 조회할 때 사용. 큰 테이블의 데이터를 효율적으로 수집할 때 유용하다.
  • ex: snmpbulkwalk -v2c -c public 192.168.1.1 1.3.6.1.2.1.2

SNMP 반사 공격 특징

 

  1. 공격자는 C&C를 이용하여 좀비 PC에게 명령을 내린다.
  2. 좀비 PC들은 출발지 IP를 공격 대상의IP로 위조한 상태로 수많은 매개체에 snmpbulkwalk 질의를 요청하는데 매개체에서 사용하는 snmp커뮤니티는 기본 설정값 'public'이다.
  3. snmpbulkwalk 질의를 수신한 매개체들은 위조된 출발지 IP인 공격 대상에게 응답 값을 전송하여 네트워크 대역폭을 고갈시키며, 이떄 사용된 출발지 포트 번호는 161이다.

C&C란?
해커나 공격자가 감염된 시스템을 원격으로 제어하기 위해 사용하는 서버나 인프라
쉽게 말해, 악성 코드(ex. 봇넷)에 명령을 보내고, 수집된 데이터를 수신, 공격 명령 제어하는 것

SNMP 반사 공격 패킷 분석

이 공격 패킷의 출발지 IP(매개체)는 커뮤니티가 public인 상태로 SNMP가 허용되어 있어서 반사 공격의 매개체로 악용되었을 뿐, 악성코드에 감염된 좀비 PC는 아님. 출발지 포트가 161이라 반사된 SNMP 응답 패킷인 것을 알 수 있었다.

패킷의 크기가 대부분 1,500 바이트이고, MTU를 초과하여 단편화된 패킷도 존재하는 것을 봐서 공격 대상의 네트워크 대역폭을 고갈시키기에는 충분한 트래픽이 발생하였을 것이다.

 

대응방안

  1. 회선 대역폭 확보: 네트워크 대역폭을 충분히 확보하여 공격으로 인한 영향을 완화한다. 이는 대량의 트래픽으로 네트워크를 마비시키려는 공격을 방어하기 위한 기본적인 대응 방법이다.
  2. 정상적인 SNMP 트래픽만 허용: SNMP는 특정 호스트 간에만 필요하므로, SNMP를 사용하는 특정 호스트만을 허용하고, 나머지 IP에서의 SNMP 요청을 차단한다. 이를 위해 UDP 포트 161번에 대한 요청을 라우터 및 차단 장비에서 차단하여 무단 접근을 방지한다.

 

'해킹&보안 > 네트워크' 카테고리의 다른 글

최신 DDoS 공격유형 ~  (0) 2024.09.10
OSI 모델  (0) 2024.09.04
[DDoS] 반사공격  (0) 2024.08.10
[DDoS] IP Flooding (+패킷 분석)  (0) 2024.08.09
무선 통신 보안  (0) 2024.06.16