๐ Introduction
OAST๋ Out-of-band application security testing์ ์ฝ์๋ก OOB(Out-Of-Band)๋ฅผ ์ด์ฉํ ๋ณด์ ํ ์คํ ๋ฐฉ๋ฒ์ ์๋ฏธํฉ๋๋ค. OOB ์์ฒด๋ง์ผ๋ก ๋ณด์ ์ด์๊ฐ ๋ฐ์ํ๋๊ฑด ์๋์ง๋ง, ์ด๋ฅผ ํตํด์ Blind ๊ณํต์ ์ทจ์ฝ์ (Blind RCE, Blind XSS, Blind SSRF ๋ฑ)์ ์๋ณํ๊ฑฐ๋ ์ค์์ ๋ณด๋ฅผ ์ ์ถํ๋ ๋ฑ ํ์ฉ๋๊ฐ ์์ฃผ ๋์ ๋ถ์ ๋ฐฉ๋ฒ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ OAST๋ ZAP, Burp ๋ฑ DAST(Dynamic Application Security Testing)์์ ์ฃผ์ ์ค์บ ๋ชจ๋ธ๋ก ์ ํ๋๊ธฐ๋ ํ๋ฉฐ ์ด๋ ์ค์ ๋ก ์ค์บ ์ฑ๋ฅ์ ํฐ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. (ํ์ง์จ ์์น)
DNS Reaction
OAST์ ํต์ฌ์ DNS Reaction ์ ๋๋ค. ์๋น์ค๋ฅผ ์ด์ํ๋ ํ์ฌ๋ค์ ๊ฐ ์ธํ๋ผ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ง๋ง ๋ณดํต์ Outbound์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ฐจ๋จํ๊ณ ์กฐ๊ฑด ๋๋ ์์ธ์ ์ผ๋ก ํ์ฉํ๋ ํํ์ ๋ณด์ ์ ์ฑ ์ ๊ฐ์ง๋๋ค. ๊ทธ๋์ OAST ๋ฑ์ผ๋ก Reaction ์์ฒญ์ด ๋ฐ์ํ์ฌ๋ Outbound๊ฐ ์ฐจ๋จ๋์๊ธฐ ๋๋ฌธ์ ์์ฒญ์ ๋ฐ์ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๋ค๋ง DNS์ ๊ฒฝ์ฐ ํด๋น ์๋ฒ์์ ์ง์ ์์ฒญํ๋ ๊ฒ์ด ์๋ Infra ๋ด/์ธ๋ถ์ Resolver๋ฅผ ํตํด์ DNS Query๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ Outbound ์ ์ฑ ๊ณผ๋ ๋ณ๊ฐ๋ก DNS Reaction์ ํ์ธํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๊ทธ๋์ ์ ํต์ ์ธ HTTP ๊ธฐ๋ฐ์ Callback ๋ฐฉ์๋ณด๋ค DNS ๋ฑ์ ํฌํจํ๋ OAST ๋ฐฉ์์ด ํจ์ฌ ๋ ๊ฐ๋ ฅํฉ๋๋ค.
HTTP/Other Reaction
DNS Query ์ดํ HTTP, SMTP ๋ฑ์ Reaction์ด ๋ฐ์ํ๋ค๋ฉด Outbound๊ฐ ๊ฐ๋ฅํ ์ํ๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค. DNS Reaction ์ด ์๋ณ ๋ชฉ์ ์ด ๊ฐํ๋ค๋ฉด ์ด์ธ ๋๋จธ์ง Reaction์ ์ค์ ์ํฅ๋ ฅ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค. ๊ฐ๋จํ๊ฒ๋ ์ด๋ฅผ ํตํด์ ๋ด๋ถ ์ ๋ณด๋ฅผ ์ ์ถํ๊ฑฐ๋ SSRF, XSS ๋ฑ ๋ค๋ฅธ Blind ์ทจ์ฝ์ ์ผ๋ก ์ฐ๊ฒฐํ ์ ์๋ ํฌ์ธํธ๊ฐ ๋ฉ๋๋ค.
๐ก Offensive techniques
Protocols
HTTP/HTTPS, DNS 2๊ฐ๋ฉด ๋๋ถ๋ถ์ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์์ง๋ง, ํ ์คํฐ์๊ฒ ์กฐ๊ธ ๋ ์์ง์ ์ ๋ณด๋ฅผ ์ฃผ๊ธฐ ์ํด SMTP, LDAP ๋ฑ์ ์ฌ๋ฌ ํ๋กํ ์ฝ์ ์ง์ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์๋๋ ๋ํ์ ์ผ๋ก ์ฌ์ฉ๋๋ ํ๋กํ ์ฝ์ ๋๋ค.
- HTTP/HTTPS
- DNS
- SMTP
- LDAP
- NTLM
- SMB
- FTP
- Etc..
Provider
ย | ZAP | Burp | Nuclei | CLI | Receiver | OSS | Self-Host |
---|---|---|---|---|---|---|---|
BOAST | O | X | X | O | DNS, HTTP(S) | Yes | Yes |
Interactsh | O | O | O | O | DNS, HTTP(S), SMTP, LDAP, SMB, FTP | Yes | Yes |
Burp Collaborator | X | O | O | O | DNS, HTTP(S), SMTP | No | Yes |
TukTuk | X | X | X | O | DNS, HTTP(S), SMTP, LDAP, SMB, FTP, TCP | Yes | Yes |
Interfaces
ZAP
ZAP์์ OAST ๋ฉ๋ด๋ฅผ ํตํด์ OAST ๋๋ฉ์ธ์ ์ป๊ณ , Pollingํ ์ ์์ต๋๋ค. ๋ํ Active Scan ์ OAST ํ์ด๋ก๋๋ฅผ ์๋์ผ๋ก ์์ฑํ๊ณ ์ฌ์ฉํ๋ฉฐ ์ค์บ๋์ ์งํํฉ๋๋ค.
ZAP์์ BOAST, Interactsh, Callback(IP๊ธฐ๋ฐ) ์ด๋ ๊ฒ 3๊ฐ์ง์ OAST ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Burpsuite
Burpsuite์์ Burp Collaborator๋ฅผ ์ด์ฉํ์ฌ ํ ์คํธํ ์ ์์ต๋๋ค. Tarborator๋ Extension ์ค์น ํ ํ์ด๋ก๋๋ฅผ ์์ฑํ๊ณ , ํ ์คํธํ ์ ์์ต๋๋ค. ZAP๊ณผ ๋์ผํ๊ฒ Active Scan ์ OAST ํ์ด๋ก๋๋ฅผ ์๋์ผ๋ก ์์ฑํ๊ณ ์ฌ์ฉํ๋ฉฐ ์ค์บ๋์ ์งํํฉ๋๋ค.
Burpsuite์์ Burp Collaborator, Interactsh 2๊ฐ์ง์ OAST ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
CLI interface
CLI ํ๊ฒฝ์์ Interactsh๊ฐ CLI client๋ ์ง์ํ๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด์ธ์๋ BOAST, TukTuk์ ๊ฒฝ์ฐ API ํํ๋ก๋ ์ ๊ณต๋๊ธฐ ๋๋ฌธ์ Code(BOAST), Web(TukTuk) ์ผ๋ก ์ฌ์ฉํ์ค ์ ์์ต๋๋ค.
# Public server
interactsh-client
# Self-hosted server
interactsh-client -server <YOUR-SELF-HOSTED-SERVER> -token <YOUR-SECRET>
OAST in DAST
DAST์์ Blind ๊ณ์ด์ ์ทจ์ฝ์ , ๊ทธ๋ฆฌ๊ณ OOB๋ฅผ ํตํ ์ทจ์ฝ์ ์๋ณ์ ์ํด OAST๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ๋ณดํต ์๋์ ๊ฐ์ ์์๋ก ๋์ํฉ๋๋ค.
1) ๋งค๋ฒ ์์ฒญ ์ OAST ์๋น์ค๋ฅผ ํตํด ๋๋ฉ์ธ์ ์์ฑํจ (e.g o5rglw6hawoivfmeylovdxtqji.odiss.eu) 2) ํด๋น ๋๋ฉ์ธ์ ํฌํจํ ํ์ด๋ก๋๋ก ํ ์คํ ์งํ 3) ์ง์ ๋ ์๊ฐ๋งํผ Polling ํ๋ฉฐ ํด๋น ๋๋ฉ์ธ์ ๋์์ผ๋ก Reaction์ด ์๋์ง ์ฒดํฌ
Bypass techniques
- System Hardening์ ํผํด RCE๋ฅผ ํ์งํ๊ธฐ ์ํ OOB ๋ฐฉ๋ฒ๋ค
- Private OOB ํ
์คํ
์ ์ํ Self Hosted Interactsh
- Log4shell ์ด์ ์ดํ Public OAST ์๋น์ค๋ค์ ์ฐจ๋จ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์ก์ต๋๋ค.
- ๊ทธ๋์ OAST ์๋น์ค๋ค์ ๊ฐ๊ฐ ๋๋ฉ์ธ์ ๋ ์ถ๊ฐ๋ก ๊ตฌ๋งคํ์ต๋๋ค.
- ๊ทธ๋๋ Private OAST๋ฅผ ์ฌ์ฉํ๋๊ฒ ๊ฐ์ฅ ์ข๊ธดํฉ๋๋ค.
๐ก Defensive techniques
OAST(OOB)๋ ๋ฐฉ์ด์ ์ ์ฅ์์ ์์คํ ํ๋๋์ผ๋ก ์ด๋์ ๋ ๋์ํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก OOB๊ฐ ๋ฐ์ํ ์ ์๋ ์ฌ์ง๋ฅผ ์ต์ํ์ผ๋ก ์ค์ด๊ณ , ๋ฐฉํ๋ฒฝ ์ ์ฑ ๋ฑ ๋คํธ์ํฌ์ ์ธ ์์๋ก ์ผ๋ถ ํด์ํ ์ ์์ต๋๋ค.
Known OAST Service Address
- ZAP
*.odiss.eu
- Burpsuite
*.oastify.com
*.burpcollaborator.net
- Interactsh
*.oast.pro
*.oast.live
*.oast.site
*.oast.online
*.oast.fun
*.oast.me
๐น Tools
- ๐ ZAP OAST (public/private)
- ๐ Burpsuite Collaborator (public/private)
- ๐ Interachsh (public/private)
- ๐ boast (private)
- ๐ tuktuk (private)
๐ Articles
- System Hardening์ ํผํด RCE๋ฅผ ํ์งํ๊ธฐ ์ํ OOB ๋ฐฉ๋ฒ๋ค
- ZAP OAST ๋ฆด๋ฆฌ์ฆ! ์ด์ ZAP์์ Out-Of-Band๊ฐ ๋ ์ฌ์์ง๋๋ค ๐
- If you need test Out-of-band on ZAP? Use OAST!
- ZAP OAST ๋ฏธ๋ฆฌ ๊ตฌ๊ฒฝํ๊ธฐ (for OOB)
- ์ด์ Interact.sh ๊ฐ ZAP OAST์์ ์ง์๋ฉ๋๋ค
- OOB Testing with interactsh!
- Private OOB ํ ์คํ ์ ์ํ Self Hosted Interactsh
- Bypass domain check using ToCToU for SSRF/XXE/OOB, Etc