'공부'에 해당되는 글 93건

  1. 2012.07.17 [Sysinternals]Psservice.exe
  2. 2012.07.17 [Windows]Doskey.exe
  3. 2012.07.17 [DiamindCS]Openports.exe 1
  4. 2012.07.17 [Sysinternals]Psfile.exe
  5. 2012.07.16 [Sysinternals]Psloggedon.exe
  6. 2012.07.16 [Windows]Net.exe
  7. 2012.07.16 [Sysinternals]ListDlls.exe
  8. 2012.07.16 [Sysinternals]Handle.exe 1
  9. 2012.07.16 [Sysinternals]PsList.exe 1
  10. 2012.07.16 [Windows]Netstat.exe

서비스란 일반적인 프로세스와는 달리, 시스템이 시작될 때 자동적으로 시작되는 특별한 프로세스들이다. 이는 사용자와 특별히 상호작용을 하지 않으며 사용자가 로그온을 하지 않아도 자동적으로 시작될 수 있는 특징이 존재한다. 그런 특징 떄문인지 많은 악성코드의 타겟이 되기도 한다.


Psservice.exe는 이러한 서비스에 대한 상세 정보를 알려주는 프로그램이다.



[Figure 1 - Psservice.exe]



동작중인 프로세스라면 STATE에 RUNNING으로 표시되어 한눈에 상태가 어떤지 파악할 수가 있다.


'공부 > Forensics' 카테고리의 다른 글

[Windows]Route.exe  (0) 2012.07.17
[Sysinternals]Autorunsc.exe  (0) 2012.07.17
[Windows]Doskey.exe  (0) 2012.07.17
[DiamindCS]Openports.exe  (1) 2012.07.17
[Sysinternals]Psfile.exe  (0) 2012.07.17
Posted by extr
:

[Windows]Doskey.exe

공부/Forensics 2012. 7. 17. 18:19 |

윈도우 커맨드에서 명령어를 통한 작업을 하고있을 때 키보드 화살표 위, 아래를 누르면 방금 친 명령어들을 볼 수 있다. 이러한 정보들은 어디에 저장이 되는 것일까?


리눅스에 history가 있다면 윈도우엔 doskey가 있다.


많이 알려져 있진 않지만, 실제로 윈도우에서 명령어 사용 기록정보를 보려면 커맨드 창에서 doskey/history를 입력하면 볼 수 있다.



[Figure 1 - Doskey/history]


'공부 > Forensics' 카테고리의 다른 글

[Sysinternals]Autorunsc.exe  (0) 2012.07.17
[Sysinternals]Psservice.exe  (0) 2012.07.17
[DiamindCS]Openports.exe  (1) 2012.07.17
[Sysinternals]Psfile.exe  (0) 2012.07.17
[Sysinternals]Psloggedon.exe  (0) 2012.07.16
Posted by extr
:

1024번 이후의 포트들은 정해진 규칙이 존재하지 않는다. 그렇다고 1024번 이전의 Well-Known Port라고 해도 규칙대로 행동할 필요가 없기 때문에 이러한 사실은 짱햌커들이 악성코드를 만들 때 자주 악용되곤 한다.


Netstat.exe의 경우엔 루트킷에 의해서 숨겨진 연결 정보는 보여주지 못하는 치명적인 단점이 존재하며 최신 버전이 아닐 경우 포트, 프로세스 매핑이 되지 않는다는 단점이 있다고 이전 Netstat.exe 포스팅에서 언급한 적이 있다.



[Figure 1 - Openports.exe -fport]



Openports.exe는 이러한 단점을 보완하였다.

포트/프로세스 매핑 시 전체 경로를 보여줄 뿐만 아니라, csv형식처럼 콤마(,) 구분자로 출력해주는 기능도 지원한다.


Openports는 여기서 받을 수 있다.


'공부 > Forensics' 카테고리의 다른 글

[Sysinternals]Psservice.exe  (0) 2012.07.17
[Windows]Doskey.exe  (0) 2012.07.17
[Sysinternals]Psfile.exe  (0) 2012.07.17
[Sysinternals]Psloggedon.exe  (0) 2012.07.16
[Windows]Net.exe  (0) 2012.07.16
Posted by extr
:

psfile은 net file이나 openfiles와는 달리 전체 경로를 생략하지 않고, 수행한 작업을 나타내어준다.



[Figure 1 - Psfile.exe]


'공부 > Forensics' 카테고리의 다른 글

