본문 바로가기

*집필*/*집필* Reverse

JohnG Tech Note : The Beginner 안녕하세요. JohnG입니다. 1달전 개인적으로 Reverse Code Engineering 관련 기술 문서를 작성하는것을 계획을 세웠다가 마침내 첫 번째 JohnG Tech Note가 완성되었습니다. 그동안 격려해 주신 많은분들께 감사의 말씀드리며 문서 내용에서 조금 손을 봐야할 부분이 있는 경우 댓글을 남겨주시기를 부탁드립니다. 앞으로도 추가 Tech Note를 작성하여 공개할 계획이기 때문에 Reverse Code Engineering에 관한 Tech Note 내용 아이디어를 공유해 주시면 감사의 마음으로 추가하도록 하겠습니다. 부족한 글 솜씨이지만 너그러히 이해해 주시기를 바라며 추가 Tech Note가 작성될 수 있도록 많은 응원 부탁드립니다. 감사합니다. -JohnG 더보기
안티 리버싱 우회 - ZwSetInformationThread 리버서는 역시나 안티기법에 대한 기술에 목이 타는것은 당연한듯하다. 그래서 분석 중 안티 기법이 나오면 혼자서 별별 짓을 다 해보다가 나름 정리한다. 노련한 리버서라면 이미 알고 있는 내용이겠지만 안티 기법(ZwSetInformationThread)으로 골머리 썩힌 과거를 회상하며 정리한다. ZwSetInformationThread는 무슨 동작을 하기에 안티 기법에 사용된다 하는가? 근본적인 부분부터 알아봤다. 프로세스 내의 스레드가 가지는 속성을 변경하는 기특?한 녀석이란다. 안티 리버싱이라는 거창한 네임으로 소개되곤한다. 리버서로선 귀찮은 그럼. 어떻게 안티로 사용될까? 이 문제를 알아보기전 ZwSetInformationThread의 함수 기본 형식부터 알아봐야한다. NTSTATUS ZwSetInfo.. 더보기
ZwLoadDriver 함수 개념 간혹 분석 하다가 ZwLoadDriver를 호출하는 Malware가 보여서 로그를 남긴다. Driver 파일을 로드하기 위해 필요로 하는 함수 중 ZwLoadDriver 함수는 드라이버로 등록된 서비스에 대하여 로드를 수행할 수 있다. ## 우선적으로 설명하지만 현재 외부 네트워크가 연결되지 않은 환경에서 블로깅을 진행하고 있기 때문에 ## 더욱 자세한 정보나 공개되어 있는 정보들에 대한 부가 설명은 제외 되었다. ZwLoadDriver( LSA_UNICODE_STRING buf ); Microsoft 사의 MSDN에서 해당 함수를 검색해보면 위와 같은 함수 형에 대한 설명을 찾을 수 없었다. 위 함수를 이해하기 위해 구글링*을 하던 중 어느 중국의 한 블로거의 소스코드를 보게 되었다. 물론 위와 같이 .. 더보기