📖
레드팀 플레이북
깃허브기여하는 방법WhoAreWe블로그
  • 레드팀 플레이북
  • 레드팀이란
  • 레드팀 글로벌 동향 (2024)
  • 베이직 레드팀(Basic Redteam)
    • 개요
    • 1. 공격자 인프라 구성
    • 2. 초기 침투
    • 3. 정보 수집
    • 4. 권한 상승 - US
    • 5. 횡적 이동: USWKSTN01 -> SQL01
    • 6. 권한 상승 - SQL01
    • 7. 도메인 장악 WEB01
    • 8. US -> RT 장악
    • 9. RT -> DEV 정보 수집
    • 10. 권한 상승 및 목표 달성
  • 🚧인프라 (Infrastructure)
    • 개념
    • 예시 인프라
    • 팀 서버 - Sliver
      • 스테이저 (Stager) 사용
    • 도메인 분류와 신뢰도
    • HTTP 리다이렉터
    • HTTPS 리다이렉터
    • SMTP Gophish + Mail
    • SMTP Gophish + ESP
    • SMTP Gophish + Relay + ESP
    • 인프라 구축 자동화
      • 테라폼 (Terraform)
      • SMTP 테라폼 자동화
      • HTTPS 리다이렉터 자동화 (AWS)
    • old-네뷸라를 이용한 인프라 구축
      • 도메인과 리다이렉터 설정
      • 중립 공간 (클라우드) 설정
      • 네뷸라 (Nebula)
      • 네뷸라 설정
    • 도메인 프론팅 (Domain Fronting)
    • 도메인 프론팅 - Azure Edgio CDN
    • Cloudflared Tunnel과 Worker
    • Cloudflared Tunnel과 Pages
  • 🔎초기 정찰
    • 개념
    • 타겟 발견
    • OSINT
      • 작전보안
      • 자산 정보 수집
      • 구글 도킹
  • ⚔️초기 침투 (Initial Access)
    • 개념
    • 피싱 첨부파일
      • 오피스 VBA 매크로
      • XLM Excel 4.0 매크로
      • 원격 템플렛 인젝션
      • VBA Stomping
      • HTA
      • LNK
      • ISO
      • VBA Purging - TODO
      • DotNetToJS - TODO
      • Follina - TODO
    • HTML 스머글링 (Smuggling)
    • 피싱 - AitM (Adversary in the Middle)
    • Living Off Trusted Sites (LOTS)
  • 🐳정보 수집 - 내부망
    • 개념
    • 로컬 호스트 정보 수집
    • 블러드하운드
    • SMB 쉐어 수집
    • 정보 수집 - 파워쉘
    • 정보 수집 - C# - TODO
    • 커버로스 유저 이름 정보수집
    • CME - 호스트이름과 IP주소
    • LDAP Anonymous Bind
  • 🐴실행 (Execution)
    • 개념
    • 파워쉘
      • 인메모리 실행
      • C# 실행
      • 윈도우 API 실행
    • LOLBAS
    • Native API - TODO
  • 🙃지속성 (Persistence)
    • 개념
    • 골든 티켓 (Golden Ticket)
    • DLL 사이드로딩 (DLL Side-Loading)
    • DLL Search Order Hijacking - TODO
    • 레지스트리 / 스타트업 폴더
  • ⬆️권한 상승
    • 개념
    • AD 권한 상승
      • Active Directory Certificate Services (ADCS)
        • ESC1
        • ESC8
      • Shadow Credentials
      • noPac
      • Kerberoasting
      • AS-REP Roasting
      • DHCPv6 포이즈닝
      • Resource-Based Constrained Delegation (RBCD)
      • SCCM
    • AD-DACL
      • AddAllowedToAct
      • AddKeyCredentialLink
      • GenericAll
      • GenericWrite
      • WriteDACL
      • AllExtendedRights
      • WriteAccountRestrictions
      • WriteOwner
      • AddMember
    • 로컬 권한 상승 - TODO
      • 잘못된 서비스 설정
      • Unquoted Service Path
      • Always Install Elevated
      • PrintNightmare
  • 🐍보안 우회 (Defense Evasion)
    • 쉘코드 암호화
    • 런타임 다이나믹 링킹 (Run-time Dynamic Linking)
    • AMSI 우회
    • 유저랜드 후킹 - 역사
    • 유저랜드 커널랜드 윈도우API 개념
    • 유저랜드 후킹
    • DInvoke - 시스템 콜
    • 페이로드 크기
    • 가변적 C2 프로필
    • 프로세스 인젝션
      • CreateRemoteThread
      • NtMapViewOfSection
    • 간단 디펜더 우회 - 쉘코드
    • 간단 디펜더 우회 - C#
    • MSIExec
    • 다형성 코드
  • 👿후속 공격 (Post Exploitation)
    • 후속 공격의 진화
    • External SID Golden Ticket
  • 🎭계정 정보 탈취 (Credential Access)
    • 커버로스
      • 커버로스팅 (Kerberoasting)
      • AS-Rep Roasting
    • 비밀번호 스프레이 공격
    • LLMNR/NBT-NS 포이즈닝
    • NTLM 릴레이 (NTLM Relay)
      • SMB to SMB
      • SMB to LDAP/S
      • HTTP to LDAP
      • SMB to HTTP
      • SMB to SCCM
    • 강제 인증 (Authentication Coercion)
      • MS-RPRN - Printerbug / Print Spooler
      • MS-EFSRPC - Petitpotam
      • MS-FSRVP - ShadowCoerce
      • MS-DFSNM - DFSCoerce
    • NTLM 다운그레이드
    • DHCPv6 포이즈닝
    • LAPS - TODO
    • DCSync
    • DPAPI
  • ↔️횡적 이동 (Lateral Movement)
    • 개념
    • Pass-the-Hash
    • SMB 와 PsExec
    • WMI
    • WinRM / Powershell Remoting
    • RDP
    • SSH Port Forwarding & Tunneling
    • Dynamic Port Forwarding & ProxyChains
    • 네트워크 피버팅 - 툴
    • Network Pivoting (피벗) - TODO
  • 개념
    • 윈도우 사용자 인증
      • NTLM 인증
      • 커버로스 (Kerberos) 인증 - TODO
      • ADCS 인증서 기반 인증
    • AD 관련 용어 해설
  • 실 공격 TTP와 대응방안 - TODO
    • 개념
  • 🧑‍🔬홈 랩 (Home lab)
    • 시스몬 (sysmon) 설치
    • SIEM과 EDR 솔루션 설치
    • 취약한 랩을 위한 설정 커맨드
    • 말웨어 자동 분석툴 Cuckoo 샌드박스 설치
  • 기본 개념
    • DNS
      • 사이버 보안에 필요한 DNS 개념 편 #1
      • 해킹에 필요한 DNS 공격 & 우회 기법 편 #2
      • 방어에 필요한 DNS 탐지 편 #3
  • 웹 & 모바일
    • 01-계정관리
      • 통신 과정 흐름 훑어보기
      • 첫번쩨, payload설정 방법
      • 두번째, 세션을 유지하는 방법
      • CSRF Token에 관하여
      • 세번째, OWASP Juice Shop 로그인 페이지에서의 통신 흐름과 구조 알아보기
  • 🎅MISC
    • Host-based 공격 CheatSheet (FEAT. OSCP)
      • Enumeration (정보 수집 및 열거)
      • Exploitation (공격)
      • Post Exploitation (후속공격)
    • Changelog
    • 기여하는 방법
    • 레퍼런스와 크레딧
    • C# snippets
    • winapi 리스트
      • original notes from obsidian
    • 파워쉘 원라이너 (oneliner)
  • 📖Personal-Research
    • README-and-Template
      • HellsGate
      • HalosGate
      • FreshyCall
