study/악성코드 분석

MSF를 활용한 SMB 취약점 공격

lucykorea414 2024. 2. 5. 23:18
728x90

 

칼리 리눅스 가상환경을 만들어주고, msfconsole을 켜준다!

(윈도우7도 가상환경 만들어주고 둘다 NAT network로 설정해서 ip 주소 다르게)

 

이터널블루를 검색해보자

이터널블루란?
이터널블루는 취약점 분석 도구이며, 워너크라이 랜섬웨어 공격에 일부로 사용되었다.
이터널블루는 마이크로소프트의 서버메세지블록(SMB) 프로토콜 구현의 취약점을 공격한다.

 

5개의 모듈이 보이는데, 이중에서 0번 모듈을 선택해서 사용하자! (use 명령어 사용)

 

 

이 다음, show options를 입력해서 공격할 곳에 대한 정보를 얻자

 

 

Required 에 Yes라고 되어있으면 반드시 필요한 부분, no는 필요 없는 부분

근데 지금 보면 yes라고 되어있는데 옆에 Current Setting에 비어있는 부분이 보임!! -> rhosts 부분을 채워주자!!

 

이때 RHOSTS는 윈도우7로 열었을때

 

요렇게 나오기 때문에 10.0.2.15로 설정하면 된다.

 

 

이렇게 셋팅을 하고 exploit를 하면 바로 공격이 수행됨

 

이때, 중간에 패킷들을 한번 잡아보자(wireshark 실행)

 

(터미널에 wireshark라고 치면 뜬다!)

여기서 캡처링 패킷 클릭한다.

 

 

** 원래라면 여기에서 세션이 생성이 되면서 윈도우즈 셸을 얻게 되는데 나는 target is not vulnerable 뜨면서 안됨 ㅜ

 

!! 고쳤음 !!

윈도우 7 에서 내 네트워크를 공개 네트워크에서 홈 네트워크로 바꿔줬다!! (아래 사진 참고)

 

그러고 다시 리눅스에서 exploit

 

 

굳 ^^

 

그러면 이렇게 윈도우의 네트워크가 보입니당

 

 

shell 을 입력하면 윈도우의 셸이 따와지고 notepad.exe 를 실행해봅시다

 

 

그러면 윈도우 컴퓨터에서 이렇게 메세지가 뜨는데 이거는 백그라운드에서 실행이돼서 디스플레이하겠냐고 물어보는 거다

 

 

그러면 윈도우의 숨겨진 데스크탑에 실행이 된다!

 

 

심지어 안에 있는 파일들도 다 탐색할 수 있다...!

 

자 그러면 와이어샤크로 패킷을 분석해보자

 

처음에 negotiate smb 라고 나오는데, 이건 무슨 의미일까?

 

출처: https://forum.huawei.com/enterprise/en/types-of-network-storages-das-san-and-nas/thread/700405680806182912-667213859733254144

 

위 사진은 SMB의 일반적인 authentication 과정이다.

먼저 negotiate 로 시작을 하고 request와 response를 보낸다.

 

패킷 중간에 보면 이런 패킷이 있는데, IPC에 대한 경로를 받고 있는 부분인데 그냥 간단하게 공유 폴더에 대한 어떤 정보를 주고받고 있다고 생각하면 된다.

 

 

 

그리고 중간에 보면 unknown 이라는 패킷들이 있는데 얘들은 NT Trans Request 헤더까지는 분석을 잘 했지만 그 이후 부분에 대해서는 분석이 안되는 의심스러운 부분이다!

 

 

그리고 이 부분도 보면, 중간에 패킷이 41로 채워져 있는 걸 볼 수 있는데 이는 위험한 공격 패턴 중 하나이다.

(퍼징을 하기 위한 더미 데이터를 넣은것으로 볼 수 있음)

 

여기까지!

728x90