반응형

원격으로 명령어를 입력하여 대상 PC의 특정 명령어를 수행하는 것이 PSEXEC 입니다.

 

생각해보면 상당히 많은 일을 할 수 있어요.

정해진 시간에 패치를 할 수도 있고, 프로그램을 실행 혹은 종료 시킬수도 있죠.

 

 

PsExec를 사용하여 원격으로 커맨드를 실행하기 위한 전제 조건은 다음과 같습니다.

1. 원격 컴퓨터에 시스템 기본 공유인 IPC$, ADMIN$ 둘다 있어야 합니다.
2. 내장 Administrator 계정이 아닌 Administrators 그룹의 계정을 사용하려면 원격 컴퓨터에 UAC가 꺼져 있어야 합니다.
3. TCP 445 포트를 사용하므로 원격 컴퓨터에 윈도우 방화벽 TCP 445 포트가 오픈되어 있어야 합니다.

이런 걸 언제 다 확인해 하시겠지만, 간단해요.

 

1번은 윈도우키+R 을 입력하시면 커맨드 창이 실행되는데 여기에 net share라는 명령어를 입력하시면 아래와 같이 나옵니다.

 

 


 

2번의 경우 
※ UAC 확실히 끄는 방법
아래 명령어를 관리자 권한으로 실행 후 리부팅
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 0 /f


3번의 경우 TCP 445 포트를 예외 처리하기 위해서는 2가지 방법이 있는데, 파일 및 프린터 공유를 예외 체크해 주시거나, 직접 TCP 445 포트를 수동으로 오픈해 주시면 됩니다.

※ TCP 445 포트 방화벽 오픈 명령어
윈도우 비스타, 2008 이상 - 아래 명령어를 관리자 권한으로 실행


netsh advfirewall firewall add rule name="TCP-445" dir=in action=allow protocol=tcp localport=445


자 준비는 다 끝났습니다. 그러면 이제 아래 파일을 다운로드하세요.

원격 컴퓨터의 Windows\System32에 파일을 복사한 후 방화벽 허용안함 끝..

참...그리고 반드시 컴퓨터에는 비밀번호가 있어야 합니다.

 

 

PSEXEC 다운로드 : PsExec.exe

 


사용법: psexec [computer][-u user [-p password]][-s|-e][-i][-c [-f|-v]][-d][-<priority>][-a n,n,...] cmd [arguments]

computer
원격으로 곧장 PsExec를 실행할 수 있다. 로컬 시스템에서 컴퓨터 이름을 사용하여야 PsExec가 동작한다.

역자 주: 확인결과 IP Address로는 PsExec는 동작하지 않는다. Nbtstat –A와 같은 명령으로 컴퓨터의 이름 확인 후 사용하여야 한다.

-u
옵션인 이 명령은 원격 컴퓨터의 사용자 계정을 의미한다.

-p
옵션인 이 명령은 원격 컴퓨터의 사용자 계정의 암호를 의미한다.

-s
원격 실행 시 시스템 계정을 의미한다.

-e
특정 계정의 프로파일을 불러온다.

-i
원격 시스템의 쌍방향의 데스크탑 프로그램을 실행한다.

-c
특정 프로그램을 원격 시스템에 실행을 위하여 복사한다. 그러나 반드시 해당 프로그램은 원격 시스템의 실행 가능한 시스템 경로에 있어야 한다.

-f
특정 파일 존재 시 원격 시스템에 오버라이트가 가능하다.

-v
원격지에 새로운 버전이거나, 원격지 시스템의 파일보다 새로울 경우 복사한다.

-d
원격지의 프로그램이 종료할 경우까지 기다리지 않으며, 이 명령은 단방향 명령 시에만 사용한다.

-priority
원격지의 프로그램 실행 시 우선순위 지정이 가능하다. 우선순위에는 –low –belownormal –abovenormal –high –realtime이 있다.

-a
프로그램 실행 시 프로세서를 분리하여 사용가능 하다. 예를 들어 CPU가 2개이거나 4개일 때 사용된다.

Program
실행 할 프로그램의 이름을 의미한다.

Arguments
절대 경로에 있는 해당 시스템의 독립 문법을 의미한다.

 

 

예를 들면 192.168.0.7 아이피를 가지고 있는 Com이라는 이름의 컴퓨터가 패스워드 1234하고 있습니다. 이 컴퓨터에는 vlc라는 플레이어가 있는데 그 플레이어를 가지고 C:\에 있는 0.ogv파일을 실행 시켜라 라는 뜻입니다.


ex ) psexec -i -s -d \\192.168.0.7 -u Com -p 1234 "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" -f C:\0.ogv


 

반응형

+ Recent posts