목록KISA 사이버 보안 훈련 (60)
작은 메모장
PE 파일의 악성 및 비정상 여부 식별 전략섹션의 엔트로피 분석패킹 되었거나 암호화된 영역이 있는 실행 파일은 악성코드일 가능성이 상대적으로 높다.원본의 악성 파일을 압축 및 암호화하여 대상이 되는 실행파일의 섹션 부분에 데이터를 주입하는 방식으로 숨기는 것이다.이를 확인하는 방법은 세션의 엔트로피를 조사하면 되는데, 이 값이 7 이상인 경우 패킹 및 암호화된 것으로 판단한다.해당 조사는 엔트로피 값을 계산할 수 있는 툴(PEScanner, PE Studio 등)을 사용하여 확인 가능하다. 엔트리 포인트 분석일반적인 경우, 엔트리 포인트가 첫번째 섹션에 속하며, ".text", ".code"등의 이름을 가진다.이 섹션 외, 즉 첫번째 섹션에 엔트리포인트가 속하지 않는 경우 악성일 가능성이 높다. CR..
PE 파일의 주요 자료구조PE의 개괄적 구조와 실행 전후 변화PE 파일, 즉 PE-COFF 파일은 EXE, DLL, SYS 확장자를 가진 파일의 포멧이다.파일 확장자에서도 알 수 있듯, 윈도우 운영체제에서 주로 사용되는 파일들의 파일 형식이다.때문에, 주로 동적 라이브러리 정보, API Import/Export 정보, 실행 관련 코드, 실행 관련 리소스 정보 등을 구조화하고 관리하는 목적으로 쓰인다.PE 파일은 실행 전과 실행 후의 차이가 거이 없으며, 가상메모리에 매핑된 후에도 레이아웃에 큰 변화가 없는 것이 특징이다. PE 파일은 하나의 헤더와 여러개의 섹션으로 이루어진 형태를 띤다.섹션은 딱히 정해진 갯수가 없다. 파일이 필요로 하는 데이터들의 분류가 많으면 많을수록 섹션은 늘어난다. 크게 중요한 ..
악성 문서 분석 절차트리아지정상 Office 문서와 악성 Office 문서를 식별, 분류하는 작업을 의미한다.침해사고가 발생한 PC 환경에는 단순이 악성 문서만 존재하는 것이 아닌, 정상 문서와 섞여있는 경우가 대부분이다.때문에, 서로 섞여있는 문서들 속에서 악성 문서만을 식별하는 작업을 우선적으로 실행해야 분석 할 준비가 된다.해당 과정에는 Office 파일 내에서 VBA 코드, DDE/DDEAUTO 명령어, 쉘 코드, OLE 객체 포함 여부를 확인하는 형식으로 악성 여부를 확인한다.물론 이걸 수동으로 하면 시간이 상당히 오래 소모되므로, 여러 도구를 사용하여 이를 분류한다. 악성 스크립트/명령어 확보악성 문서 안에 있는 VBA 코드 혹은 스크립트의 위치를 파악하고 추출하는 작업이다.단순히 추출에서만 ..
스피어 피싱 유형MS Office 문서PDF 문서HWP 문서RTF 문서압축 파일 (ZIP)스피어 피싱을 보내는 목적은 피해자의 소프트웨어 취약점을 공격, 파일에 내장된 객체(쉘 코드, 스크립트, 익스플로잇, 실행파일 등)를 강제로 실행 시키기 위함이다. 악성 문서파일의 일반적인 구성요소익스플로잇문서 파일을 처리하는 소프트웨어 (MS Office, 한컴 Office, Adobe PDF 등)의 비정상 동작을 유발하고 임의 코드를 강제로 실행 하도록 유도하는 역할을 하는 문서 내 데이터즉, 악성 행위를 하도록 하는 코드 등의 데이터를 의미한다. 쉘 코드취약한 소프트웨어의 메모리 상에서 임의로 실행되는 머신 코드 혹은 명령어과거 주로 쉘 프롬프트를 획득하는 기능으로 시작하여 이런 이름이 붙었으나, 최근에는 다..
동일하게 KISA GYM으로부터 제공받아 실습을 진행하였다. 이전 시나리오와 동일하게, imageInfo를 추출한 후, pslist와 pstree, dlllist, 그리고 procdump로 프로세스 이미지를 덤프 뜬다. 정보를 전부 습득했으니, 이제 분석을 시작한다.처음으로 분석을 시도할 곳은 dlllist 파일이다.이전 시나리오와 동일하게, windows 폴더, programs files 폴더, systemroot를 제외한 위치의 정보를 가져오게 한다.정상적인 위치가 아닌 이상한 위치에 설치되어 실행된 프로세스를 정보를 출력하라는 것이다.grep -i "command line" dlllist.txt | grep -v -i "c:\\windows" | grep -v -i "c:\\program files..
동일하게 KISA GYM으로부터 제공받아 실습을 진행하였다. 시나리오 1과 동일하게, imageInfo를 추출한 후, pslist와 pstree, dlllist, 그리고 procdump로 프로세스 이미지를 덤프 뜬다. 정보를 전부 습득했으니, 이제 분석을 시작한다.처음으로 분석을 시도할 곳은 dlllist 파일이다.시나리오 1과 동일하게, windows 폴더, programs files 폴더, systemroot를 제외한 위치의 정보를 가져오게 한다.정상적인 위치가 아닌 이상한 위치에 설치되어 실행된 프로세스를 정보를 출력하라는 것이다.grep -i "command line" dlllist.txt | grep -v -i "c:\\windows" | grep -v -i "c:\\program files"..
KISA GYM으로부터 제공받은 환경은 다음과 같다.해당 환경은 아티팩트 수집을 통해 가져온 환경이다. 해당 폴더 내에는 메모리 덤프를 해 놓은 파일이 있는데, 이를 분석할 것이다. 해당 경로로 CMD를 실행한다. 해당 메모리 파일 분석에는 Volatility 포랜식 툴을 사용할 것이다.이 프로그램을 사용하여 분석할 첫 번째 행동은 어떤 환경 정보를 가지고 있는지 확인할 것이다.즉, 분석을 시작하기 앞서 해당 메모리 파일의 프로필 정보를 확인하는 것이다.다음의 명령을 사용한다.volatility25 -f memory.raw imageinfo 상기 명령어를 통해 해당 프로파일이 Windows7 ServicePack0, Windows7 ServicePack1을 사용하고 있고, x86 아키텍쳐를 사용하고..
ChatGPT를 활용한 버그헌팅ChatGPT는 OpenAI에서 개발한 대형 언어 모델(LLM) 챗봇이다.쉽게 말해, 막대한 양의 언어 데이터를 바탕으로 인공신경망을 구성, 인공지능으로 만든 모델이다.어마어마한 양의 데이터를 학습시킨 결과 이전 인공지능보다 비약적인 언어 능력 향상이 있었고, 다양한 분야에서 이를 활용하기 시작했다.당연하게도, 해킹 영역에도 이를 사용하기 시작했고, 해킹 전문가들이 점점 사용하게 되면이 고도화되었다. 초창기의 ChatGPT는 악성 스크립트 제작이나 공격 코드 제작같은 공격에 직접적인 방향으로 발전됐다.때문에 초기에는 많은 블랙 해커들이 이를 이용하여 ChatGPT를 상당히 이용하였고, OpenAI 측에서 이러한 시도가 점점 많아지는 것을 깨닫자 해당 질문을 필터링하기 시작했..