Powered by GitBook
On this page
  • 도메인 구입
  • 인프라 구성
  • 팀 서버 구축
  • 인프라
  • 우리 회사는
  • 마치며
  • 레퍼런스
  1. 베이직 레드팀(Basic Redteam)

1. 공격자 인프라 구성

Previous개요Next2. 초기 침투

Last updated 3 months ago

이번 섹션에서는 다음과 같은 주제들을 다룬다:

  • 도메인 구입

  • 클라우드플레어(Cloudflare) Workers를 이용한 리다이렉터 생성

  • C2 서버 생성, 방화벽 구축

  • C2 서버의 Malleable C2 Profile을 이용한 네트워크 트래픽 변경

도메인 구입

공격자 도메인 없이도 레드팀은 가능하지만, 공격자 레벨과는 상관없이 대다수의 공격자들은 공격용 도메인을 구입한다. 도메인 에이징을 하기에는 시간이 없기 때문에 이미 만료된 도메인을 구입한다. 다음은 도메인 구입 시 고려할 점들이다:

  • WBY: Whois 기준 도메인 생성년도

  • BL: Majestic SEO 기준 Backlink 개수

  • DP: Domain Pop 기준 Backlink 개수

생성년도는 2년 이상, BL과 DP또한 각각 두 자릿 수 이상이면 충분하다. 물론 높을 수록 좋다.

