작업환경 : Virtual Box 7.0에서 호스트 전용 어댑터로 연결된 가상 서버 Kali Linux 22.3 amd64와 metasploitable
지난번 가상머신의 네트워크 설정중 호스트 전용 어댑터로 가상 서버를 서로 연결이 가능하도록 했습니다.
이 환경에서 Kali Linux(공격자), metasploitable(피해자)로 나뉘며
동일 네트워크 선상에 연결되어 있는 두 게스트 간의 네트워크 패킷을 공격자가 스니핑 하는 실습입니다.
공격자 : Kali Linux ,192.168.56.107
피해자 : metaploitable, 192.168.56.104
1.공격자가 피해자의 웹서버 접속
피해자의 서버에서는 웹서버가 구동 중입니다.
이 서버에 공격자가 접속합니다.
공격자가 피해자의 웹 서버에 접속한 상태에서 [WireShark]를 실행해줍니다.
Wireshark는 네트워크 패킷 캡처와 분석이 가능한 오픈소스 소프트웨어입니다.
칼리 리눅스에는 기본적으로 내장되어 있습니다.
Wireshark의 첫 화면에서는 캡처할 네트워크를 선택(eth0,1, loopback) 그 외 로그 등 기타 기능이 있습니다.
현재 공격자와 피해자는 eth1(192.168.56.X)을 통해 연결되어 있으므로 eth1를 선택해줍니다.
2.WireShark
Wireshark의 첫 화면입니다.
별도의 필터링이 설정되어 있지 않아 발생하는 모든 HTTP, TCP, UDP 그 외 프로토콜 패킷이 전부 캡처됩니다.
현재 공격자가 피해자의 웹 서버에 접속해있는 상태이므로
저희는 80번 포트의 HTTP 패킷을 살펴볼 겁니다.
패킷들을 자세히 살펴보면 80번 포트를 통해 통신된 패킷이 존재합니다.
80은 HTTP의 포트로 즉 웹 서버에 접속함으로 공격자는 피해자의 웹서버와 request/reply의 HTTP 통신이 진행되었음을 알 수 있습니다.
부가적으로 포트 옆에 적혀있는 [SYN], [SYN, ACK], [ACK] 패킷은 TCP 통신의 3-way handshaking이 진행되었다는 걸
확인할 수 있는 패킷입니다.
즉 서버와 클라이언트 간의 정상적인 TCP 통신이 진행되었음을 알 수 있습니다.
이제 피해자 웹서버의 phpmyadmin으로 접속합니다.
phpmyadmin은 php로 구성된 웹 서버의 관리자 페이지입니다.
ID : testname
PW : testpasswd
위 값을 입력해줬습니다. 물론 임의로 정한 값이기에 로그인이 되지는 않지만
저희는 이 입력값을 와이어 샤크에서 확인해볼 수 있습니다.
이 계정 입력값이 와이어 샤크에서 노출되는 이유는 php의 낮은 보안성 때문이라고 생각하시면 됩니다.
그전에 먼저 지나치게 많은 패킷을 전부 살펴보는 건 무척 힘든 일입니다.
와이어 샤크의 필터링에 대해 잠깐 배우고 가겠습니다.
tcp포트 80번을 통해 통신한 패킷만을 캡처합니다.
tcp.port == 80
특정/범위 내의 IP의 패킷만을 가져올 수 있습니다.
여기서는 192.168.56.104의 IP의 통신이 포함된 모든 내역을 필터링합니다.
ip.addr == 192.68.56.104
이제 입력된 계정 값을 패킷에서 찾기 위해 웹 통신이 발생한 HTTP 프로토콜 패킷만을 필터링했습니다.
가장 첫 번째로 발생한 HTTP 패킷부터 순서대로 나열됩니다.
많은 HTTP 패킷 중 POST 메서드로 발생한 패킷이 있습니다.
이는 해당 웹서버에서 계정 입력값이 POST 방식으로 넘어갔기 때문입니다.
잠깐 여담으로 HTTP 요청에는 GET/POST 두 가지의 방식이 존재하는데
GET 방식은 입력값이 주소에 노출되어 전송되고
POST방식은 입력값이 주소에 노출되지 않게 전송됩니다.
하지만 PHP 자체적으로 낮은 보안성을 띄기 때문에
POST 메서드에 담긴 계정 값을 공격자가 살펴볼 수 있습니다.
POST메서드로 발생한 패킷을 자세히 살펴보면
빨간 네모 부분에 ID와 PW의 입력값이 드러나는 걸 확인할 수 있습니다.
즉 이 시나리오는 동일 네트워크에 존재하는 공격자와 피해자가 있고
공격자는 피해자의 웹 서버를 지속적으로 네트워크 스니핑 하여 서버에서 발생하는
HTTP Request를 통해 입력되는 계정 값들을 탈취할 수 있다는 내용입니다.
참고 글
'정보보안 > System Hacking' 카테고리의 다른 글
포트 별 스캔방법 실습 - nmap, port, 21, 22, ftp, ssh (0) | 2022.09.10 |
---|---|
스캐닝 도구 - Sparta | Kali Linux | Port, nmap, nikto (0) | 2022.02.24 |
도메인 조회 툴 | Kali Linux | Host, nslookup, dnseum (0) | 2022.02.12 |
모의 해킹 취약점 정찰을 위한 패시브 스캐닝 - theharvester, Recon-ng (0) | 2020.10.08 |
[Hacking] - 첫 단계 정찰 패시브 스캐닝 (0) | 2020.10.04 |
댓글