예전에 찾았던 자료인데, 단순하면서도 재미있는 코드라서 다시 정리해봤다.
아래 링크를 보면 윈도우의 세션 관리 기능을 이용해서 프로세스를 다른 데스크톱에서 실행하여 사용자에게 숨길 수 있는 코드를 예제로 제공한다.
https://github.com/MalwareTech/CreateDesktop/blob/master/Main.cpp
위 코드와 관련하여, 함께 봐야 할 내용이 윈도우에서 어떻게 세션을 관리하는지에 대한 내용을 이해할 필요가 있다.
https://blogs.msdn.microsoft.com/coreinternals/2009/08/19/session-window-station-desktop/
요약해 보면, 윈도우는 사용자가 로그인하거나 서비스가 실행되는 세션 관리를 위해 Windowstation과 Desktop이 있는데 WindowStation 내에는 여러개의 Desktop이 존재하고, 각 Desktop은 같은 Desktop에 속한 Desktop들이 함께 사용하는 클립보드와 Atom Table(부가 환경 정보?)을 관리한다.
그리고 Default Desktop은 화면에 표시하는 역활을 하는데 위 예제는 기본 Desktop인 Default를 사용하지 않고 새로운 데스크톱을 만듬으로써 사용자 화면에 보이지 않도록 하는 내용이다.
예전에 썻던 책 구조를 알아야 개발이 보인다의 3장 4. Desktop 변경하기에 보다 자세히 정리했었는데 기본은 위 내용이라 할 수 있다.
http://www.yes24.com/Product/Goods/57562020
'Security' 카테고리의 다른 글
Samesite Cookie - 쿠키 허용 도메인 보안 정책 (0) | 2020.12.15 |
---|---|
팔로알토 - External Dynamic Link를 통한 자동 차단 구성 (0) | 2020.12.03 |
WMI 원격 실행 보안 (0) | 2020.12.02 |
Popular hackers use Malicious Fake File Extensions (0) | 2020.12.02 |
DNS - 1.1.1.2/1.1.1.3 가족과 함께 사용한다면, Block to Malware and Adult (0) | 2020.12.01 |