|  |
| |
| 해쿨러 |
희생자가 직접 열어주는 것이 아니라 희생자의 프로그램의 취약점을 공격자가 악용해 피해자의 컴퓨터가 열어주는 명령을 실행하게끔 프로그램을 공격하는겁니다 |
2017/04/13 |
|
| rabbitlycat |
그러면 위 명령어를 실행하려면 쉘 실행권한이 있어야 하는데 쉘 실행권한이 있다는 이야기는 이미 희생자 시스템 권한을 얻었다는 이야기인데 이는 또 방화벽을 우회할 필요가 없다는 것이고요.. 근데 왜 또 리버스 연결을 시도하나요? |
2017/04/13 |
|
| 해쿨러 |
실제 상황에서 한번의 공격이 성공한 뒤에 똑같은 공격이 계속 성공하리란 보장은 없습니다. 취약프로그램의 패치, 백신 등의 고도화 등의 이유로 공격 자체는 일회용이라고 간주 할 수 있습니다
그 때문에 루트킷과 같은 post-explotation 기술들이 연구되온 것입니다
예를들어 단순하게 3월 1일 오전 3시 1분이 되는 순간 정부 사이트를 공격하게 하고 싶은 경우라면 말씀대로 리버스커넥션은 필요없습니다
항상 공격하는게 목적에 따라 다른것인데 리버스 커넥션이 가지는 장점으로는
1. 포트바인딩쉘코드 등과 달리 공격자의 서버로 피해자가 접속하는 구조기 떄문에 방화벽의 영향을 받지 않는 경우가 많습니다(아웃바운드는 기업망이 아니라면 일반적으로 검사하지 않기 떄문에)
2. 피해자의 프로그램이 웹서버와 같은 종류라면 괜찮겠지만 워드프로세서와 같이 공격자가 공격을 시도하고나서 피해자가 실제로 공격을 당하기까지 얼마나 걸릴지 모르는 경우에, 공격자는 그냥 피해자가 자기 서버로 접속하기만을 기다리면 됩니다
3. 피해자가 계속 서버로부터 오는 명령을 실행하기 떄문에 다양한 공격 행위가 가능합니다. 예를 들어서 .docx파일만 빼다가 나중에 .hwp파일도 빼게끔 다양한 공격이 가능합니다 |
2017/04/13 |
|
| 해쿨러 |
그리고 해킹대회를 하신다면 좀더 친숙한 케이스인데
요즘은 잘 없긴하지만 예를들어 NX가 안걸려 있는 리모트 문제를 공격할때
문제서버에는 보통 포트바인딩을 못하게 돼있거나 포트에 따라 서버를 나눠놓으니 포트바인딩쉘코드 사용이 무의미 하고
공격하기전에 서버 하나 열어두면 문제 프로세스에서 우리 서버로 연결해줘서 편합니다 |
2017/04/13 |
|
| rabbitlycat |
실제 상황에서 한번의 공격이 성공한 뒤에 똑같은 공격이 계속 성공하리란 보장이 없기 때문에 리버스텔넷을 통해 세션을 맺고 유지시킨다는 뜻인가요.? |
2017/04/13 |
|