Wireshark 악성코드 패킷 분석하기_Web Shell

이선아·2021년 8월 21일
2

실습 샘플로 사용한 악성코드 패킷 다운로드 사이트

🪄 실습 환경

  • VirtualBox Windows 10
  • Wireshark
  • NetworkMiner

📌 문제

  1. 공격에 성공한 공격자 IP
  2. 공격자 이외 서비스에 접근한 IP
  3. 공격자가 시스템에 침투하기 위해 접근한 서비스 포트
  4. 공격자가 어떤 취약점을 이용했는지
  5. 공격자가 리버스 공격을 하기 위해 사용한 포트
  6. 공격자가 올린 웹쉘의 이름과 md5 해시 값
  7. 공격자가 웹쉘을 올린 뒤에 사용한 명령어들

📌 악성코드 패킷 분석

샘플로 사용한 패킷의 다운로드 주소는 맨 상단에 기입했습니다. 버츄얼박스 윈도우 가상 환경에 와이어샤크와 네트워크 마이너를 다운 받아주고 패킷을 열어줍니다.

먼저 패킷의 통계를 확인합니다. TCP의 HTTP 프로토콜이 대부분을 차지하고 그 중 Media Type의 크기와 비율이 높은 것을 볼 수 있습니다. Media Type은 파일이 많이 올라감을 의미합니다. 여기서 웹(HTTP)을 중점적으로 분석해야 한다는 것을 알 수 있습니다.

HTTP - Packet Counter 를 통해 다양한 에러가 생겼음을 볼 수 있는데 그 중 4xx 에러가 많은 것을 확인합니다. 500 서버 에러나 4xx 에러는 SQL 인젝션 공격을 의심할 수 있는데, 200 성공이 많이 뜬 걸로 봐서 정상적인 페이지를 접근하여 시스템을 공격했다고 추측 가능합니다.

HTTP - Requests 에 들어가면 접근했던 도메인들을 확인할 수 있습니다. 하지만 정상적인 .com 과 같은 도메인들 사이에 192.168..과 같은 정상적이지 않은 이름이 보입니다. 8180 포트를 사용한 도메인을 보면 upload 에 접근한 것과 shell.jsp 파일을 사용한 것을 확인합니다. 사실 /attack 라고 되어 있어 그냥봐도 공격 파일이네요. upload 된 파일과 shell.jsp 쪽을 살펴보면 될 것 같습니다.😎

필터링을 해줍니다.

ip dst == 192.168.206.133 and tcp.port == 8180

목적지 IP가 192.168.206.133이면서 8180 포트를 사용하는 패킷을 필터링합니다. 이 IP 주소가 공격을 당했다고 생각되는 사이트며, 검색되는 Source IP가 공격자라고 의심됩니다.

필터링에서 upload 한 패킷을 찾습니다. 이렇게 공격자 IP는 192.168.206.152 이고 .133 이 공격당한 사이트며 포트는 8180을 사용했음을 확인했습니다.

TCP Stream을 통해 .html 파일로 저장한 뒤 사이트를 열어보겠습니다.

upload.html 을 열면 이런 관리자 사이트가 나옵니다. 조금 내리다보면 이렇게 파일 업로드하는 칸이 나오는데 이 곳을 통해 웹쉘이 들어간 WAR 파일을 올렸다고 생각됩니다.

더 내려보면 웹쉘이 실행되고 있다는 것?으로 보입니다.

이제 웹셀 파일을 찾아야하는데 아까 미리 마크해둔 패킷으로 다시 돌아가 TCP Stream을 열어 올려진 war 파일을 찾습니다. 값은 POST이며 첨부 파일로 보냈다는 것을 의미합니다.

upload 패킷에는 다른 패킷에 없는 ' MIME Multipart Media Encapsulation ' 이라는 항목이 있습니다. 데이터를 누르면 데이터에 해당되는 바이트가 표시되어 보입니다. 데이터에서 우클릭 - Export Packet Bytes를 눌러 확장자는 .war 모든 파일로 지정해 저장합니다.
.war 파일에 압축 풀기 미리보기로 확인해보시면 shell.jsp가 포함되어있습니다. 저는 압축을 풀만한 프로그램이 없어 캡처를 못했습니다.🥲

이렇게 NetworkMiner를 이용해서 쉽게 파일을 열 수도 있습니다. NetworkMiner는 .pcap 파일만 지원해주기 때문에 와이어샤크에서 .pcapng 를 .pcap으로 다시 저장하면 실행 가능합니다.

profile
깃허브 놀러오세용 -> Tistory로 블로그 이전합니다.

0개의 댓글