[Windows]Doskey.exe  (0) 2012.07.17
[DiamindCS]Openports.exe  (1) 2012.07.17
[Sysinternals]Psloggedon.exe  (0) 2012.07.16
[Windows]Net.exe  (0) 2012.07.16
[Sysinternals]ListDlls.exe  (0) 2012.07.16
Posted by extr
:

psloggedon.exe는 net session에서 존재하지 않는 기능이 존재한다.


원격 접속(remote, foreign) 사용자와, 로컬(local) 접속 사용자를 알 수 있기 때문이다.



[Figure 1 - psloggedon.exe]



위 그림을 통해 현재 로그온되어있는 로컬 사용자는 Administrator이고 원격 접속 사용자는 없는 것을 알 수 있다.



'공부 > Forensics' 카테고리의 다른 글

[DiamindCS]Openports.exe  (1) 2012.07.17
[Sysinternals]Psfile.exe  (0) 2012.07.17
[Windows]Net.exe  (0) 2012.07.16
[Sysinternals]ListDlls.exe  (0) 2012.07.16
[Sysinternals]Handle.exe  (1) 2012.07.16
Posted by extr
:

[Windows]Net.exe

공부/Forensics 2012. 7. 16. 20:11 |

net session은 외부(remote, foreign)에서 연결한 사용자의 목록을 나타내는 명령이다.


로컬에서 로그온한 사용자 정보를 보여주지 않는 단점이 존재하며, 윈도우 내장 명령어이다.



[Figure 1 - Net Session]




net file은 외부 사용자가 열고있는 파일의 목록을 볼 수 있는 명령어이다.


아래 그림을 통해, 사용자가 ~\abex에 처음 작업을 수행했다가 ~\abex\2에 작업을 수행한 것을 알 수 있다.


하지만, 이게 열고있는 파일이 실행 중인지, 읽고 있는지 등의 정확한 수행을 알 수 없는 단점이 있다.


[Figure 2 - Net File]





Net use는 드라이브 매핑 시 사용되며, 매핑된 드라이브의 정보를 확인할 때도 사용된다.


단, Net use는 어디까지나 '드라이브 매핑'이지 '폴더 매핑'이 아니기 때문에, 공유 폴더의 경우엔 드라이브 명을 할당 받을 수 없고 UNC로만 접근이 가능하다.



[Figure 3 - Net Use]



또, 컴퓨터가 부팅된 이후에 접근했던 다른 컴퓨터의 모든 공유 폴더 목록을 확인하려면


HKLM\SYSTEM\CurrentControlSet\Services\Lanmanserver\Share 레지스트리에서 확인이 가능하다.



'공부 > Forensics' 카테고리의 다른 글

[Sysinternals]Psfile.exe  (0) 2012.07.17
[Sysinternals]Psloggedon.exe  (0) 2012.07.16
[Sysinternals]ListDlls.exe  (0) 2012.07.16
[Sysinternals]Handle.exe  (1) 2012.07.16
[Sysinternals]PsList.exe  (1) 2012.07.16
Posted by extr
:

ListDlls.exe는 실행되는 프로세스의 전체 경로와 적용되어 있는 옵션, 프로세스가 로드한 DLL들의 이름, 버전, 전체 경로를 보여준다.



[Figure 1 - ListDlls]


'공부 > Forensics' 카테고리의 다른 글

[Sysinternals]Psloggedon.exe  (0) 2012.07.16
[Windows]Net.exe  (0) 2012.07.16
[Sysinternals]Handle.exe  (1) 2012.07.16
[Sysinternals]PsList.exe  (1) 2012.07.16
[Windows]Netstat.exe  (0) 2012.07.16
Posted by extr
:

시스템 자원에 접근을 하기 위해서는 항상 간접적으로 접근을 해야한다.


윈도우에서는 이러한 시스템 자원에 간접적 접근을 하기 위한 핸들(Handle) 이라는 것을 사용한다.


또한 핸들은 다음과 같은 특징을 지니고 있다.


1. 32bit 크기의 정수로 이루어짐

2. 운영체제가 만듬

3. 사용자는 쓸 수(write)만 있다.

4. 같은 종류의 핸들끼리는 같은 값을 가질 수 없음

 


핸들은 파일, 디렉터리, 포트, 레지스트리 키, 스레드, 세마포어(Semaphores) 등을 포함하고 있으며, 핸들을 살펴봄으로써 프로세스의 특성이나 해당 프로세스가 다른 시스템 요소(파일, 레지스트리, 네트워크 정보 등)에 주는 영향에 대해서도 알 수 있기 때문에 아주 중요한 요소라고 할 수 있다.



