Self-Improvement

shodan API로 최근 이슈된 취약점 검색 Python 코드 본문

프로그래밍/Python

shodan API로 최근 이슈된 취약점 검색 Python 코드

JoGeun 2019. 1. 10. 11:43

최근에 이슈된 취약점(공개X)을 통해 만들어본 간단한 코드.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import shodan
from colorama import Fore
 
SHODAN_API_KEY = '*your API KEY'
 
query='*your search Query'
def shodan_query():
    try:
        api = shodan.Shodan(SHODAN_API_KEY)
        result = api.search(query, page=1)
    except shodan.APIError as e:
        print (Fore.RED + e.value + Fore.RESET)
        return False
    return result
 
def query_print(result):
    for service in result['matches']:
        try:
            if service['port'== *your search Port:
                print ("IP: " + Fore.LIGHTBLUE_EX + service['ip_str'+ Fore.RESET)
                print ("port: " + Fore.LIGHTBLUE_EX + str(service['port']) + Fore.RESET)
                print ("----------------------------")
        except KeyError:
            pass
    
if __name__=="__main__":
    result=shodan_query()
    query_print(result)
cs

API키는 본인의 키를 넣으며 query에 쿼리값을 삽입하면 된다.(query, port 값은 공개할 수 없음 악용될 소지 있음)


결과(한국을 대상으로 검색결과만 46928.., 단 전부다 취약하다는 건 아님)