본문 바로가기
3. 웹 애플리케이션 취약점 진단/비박스를 활용한 웹 애플리케이션 취약점 진단

[비박스를 활용한 웹 취약점 진단] 10-1. 민감한 데이터 노출 [HTTP 페이지 내 평문 데이터]

by Robert8478 2023. 12. 13.

개인정보 처리 페이지에서 네트워크 프로토콜 보안은 필수이다. SSL을 사용하지 않으면 공격자에게 평문 데이터가 노출될 가능성이 존재한다.

[난이도 하]
이번에는 칼리리눅스의 스니핑 도구인 Ettercap 프로그램을 이용해볼 것이다. 스니핑이란 서버와 클라이언트 사이 연결에 오고가는 패킷을 엿보는 공격이다. 평문으로 전송되면 패킷에 있는 데이터로 사용자 정보를 알아낼 수 있게 된다.
스니핑을 하려면 ARP 스푸핑이나 DNS 스푸핑 같은 방법을 이용해서 서버와 클라이언트 사이에서 공격자의 정체를 변조한다.

ettercap -G 명령어로 에더캡을 GUI 모드로 실행한다. 관리자 계정이 아니라면 sudo를 앞에 붙여주어야 한다.

인터페이스가 기본적으로 eth0으로 되어있다. local loopback은 칼리 리눅스 안의 네트워크 상태 점검용이므로 꼭 실제 사용하는 네트워크 인터페이스 카드인 eth0으로 한 뒤 우측 상단의 체크모양 버튼을 눌러준다.

그 다음 좌측 상단의 돋보기 모양(Scan for hosts)를 눌러 같은 네트워크의 호스트를 검색해준다.

그 다음 돋보기 바로 우측에 있는 Host list 버튼을 눌러준다. 뒷 주소가 1로 된 게이트웨이 아이피 주소를 클릭 후 Add to Target 1 을 눌러서 타겟을 설정 해준다.

그 다음 공격할 비박스의 아이피 주소를 선택 후 Add to Target 2 해준다.

또는 우측 상단 점세개 모양의 버튼을 누르고 Target 메뉴로 가면 수동으로 설정해 줄 수도 있다.

이제 우측 상단 지구본 모양 MITM 메뉴를 누른 뒤 ARP Poisoning을 눌러준다. 체크는 Sniff remote connections 에 체크해주어야 한다.
Only poison one-way를 체크하면 연결이 유지되지 않기 때문에 사용자나 관리자가 스푸핑 중인 것을 알아챌 수 있다.

그 뒤 우측 상단 점세개 메뉴에서 View - Connections로 이동하면 캡처된 패킷들을 확인한다. 목록을 클릭해서 View Details를 클릭하면 MAC 주소와 같은 자세한 정보를 출력한다. 이제 페이지에서 로그인을 해보자.

로그인을 하고 에더캡에 캡처된 패킷을 확인하자.

아래에 보면 bee bug로 로그인한 것을 평문 메시지로 출력해주어 확인할 수 있었다.

[난이도 중,상]

난이도 중,상에서는 URL 주소창을 보면 https로 연결되는 것을 볼 수 있다. 똑같이 로그인하고 에더캡을 확인해 보자.

이번에는 아무런 패킷 캡처도 보이지 않는 것을 볼 수 있다. 이처럼 중요한 정보를 전송할 때에는 반드시 Https 프로토콜을 사용해야 한다.
HTTPS를 사용하려면 서버에 SSL 인증서를 설치해서 암호화 설정을 해야한다. SSL 인증서 발급을 위해서는 공인 CA(Certificate Authority)를 통해서 인증서를 구매해야한다. 임의로 본인이 인증서를 발급하면 신뢰할 수 없는 인증서라는 경고문이 출력된다.