본문 바로가기
반응형

정보보안23

[Malware] Flare VM을 이용한 악성코드 분석환경 구축 Flare VM은 파이어아이에서 개발하여 오픈소스로 제공하고 있는 악성코드 분석, 정보보안 연구, 리버스 엔지니어링을 위한 가상환경 도구입니다. 설치하는데 시간이 오래 걸리는 편이지만 악성코드 분석 환경으로서 굉장히 유용한 도구들을 제공하기 때문에 FlareVM 환경을 구축하는 방법에 대해 포스팅 하려 합니다. 1. VirtualBox에 윈도우 구축하기 ※ 아래 URL에서 버추얼 박스에서 사용할 수 있는 윈도우 가상 환경 파일을 다운 받을 수 있습니다. https://developer.microsoft.com/ko-kr/microsoft-edge/tools/vms/ Virtual Machines - Microsoft Edge Developer Virtual MachinesTest IE11 and Micr.. 2021. 7. 11.
[Forensic] Linux 파일 시스템(Ext) 개요 Linux 파일 시스템 리눅스 운영체제는 Ext(Extended File System), Ext2, Ext3, Ext4 또는 라이저 파일 시스템을 사용한다. 유닉스는 유닉스 파일 시스템(UFS)를 사용한다. 각 파일 시스템은 약간 다른 방식으로 데이터 매핑과 데이터 저장소의 문제에 접근한다. 그러나 전체적인 처리 과정과 이론은 리눅스 와 유닉스 시스템이 서로 유사하다. Ext 리눅스 초기에 사용되던 파일시스템이며 호환성이 없다. Ext2 호환성, 안정성, 속도가 좋아 리눅스 파일시스템의 대부분을 제공한다. Ext3 스토리지에 데이터를 저장하기 전에 Journal 영역에 데이터 변경 이력을 저장하는 저널링(Journaling)을 지원하며 현재 리눅스에서 가장 많이 사용된다. Ext4 파일 접근 속도가 향상.. 2021. 7. 6.
[Forensic] 모바일(안드로이드) 아키텍처 및 APK 파일 구조 □ 안드로이드 아키텍처 1. 리눅스 커널 리눅스 커널은 하드웨어와 OS를 연결해 주며 프로세서의 보안을 담당하고 프로세스의 스케줄링, 추상화, 하드웨어 드라이브 및 전력 관리를 담당한다. 2. HAL(Hardware Abstraction Layer) 운영체제와의 호환성을 해결하고 일관성 있는 인터페이스를 제공하기 위한 형태로, 여러 모듈 형태로 구성되어 있고 카메라, 블루투스 같은 하드웨어 구성요소의 인터페이스를 구현한다. 3. Libraries 안드로이드 시스템 구성요소와 서비스들은 Native C/C++로 구현된 라이브러리들이 있는데 3차원 그래픽의 OPEN GL, 로컬 데티어베이스를 제공하는 SQLite, 웹 브라우징을 위한 WebKit, 멀티미디어 재생을 위한 Media Framework 등이 제.. 2021. 6. 30.
[Forensic] 윈도우 응용프로그램 실행 흔적 아티팩트(prefetch, amcache, Jump List) 윈도우에서 프로그램 실행의 흔적을 찾기 위한 아티팩트에는 프리패치(prefetch)와 암캐쉬(Amcache)가 있다. 1. 프리패치(Prefetch) 윈도우 XP부터 운영체제에서 제공하는 메모리 관리 정책으로 실행파일을 메모리로 로딩 시 효율적으로 사용하기 위해 개발되었다. 실행 파일이 사용되는 시스템 자원을 특정 파일에 사전에 저장한 뒤 사용자가 파일을 실행할 경우 미리 저장된 정보를 메모리에서 실행하여 실행 속도를 향상하는 개념이다. - 부트 프리패칭 시스템이 부팅을 시작한 후 최대 120초까지 모니터링을 한 뒤 부팅 시 사용되는 코드와 데이터 결과를 파일에 저장하여 차후 부팅 시 속도를 향상시키는 목적으로 사용 - 응용프로그램 프리패칭 응용프로그램을 초기에 실행할 때 캐쉬 관리자가 처음 10초 동안.. 2021. 6. 24.
[Forensic] Windows 레지스트리 분석 윈도우 레지스트리(Windows Registry)는 마이크로소프트 윈도우 32/64비트 버전과 윈도우 모바일 운영 체제의 설정과 선택 항목을 담고 있는 데이터베이스로, 모든 하드웨어, 운영 체제 소프트웨어, 대부분의 비운영 체제 소프트웨어, 사용자 PC 선호도 등에 대한 정보와 설정이 들어 있다. 사용자가 제어판 설정, 파일 연결, 시스템 정책, 또는 설치된 소프트웨어를 변경하면, 이에 따른 변경 사항들이 레지스트리에 반영되어 저장된다. 레지스트리는 또한 성능 카운터와 현재 사용하고 있는 하드웨어와 같은 런타임 정보를 노출하면서 윈도우를 커널의 운영 체제 안에 제공한다. https://ko.wikipedia.org/wiki/%EC%9C%88%EB%8F%84%EC%9A%B0_%EB%A0%88%EC%A7%8.. 2021. 6. 22.
[Forensic] 윈도우 파일 메타데이터(MFT, MAC 시간) 1. 파일 메타데이터 파일은 두 종류의 메타데이터를 포함하는데, 이것은 애플리케이션이 파일을 인지하고 실행할 때 사용된다. 내부 메타데이터는 파일 안에 포함돼 있으며, 바이너리 스트링이나 텍스트 스트링으로 구성돼 있다. 보통 메타데이터를 구성하고 있는 세가지는 MFT 속성, 파일 헤더, 매직 넘버이다. MFT 속성 현재 윈도우에서 사용되는 NTFS 파일 시스템은 메타데이터 파일에 파일 관련 정보를 갖고 있다. 메타데이터 파일은 디스크가 NTFS로 포맷될 때 생성된다. 그 후 모든 파일은 하나 이상의 MFT 레코드로 드라이브에 복사된다. MFT 레코드는 운영체제 부팅 정보에 관한 속성을 포함한다. 다음 표는 NTFS에서 사용되는 MFT 속성에 할당된 16진수를 보여준다. 속성 이름 16진수 값 사용하지 않.. 2021. 6. 7.
[Reversing] 컴포넌트 객체 모델(COM) 1. 컴포넌트 객체 모델 컴포넌트 객체 모델(COM, Component Object Model)은 이종의 소프트웨어 컴포넌트에서 상호 세부내용을 모르더라도 서로 다른 코드를 호출할 수 있게 하는 인터페이스 표준이다. COM을 이용하는 악성코드를 분석할 때 COM 함수 호출의 결과로 어떤 코드가 실행될지 알 필요가 있다. COM은 운영체제 내부와 대부분의 마이크로소프트 애플리케이션에서 흔히 사용한다. COM은 클라이언트/서버 프레임워크로 구현된다. 클라이언트는 COM 객체를 사용할 수 있게 하는 프로그램이고, 서버는 COM 객체 자체인 재사용한 소프트웨어 컴포넌트다. COM을 사용하는 각 스레드는 다른 COM 라이브러리 함수 호출 전에 적어도 한 번은 OleInitialize나 CoInitializeEx .. 2021. 6. 2.
[Reversing] 윈도우 커널 모드와 사용자 모드 커널 모드와 사용자 모드 ​ 윈도우는 두 가지의 프로세서 권한 수준을 이용하는데, 커널 모드와 사용자 모드를 사용한다. 커널 모드에서 동작하는 운영체제와 하드웨어 드라이버를 제외하면 거의 모든 코드는 사용자 모드에서 동작한다. 사용자 모드에서 각 프로세스는 개별 메모리, 보안 권한과 자원을 소유하고 있다. 사용자 모드 프로그램이 유효하지 않은 명령이나 종료를 수행하면 윈도우는 프로그램의 모든 자원을 반환하고 종료시킨다. ​ 사용자 모드에서 하드웨어 조작이나 커널 내의 상태를 변경하려면 윈도우 API를 사용해야 한다. 커널 구조를 변경하는 윈도우 API 함수를 호출할 때 커널로 호출을 하게 된다. 디스어셈블리에서 SYSENTER, SYSCALL, INT 0x2E 명령어가 보이면 커널 호출이 진행 중이라는 .. 2021. 6. 1.
[Forensic] 윈도우 파일 복구 개요 및 과정 1. 슬랙 공간에 대한 이해 슬랙 공간은 파일에 할당된 디스크 공간이지만, 실제로 사용하지는 않는다. 디스크는 섹터의 외부에 만들어지는 클러스터의 정보를 저장한다. 만든 파티션 크기와 선택한 파일 시스템에 다른 클러스터 내의 운영체제 포맷 디스크는 1부터 64의 섹터를 가진다. 개별 클러스터는 오직 하나의 파일에 할당할 수 있다. SECTOR 154926645 storing twinkle.txt Twinkle, twinkle, little star. How I wonder what you are. Up Above the world so high, like a diamond in the sky. Twinkle, twinkle, little star. How I wonder what you are. 0000.. 2021. 5. 24.
반응형