좋은 도메인을 구매하기 전, 마지막으로 바이러스 토탈, wayback machine 서비스를 이용해 해당 도메인이 과거에 악용되었었는지 확인한다.

좋은 도메인을 구했다면 레지스트라에서 가격을 확인한 뒤, 적당한 가격에 구입한다.

인프라 구성

공격에 인프라 구성은 정말 다양하게 할 수 있다. 어떤 서버와 서비스를 인터넷에 노출 시킬 것이냐부터, 작전보안, 현실성, 편리함의 밸런스까지, 어떤 가치를 최우선에 두느냐에 따라 수십 가지의 인프라가 만들어질수도, 아예 인프라 자체를 운영하지 않고 공격을 진행할 수도 있다.

다양한 종류의 인프라 및 인프라 구성, 배포 방법에 대해서는 레드팀에 정리를 많이 해놨으니 레퍼런스 섹션을 참고한다.

팀 서버 구축

팀 서버 자체는 클라우드에 구축하되, 인바운드 방화벽을 설정해 오퍼레이터 IP주소에서만 접근할 수 있도록 한다. 그 뒤, 포트 80, 443, 8443, 53 등 HTTP(S)/DNS 트래픽은 리다이렉터의 AWS 사설 IP에서만 받을 수 있도록 설정한다. 어차피 C2 서버에서 노출되는 포트는 22를 제외하면 없고, 모든 트래픽은 클라우드플레어의 터널을 통해 로컬호스트에서만 받을 것이기 때문에 22를 제외한 모든 포트를 인터넷에 노출시키지 않는다.

SSH 포트포워딩등의 다양한 방법을 써서 작전보안을 고려할 수도 있지만, 실제 프로덕션 레드팀 활동이 아닌 이상 아래와 같이 설정해도 충분하다.

# 슬리버 1.5.42 설치 및 실행
apt update -y
curl <https://sliver.sh/install|sudo> bash
sliver

# armory 설치 후 https 리스너 실행
s> armory install all
s> https

# Malleable C2 프로필 적용
wget https://raw.githubusercontent.com/danielmiessler/SecLists/refs/heads/master/Discovery/Web-Content/ror.txt

python3 generateC2Profile.py default_c2profile ror.txt _session_id
cp ~/.sliver/configs/http-c2.json ~/.sliver/config/http-c2.json.bak

# 리스너 재시작
s> jobs -K
s> https -c /root/fullchain.pem -k /root/key.pem  // cerbot을 이용해 받아온 인증서 사용 

인프라

위와 같이 인프라 구성이 끝났다면 C2 서버는 Sliver, 네트워크 트래픽은 Sliver의 Malleable C2 로 인해 변경된 트래픽이 통신된다. 슬리버 에이전트의 통신은 다음과 같이 일어날 것이다.

  1. (타겟) Sliver 에이전트 --> (Cloudflare) <커스텀도메인>.workers.dev 로 콜백

  2. (Cloudflare Worker) 워커로 들어온 네트워크 트래픽 HTTP Header, User-Agent, IP 주소 등을 통해 확인. 검증된 트래픽만 Cloudflared 터널으로 전송

  3. (Cloudflared Tunnel) 터널로 들어온 트래픽의 Access Token 검증, 검증이 된다면 C2 서버의 127.0.0.1:443으로 전송

  4. (C2 서버) 서버의 포트 443 리스너로 들어온 트래픽을 Malleable C2 Profile을 통해 검증. 트래픽이 맞다면 에이전트와 통신

