티스토리 뷰

반응형

IP 추적 및 DB 관리법 (recon-ng)

 

휴대전화에 연결된 IP 확인 | IP 추적 및 DB 관리법 (recon-ng)

 

휴대폰에 연결된 외부 접속 IP를 확인하고 싶다면 먼저 공유기의 "네트워크 도구" - "Netstat' - "Netstat-nat"를 이용하여 확인할 수 있습니다.

IP를 복사해서 IP 부분만 추출하는 방법은 아래쪽에 '더 보기'를 눌러서 이전 글 "IP 확인 / IP 추적 프로그램"을 먼저 확인하시고 다시 돌아오시면 됩니다.
(Kali Linux를 설치하는 방법 역시 '더 보기' 또는 제 블로그에서 검색해서 확인하시면 됩니다.)

다소 복잡하게 보이지만 기본적인 Linux 사용법, Kali Linux , recon-ng 프로그램에 대해서 어느 정도 알고 있는 사용자라면 쉽게 사용하실 수 있습니다.

 

 

휴대폰에 연결된 외부 IP 확인법

 

휴대전화 외부 연결 IP 확인 (Netstat-nat)

 

휴대폰이 연결된 Wifi 공유기의 "네트워크 도구" - "Netstat"에서 확인 가능합니다.

Netstat-nat를 선택하고, By source IP, 대상 IP에서는 휴대전화의 IP를 선택하고, "Netstat" 버튼을 누르면 위 사진처럼 "State"가 리스트 형태로 출력됩니다. State에 "ESTABLISHED"라고 나오는 리스트가 활성 연결 상태입니다. 

빨간색 사각형으로 하이라이트 한 부분을 전체 드래그하여 복사하시면 됩니다. 이후 Destination Address에 있는 IP만 추출하여 ip.txt 파일로 저장을 해야 하는데 이 부분은 주로 Linux에서 추출을 합니다. 위에 '더보기' 이전 글을 먼저 확인하세요.

 

ip 추출

IP만 추출하기 위해 사용된 shell code 입니다. 

awk '{print $3}' ip_src.txt | grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"| sed -e s/:443//g -e s/:80//g



IP List

 

IP 추적 및 DB 관리법 (recon-ng 활용)

 

휴대전화의 경우 사용하는 앱 및 시간에 따라 연결된 외부 IP가 상당히 많으며 자주 변화하는 특징이 있습니다.

출력되는 IP 및 이름을 각각 엑셀에 정리해서 관리하는 방법도 있지만 중복되는 IP , 매번 IP 확인 및 UPDATE 하는 것이 불편하기도 합니다. 

Kali Linux에 기본적으로 설치되어 있는 recon-ng라는 OSINT Framework를 사용하면 DB를 활용하여 이런 IP를 효과적으로 관리할 수 있습니다.

 

IP List import

 

ip.txt 파일에 저장된 list를 import 시키기 위해 'modules load import/list' 명령어를 입력해서 모듈을 설치합니다.

List File Importer Module

 

'info' 명령어를 사용하면 해당 모듈의 options을 확인할 수 있습니다.

여기에서 COLUMN에는 ip_address, FILENAME에는 ip.txt 파일의 경로, TABLE은 hosts라는 값을 넣어주면 됩니다.
options에 제대로 값이 입력되었다면 마지막으로 'run' 명령어를 실행합니다.

options set COLUMN ip_address
options set TABLE hosts
options set FILENAME 경로/ip.txt
run

 

Importing IP List from IP.txt file

'show hosts' 명령어를 입력합니다.
그러면 아래 이미지처럼 ip.txt 파일에 저장되어 있던 ip address가 ip_address COLUMN에 자동으로 입력됩니다.

hosts table

이 예시에 사용된 모듈은 'import/list' 모듈과 'recon/hosts-hosts/ipinfodb' 모듈이 사용되었습니다.

