본문 바로가기
보안

PsExec 사용법

by kaysjko 2023. 2. 2.

PsExec 사용법에 대해서는 서치하면 굉장히 많이 나오지만, 나는 다른 블로그들에서 알려준대로 해도 실행이 잘 안됐었다. 

 

아마 환경설정의 차이 + 휴먼에러 때문이 아닌가 싶은데, 나만 그런것이 아니였고 같이 해본 다른 사람들도 처음에 뭔가 잘 안됐다고 했다. 어쨌든 성공하긴 했는데, 나중에 까먹을 것 같아서 뭔가 아까워서(?) 세세하게 기록해 놓는다.


 

--환경설정--

처음 환경설정은 일반적으로 다른 블로그에 나와있듯이,

 1. net share로 공유파일 유무 확인하기

 2. 제어판 - UAC off 

 3. 파일 및 프린터 공유 항목을 열어줬다.

 

--옵션 -i --

보통 서치하다보면 PsExec \\(ip) -u (id) -p (pw) cmd  의 명령어를 입력하면 먹힌다고 되어있지만, 실제로 해보니 나는 자꾸

이런 오류가 뜨는 것이였다. 이런 오류가 뜨는 분들은 

PsExec -i \\(ip) -u (user) -p (pw) cmd 

로 -i 옵션을 꼭 붙여줘야 실행이 된다!

-i 옵션 때문에 삽질을.. 삽질을...ㅠㅠ

 

 

--victim pc 계정은 관리자 계정이나 관리자 권한이 있는 유저여야 할 것 --

Administrator 계정은 따로 active 시켜놓은 분이 아닌 이상, 비활성화가 디폴트로 되어 있을 것이다.

PsExec는 관리자 계정이나, 관리자 권한을 가진 유저여야 진입이 가능하다.

그렇지 않으면,

이렇게 자꾸 진입이 불가하다. 

 

따라서, victim pc에서 관리자 권한을 가진 계정을 하나 새로 만들던지, Administrator 계정을 active 시켜줘야한다.

나는 Administrator 계정을 활성화 시켰고, 

net user Administrator /active:Yes

명령어를 이용해서 활성화 시켜주면 된다. (관리자 권한 cmd로 실행해야함)

 

이렇게 Administrator 계정을 활성화 시켜준다음, 시도를 해보면

잘 들어가진다!

 

 


 

+)

원격접속은 땄지만, 시스템 계정까지 필요할 경우는 

PsExec -si \\(id) -u (user) -p (pw) cmd

로 -s 를 붙여주면 된다. 

 

-d 명령어는 랜덤 pid로 원격실행시키고, 바로 원격접속을 종료하는 명령어다. 

.exe 파일을 victim pc에 업로드/실행하고 바로 종료하는 용도인 것 같다. 

 

참고로 원격pc에 업로드는 .exe나 .bat같은 실행파일만 가능한 것 같다.

실험삼아서 .txt 파일을 시도해봤더니 되지 않았다.

 

 

그 외에 원격으로 파일 delete도 가능하고, 원격으로 상대 pc에 업로드, 상대 pc event viewer 에는 로그온유형 3번으로 기록이 되는 것도 확인했다. 

procexp를 이용해서 보면 

이렇게 원격으로 실행한 프로그램들이 보인다. 

윗쪽의 빨간 박스는 PsExec -i 옵션으로 실행을 해줘서 PSEXESVC 하위에 실행시킨 프로그램이 잡혀있는 모습이다. 

(실행과 동시에 종료되지 않았으므로)

 

공격자 pc의 cmd에서는

계속 이렇게 잡혀져 있게 된다. 이걸 지우려면 pskill을 이용해서 원격 실행 프로그램을 종료해야한다고 한다.

 

그리고, 아래의 빨간박스 부분은 PsExec -id~ 로 실행이 된 모습이다.  

확실히 바로 위에 정상적으로 실행된 cmd와는 차이가 보인다. 

 

 

++)

PsExec에서 원격으로 파일업로드를 진행하면(-cf 옵션), victim pc의 c:\Users\Windows 쪽에 생성이 된다. 

원하는 경로를 지정하면 그 경로에 업로드도 가능하다!