기본적으로 위와 같은 통신은 공격자 인프라로서 다음의 목적을 달성한다.

  1. 타겟의 네트워크에서는 클라우드플레어의 Workers.dev라는 합법적인 도메인으로 나가는 Outbound 트래픽만 보이게 한다

  2. Sliver C2를 사용한다는 것을 눈치채지 못하도록 모든 네트워크 트래픽을 Malleable C2 프로필로 바꾼다 (http header, parameters, url, cookies, user-agent, url path, 등등...)

  3. 클라우드 플레어 터널링을 통해 C2 서버의 인터넷 노출 최소화한다.

우리 회사는

  • Workers.dev, Pages.dev, azureedge.net, azure-api.net, azurewebsite.net 등의 legitimate 한 클라우드 서비스들의 엔드포인트가 공격자들의 C2 엔드포인트 및 리다이렉터로 사용될 수 있음을 인지하고, 이에 대한 대응을 하고 있는가?

  • C2 서버들이 단순히 정해진 URL 경로나 파라미터들을 사용하는 것이 아니라, Malleable C2를 사용해 언제든지 네트워크 트래픽을 변경하고 숨길 수 있다는 것을 인지하고 있는가?

  • 비컨, 에이전트와 같이 일정한 시간대, 일정한 트래픽을 특정 도메인이나 IP 주소 등으로 계속해서 보내는 엔드포인트들에 대한 능동적 점검 및 SIEM/방화벽/프록시 로그 모니터링을 진행하고 있는가?

마치며

인프라를 구성해봤으니 초기 침투를 진행한다.

레퍼런스

  • 인프라 구성 개념: https://www.xn--hy1b43d247a.com/infrastructure/concepts

  • 도메인 프론팅1: https://www.xn--hy1b43d247a.com/infrastructure/domain-fronting

  • 도메인 프론팅2: https://www.xn--hy1b43d247a.com/infrastructure/domain-fronting-azure-edgio-cdn

  • HTTP/S 리다이렉터: https://www.xn--hy1b43d247a.com/infrastructure/https-redirector

  • 피싱 인프라 - 자체 메일 서버: https://www.xn--hy1b43d247a.com/infrastructure/smtp-do

  • 피싱 인프라 - ESP: https://www.xn--hy1b43d247a.com/infrastructure/smtp-aws-zoho

  • 피싱 인프라 - 자체 메일 + ESP: https://www.xn--hy1b43d247a.com/infrastructure/smtp-toolkit-relay-esp

  • 인프라 구축 자동화 - 테라폼: https://www.xn--hy1b43d247a.com/infrastructure/infra-automation

  • 네뷸라를 이용한 내부 VPN 인프라: https://www.xn--hy1b43d247a.com/infrastructure/old

도메인 결정 후 구입하기 전, 를 사용해 도메인 카테고리를 확인한다. 이번 프로젝트에서 사용될 도메인의 경우 18년 이상 된 도메인이고, BL과 DP 점수가 어느정도 있으며, 이미 도메인이 Economy, Finance, Health, Fitness로 카테고리화 되어 있다. 특히 Finance와 Health 카테고리가 중요하다. 대부분의 기업 프록시 같은 경우 아무리 프록시단에서 DPI를 진행한다고는 해도 금융과 건강 관련된 도메인에는 컴플라이언스 때문에 룰이 좀 느슨하거나, 심지어 DPI를 진행 안하는 경우가 있기 때문이다.

이번 베이직 레드팀 프로젝트에서는 현실적이고, 사용하기 편리하며, 간단한 인프라 구성을 클라우드 플레어 터널링과 Workers를 이용해 만든다. 자세한 내용은 에 정리해놨으니 기술적인 부분이 궁금하다면 참고한다.

C2 프레임워크는 , 뿐만 아니라, 으로 공격을 실행하는 실제 공격자들도 많이 사용하고 있는 Sliver(슬리버)를 이용한다.

슬리버 설치 후 기본 프로필을 사용하지 않고 을 사용하기 위해 실제로 Ruby on Rails 관련 서버들에서 사용하는 URL 경로, 파일 이름 등이 들어간 파일을 사용해 프로필을 제작한다.

Cloudflare Radar
shealthinsurance.com
레드팀.com
러시아 대외정보국(SVR)
랜섬웨어 갱
한국을 대상
Malleable C2 프로필