...
Table of Contents exclude List
Reverse Shellcode
- Bind Shellcode는 공격 대상에 Server 형태로 Port를 오픈해 클라이언트가 접속하는 방식입니다.
- 해당 방식은 방화벽이 적용된 시스템이 경우 쉽게 차단될
- 수 있습니다.대부분의
- 일반적으로 방화벽은 알려진 특정 포트를 제외하고는 들어오는 연결을
막습니다.- 이렇게 해야 사용자의 외부 노출을 막을 수 있고, 포트 바인딩 쉘코드의 공격도 막을 수 있습니다.
- 차단합니다.
- 소프트웨어 방화벽을 이용해 간단히 설정 가능합니다.
- 즉, Bind Shellcode는 방화벽에 의해 차단될 가능성이 큽니다.
- 하지만 방화벽은 편의성을 방해하지 않으려고 일반적으로 나가는 연결은 거르지 않습니다.
- 방화벽 안쪽에서는 어떤 웹 페이지에든 접근할 수 있고, 나가는 연결을 만들 수 있습니다.
- 즉, 쉘코드가 나가는 연결을 만들 수 있다면 방화벽을 무시하고 공격할 수 있습니다.
- 즉, 공격 대상이 나의 PC에 접속하도록 할 수 있습니다.
- Reverse Shellcode는 Port를 열어서 연결을 기다리는 대신, 공격자가 지정한 IP,Port로 연결합니다.
- 방화벽 안쪽에서는 어떤 웹 페이지에든 접근할 수 있고, 나가는 연결을 만들 수 있습니다.
C language
- Port bind shellcode와 많이 다르지 않습니다커넥트 백(connect-back) 쉘 코드는 공격자로부터의 연결을 기다리는 대신 공격자의 IP 주소로 돌아오는 TCP 연결을 만듭니다.Port bind shellcode와 많이 다르지 않습니다
- TCP 연결을 만들 때는 socket()과 connect() 함수의 호출이 필요합니다.
- 포트 바인팅 쉘코드와 비교해 socket호출은 동일하고, connect() 호출의 인자는 bind()의 인자와 같으므로 포트 바인딩 쉘코드와 비슷합니다.
C language
- .
- bind, listen, accept 함수 대신 connect 함수를 이용하여 서버에 접속합니다.
...