반응형
SMALL

5. FTP 스캐너 모듈 개발(1)


이번에는 FTP에 있는 정보들을 칼리리눅스로 가져와서 보기 위한 모듈을 개발해보려고 한다. exploits가 아닌 Auxiliary를 활용해서 한다는 것이 차이점이다. 추가로 FTP 정보들이 데이터베이스에도 저장이 가능하게 개발을 해봤다.


5-1) FTP 스캐너 모듈 개발 실습


<그림 5-1 ftp_check 코드 - 1>


auxiliary_template.rb파일을 복사해서 파일명을 바꿔서 저장한다. 경로는 modules/auxiliary/dev이며 dev는 필자가 따로 폴더를 만들어 주었다. 이 폴더 안에 ftp_check.rb로 바꿔서 저장한다. vi에디터를 사용해서 파일을 열고 믹스인을 추가해준다. Scanner 라이브러리를 추가하게 되면 rhost가 rhosts로 바뀌게 되고 Report 라이브러리를 사용하게 되면 데이터베이스를 사용이 가능해진다. 추가를 한 후 Name은 FTP Version check라고 바꿔주고 Description은 ftp version check module로 바꿔준다.


<그림 5-2 ftp_check 코드 - 2>

host를 연결시켜 banner정보들을 가져오는 코드이다. 클래스를 run_host(target_host)로 지정해줘야 exploit 실행시 모듈 에러가 발생하지 않게 된다.

<그림 5-3 msfconsole 실행>

msfconsole을 실행시키기 전에 service postgresql start 명령어를 실행해 줘서 msfconsole과 데이터베이스를 꼭 연결시켜준다. 연결시키고 실행이 되면 db_status로 데이터베이스 연결상태를 확인하고 services 명령어를 실행시켜보면 우리가 데이터베이스 안에 가져오고 싶은 정보들을 ftp_check 파일에서 구현을 한 것이다. msfconsole과 같이 보면 우리가 왜 그것을 구현했는지 좀 더 빨리 감이 올 것이다.


<그림 5-4 FreeFTP 실행>


윈도우XP 가상환경에서 FreeFTP를 실행시켜 FTP, SFTP를 실행시켜준다. FreeFTP가 작동되어야 exploit를 해서 정보들을 가져올 수 있다.


<그림 5-5 exploit 실행 결과>


msfconsole을 실행시켜 ftp_check 파일 경로를 지정해주고 rhosts를 지정해준다. IP 주소는 윈도우 XP IP주소를 입력해주고 exploit을 실행해준다. 정상적으로 실행이 되었으면 FTP 배너의 정보들이 탈취 되었음을 볼 수 있다. 우리가 코드로 입력해준 값들이 정상적으로 실행되었음을 볼 수 있다.

반응형
LIST

'메타스플로잇' 카테고리의 다른 글

메타프리터 stdapi 활용 실습  (0) 2018.04.27
FTP 스캐너 모듈 개발 (2)  (0) 2018.04.24
http browser 서버  (0) 2018.04.23
http Server  (0) 2018.04.22
http 클라이언트  (0) 2018.04.22
블로그 이미지

만년필석사

,