윈 도 우 관리자보다 더쎈 권한으로, 접근제한 에러 뚫기
2022.12.18 09:51
윈도 사용하다 보면, 권한이 없다는 접근제한 에러가 많죠.
이내용은 여러분들이 잘모르는 방법일겁니다.
징그럽게 레지값만 변경하려면 뜨는 접근제한(Access is Denied) 에러때문에
변경불가 였는데, (여러분 컴에 디펜더가 있으면 똑같이 저렇습니다. 윈11)
뚫렸습니다. 안전모드도 아니고 정상부팅 윈도우에서요.
평소 C:\Windows\System32 폴더내 파일 이름 변경도
접근제한 에러가 뜨고 변경이 안됩니다.
Administrator와 다른 TrustedInstaller 권한이 필요하다고 에러가 뜹니다.
이것도 쉽게 뚫렸습니다.
밑의 사진에서,
위에는 관리자권한으로 이름변경 시도하니 역시 접근제한으로 불가했지만,
밑의 또다른 창을 TrustedInstaller 권한으로 시도하니 쉽게 이름변경이 됐습니다.
내 계정을
Administrator(관리자)보다 높은
TrustedInstaller 권한을 가진 cmd나 powershell로 새창을 띄워
명령을 실행하면 저렇게 뚫립니다.
전 powershell로 선택했고, 밑의 명령어들을 치면 됩니다.
부분적으로 코멘트(#)로 명령어 설명을 추가했습니다.
#PSGallery라는 커뮤니티에서 개발한 파워쉘 모듈 설치하기
Set-ExecutionPolicy unrestricted
Install-module NtObjectManager; Import-Module NtObjectManager
#님컴의 SeDebugPrivilege가 불가로 돼 있으면 가능으로 바꾸는 명령어.
$priv = get-NtToken -primary
$priv.SetPrivilege([NtApiDotNet.TokenPrivilegeValue[]]"SeDebugPrivilege",[NtApiDotNet.PrivilegeAttributes]"Enabled")
#TrustedInstaller서비스를 시작하고 그권한 내권한으로 가져올 작업하기.
start-service TrustedInstaller
$ti_Proc = Get-NtProcess -name "TrustedInstaller.exe"
$config = New-Object NtApiDotNet.Win32.Win32ProcessConfig
$config.CommandLine = "powershell"
$config.CreationFlags = [NtApiDotNet.Win32.CreateProcessFlags]16
$config.ParentProcess = $ti_Proc
[NtApiDotNet.Win32.Win32Process]::CreateProcess($config)
마지막 명령어가 실해되면 새로운 창이 뜨고
관리자권한으로 실행된 창과
새창에서 이 명령어를 치면 권한이 다른걸 알수 있습니다.
오른쪽 시꺼먼 창에 TrustedInstaller가 내가 속한 그룹권한에
추가된걸 확인할수 있습니다.
그리고 나는 NT Authority\System으로 표시됩니다.
whoami
whoami /groups
예로 들어,
C:\Windows\System32\ja-jp 폴더의
Administrator 권한과
TrustedInstaller 권한이 다른걸 볼수 있습니다.
TrustedInstaller가 모든권한(FullControl)을 가졌죠?
그래서 관리자권한에서 명령을 실행하면 부족한 권한때문에
접근제한 에러가 떴던 것입니다.
댓글 [20]
-
feynman 2022.12.18 11:27
-
zerojiddu 2022.12.18 11:37 님 컴에
whoami /priv 에 SeDebugPrivilege가 가능으로 돼 있으면
그부분은 빼도 됩니다.
그때 전체 Token Privilege 가능으로 바꾸는 코드를 넣고 엔터쳐도 되구요.
.ps1 파일로 만들지 말고 명령어를 파워쉘 창에서 복사.저장해서 실행해 보세요.
그리고 카스퍼스키는 잘 모르지만,
디펜더에도 스크립트 파일들 실시간 감시기능이 있어서
파일속 명령어 문구까지 감지를 하더라구요.
위 제 글은 순전히 제 호기심에서 알아낸거고 제컴에서 테스트한거라
바이러스 그런거와는 전혀 상관없어요.
-
feynman 2022.12.18 12:26
제가 2번째 스크립트 이후에 안티 바이러스 프로그램을 완전히 끄고 작업해서 몰랐는데
지금보니 3번째도 카스퍼스키가 다 잡아 버리는 군요.
예외 설정해도 안됩니다.
정말 끈덕지게 잡아 버리는 군요.
님 말씀처럼 ps1파일로 만들지 않고 그냥 파워쉘 창에서 그대로 입력해야 겠네요.
-
슈머슈마 2022.12.18 12:04
혹시 Nsudo 이런걸로도 가능 할지 모르겠네요. 레지에서 제거안되는거 Nsudo 최고권한으로 편집 프로그램 실행해서 레지 제거 및
정리 할때 사용 했는데, 글 내용과 관련된 부분이 되었으면 좋겠네요.
https://windowsforum.kr/index.php?mid=lecture&search_keyword=nsudo&search_target=title_content&document_srl=17272162
-
zerojiddu 2022.12.18 12:32 네. 일단 소스파일 저장해놨습니다.
소스파일을 다 이해하기 전에는 전 실행을 안해서요.
그 Nsudo로 윈도우 접근제한이 걸리는
디펜더 서비스 "HKLM\System\CurrentContorlSet\Services\WinDend" Start 레지키값을 변경해보세요.
님께서 증명해 보이시면 Nsudo에 관심을 가지겠습니다.
저도 윈도우 모든 Token Privilege를 가능으로 바꾸는 코드를 알고있고,
다 가능으로 해도 저 디펜더 서비스 레지값은 변경불가였어요.
제컴에서 권한상승으로 웬만한 건 다 뚫리는데
디펜더 레지키는 달랐어요.
-
슈머슈마 2022.12.18 12:53
경로가 맞나요? 어떤값을 바꿔야 하나요? DWORD 값에서 3 값을 변경 해야 하나요?
값을 어떻게 바꿔야 하는지 알려주세요 ^^
-
zerojiddu 2022.12.18 13:17 Start 4가 시작유형 중지입니다.
윈 10에선 디펜더 레지값 변경으로 끌수 있었는데,
윈 11에선 바꼈어요.
윈 11에서
디펜더 설정 건드리지 말고 정상작동일때 해보세요.
아니 설정창에서 할수 있는거 다 끄고도 해보세요. 전 그래도 변경불가였어요.
레지 그주소에서 다른 디펜더 서비스들도 4가 시작유형 중지입니다.
'WinDefend','WdFilter','WdNisDrv','WdNisSvc','WdBoot','SecurityHealthService','mpssvc','webthreatdefsvc','webthreatdefusersvc',"webthreatdefusersvc_*"
-
슈머슈마 2022.12.18 14:31
윈 11에서 테스트를 해봐야 알수 있겠네요 -_-
전 윈 10을 쓰고 있어서 테스트를 해볼려면 윈 11을 깔아야하는데
테스트를 할수 없을거 같습니다. 시간도 많이 걸릴거 같고 다른 분들이 테스트 해주길 기다려보는 수밖에는 없을거
같습니다. 우선 저는 윈 10 에서 Registry finder 64Bityte 에서 Nsudo 로 최고 권한을 주고 테스트 해보았습니다.
실상 많은 부분은 테스트를 해보지는 않았지만 레지값이 편집이 되는지 안되는 지만 확인했습니다. 드워드 값을 3에서 2로
2에서 3으로 변경이 되는지만 확인 이상입니다.
-
zerojiddu 2022.12.18 14:48 네. 이글 보시는 분들중 스샷 올려줄수도요.
레지값 변경만 되면 디펜더 죽이는 건 너무 쉽죠.
윈11은 시작유형을 3으로도... 아예 변경이 안됩니다.
알겠습니다.
-
sadold 2022.12.18 20:36
파워쉘에서 TrustedInstaller 권한 얻기 군요
나중에 해봐야겠네요
근데 갑자기 여기서 Nsudo 가 무슨 상관이라고 말을 꺼내는 분이 있네요
-
zerojiddu 2022.12.18 20:52 네. 해보세요.
Nsudo는 전 첨 들어봤고
소스 배치파일은 대충 훑어봤어요.
-
슈머슈마 2022.12.18 21:09
윈도우 디펜스 설정하기위해 레지스트리 편집을 하기위해서는 높은 권한이 필요한데 일반적인 관리자 권한으로는
레지스트리 편집을 할수가 없다고 하여 Nsudo로 쉽게 권한 설정을 할수 있으니까 이게 방법이 되지않을까 하여
글을 올렸던 것이구요. 전에 권한 관련하여 레지편집했을때 Nsudo로 높은 권한이 필요한 레지를 편집했던것을 경험삼아
이것도 방법이 되지않을까 하여 글을 올려봤습니다. 단 권한의 종류에 있어서 권한의 종류는 파악하지 못했습니다.
전문적으로 다루는 부분이 아니라서 파워쉘 및 CMD로 권한을 떡 주무르듯 주무르는 분들은 종류와 그에 맞는 권한을
파악하여 설정을 하겠지만 내꼬님의 글을 보고 Nsudo 를 사용해봤는데 높은 권한을 쉽게 줘서 시스템 설정을 쉽게
할수 있는 부분이 될거 같아 이게 도움이 되지 안을까 하여 글을 올렸습니다.
이게 관계가 있는지 없는지는 잘 모르겠지만 도움이 되지 안을까 하는 마음으로 올렸으니
태클은 사절입니다. 마음에 안들면 그에 합당한 도움을 주면 될것이고 아니면 이건 맞지 안는 프로그램이다 왜 맞지 안는지
에 대한 타당성을 올려 주십시오. 무턱대고 이거 상관없다 이거 아무 쓰잘때기도 없다 이런글로 마음 상하게 하지 않았으면 합니다.
-
zerojiddu 2022.12.18 21:33 전 효과가 없을거라 생각은 하지만,
태클거는 글은 안썼어요.
전 방법을 찾았고 그 배치 소스파일은 레지키값 추가를 복잡하게 구성해서 안될거라 보고 대충 훑어 봤다는 겁니다. 어느 방법이든 효과가 있으면 장땡이지, 불필요한 태클 걸 맘 없습니다. 지나치게 생각지 마세요. -
슈머슈마 2022.12.18 22:16
zerojiddu 님께 불만을 표한건 아닙니다.
Nsudo도가 하나의 대안이 되지 안을까하여 거론을 한것이구요. ( 단 테스트 해보고 했던건 아니고 이것도 가능하지 안을까하여
재시를 해본것입니다. 테스트도 안해보고 재시를 해보았다면 이부분에 대해서는 수긍을 하겠습니다.)
그리고
sadold 이분이 Nsudo가 뭔상관 있냐고 하시길래 다시 글을 올린것입니다.
살짝 빈정이 상한것 같은 -_-
그리고 Nsudo 관련 사이트 입니다.
https://nsudo.m2team.org/en-us/
보시면 권한 관련하여 설명이 되어 있는 곳입니다.
그리고 아무 관계가 없다고 하였는데 zerojiddu 님이 디펜더 관련하여 레지설정을 할려고 하는데 권한 관련하여
수정이 안된다고 오류 난다고 하시길래 Nsudo도 가능 하지 안을까 하여 올린 글 입니다. zerojiddu 님께 태클 걸고 싶은 생각도 없고
그저 가능성을 염두해 두고 올린 글입니다. 도움이 될수도 있고 아닐수도 있지만 그래도 조금이나마 보탬이 될까봐 글을 올렸는데
기분이 좀 그렇네요.
-
zerojiddu 2022.12.19 04:45 네. 지후빠님 스샷에 효과가 있다하니 Nsudo 소스코드를 다시 보겠습니다. 그 소스코드가 이해되면 테스트도 해볼께요. 님이 첨 글 올렸을때 참고하시라고 한 성의있는 말을 한건 압니다. -
상발이 2022.12.18 21:02
수고하셨습니다.
-
지후빠 2022.12.18 22:22
수고하셨습니다. ^^
TrustedInstaller 권한을 얻을 수 있는 유틸 NSudo, PowerRun이 있습니다. (비교적 잘 알려져 있다는...)
NSudo; https://github.com/M2Team/NSudo , https://nsudo.m2team.org/en-us/ 오픈소스
PowerRun; https://www.sordum.org/9416/powerrun-v1-6-run-with-highest-privileges/
NSudo 테스트
PowerRun 테스트
디펜더 실행된 상태에서 TrustedInstaller 권한으로 수정 가능하였습니다.
참고로 스크린샷 https://windowsforum.kr/gallery/18802526 첨부자료는 시스템을 건드는 것이라 NSudo를 활용하고 있답니다.^^
-
슈머슈마 2022.12.18 22:32
지후빠님 PowerRun 은 응용프램을 북마크 해뒀다가 실행하면 높은 권한으로 실행이 되는거죠?
-
지후빠 2022.12.18 22:48
넵!
-
zerojiddu 2022.12.19 04:40 윈11에서 디펜더 정상상태일때 서비스 시작유형 레지값 변경이 됐으면 제 경험으로 대단한 겁니다.
Nsudo를 실행해보진 않았지만 소스코드도 다시보고 권한 변경 정보등 직접 확인해 볼게 더 있습니다.
참고하겠습니다.
대단하십니다. 추천 드립니다.
컴알못이라 깊은 이해까지 할 능력은 안되지만 현상론적으로라도 따라하고 배워 보려 합니다.
그런데요.
본문에 쓰신 3가지 파워쉘 스크립트 중에 2번째 스크립트 즉,
SeDebugPrivilege관련 스크립트를 복사하여 ps1파일로 저장하자마자
안티바이러스 프로그램이 자동으로 위험한 프로그램이라는 경고 메시지를 내뿜으면서 바로 삭제해 버리는데요.
예외 설정해서 무시해도 되는 거 맞겠죠?
노파심에 확인차 문의 드립니다.
사용 안티바이러스 프로그램은 카스퍼스키 인터넷 시큐리티 21입니다.