어떤 보안 모듈이 메모리를 읽지 못하도록 막아놨는데
이걸 내가 만든 sys파일을 로드하면 읽을 수 있다 이기
근데 sys파일에 아무 서명도 되지 않은 거라서
F8 서명되지 않은 드라이버 사용? 이거로 부팅하거나
CMD에 bcdedit /셋 테스트사이닝 on 이렇게 해서 부팅하거나
dseo13b.exe를 사용해서 서명되지 않은 드라이버임에도 사용이 가능하게 했었거든
근데 보안 모듈이 저 프로그램이랑 기법을 막아놨다 이기
그래서 sys드라이버에 서명을 할 수 있는 방법이나 또 다른 방법으로 로드할 수 있는지 알고싶어서 클ㅡ린 컴게에 질문을 한다 이기..
날 도와주면 치킨 사주겠다 이기야... 비쥬얼 스튜디오 깔면 동봉되있는 makesert.exe (서명 해주는 프로그램)은 켜지지도 않고..
드라이버 서명 때문에 지금 8시에 일어나서 아직까지 애먹고있는중이다 이기..
날 좀 도와주라 게이들아 ㅠㅠ
테스트 사이닝 키는 거 말고 bcdedit /set nointegritychecks on은 해봤냐 이기
ㄴ 둘다 같은거 아니노?,,, 해보겠다 이기 고맙다 이기
그리고 그 드라이버에서 WinDbg의 Local Kernel Debug도 막아놨냐 이기
저게 된다면 WInDbg에서 manual하게 커널 코드 집어넣고 인터럽트 테이블 조작해서 user mode에서 interrupt 콜하는 방법도 고려해 볼 수 있을 듯. 아예 특정 프로세스에 Ring0 권한을 줄 수도 있고. 방법은 많다 이기
걍 단순히 메모리를 읽으려고 한 거라면 꼭 SYS 파일을 로드할 필요가 없다. 그냥 WinDbg로 로컬 커널 디버깅 되면 특정 프로세스에 Ring0 권한 줘라 이기
고맙다 이기.. 다 해보겠다 이기..
bcdedit /set nointegritychecks on 이건 테스트 사이닝이랑 똑같네... ㅠㅠ
직접 SYS 파일 짜서 해킹 시도할 정도면 내가 말한 건 다 구현할 줄 알겠지... 성공을 빈다 이기. 그리고 Driver Signing 얘기 나오는 거 보니 x64(64비트)인 거 같은데 이 경우는 해당 보안 모듈도 함부로 윈도우 커널 코드를 후킹하지는 못한다. 패치가드 때문에. 그래서 핸들 장난질로 Open을 막아놨다거나 혹은 여기에 보태서 유저 모드의 DLL 후킹 정도로 애들 장난 수준으로 방어해 놓은 경우가 아마도 많을텐데 잘하면 쉽게 뚫을 수 있을 듯
열심히 해보겠다 이기..
아니면 내가 아주 옛날에 게임가드 우회해서 온라인 게임 메모리 접근할 때 쓴 여러 가지 방법 중에 Spy DLL을 inject하는 방법도 괜찮을 듯. 커널 모드로는 도저히 노답인 것 같다라고 판단될 때는 커널단까지 내려가지 않고 목적 프로세스가 시작될 때 내가 만든 DLL을 로드시켜 놓고 공유 메모리(CreateFileMapping)로 프로세스 밖의 내가 만든 메모리 뷰어 프로세스랑 통신해서 메모리를 read하거나 write해주는 거임. DLL 인젝션으로도 구현 가능하다 이기
또 WinDbg를 쓸 수 있는 상황이라면 PDE/PTE 참조해서 물리 메모리에 존재하는 페이지 내용을 직접 read하거나 write하는 것도 가능. 아 물론 Page-out될 우려가 있으니 가능하면 NtLockVirtualMemory는 미리 호출해 두는 게 좋겠지. 생각해 보면 어떤 프로세스 메모리에 접근하는 방법은 무궁무진함. 난 예전에 클럽박스 프로세스 메모리 보호 드라이버 뚫을 때는 어떤 방법도 써봤냐면 물론 그거 간단히 우회/무력화가 가능했지만 심심해서 프록시 프로세스 생성한 다음 그 프로세스의 메모리를 접근하면 실제로는 클럽박스 프로세스의 메모리가 접근되는 걸아 같은 효과가 나도록 구현해 본 적이 있음. 내 기억으로 KiAttachProcess를 후킹했었을 듯.
다만 x64니까 후킹 방법은 못 쓰고 대신 VAD를 조작하면 가능할 듯.
dll인젝션은 막힌지 오래......다 안됀다 이기...ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
방법이 얼마나 많은 게 DLL 인젝션인데 그 수많은 기법들을 다 막았다고? 찾아봐라. DLL 인젝션 쪽으로 가면 방법이 무조건 있다.
WFP 우회하고 그 프로그램에서 쓰는 user32.dll 같은 시스템 DLL을 패치해서 니 라이브러리를 로드하는 방식을 쓰던지 하면 무조건 된다.