본문 바로가기

모의해킹

Ngrok 플랫폼 사용 후기

이번 포스팅 글은 Ngrok에 대한 포스팅글을 내부 침투가 가능한지의 대한 관점에서 글을 정리하였다.

 

#Ngrok이란?

ngrok 플랫폼은 NAT와 방화벽 뒤에있는 사내 로컬 서버를 안전한 터널을 통해 공개 인터넷에 노출할 수 있도록 지원해주는 플랫폼으로 방화벽에서 포트 포워딩 같은 네트워크 환경 설정 변경없이 로컬에 실행중인 서버를 외부에서 접근 가능하다.

 

이런 기능을 제공해주는 플랫폼은 한편으로는 개발업무를 효율적으로 아주 편리하게 제공하지만 한편으로 회사 보안에 아주 치명적일 수 있단 판단이 들었다.

 

#동작원리

Ngrok은 웹훅을 이용해 로컬서버를 ngrok.com쪽에 바인딩함으로써 NAT 및 방화벽을 우회하여 외부에서 접속 가능하도록 구성 및 동작한다.

 

방화벽이 적용된 환경에서 실제 외부에서 방화벽을 우회해서 접근이 가능한지 테스트 환경을 구성하여 테스트를 진행 해본다.

 

#환경 구성 및 접속 테스트

Ngrok 설치는 공식 홈페이지를 확인해서 간단하게 설치를 받아볼 수 있다.

https://dashboard.ngrok.com/get-started/setup

 

ngrok - secure introspectable tunnels to localhost

 

dashboard.ngrok.com

 

 

 

#사용법

실행 명령어는 아래와 같이 간단하며 실행 시 바로 외부에서 접근이 가능하다.

#ngrok 프로토콜 포트

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

구축을 통해 해당 플랫폼을 보안 관점에서 다가가게 되면 아래와 같은 시나리오로 내부 침투가 가능할 수 있는 가능성이 보였고 실제 외부에서 접근이 가능한 지 테스트를 진행해보았다.

 

 

 

#내부 SSH 서버 구축

참고) Kali ssh 설치방법

https://shouts.dev/install-ssh-service-on-kali-linux

#sudo service ssh start

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# ngrok 실행

ssh 경우 ngrok 사용 시 인증 토큰을 발급 받고 명령어를 실행해야 한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#외부에서 SSH 접근 진행

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

실제 간단하게 구축해서 외부에서 접근해보니 방화벽을 우회하여 내부 PC와 통신이 가능했다;;;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#마치며

Ngrok은 확실히 개발 측면에서는 유용한 도구로 보여지나 한편으로는 해당 플랫폼을 악용할 수 있어 사내에서 도입해서 사용하기에는 개인적으로는 어려울 것 같다는 판단이 든다.