Monthly Archives: 5월 2017

프로세스 다시 덤프하기 – PE 파일 구조 재구성, ImportREC

프로세스 다시 덤프하기 – PE 파일 구조 재구성 앞서 Ollydbg를 이용해 패킹된 프로그램을 수동으로 따라가면서 분석하여 OEP를 찾았지만, 현재 패킹된 상태이기 때문에 프로그램을 종료 후 다시 분석을 진행하게 되면 또 다시 처음부터 분석하여 패킹을 해제해야 한다. 이는 참 불편한 작업이라 할 수 있다. 이를 방지하기 위해 프로그램의 패킹을 해제하고 새로 발견한 OEP 기준으로 프로그램을 다시

Read More

JunkCode – 프로세스 역분석 보호

JunkCode – 프로세스 역분석 보호 정크 코드는 단어 그대로 불필요한 코드를 삽입하여 분석을 어렵게 만드는 용도로 이용된다. 중요한 코드의 실행 전/후나 프로그램 중간 중간에 아래 코드를 삽입하면 불필요 코드가 삽입되면서 프로그램 분석을 어렵게 만들수 있다. 이러한 불필요 코드를 만드는 방법은 간단하다. 먼저 기존 레지스터의 값을 스택에 저장해 놓은 후 해당 레지스터를 이용하여 여러 연산을 진행한다.

Read More

더미다 – 패킹 도구, 바이너리 암호화

더미다 – 패킹 도구, 바이너리 암호화 실제 프로그램에 대한 암호화를 진행해도 좋지만, 모든 보안 요소를 직접 구현한다는 것은 무리다. 따라서 부분적으로 직접 코드를 암호화하고 그 위에 패커를 통해, 보호하는 방법이 유용하다. 그럼 대표적인 상용 패커 더미다(Themida)에 대해 살펴보자. 더미다는 역분석을 못하게 한다기 보다는 어차피 완전히 막기는 어렵기 때문에 분석을 지치도록 하자는 목적을 가진 패커로서, 상용

Read More

패커 분석 – UPX, PE 파일 구조

패커 분석  – UPX, PE 파일 구조 많은 패커들은 암호화된 코드를 복호화하고 초기 스택 주소로 되돌아 오는 특성을 가지고 있다(패커에서 만들었다기보다는 함수 호출 전 ESP 레지스터를 저장하는 운영체제 특성이다). 이러한 특성을 이용하여 초기의 ESP 레지스터에 대해 메모리 브레이크 포인트를 설정해, 자동적으로 프로그램을 실행하면 암호화된 코드를 해제를 완료한 후 OEP(실제 엔트리 포인트라 불린다. Original Entry Point)에

Read More

네트워크 패킷 분석의 기본 – TCP/IP 7계층, 4계층

  역분석과 보안 분야에 중요 분야라 할 수 있는 패킷 분석은 실제 네트워크로 전송되는 패킷을 잡아서 해당 패킷이 의미하는 의미를 파악하고 목적을 알아내는데 큰 역할을 한다. 네트워크 패킷에 대해서는 좀금 전 데이터 수집 항목에 없었다. 그도 그럴것이 서버에 모든 데이터를 항시 실시간 패킷을 수집하는 곳은 거의 없다. 보통 패킷 분석은 분석을 완료하고, 증명 단계 자료를

Read More

Volatility 사용법 – Windows 메모리 포랜식 분석

Volatility – 메모리 분석 Volatility는 Volatile Systems https://www.volatilesystems.com/default/volatility 회사에서 공개한 메모리 덤프 분석 도구이다. 사고 머신의 메모리 덤프를 편리하게 분석할 수 있는 도구 중 이만큼 확장성과 유연성을 겸비 도구를 찾아보기 어려울 만큼 상당한 분석력을 자랑한다. Volatility는 파이션(Vbscript와 함께 분석가들이 많이 사용하는 스크립트 언어, http://www.python.org)으로 개발된 도구로, 현재 2.0 버전까지 존재하며, 윈도우7까지 지원한다. 본 도구은 파이션을

Read More

Windows 파일 무결성 – 파일 해쉬 알고리즘 사용하기(FCIV,FileVerifier)

Windows 파일 무결성 포렌식에 관심 있는 분들을 일부 알고 있듯이 컴퓨터 증거 자료는 법적으로 증거로 인정받기가 어렵다. 전자식으로 되어 있는 데이터는 원본이라는 보장을 하기가 어렵기 때문이다. A라는 파일이 이동되면서 처음 수집한 A라는 것을 증명하기가 쉽지 않다. 우리가 사용하는 무수히 많은 컴퓨터 내의 데이터들은 수시로 변경되고, 그 변경된 내용을 외부에 노출되지 않을 수 있다. 이는 전자

Read More

기존 프로그래머/엔지니어 관점에서 머신러닝 시작하기

나는 10년정도 IT를 일하면서 최근 유행인 머신러닝, 딥러닝을 이해하고자 노력하였다. 처음 아무것도 모르는 상태에서는 이 기술만 알면 다 되는건가? 라는 생각이 들었고, 조금 접했을 때는 슈퍼바이저? switch랑 다른게 뭐야? 라는 생각이 들었다. 요즘도 외부적인 시선을 보면, 머신러닝만 하면 다 된다라는 말처럼 나오는데, 이말에 속지 않기를 바란다. 결론적으로 애기하면 이는 기존 기술을 대체하는 것이 아닌 강화하는

Read More

WannaCryptor랜섬웨어 관련 대응 요령 – smb v1 비활성화

smb v1 비활성화 감염시 발생하는 알림창 WannaCryptor랜섬웨어 관련 대응 요령 – smb v1 비활성화 – GPO 배포 가능   위 비디오는 SMB v1 비활성화 방법을 설명합니다. 레지스트리 방식도 있지만 위 방법이 보다 효과적일 것 같네요. 우선 본인 PC가 렌섬웨어에 걸리지 않은 상태에서 동일한 네트워크 상에 다른 PC로 부터 감염을 최소화 하는 방법들입니다. 만약 렌섬웨어에 걸렸다면,

Read More

Windows 사용자 추적 방법 – RegRipper, Userassist Keys, MUICache, MRUList, Typedurls, Exchange

Windows 사용자 추적 방법 현재 우리가 분석하고 있는 사고는 시스템 장애가 아닌 누군가 침입하여 조작하였다는 것을 가정으로 진행하고 있다. 따라서 누군가 침입하였다면, 분명 시스템을 사용한 흔적들이 레지스트리, 혹은 파일, 유저 데이터 영역에 남아 있게 된다. 이를 타임라인으로 통합을 통해 나누어 분석하게 되면, 사용자가 어떠한 작업을 진행하였는지 을 알 수 있다. 이와 같은 사용자 추적이 필요한

Read More