악성코드(kisia - ai 악성코드)
공격자들의 목적 : 1. 약탈 - 기밀 자료, 개인 정보, 게임 머니, 암호 화폐, cpu(자원)
2. 협박 - 침해 사실 공개, Dos, 랜섬웨어
악성코드 종류 : Dropper, Downloader, KeyLogger, Miner, Ransomware
(드라퍼와 다운로더는 파일을 추가 생성한다, 다운로더가 드라퍼보다 찾기 쉽다)
fileless공격 : 악의적인 기능을 수행하는 코드를 메모리에서만 실행하면서 시스템에 피해를 입히는 유형의 공격(악성 파일 스스로를 삭제하거나 내부 명령어를 이용)
Endpoint : 네트워크에 연결된 단말 장치
Endpoint 위협 : 기업의 외부에 열려 있는 서비스의 취약점을 통해(네트워크를 통해) 접근
내부의 사용자가 악성사이트 방문, 피싱 메일 열람 등을 통해 악성코드 감염
Endpoint 위협 탐지 솔루션 : APT 솔루션(엔드포인트로 유입되는 구간에서 악성파일을 동적분석하여(샌드박스활용) 악성 코드 유입을 차단한다.)
Anti-Virus(엔드포인트에 유입된 바이러스 등의 악성코드를 탐지(진단)하고 치료하기 위한 솔 루션, 실시간 보호*매체제어*유해 네트워크 트래픽 침입차단 등의 기능을 포함)
EDR 솔루션(Endpoint Detection & Response의 에이전트는 클라이언트의 거의 모든 행동을 관찰하고 분석하여, 수집된 정보로 Threat Hunting을 가능하게 함, 즉 사후 기능임)
내부통제 솔루션(내부통제를 위한 DLP, 망연계, 패치관리 등의 리스크 관리 솔류션도 엔드포 인트 보호 역할을 함, 워터마크도 포함됨)
VAC : Valve Anti-Cheat, uer access control
prefetch : 윈도우 메모리 관리자의 한 구성 요소, 메모리에 응용 프로그램이 필요로 하는 파일과 데이터의 정보를 미리 불 러 놓아 부팅과 프로그램 실행 시간을 줄여주는 역할
TTP : tactics, techniques and procedures
MITRE ATT&CK : https://attack.mitre.org/
MITRE ATT&CK®
MITRE ATT&CK® is a globally-accessible knowledge base of adversary tactics and techniques based on real-world observations. The ATT&CK knowledge base is used as a foundation for the development of specific threat models and methodologies in the private se
attack.mitre.org
DLL : 소프트웨어 개발에서 자주 쓰고 기초적인 함수들의 중복 개발을 피하기 위해 모아놓은 것
kernel32, Ntdll, GDI32, USER32, ADVAPI32, SHELL32 등 이 악성코드에 자주 활용됨
procexp : 실시간으로 프로그램 동작확인(단점 : 오진관찰, 현재만 가능), 각각의 PID확인 가능, virustotal과 연동, 해당 프 로세서에서 동작되던 네트워크 세션 확인 가능
procmon : proexp를 대체, 실시간으로 모든 활동을 남김, 때문에 너무 많은 로그가 남음
네트워크(어떤 통신을 하는가, 개인정보 유출, 악성코드 다운로드 위치), 파일 시스템(어떤 파일을 삭제하고 쓰 고, 만드는지), 레지스트리(악성코드 지속성, 카운트), 프로세스 * 쓰레드(자식 프로세스 관련)
wireshark : 각각의 패킷을 2,3,4,7계층으로 나누어 시각적으로 보여줌
netminer : 세션, 관련 이미지나 파일 덤프
ollydbg : exe를 어셈블리어로
regshot : 동적확인에 쓰이지만 레지스터만 탐색함
wireshark, networkMiner : traffic 확인에 쓰임, 다만 snipping 하는 동안 무얼 하는지 모름(LAN에서 이루어지기 때문에 왔 다갔다 했다는것만 알수 있음)(필터링으로 http contains exe 하면 http에 exe가 포함된 것 다 올라옴)(sys 정보 보냄, sys, ack 응답,referer 어디서 들어왔는가?(공격루트확인)
PE파일 : exe, dll, sys, scr 등이 있음
HEADER, CODE, DATA, IMPORT(여기서 끝이 아님 더 늘어날 수 있음)로 구성
HEADER는 ImageBase(PE파일이 로딩되는 파일 주소를 표현), Address of Entry point(가장 먼저 실행될 코드 위치를 나타냄)(codesection가리킴) 로 구성,
CODE는 compile된 code, 즉 기계어가 있음
DATA는 전역변수를 나타냄
IMPORT는 DLL이름, API이름을 나타냄
Cryptography hash : 1. 역함수 존재가 없음 2. 동일한 해시를 가질 수 없음 3. 결과를 예측할 수 없음
ex) MD 4/5, SHA-
FullFuzzy hash : 두개가 유사한지 비교하는 해쉬값(family인지 확인)
HEADER
CODE(.text) : 여기에 malcode로 향하게 jmp 수정 → 인증서 해시랑 달라짐, 즉 파일 안열림
매번 인증서 발급 받기 어려워짐 → 원래 있는 것(powershell등)(fileless)이용, LOL(living of the land, 자급자족)
DATA(.data)
IMPORT(.idata)
Exploit : software가 의도하지 않은 행동을 하도록하는 code or event or file
Shellcode : 취약한 software가 강제로 실행하는 코드
payload : 대상의 취약점으로 대상의 시스템에 익스플로잇 한 뒤, 수행하는 악의적 행위