STUDY.md
  • WireShark, Security Onion 2.4로 Malware PCAP 파일 분석하기
    2024년 07월 16일 20시 21분 46초에 업로드 된 글입니다.
    작성자: 방세연

    NetSec에서 빠질 수 없는 것이 패킷 분석이다.

     

    Suricata와 Snort를 연계해 alert 메세지를 생성할 수 있는 Security Onion을 공부해보기로 했다.

    다음은 설치를 완료한 모습이다. VMware에서 Oracle Linux 9(권장)으로 Security Onion 2.4 (가장 최근)을 설치해주었다.

     

     

     

    윈도우 cmd 관리자 권한을 통해 VMware VMnet1(Host), VMnet8(NAT)을 참고해주어 세팅을 완료했다.

     

     

     

     

    접속이 제한되면 다음과 같은 방법을 써보자.

     

    sudo so-firewall includehost analyst 192.168.000.000
    sudo so-firewall apply

    kali 리눅스의 ip 주소로 입력해주었더니 접속이 가능해졌다.

     

     

     

    해당 공간에서도 firewall에 특정 ip주소 대역을 지정할 수 있다.

     

     

     

     

    security onion을 구동할 때 http 상태에 500/502 error가 나타날 경우 so-status를 확인하고, 이를 재시작할 수 있다.

    나의 경우에는 컴퓨터 사양의 문제가 대부분이였다..

    sudo so-status
    sudo so-soc-restart

     

     

     

     

    Security Onion 2.4 접속에 성공하면 Grid에서 현재의 Status를 확인할 수 있다.

    Status가 OK면 잘 작동되고 있는 것이다.

     

     


     

     

    SPOONWATCH Traffic Analysis Exercise 

    분석할 Malware은 Malware-Traffic-Analysis 사이트에서 가져온 2022-01-07 SPOONWATCH PCAP이다.

    해당 멀웨어 pcap 파일을 통해 traffic analysis를 진행해볼 것이다.

     

    다음 사이트의 pcap파일을 wget 명령어를 이용해서 가상머신 내부에 압축 해제 후 진행해보겠다.

     


     

    🦈 WIRESHARK로 멀웨어 패킷 분석하기 


    다음 사이트에서 PCAP 형식으로 되어있는 malware 네트워크 트래픽을 확인하고 이를 반영할 수 있는지 테스트해볼 것이다.

    2022-01-07 UTC에 공격자가 사용자 자격 증명을 빼냈다.
    LAN segment range:  192.168.1[.]0/24 (192.168.1[.]0 through 192.168.1[.]255)
    Domain:  spoonwatch[.]net
    Domain controller:  192.168.1[.]9 - SPOONWATCH-DC
    LAN segment gateway:  192.168.1[.]1
    LAN segment broadcast address:  192.168.1[.]255

     

     

     

     

    WireShark를 통해 가장 많이 전송된 패킷 ip를 확인해본다.

    손상된 Host : 192.168.1.216

    라는 것을 예측해볼 수 있다. 해당 ip 주소를 조금 더 자세히 검색해보기로 했다.

     

     

    Http Request, POST 요청을 검색해보았다. Destination 2.56.57.108에 직접적인 접촉이 나타났다는 것을 알 수 있다.

    2.56.57.108/osk//1.jpg
    2.56.57.108/osk//2.jpg
    2.56.57.108/osk//3.jpg
    2.56.57.108/osk//4.jpg
    2.56.57.108/osk//5.jpg
    2.56.57.108/osk//6.jpg
    2.56.57.108/osk//7.jpg

    라는 jpg 형식의 파일을 확인할 수 있다.

    또한 HTTP 프로토콜에서 zip 파일 업로드가 포함되어있는 것을 확인했다. .zip 파일의 TCP Stream을 검사해보겠다.

     

     

     

    --1BEF0A57BE110FD467A
    Content-Disposition: form-data; name="file"; filename="_5861695120.zip"
    Content-Type: zip

    POST 관련 키워드를 검색해보면 .jpg URL과 함께 zip 파일 또한 전송된 것을 확인할 수 있다.

     

     

     

    Google Chrome_Default.txtUT...Ge.aPK............'T.............. ....... .......cc/
    Microsoft Edge_Default.txtUT...Ge.aPK............'T0..tS.......!. ....... .......cookies/
    Google Chrome_Network.txtUT...Ge.aPK............'Td..Z.......". ....... .......cookies/
    Microsoft Edge_Default.txtUT...Ge.aPK............'T...5G......... ....... ...M.M...
    outlook.txtUT...Ge.aPK............'TR6.....j.... ....... .......
    passwords.txtUT

    POST 관련 키워드를 더 찾아보면 다음과 같은 내용이 있다.

    passwords.txt와 같은 민감한 정보를 탈취한 데이터가 있을 수 있음을 나타내고 있다.


     

    MZ......................@............................................. 
    .!..L.!This program cannot be run in DOS mode.

    MZ라는 아스키 형식이 나타난다. google에 검색해보니 MZ 실행파일 형식은 DOS에서 .EXE 실행파일에 사용되는 파일 형식이다. jpg URL에서 MZ 실행파일 형식이 반환되었다.

     

     

    그밖에도 피해를 당한 컴퓨터의 MAC 주소 (9c:5c:8e:32:58:f9)를 알아낼 수 있었다.

     


     

     

     

     🧅Security Onion을 이용해 멀웨어 패킷 분석하기 

    하나의 팁을 주자면 Security Onion 문서 사이트에 pcaps를 분석할 수 있는 파일이 제공되어있는 다양한 링크가 있다.

    앞으로도 해당 링크를 통해 실습 파일을 취득하고 실습을 진행해볼 것이다.

     

    pcap 파일을 분석하는 것은 Security Onion 내의 Suricata와 Zeek(bro)이다.

    Suricata : 보안 위협을 탐지하고 차단하도록 설계됨 (IPS)
    Zeek : 네트워크 트래픽을 조사하고 보안 사고를 식별함

    둘 다 NIPS, NIDS와 관련이 있는 툴이다.

     

     

    ssh 명령어를 통해 security onion을 구동하고있는 Oracle Linux 9 계정으로 접근했다.

    security onion에서 2022-01-07-traffic-analysis-exercise.pcap.zip 웹파일을 wget으로 다운로드해주고 압축 해제해주고

    so-import-pcap 해주면 security onion에서 분석할 준비가 완료된다.

     

    sudo so-import-pcap 2022-01-07-traffic-analysis-exercise.pcap

    pcap 파일을 import 해주는 명령어는 다음과 같다.

     

    위의 이미지와 같은 hyperlink가 뜨면 성공한 것이다.

    해당 hyperlink로 접속해주면 구동되어있는 security onion 창이 뜬다.

     

     

     

    security onion에서 현재의 status를 확인해보기 위해 Grid를 눌러보면 상태가 양호함을 확인할 수 있다.

     

     

     

    앞서 so-import를 통해 분석해준 pcap파일 링크를 접속하면 pcap를 분석해준 Dashboards가 나타난다.

    날짜를 변경해 범위 안에서 수집된 알림을 확인해보도록 하자.

     

     

    Alerts를 확인해보면 중요도 순으로 중요한 알림들을 확인할 수 있는데, Count가 가장 높은 ET MALWARE Vidar/Arkei/Megumin/Oski Stealer HTTP POST Pattern 알림을 선택해 해당 부분을 중점적으로 분석해보기로 했다.

     

    이를 분석해준 모듈은 suricata이다.

     

    ET MALWARE Vidar/Arkei/Megumin/Oski Stealer HTTP POST Pattern를 case로 분류하였다.

    그리고 이 case를 다시 Hunt함으로서 해당 케이스를 더욱 세부적으로 추가 조사해보도록 하겠다.

     

    Hunt에서 다음과 같은 사항이 나타난다. 먼저 멀웨어는 192.168.1.216이라는 ip를 악의적으로 삽입하고 있음을 확인한다.

    이는 위의 Wireshark에서 분석했던 것과 같은 내용임을 알 수 있다.

     

    또한 ET POLICY PE EXE or DLL Windows file download HTTP라는 내용도 확인했다.

    해석해보면 역시 MZ라는 아스키 형식을 통해 EXE 실행파일을 사용하려고 했음을 알 수 있다.

     

     

    비교해보면 wireshark에서 확인했던 TCP stream과 같은 내용이다. security onion은 해당 내용을 분석한 것으로 확인된다.

     

     

    Dashboard의 다양한 주의, 탐지 내용들을 살펴보면 Network Trojan, Potentiallly Bad Traffic, Generic Protocol Command Decode, Potential Corporate Privacy Violation 등의 중요 내용들을 확인할 수 있고 그 위험성 또한 수치로 나타나있는 모습을 확인할 수 있다. (다시보니 이는 Alart에서 확인했던 부분과 같다.)

     

    이 중 중요도가 높은 내용은 ET MALWARE Vidar/Arkei/Megumin/Oski Stealer HTTP POST Pattern일 것이다. 이 부분도 event.severity_label로 확인할 수 있기도 하다.

     

     

    2.56.57.108/osk//1.jpg
    2.56.57.108/osk//2.jpg
    2.56.57.108/osk//3.jpg
    2.56.57.108/osk//4.jpg
    2.56.57.108/osk//5.jpg
    2.56.57.108/osk//6.jpg
    2.56.57.108/osk//7.jpg

    POST 요청에서 Wireshark 부분에서 확인했던 내용과 같이 jpg파일이 탐지되었다.

     

     

    {"ts":1641571491.641944,"uid":"C3xc9o4xytjaFbeMm1",
    "id.orig_h":"192.168.1.216","id.orig_p":49712,"id.resp_h":"192.168.1.2",
    "id.resp_p":88,"request_type":"AS","client":"steve.smith/SPOONWATCH",
    "service":"krbtgt/SPOONWATCH","success":false,
    "error_msg":"KDC_ERR_PREAUTH_REQUIRED",
    "till":2136422885.0,"forwardable":true,"renewable":true}

     

    zeek(bro)가 수집한 kerberos log 내용을 확인해보자. 이 로그는 인증을 처리하는 로그다.

    그리고 해당 로그에서 다음과 같은 내용을 발견했다. ip주소는 192.168.1.216, 클라이언트 이름은 steve.smith임을 알 수 있으며, 호스트는 DESKTOP-GXMYNO2.SPOONWATCH.NET이다.

     

    Wireshark와 분석 내용을 비교해보니 Security Onion은 더 자세한 탐지와 분석을 수행할 수 있는 것 같고 중요한 내용을 집중적으로 수집하기에 좋았다. Suricata와 Zeek 덕분인 것 같다.

     

     

    💡도출된 결과 

    사건 일시 : Fri, 07 Jan 2022 16:07:32 GMT 경 
    Host Name : DESKTOP-GXMYNO2
    MAC 주소 : 9c:5c:8e:32:58:f9
    IP 주소 : 192.168.1.216
    Windows 사용자 이름 : steve.smith

     

     

    댓글