Handle.exe는 핸들 정보를 수집할 때 가장 많이 쓰이는 도구이다. -a 옵션으로 모든 핸들을 표시할 수 있고, -u 옵션으로 소유자의 이름을 나타낼 수 있다. 

더 많은 옵션은 help를 이용하자. 또한, 하나의 프로세스에는 대부분 다수의 핸들을 가지고 있고 핸들 또한 여러 종류가 존재하기 때문에 모든 핸들을 뽑아낸다면 상당히 많은 양이 나올 것이다. 만약 분석자가 리눅스 명령어를 사용할 수 있다면, grep을 이용하여 필요한 정보만 찾아내는 것도 좋은 방법이다.



[Figure 1 - Handle.exe]


'공부 > Forensics' 카테고리의 다른 글

[Windows]Net.exe  (0) 2012.07.16
[Sysinternals]ListDlls.exe  (0) 2012.07.16
[Sysinternals]PsList.exe  (1) 2012.07.16
[Windows]Netstat.exe  (0) 2012.07.16
[Matthieu]win64(32)dd.exe  (5) 2012.07.16
Posted by extr
:

sysinternals에서 제공하는 프로그램 중 하나이며, -x 옵션으로 프로세스가 사용하는 메모리와 스레드에 대한 정보를 볼 수 있고 -t옵션으로 프로세스 간의 상관관계 트리를 보여준다.


하지만 전체 경로를 보여주지 않는 아쉬움이 있는 프로그램이다.


[Figure 1 - pslist -t]



http://sysinternals.com에서 프로그램을 받을 수 있다.


'공부 > Forensics' 카테고리의 다른 글

[Sysinternals]ListDlls.exe  (0) 2012.07.16
[Sysinternals]Handle.exe  (1) 2012.07.16
[Windows]Netstat.exe  (0) 2012.07.16
[Matthieu]win64(32)dd.exe  (5) 2012.07.16
[Windows]Runas.exe  (0) 2012.07.15
Posted by extr
:

[Windows]Netstat.exe

공부/Forensics 2012. 7. 16. 12:19 |

네트워크 연결 정보를 수집할 수 있는 도구로 윈도우 내장 프로그램인 netstat.exe를 들 수 있다.


netstat -nao를 통해 기본적인 정보들을 수집할 수 있고, netstat -nabo를 통해 pid에 맞는 프로세스를 표시해준다.


로컬에 열려있는 포트들(리스닝 포트) 중 1023번 이하의 well-known port의 경우 기능들이 사전 파악 되기 때문에 해당 컴퓨터가 어떠한 서비스를 하고 있는지 알 수 있게 된다.


마찬가지로 로컬이 접속한 리모트 컴퓨터의 포트를 봐도 대상 컴퓨터가 어떠한 서비스를 운영하는지 알 수 있다. 대상이 20, 21번 포트에 접속 중이라면 FTP 서버라는 뜻이고, 25번 포트는 SMTP 서버, 80은 WEB 서버를 의미가 된다.


만약 well-known port가 아니라면 아래와 같이 -nabo를 이용해 어떤 프로세스인지 확인하는 것도 좋은 방법이다.


[Figure 1 - Netstat -nabo]


하지만 well-known port라고 무조건 믿어서도 안된다. IANA가 정한 규칙을 반드시 따를 필요가 없기 때문이다.


그래서 이러한 사실은 짱햌커들이 악성코드를 만들 때 자주 악용되곤 한다. 또한, 서버가 아닌데도 리모트 컴퓨터와의 연결이 비정상적으로 많다면 그 또한 의심해 보아야 할 문제이니 잘 알아두도록 하자.


Netstat.exe는 일반인들도 가끔 사용하는 윈도우 기본 명령이라 사용하기는 매우 쉽다. 하지만, 루트킷에 의해서 숨겨진 연결 정보는 보여주지 못하는 치명적인 단점이 존재하며 최신 버전이 아닐 경우 포트, 프로세스 매핑이 되지 않는다(하지만 실행파일 명과 PID만 보여주므로 그닥 쓸모가 없다).



[Figure 2 - Netstat -help]


'공부 > Forensics' 카테고리의 다른 글

[Sysinternals]Handle.exe  (1) 2012.07.16
[Sysinternals]PsList.exe  (1) 2012.07.16
[Matthieu]win64(32)dd.exe  (5) 2012.07.16
[Windows]Runas.exe  (0) 2012.07.15
데이터 복구와 파일 카빙의 차이점  (0) 2012.07.05
Posted by extr
: