Lucete

휘발성 데이터 수집 3탄인데... 언른 마무리 지어야징 본문

Security Study/Forensic

휘발성 데이터 수집 3탄인데... 언른 마무리 지어야징

z3alous 2018.12.18 00:06

언른 마무으리!!! 지어야 할 것같습니다!!! :)


2탄에서 생각보다 많은 것들을 못했습니다. 이유는 SysinternalsSuite 도움이 필요해서 말이죠!!

그래서 오늘은 SysinternalsSuite 도움을 좀 받아봅시다.! NetBIOS 는 다음 시간엥 케케케케


ummmmmmmmmmm..................

먼저 뭐부터 봐야할까요?


먼저 핸들 정보부터 알아봅시다!!

핸들이란 프로세스 정보 중 하나로 커널이 관리하는 오브젝트들에 할당되는 유일한 값이다.

그럼 핸들은 하나만 있을까? 아니다. 한프로세스 당 핸들은 여러개가 있는데 실제로 가리키고 있는 오브젝트는 레지스트리에 기본적으로 기록되어있다.

프로세스 생성시 필요한 자원에 대한 사용 요청을 할 때 사용하는 값, 파일,포트 등을 포함하고 있다.

handle != PID(Process ID)

  * PID : Process에게 할당되는 고유의 ID

이를 확인하기 위해서 SysinternalsSuite의 handle.exe 도구를 쓸 것이다. 이유는 기본적으로 핸들 정보를 수집해주는 명령어가 없다.

그럼 먼저 handle.exe의 옵션을 확인해 봅시다.

handle.exe /? 를 이용하여 옵션들을 확인할 수 있다.

하지만 기본적으로 옵션없이 handle.exe 만을 이용하여 할 수있지만 너무나도 많은 양들이 있기때문에 more이라는 명령어를 이용하여 조금씩 나눠서 확인할 수 있다.

이러한 식으로 확인을 할 수 있다.!!!


두번째는 dll 정보를 수집할 것 이다.

그럼 먼저 dll 이 뭔지 를 알아보자

dll은 동적 링크 라이브러리(dynamic-link library)이며 소프트웨어 개발에 자주쓰고 기초적인 함수들을 중복 개발하는 것을 피하기 위해 만든 것이라고 볼수 있다. 즉, 각 프로세스에서 사용되고 있는 dll 정보를 얻어와야 한다. 

dll 같은 경우 listdlls.exe 라는 도구를 사용할 것이다.

마찬가지로 listdlls.exe /? 명령어를 입력하여 각 옵션들과 사용방법을 볼수 있다.

listdlls.exe를 입력 할 경우 엄청나게 많은 프로세스의 dll들이 나오기 때문에 more 명령을 같이 사용하는 것이 좋다.

하지만 특정 PID를 이용하여 dll을 볼수 있다.

이렇게 listdlls.exe 뒤에 PID 번호를 입력하게 되면 특정 PID의 dll을 볼수 있다.


다음은 로그온 정보이다.

로그온 정보는 말그대로 사용자의 정보를 수집하는 것인데 기본적으로 net session이라는 명령어가 있다.

이는 기본 windows에서 지원을 해주는 명령어지만 많이 부족 하며 net session의 경우 원격에서 로그온 한 사용자 정보를 보여주는 것이다.

좀더 상세히 알아보기 위해 PsLoggedon.exe.와 Logonsessions.exe 라는 도구를 사용해볼 것인데...

net session을 입력해보면 목록에 항목이 없습니다. 라는 말을 보여준다. 이유는 위에서 말했던 것 처럼 원격에서 접속한 사용자를 보여주는데 원격으로 접속한 사용자가 없기때문이다.

이번에는 psloggedon.exe를 사용해보면

이는 로컬 사용자와 원격 사용자 모두 보여준다. 지금 같은 경우 원격 사용자가 없기 때문에 로컬사용자를 보여 주는 것이다.

포스팅은 17일에 되고 있는데 왜 2018-12-12 일까 ??? 사실 12일에 컴퓨터를 켜고 끄지않았다...

다음은 logonsession.exe 이다.  이 또한 /?를 이용하여 사용방법을 볼수있는데 c옵션을 이용하여 csv파일로 뽑을 수도 있고 시대 좋아졌다..


/p옵션을 이용하면 사용자가 사용하고있는 프로세스 정보까지 알려주기 때문에 psloggedon.exe 라는 도구보다 좀더 섬세하다고 볼수 있다.

다들 힘드시죠 ㅠㅠ 조금만 더 힘냅시다!!!

다음은 파일 핸들이다. 파일핸들은 뭘까? 쉽게 생각하면 이름 그대로이다. 파일이 가지는 핸들이다.

그럼 어떻게 수집해야할까? 

명령어는 net file이라는 명령어가 있다. 그리고 psfile.exe 라는 도구가 있다.

케케케케케케케케케 열린 파일이 없단당


다와간다ㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏ

다음은 open port와 프로세스 맵핑 정보 수집이다.

다들 open port를 보는 방법은 많이 봤을 것이다.(netstat 명령어) 

그럼 이정보를 어디다가 쓸까? 이정보는 프로세스가 어떤 포트로 어떤 서버와 연결하여 어떤 작업을 하고 있는지를 알 수 있도록 도와준다.

이를 알아 보기위해선 netstat -b 명령어를 사용할 것이다. 

이렇게 쉽게 정보를 수집가능하지만 프로세스의 전체 경로가 나오지 않아 또 다른 작업이 필요하다.


다음은 윈도우 서비스 정보를 알아볼것이다.

이는 어떠한 악성 프로그램이 서비스에 등록되어 사용자 몰래 실행되고 있는지를 확인 가능케 한다.

이를 알아보기 위해서 psservice.exe 도구를 사용 해볼것이다.

옵션을 알아보기 위해선 /?로 다른 도구들과 동일 한것을 확인 할 수 있다.

옵션을 확인 하고 나면 바로 실행 가능 하다는 것을 알 수 있을것이다.

이렇게 윈도우 서비스 정보를 알아 낼 수 있다.


오늘 마지막으로 알아 볼 것은 시작 프로그램 목록 정보이다. 시작 프로그램 목록에 등록된 서비스는 시스템이 시작 될때 자동으로 시작  된다. 이는 악성 프로그램이 시작 프로그램 목록에 등록되어 악의적인 행위를 할 수 있다는 것이다. 

이것을 알아보기 위해 autorunsc.exe를 사용 할 것이다.


이렇게 경로와 날짜 프로그램 명등을 나타내어 준다.

이렇게 오늘도 많은 것들을 수집하는 것을 알아 보았다.

많은 것을 포스팅 하고 싶지만 시간도 없고 ,... 우울하당


열심히 포스팅을 해보겠습니다.!!!! 그리구 지금 A형 독감 유행이래요!! 다들 독감조심하시고 늘 건강이 최선입니다.


0 Comments
댓글쓰기 폼