AtomBombing – Stage3

개요 Stage2 에서 원격 프로세스의 RW 메모리에 기록한 쉘코드를 ROP 를 이용하여 실행하는 과정을 알아봤습니다. 쉘 코드를 인젝션 하고 실행했으니 이제 그만 잊어버릴 법 한데 아직 문제가 남았습니다. 하이젝한 쓰레드의 원래 동작을 복원하지 않으면 어떤 형태의 충돌이 일어날지 알 수 없기에, 해당 쓰레드를 원상복구 시켜줘야 합니다. 전체 소스코드 3단계. Restoration 복구는 어떤 과정으로 이뤄질까요? 일단…

AtomBombing – Stage2

개요 앞서 Stage1 에서는 AtomBoming 인젝션 기법을 위한 사전작업으로 원격 프로세스에 쉘코드를 쓰는 방법을 알아봤습니다. 쉘코드를 쓰긴 했지만 아직 실행을 시키진 못한 상태이죠. 이 글에선 AtomBominb Stage2 Execution 에 대해 알아보겠습니다. 전체 소스코드 2단계. Execution 물론 코드를 실행시키기 위해선 위해선 RWE 메모리가 필요합니다. 일반적으로 메모리 할당과 접근권한 설정을 함께 하기 위해선 VirtualAloocEx() 함수를 이용하지만 여기선…