요즘 APT 제작하기 멘토링을 받고있다.
어나니머스가 러시아를 공격하는 것을 보고, 나도 저렇게 공격하는 법을 배우고 싶다고 생각해서 멘토링을 신청하게 되었다.
첫 시간 과제는 Process Hollowing에 대해 조사하는 것이다.
참고 사이트는 MITRE ATT&CK이다.
1. process hollowing이란 무엇인가.
process hollowing은 살아있는 프로세스의 구별된 주소 공간(메모리)에 임의의 코드를 실행하는 방법이다. 중단된 상태의 프로세스를 생성하고, 그것의 메모리를 언매핑한다. 그리고 그곳에 악의적인 코드를 재배치한다.
2. 어떠한 목적을 달성하기 위해 사용하는가.
Defense Evasion(방어 회피), Privilege Escalation(권한 상승)
3. 해당 목적을 달성하기 위한 비슷한 기법으로는 어떠한 것들이 있는가.
Thread Local Storage
4. 그 기법들과 비교해서 process hollowing의 장점이 무엇인가.
존재하는 프로세스에 악성코드를 주입하므로, 악성코드는 정상적인 프로세스의 마스크를 쓰게된다. 그래서 보안 제품으로부터 탐지를 피할 수 있다.(파일리스 멀웨어로 응용 가능)
나는 이렇게 간단하게 조사했는데, 다른 분들은 API들을 조사한다든지, API들을 코드화 해본다든지 하셨던 것 같다.
다음시간부터는 나도 더 노력해야겠다고 생각했다.
또 기억에 남았던 부분이 멘토님께서 자기의 진로에 따라 조사가 달라져야 한다고 했다.
이를 테면 보안 개발이 목표면 윈도우 API를 가지고 코드화를 해본다든지 이런식으로 말이다.
근데 나는 개발이 재밌으면서도.. 보안 개발로 가야할지, 모의 해킹이나 침해 대응, 포렌식 어디로 가야할지 아직 갈피를 못잡겠다..ㅜㅜ