Phantom

[Deathknight] xavius -> death_knight 풀이 본문

Pwnable/[Wargame]Load of Bof

[Deathknight] xavius -> death_knight 풀이

Ph4nt0m_ 2017. 4. 20. 16:35
반응형



내가 가장 헷갈려하고 아직도 헷갈리는 리모트 문제이다.

이번 문제는 리모트 익스플로잇 문제인데. 소스를 분석해보자면 6666번포트를 열고 기다리는 일종의 서버?랄까 데몬이랄까 자세히는 아직 잘 모르겠다. 그저 리슨중인 소켓이라 하자.

여기서 취약점은 buffer[40]인데 원격으로 받는 입력은

Recv(client_fd, buffer, 256, 0)으로 256만큼 입력받는다. 여기서 BOF가 발생한다.

문제는 간단한데 이제바인드 쉘을 쓸지 리버스 쉘을 쓸지 그리고 설정을 어떻게 해야하는지 너무나 고민이 되었다.


나는 리버스쉘을 사용했다.


LHOST는 원격지 호스트(공격자)

LPORT는 음..아직 모르겠어서 같은 포트로 설정했다.

그리고 포맷을 파이썬으로 설정하고 generate.



이렇게 페이로드를 짜고..(소스 복붙) 이제 실행을 했다.


어떤 방식으로 연결이 되는 건지 이해가 잘 가지 않는다.

일단 적어보자면 리모트 익스플로잇에서 리버스커넥션의 경우 outbound 트래픽의 경우 대부분 방화벽에서 차단하지 않는다는 점을 이용하여 시스템(내부망)에서 공격자의 PC(외부망)로 거꾸로 접속을 하도록 하는 것을 말합니다.

여기서 바인드 쉘과 리버스 쉘이 있는데

바인드 쉘이란 피해자의 서버에서 포트를 열어(ex_ victim에서 nc) 놓고 공격자가 접속하는 것


리버스 쉘이란 공격자의 서버에서 포트를 열어(ex_ attacker에서 nc) 놓고 피해자의 서버에서 공격자 서버로 접속하도록 유도하는 것
이렇게 되는 것 같다.

그러니 나는 열려있는 피해자의 포트를 이용해 공격자의 PC에서 nc로 포트를 리스닝시키고 리버스쉘로 공격을 하여 쉘을 얻었다.
반응형

'Pwnable > [Wargame]Load of Bof' 카테고리의 다른 글

death_knight  (0) 2017.01.10
nightmare  (0) 2017.01.06
zombie_assassin  (0) 2017.01.05
assassin -> zombie_assassin  (0) 2017.01.04
[Giant] giant -> assassin 풀이  (0) 2015.01.08
Comments