'import/list' 모듈은 marketplaces install import/list 명령어로 바로 설치 가능하지만 'recon/hosts-hosts/ipinfodb' 모듈의 경우, API key를 미리 추가 해주고 설치해야 합니다.

API key 발급을 위해 ipinfodb 웹 사이트에 가입해야 하며, keys add ipinfodb_api 발급받은 key 값을 추가하시면 됩니다.

이때 marketplaces info recon/hosts-hosts/ipinfodb 명령어를 입력하면, required_keys | ['ipinfodb_api'] 와 같이 기본 이름['ipinfodb_api']이 나와있습니다.

다른 API key가 필요한 모듈을 설치하는 경우, info를 입력해서 미리 API key의 Default 이름을 먼저 확인하시고 Key를 추가해서 사용하시면 됩니다.

 

modules

 

modules load ipinfodb 명령어를 입력하고, run을 입력해서 해당 모듈을 실행합니다.
API Key가 없으면 정상적인 실행이 안됩니다. 

 

info of IPINfoDB module

 

자동적으로 지역, 국가, 위도, 경도와 같은 정보가 자동으로 입력됩니다.
host COLUMN에는 공란으로 되어 있는데, 이 부분은 db query UPDATE 명령어를 활용하여 별도로 추가도 가능합니다.

 

run results of ipinfodb

 

recon-ng DB 활용법

 

recon-ng의 DB를 사용하게 되면, 원하는 결과만 검색하거나 따로 추출하는 것이 가능합니다.

hosts TABLE에서 ip_address COLUMN만 확인하거나 ip_address와 국가만 확인하거나 ip_address, country, region COLUMN만 추출할 수 있습니다. 응용하기 나름이겠지요?

 

db query

 

recon-ng DB에서 특정글자 찾기 (Search a specific string on recon-ng's DB)

 

MySQL를 사용해보셨다면 db query 명령어 뒤에 MySQL 명령어를 그대로 입력하면 됩니다.
특정 IP를 찾기 위해서 db query SELECT * FROM hosts WHERE ip_address = 'IP' ;
입력해서 해당 IP만 출력시킬 수 있습니다. IP뿐만 아니라 특정 단어를 넣어서 용도에 맞는 결과를 출력시킬 수 있습니다.

 

db 'search' query by IP address

 

db 'search' query by 'strings'

 

show hosts

 

recon-ng DB에 내용 추가 및 수정하기 (db query UPDATE 사용법)

 

UPDATE query 

 

db query UPDATE hosts SET host = 'Google' WHERE region = 'Mountain View, California' ;
명령어를 입력하면, region COLUMN에서 Mountain View, California'과 일치하는 모든 host COLUMN에 'Google'이라는 값을 입력합니다.

 

UPDATE query

 

recon-ng에서 whois와 같은 shell 명령어를 사용하려면 shell이라는 명령어 다음에 기존에 사용하던 리눅스 명령어를 입력하면 됩니다. 

 

shell command on recon-ng

 

동일한 방법으로 Alibaba라는 값을 입력해줬습니다.

 

UPDATE query

 

add strings on DB using UPDATE query

 

빈 공간도 같은  명령어를 사용해서 IP 주소 및 이름만 바꿔주면 됩니다.

기존에 사용한 명령어를 다시 사용하려면 키보드의 화살표(TOP, 위쪽)를 누르면 이전에 입력한 명령어를 다시 사용할 수 있습니다. 기존 명령어를 불러와서 변경 부분만 수정하고 바로 ENTER를 누르시면 됩니다. 전부 처음부터 입력하려면 많이 불편하겠지요?

 

add strings on DB using UPDATE query

 

notes에 추가 정보를 update 했습니다.

나중에 추가로 IP를 추가하면 중복되는 IP는 무시되고, 추가되는 ip만 host에 등록됩니다.
관리하기 정말 편합니다. 한 번 recon-ng 활용해보세요.

 

Updated hosts table

반응형
댓글