Back

[METASPLOIT] MSF에서 Postgres DB 연결 및 사용하기

POSTGRES DB에서 계정 및 DATABASE 생성

DB 연결 전 postgres DB에서 사용할 계정 및 DB를 생성합니다. 먼저 postgres 계정으로 전환합니다.

su - postgres

전환 후 createuser 명령으로 msf에서 db로 사용할 계정을 생성합니다.

createuser htest_db -P

Enter password for new role: yourpassword Enter it again: yourpassword Shall the new role be a superuser? (y/n) n Shall the new role be allowed to create databases? (y/n) n Shall the new role be allowed to create more new roles? (y/n) n

createdb 명령을 통해 msf에서 사용할 db를 생성합니다. owner는 아까 생성한 계정명으로 해줍시다.

createdb –owner=htest_db htest_database

DB 생성 완료

MSF에서 DB 연결하기

MSF 로드 후 db를 확인하면 아래와 같이 no connection 으로 나타나게 됩니다. hahwul #> db_status [*] postgresql selected, no connection

아까 생성한 정보를 기반으로 db_connect 명령을 통해 DB 연결을 시도합니다.

hahwul #> db_connect htest_db:yourpassword@127.0.0.1:5432/htest_database [*] Rebuilding the module cache in the background…

DB 연결 후 db_status 명령을 통해 확인하면 연결되어 있다고 나옵니다. hahwul #> db_status [*] postgresql connected to htest_database

help 명령을 통해 DB 명령을 확인하면 아래와 같습니다. 하나하나 써보시면 금방 이해갑니다. hahwul #> help database Database Backend Commands

Command           Description
-------           -----------
creds             List all credentials in the database
db_connect        Connect to an existing database
db_disconnect     Disconnect from the current database instance
db_export         Export a file containing the contents of the database
db_import         Import a scan result file (filetype will be auto-detected)
db_nmap           Executes nmap and records the output automatically
db_rebuild_cache  Rebuilds the database-stored module cache
db_status         Show the current database status
hosts             List all hosts in the database
loot              List all loot in the database
notes             List all notes in the database
services          List all services in the database
vulns             List all vulnerabilities in the database
workspace         Switch between database workspaces

hahwul #> db_hosts hahwul #> db_nmap localhost (결과를 DB에 저장합니다.)

MSF 구동 시 DB 자동 연결

매번 MSF 실행 시 DB를 연결하기에는 굉장히 번거롭습니다. database.yml 파일을 설정하여 쉽게 바로바로 로드될 수 있도록 수정이 가능합니다. MSF 디렉토리 > config > database.yml

config 하단에 파일을 로드하면 DB 연결정보가 나오고 아래와 같이 작성해주시면 됩니다. 7 development: &pgsql 8 adapter: postgresql 9 database: DB 이름 10 username: DB 유저 이름(postgres 에서 만든 계정) 11 password: 위 계정의 패스워드 12 host: localhost 13 port: 5432 # 변경하셨다면 변경하신 포트로 작성해주세요. 14 pool: 5 15 timeout: 5

쉽게 설정이 가능하며, DB 연결을 통해 다른 어플리케이션과의 통신도 쉽게 가능합니다.

Licensed under CC BY-NC-SA 4.0
Last updated on Jul 10, 2021 01:05 +0900