api_searcher

input_validator

class api_searcher.input_validator.InputValidator[source]
static is_cve_code(data)[source]

models

Modul przechowujący dane uwierzytelniające użytkownika do serwisów trzecich, które wymagają kont.

class api_searcher.models.CensysCredentialsModel(*args, **kwargs)[source]

Model przechowujący informacje o danych uwierzytelniajacych użytkownika do serwisu http://censys.io/ Może istnieć tylko jedna instancja przechowująca dane użytkownika

Parameters
  • id (AutoField) – Id

  • api_id (CharField) – Api id

  • secret (CharField) – Secret

  • base_url (CharField) – Base url

  • api_url (CharField) – Api url

exception DoesNotExist
exception MultipleObjectsReturned
save(*args, **kwargs)[source]

Save the current instance. Override this in a subclass if you want to control the saving process.

The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.

class api_searcher.models.ShodanCredentialsModel(*args, **kwargs)[source]

Model przechowujący informacje o danych uwierzytelniajacych użytkownika do serwisu https://www.shodan.io/ Może istnieć tylko jedna instancja przechowująca dane użytkownika

Parameters
  • id (AutoField) – Id

  • user (CharField) – User

  • api_key (CharField) – Api key

  • base_url (CharField) – Base url

exception DoesNotExist
exception MultipleObjectsReturned
save(*args, **kwargs)[source]

Save the current instance. Override this in a subclass if you want to control the saving process.

The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.

searcher_full

Moduł spiający wszystkie wyszukiwania w jedną klasę - wszystkei dane dla adresu ip/domeny. Klasa bezpośrednio używana w widoku Django.

class api_searcher.searcher_full.SearcherFull(ip_address, local_host_address='', user_credentials=None)[source]

Klasa zwracajaca wszystkie znalezione dane - zwraca infromacje ze wszystkich serwisów trzeich, informacje o DNS etc.

__init__(ip_address, local_host_address='', user_credentials=None)[source]

Initialize self. See help(type(self)) for accurate signature.

get_banner(port_list)[source]

Metoda zwraca banery, które pórbuje uzyskac dla otwartych portów zwróconych przez seriwsy trzecie

Return type

List[Dict]

get_censys_data()[source]

Metoda zwraca dane wyszukane w serwisie http://censys.io/

get_dns_data()[source]

Metoda zwraca informacje o rekordach DNS hosta.

get_shodan_data()[source]

Metoda zwraca dane wyszukane w serwisie https://www.shodan.io/

get_whois_data()[source]

Metoda zwraca dane z bazy whois.

property values

Zwraca jsona ze wszystkimi danymi - metoda pomocna dla widoków Django.

serializers

class api_searcher.serializers.CensysCredentailsSerializer(*args, **kwargs)[source]

Serializer dla danych uwierzytelniajacych użytkownika do serwisu https://censys.io/

class api_searcher.serializers.ProductSerializer(*args, **kwargs)[source]
class api_searcher.serializers.ShodanCredentailsSerializer(*args, **kwargs)[source]

Serializer dla danych uwierzytelniajacych użytkownika do serwisu https://www.shodan.io/

class api_searcher.serializers.UserCredentialsSerializer(*args, **kwargs)[source]

Serializuje klucze użytkownika do serwisów trzeich jak censys.io oraz shodan.io

urls

class api_searcher.serializers.CensysCredentailsSerializer(*args, **kwargs)[source]

Serializer dla danych uwierzytelniajacych użytkownika do serwisu https://censys.io/

class api_searcher.serializers.ProductSerializer(*args, **kwargs)[source]
class api_searcher.serializers.ShodanCredentailsSerializer(*args, **kwargs)[source]

Serializer dla danych uwierzytelniajacych użytkownika do serwisu https://www.shodan.io/

class api_searcher.serializers.UserCredentialsSerializer(*args, **kwargs)[source]

Serializuje klucze użytkownika do serwisów trzeich jak censys.io oraz shodan.io

dns

dns_searcher

Pobiera dane o rekordach DNS - wysztkie sotępne w bibliotece: A NS MD MF CNAME SOA MB MG MR NULL WKS PTR HINFO MINFO MX TXT RP AFSDB X25 ISDN RT NSAP NSAP_PTR SIG KEY PX GPOS AAAA LOC NXT SRV NAPTR KX CERT A6 DNAME OPT APL DS SSHFP IPSECKEY RRSIG NSEC DNSKEY DHCID NSEC3 NSEC3PARAM TLSA HIP NINFO CDS CDNSKEY OPENPGPKEY CSYNC SPF UNSPEC EUI48 EUI64 TKEY TSIG IXFR AXFR MAILB MAILA ANY URI CAA AVC AMTRELAY TA DLV

class api_searcher.dns.dns_searcher.DNSSearcher(host)[source]

Klasa odpowiedzialna za wyszukiwanie informacji o rekordach DNS.

__init__(host)[source]

Initialize self. See help(type(self)) for accurate signature.

static all_records()[source]

Atrybut klasy zwracający informacje wybranych rekordów DNS w postaci listy.

Return type

List

static change_to_domain_addres(host)[source]

Metoda pomocnicza zwraca adres ip w postaci reverse-map nazwy domenowej. :type host: str :type host: str :param host: adres ip lub nazwa domenowa hosta :return: reverse-map nazwa domenowa adresu hosta

get_data()[source]
Return type

List

static is_ipv4(host)[source]

Metoda pomocnicza sprawdzająca czy podany host to adres ip czy domenowy. :rtype: bool :type host: str :type host: str :param host: adres ip lub nazwa domenowa hosta :return: True jeśli argument host to adres ip, w przeciwnym wypadku zwraca False

exception api_searcher.dns.dns_searcher.DNSSearcherError(message=None, errors=None)[source]

Zgłasza wyjątki gdy nie można pobrć danych o rekordach DNS.

__init__(message=None, errors=None)[source]

Initialize self. See help(type(self)) for accurate signature.

search_engines

user_credentials

Moduł do przechowywania danych użytkownika takich jak klucze do serwisów, które wymagają kont dla korzystania z ich api i/lub funkcjonalności.

class api_searcher.search_engines.user_credentials.UserCredentials[source]

Singleton - Klasa przechowująca dane użytkownika do serwisów trzecich niezbędne do korzystania z ich funkcjonalności.

__init__()[source]

Initialize self. See help(type(self)) for accurate signature.

property censys

Atrybut zwracajacy dane uwierzytelniajace użytkownika dla serwisu http://censys.io/

classmethod getInstance()[source]

Metoda klasy wymaga dla klasy typu Singleton - zwraca instancję klasy, gwarantuje istnienie tylko jednego obiektu z danymi wuierzytleniajacmi użytkownika.

property shodan

Atrybut zwracajacy dane uwierzytelniajace użytkownika dla serwisu https://shodan.io/

exception api_searcher.search_engines.user_credentials.UserCredentialsError(message=None, errors=None)[source]

Zgłoszenie wyjąktu gdy są problemy z danymi użytkownika do serwisów trzecich.

__init__(message=None, errors=None)[source]

Initialize self. See help(type(self)) for accurate signature.

user_credentials_updater

class api_searcher.search_engines.user_credentials_updater.UserCredentialsUpdater(user_data)[source]

Klasa umożlwiiajaca użytkownikowi dodanie wlasnych klucyz do serwisów trzecich, wymagających danych i kont do nich.

__init__(user_data)[source]

Initialize self. See help(type(self)) for accurate signature.

update()[source]

Metoda aktualizująca i zapisujaca do pliku dane uwierzytelniające użytkownika do serwisów trzeich, które udostępniaja swoje dane tylko po utworzeniu konta z uniklanym kluczem przypisanym użytkownikowi.

property user_data
exception api_searcher.search_engines.user_credentials_updater.UserCredentialsUpdaterError(message=None, errors=None)[source]

Zgłasza wyjątek gdy nie można zaktualizować dane użytkownika do serwisów trzeich.

__init__(message=None, errors=None)[source]

Initialize self. See help(type(self)) for accurate signature.

censys_engine.censys_connector

class api_searcher.search_engines.censys_engine.censys_connector.CensysConnector(credentials)[source]

Klasa konektora odopowiadająca za pobieranie danych z serwisu https://censys.io/.

__init__(credentials)[source]

Initialize self. See help(type(self)) for accurate signature.

property certificate
property ipv4
search_by_fingerprint(certificate_hash)[source]
search_by_ip(ip)[source]

Metoda szukająca infromacji o hoście na podtawie jego adresu ip z serwisu https://censys.io/.. Np.:https://censys.io/ipv4/150.254.78.51

search_by_website(domain)[source]
property website
exception api_searcher.search_engines.censys_engine.censys_connector.CensysConnectorError(message=None, errors=None)[source]

Zgłasza wyjątek gdy nie można pobrać danych z serwisu https://censys.io/.

__init__(message=None, errors=None)[source]

Initialize self. See help(type(self)) for accurate signature.

censys_engine.censys_credentials

class api_searcher.search_engines.censys_engine.censys_credentials.CensysCredentials[source]

Sinleton - Klasa przechowująca wymagane dane dla seriwsu trzeciego http://censys.io/. Daje także możliwość aktualizacji danych uwierzytelniających użytkownika np. w przypadku przekroczenia ilości wyszukiwań na darmowym koncie w serwisie.

__init__()[source]

Initialize self. See help(type(self)) for accurate signature.

property api_id
property api_url
property base_url
property db_name
classmethod getInstance()[source]

Metoda klasy wymaga dla klasy typu Singleton - zwraca instancję klasy, gwarantuje istnienie tylko jednego obiektu z danymi wuierzytleniajacmi użytkownika.

property secret
update_api_id(new_api_id)[source]

Metoda do aktualizacji danych “API_ID” dla konta użytkownika do serwisu http://censys.io/

update_secret(new_secret)[source]

Metoda niezbędne do aktualizacji danych “Secret” dla konta użytkownika do serwisu http://censys.io/

exception api_searcher.search_engines.censys_engine.censys_credentials.CensysCredentialsError(message=None, errors=None)[source]

Zgłasza wyjątek gdy nie można utworzyć obiketu przechowujące dane użytkownika do seriwsu http://censys.io/

__init__(message=None, errors=None)[source]

Initialize self. See help(type(self)) for accurate signature.

censys_engine.wrappers.dns_wrapper

class api_searcher.search_engines.censys_engine.wrappers.dns_wrapper.DNSWrapper(data)[source]
__init__(data)[source]

Initialize self. See help(type(self)) for accurate signature.

get_names()[source]
property is_erros
property is_open_resolver
property is_resolves_correctly
property is_support
property names

censys_engine.wrappers.https_wrapper

class api_searcher.search_engines.censys_engine.wrappers.https_wrapper.HTTPSWrapper(data)[source]
__init__(data)[source]

Initialize self. See help(type(self)) for accurate signature.

property dh_params
property dhe_export

https://crypto.stackexchange.com/questions/33859/what-is-dhe-export-cipher-suite

property dhe_support
property freak_attack

Export RSA True -> This host is vulnerable to the FREAK attack.

property get_metadata

Data from https://censys.io/ipv4/50.56.73.47 dla Apache httpd 2.2.17 https://www.cvedetails.com/vulnerability-list/vendor_id-45/product_id-66/version_id-109443/Apache-Http-Server-2.2.17.html https://www.netcompliancesolutions.com/.htaccess - sprawdizć czy jest ta ściezka - jeśli tak tomamy apache

get_tls()[source]
property heartbleed
property logjam_attack

https://weakdh.org/ Export DHE True -> This host is vulnerable to the Logjam attack.

property poodle_attack

SSLv3 Support True -> This host is vulnerable to the POODLE attack.

property rsa_exponent
property rsa_export
property rsa_length
property rsa_modulus
property rsa_params
property ssl_3_support
property status_code
property tls
property to_json
property webpage_body_sha256

Webpage body_sha256

property webpage_title

Webpage title

censys_engine.wrappers.ip_parser

class api_searcher.search_engines.censys_engine.wrappers.ip_parser.IPParser(data)[source]

Zna strukturę odpowiedzi od censysa dla zapytań dotyczących adresu ip https://censys.io/ipv4/8.8.8.8

__init__(data)[source]

Initialize self. See help(type(self)) for accurate signature.

get_autonomous_system()[source]

Jeśli zmieni się struktura odpowiedzi to tutaj tylko zmieniać autonomous_system”: {“description”: “GOOGLE”, “rir”: “unknown”, “routed_prefix”: “8.8.8.0/24”, “country_code”: “US”, “path”: [15169], “asn”: 15169, “name”: “GOOGLE”},

get_dns()[source]

Bo różne usługi nie musza być na standardowych portach

get_https()[source]

Bo różne usługi nie musza być na standardowych portach

get_location()[source]

Jeśli zmieni się struktura odpowiedzi to tutaj tylko zmieniać

get_os()[source]

W metadata są os i os_description

get_ports()[source]

Osobno z pierwszego zagnieżdzęnia wyciągam porty - moze być przydatne w porównywaniu z self.get_protocols()

get_protocols()[source]

Ten sam protokół moze być wykorzystywany używany na kilku portach

property updated_at

censys_engine.wrappers.ip_wrapper

class api_searcher.search_engines.censys_engine.wrappers.ip_wrapper.IPWrapper(filename='C:\\Users\\dp\\Desktop\\sarenka\\backend\\connectors\\censys\\50_56_73_47.json')[source]
__init__(filename='C:\\Users\\dp\\Desktop\\sarenka\\backend\\connectors\\censys\\50_56_73_47.json')[source]

Initialize self. See help(type(self)) for accurate signature.

property asn

autonomous system number (ASN)

property autonomous_system
property continent
property country
property description
property dns
property dns_erros
property dns_names
property https
property latitude
property location
property longitude
property name
property os
property path
property ports
property protocols
property protocols_port
property registered_country
property rir

RIR - Regional Internet registry

property routed_prefix
property timezone
property to_json
property updated_at

censys_engine.wrappers.tls_wrapper

class api_searcher.search_engines.censys_engine.wrappers.tls_wrapper.TLSCertificateExtensionsWrapper(data)[source]
__init__(data)[source]

Initialize self. See help(type(self)) for accurate signature.

property authority_info_access_issuer_urls
property authority_info_access_ocsp_urls
property authority_key_id
property ceritificate_policies
property certificate_policies_cps
property certificate_policies_id
property client_auth
property crl_distribution_points
property dns_names
property is_ca
property key_usage_is_digital_signature
property key_usage_key_encipherment
property key_usage_value
property server_auth
property subject_key_id
property to_json
class api_searcher.search_engines.censys_engine.wrappers.tls_wrapper.TLSCertificateWrapper(data)[source]
__init__(data)[source]

Initialize self. See help(type(self)) for accurate signature.

property common_name
property extensions
property fingerprint_md5
property fingerprint_sha1
property fingerprint_sha256
property issuer_common_name
property issuer_dn
property issuer_organization
property issuer_organizational_unit
property names
property organization
property organizational_unit
property redacted
property serial_number
property signature_algorithm_name
property signature_algorithm_oid

https://crypto.stackexchange.com/questions/63157/who-assigns-algorithm-oids-for-cryptographic-algorithms

property signature_self_signed
property signature_signature_algorithm_name
property signature_signature_algorithm_oid

https://crypto.stackexchange.com/questions/63157/who-assigns-algorithm-oids-for-cryptographic-algorithms

property signature_valid
property signature_value
property spki_subject_fingerprint
property subject_dn
property subject_key_info_fingerprint_sha256
property subject_key_info_key_algorithm_name
property subject_key_info_rsa_public_key_exponent
property subject_key_info_rsa_public_key_lenght
property subject_key_info_rsa_public_key_modulus
property tbs_fingerprint
property tbs_noct_fingerprint
property to_json
property validation_level

https://www.ssl.com/article/dv-ov-and-ev-certificates/ DV Certificates - Domain validated OV Certificates - Organization validated EV Certificates - Extended validation

property validity
property validity_start
property validity_valid
property validity_value
property version
class api_searcher.search_engines.censys_engine.wrappers.tls_wrapper.TLSWrapper(data)[source]
__init__(data)[source]

Initialize self. See help(type(self)) for accurate signature.

property certificate
property chain
property cipher_suite
property cipher_suite_id
property cipher_suite_name
property dh_generator
property dh_params
property dh_prime
property ocsp_stapling
property session_ticket_length
property signature_valid
property to_json
property validation
property validation_browser_error
property validation_browser_trusted
property version

shodan_engine.shodan_connector

class api_searcher.search_engines.shodan_engine.shodan_connector.ShodanConnector(credentials)[source]

Klasa konektora odopowiadająca za pobieranie danych z serwisu https://www.shodan.io/.

__init__(credentials)[source]

Initialize self. See help(type(self)) for accurate signature.

search_by_asn(asn)[source]

NIE DOSTĘPNA W TEJ WERSJI https://www.shodan.io/search?query=asn%3AAS6846 w censysie numer asn jest widoczny - punkt spięcia wyszukiwań z censysa “autonomous_system”: {“description”: “GOOGLE”, “rir”: “unknown”, “routed_prefix”: “8.8.8.0/24”, “country_code”: “US”, “path”: [15169], “asn”: 15169, “name”: “GOOGLE”},

search_by_ip(ip_address)[source]

Metoda szukająca infromacji o hoście na podtawie jego adresu ip z serwisu https://www.shodan.io/. Np.: https://www.shodan.io/host/150.254.78.51

search_by_technology_name(query, amount=3)[source]

METODA NIE DOSTĘPNA W TEJ WERSJI :type amount: int :param query: :param amount: :rtype: [<class ‘api_searcher.search_engines.shodan_engine.wrappers.host_wrapper.HostWrapper’>] :return:

exception api_searcher.search_engines.shodan_engine.shodan_connector.ShodanConnectorError(message=None, errors=None)[source]

Zgłasza wyjątek gdy nie można pobrać danych z serwisu https://shodan.io/

__init__(message=None, errors=None)[source]

Initialize self. See help(type(self)) for accurate signature.

shodan_engine.shodan_credentials

class api_searcher.search_engines.shodan_engine.shodan_credentials.ShodanCredentials[source]

Singleton - Klasa przechowująca wymagane dane dla seriwsu trzeciego https://shodan.io/. Daje także możliwość aktualizacji danych uwierzytelniających użytkownika np. w przypadku przekroczenia ilości wyszukiwań na darmowym koncie w serwisie.

__init__()[source]

Initialize self. See help(type(self)) for accurate signature.

property api_key
property base_url
property db_name
classmethod getInstance()[source]

Metoda klasy wymaga dla klasy typu Singleton - zwraca instancję klasy, gwarantuje istnienie tylko jednego obiektu z danymi wuierzytleniajacmi użytkownika.

update_api_key(new_api_key)[source]

Metoda do aktualizacji danych “user” dla konta użytkownika do serwisu https://shodan.io/

update_user(new_user)[source]

Metoda do aktualizacji danych “api_key” dla konta użytkownika do serwisu https://shodan.io/

property user
exception api_searcher.search_engines.shodan_engine.shodan_credentials.ShodanCredentialsError(message=None, errors=None)[source]

Zgłasza wyjątek gdy nie można utworzyć obiketu przechowujące dane użytkownika do seriwsu https://shodan.io/

__init__(message=None, errors=None)[source]

Initialize self. See help(type(self)) for accurate signature.

shodan_engine.wrappers.host_details_wrapper

class api_searcher.search_engines.shodan_engine.wrappers.host_details_wrapper.HostDetailsWrapper(ip, host_details)[source]

Klasa pomocnicza - wrapper parsujacy dane z serwisu https://www.shodan.io/.

__init__(ip, host_details)[source]

Initialize self. See help(type(self)) for accurate signature.

property data
property html

Atrybut zwracający dane html.

property http

Atrybut zwracajacy infromacje o portach gdize wykosztyswany jest protokół http

property ip

Atrybut zwracajacy adres ip hosta.

property ports

Atrybut klaasy zwracajacy informacje o portach.

property redirects

Atrybut zwracajacy informacje o przekierowaniach do innych hostów

property to_json

shodan_engine.wrappers.host_wrapper

class api_searcher.search_engines.shodan_engine.wrappers.host_wrapper.HostWrapper(shodan_host_data, query)[source]

Klasa pomocnicza - wrapper na dane shodana o zwróconej liscie hostów. W zwracanych danych jest więcej hostów kosztem mniejszej ilości szczegółów o hoście

__init__(shodan_host_data, query)[source]

Initialize self. See help(type(self)) for accurate signature.

property data
property html
property http
property ip
property port
property query

third services

service_details

Moduł do przechowywania danych szczegółowych takich jak adresy url do głównej strony jak i wybranych funckjonalności dla serwisów trzeich, które nie wymagają uwierzytelniania od użytkownika.

class api_searcher.third_services.service_details.ServiceDetails[source]

Singleton - klasa przechowujaca informacje o serwisach trzecich z których pobierane są dane

__init__()[source]

Initialize self. See help(type(self)) for accurate signature.

property config_file_path

Atrybut klasy zwracajacy ścieżkę do pliku z danymi uwierzytelniajacymi użytkownika.

property cve_circl

Atrybut klasy zwracaja szczegóły do serwisu https://cve.circl.lu/. Informacje niezbędnę by pobierać informacje z powyższego serwisu

classmethod getInstance()[source]

Metoda klasy wymaga dla klasy typu Singleton - zwraca instancję klasy, gwarantuje istnienie tylko jednego obiektu z danymi do serwisó trzeich.

classmethod get_config_file_path()[source]

Metoda klasy zwracajaca ścieżkę do pliku konfiguracyjnego użytkownika.

exception api_searcher.third_services.service_details.ServiceDetailsError(message=None, errors=None)[source]

Zgłoszenie wyjąktu gdy są problemy z danymi dla seriwsów trzecich nie wymagających uwierzytelniania użytkownika.

__init__(message=None, errors=None)[source]

Initialize self. See help(type(self)) for accurate signature.

cve_circl

cve_circl_connector

Moduł odpowiadający za połączenie i zbieranie danych od serwisu https://cve.circl.lu/.

class api_searcher.third_services.cve_circl.cve_circl_connector.CveCirclConnector(service_details)[source]

Klasa będąca konektorem do serwisu trzeciego https://cve.circl.lu/.

__init__(service_details)[source]

Initialize self. See help(type(self)) for accurate signature.

property base_url
static connect(url)[source]

Metoda pomocnicza klasy odpowidająca za rzadzanie GET HTTP do podanego urlu

property cve
property db_info
get_db_info()[source]

Metoda zwraca infromacje o bazie danych serwisu https://cve.circl.lu/

get_product(vendor, product)[source]

Metoda zwracająca informacje o oprogramowaniu na podstawie podanego dostawcy i nazwy produktu od użytkownika

get_vendor_products(vendor)[source]

Metoda zwracająca listę produktów dla danego dostawcy

get_vendors_list()[source]

Metoda zwracająca listę dostawców oprogramowania.

property last
search_by_cve_code(cve_code)[source]

Metoda zwracająca informacje o podatności Common Vulnerabilities and Exposures CVE z serwisu https://cve.circl.lu/

property vendor
exception api_searcher.third_services.cve_circl.cve_circl_connector.CveCirclConnectorError(message=None, errors=None)[source]

Zgłasza wyjątek gdy nie można połaczyć się z serwisem https://cve.circl.lu/.

__init__(message=None, errors=None)[source]

Initialize self. See help(type(self)) for accurate signature.

cve_circl_details

class api_searcher.third_services.cve_circl.cve_circl_details.CveCirclDetails(data)[source]

Klasa przechowuje szczegółowe dane do serwiu trzeciego https://cve.circl.lu oraz jego specyficznych urli. Serwis nie wymagaja uwierzytelnienia użytkownika

__init__(data)[source]

Initialize self. See help(type(self)) for accurate signature.

property base_url
property cve
property db_info
property last
property vendor
exception api_searcher.third_services.cve_circl.cve_circl_details.CveCirclDetailsError(message=None, errors=None)[source]

Klasa zgłaszajca wyjątek gdy nie można stworzyć obiektu przechowujacego szczegółowe dane do serwisu trzeciego https://cve.circl.lu

__init__(message=None, errors=None)[source]

Initialize self. See help(type(self)) for accurate signature.

cve_circl_vendor_list

class api_searcher.third_services.cve_circl.cve_circl_vendor_list.CveCirlVendorList(service_details)[source]

KLasa zwrcająca listę dostawców oprogramowania z serwisu https://cve.circl.lu

__init__(service_details)[source]

Initialize self. See help(type(self)) for accurate signature.

get_data()[source]
exception api_searcher.third_services.cve_circl.cve_circl_vendor_list.CveCirlVendorListError(message=None, errors=None)[source]

Zgłoszenie wyjąktu gdy nie można pobrac danych o dostawcy oprogramowania z serwisu https://cve.circl.lu””.

__init__(message=None, errors=None)[source]

Initialize self. See help(type(self)) for accurate signature.

wrappers.cve_parser

class api_searcher.third_services.cve_circl.wrappers.cve_parser.CVEParser[source]

Klasa pomocnicza opakowująca i parsujaca dane o produkcie z danych uzyskanych z serwisu trzeciego https://cve.circl.lu/.

static authentication(data)[source]
static availability(data)[source]
static complexity(data)[source]
static confidentiality(data)[source]
static cve(data)[source]
static cvss(data)[source]
static cvss_vector(data)[source]
static cwe(data)[source]
static integrity(data)[source]
static products(data)[source]

Metoda parsująca dane o produkcie z identyfikatora Common Platform Enumeration (CPE) Postać wektora powinna być jak poniższa. cpe:/<part>:<vendor>:<product>:<version>:<update>:<edition>:<language><part> Niestety infromacje sa dodawane prze ludzi ręcznie i występują liczne błędy składniowe uniemożliwiaające poprawne parsowanie. Więcej informacji: https://csrc.nist.gov/projects/security-content-automation-protocol/specifications/cpe

Return type

List[ProductWrapper]

static summary(data)[source]
static title(data)[source]
static vector(data)[source]

wrappers.cve_wrapper

class api_searcher.third_services.cve_circl.wrappers.cve_wrapper.CveWrapper(data)[source]

Klasa pomocnicza - parsuje uzyskane z seriwsu https://cve.circl.lu/ dane.

__init__(data)[source]

Initialize self. See help(type(self)) for accurate signature.

property authentication
property availability
property complexity
property confidentiality
property cve
property cvss
property cvss_vector
property cwe
property products
property summary
property title
to_dict()[source]
property vector

wrappers.product_wrapper

class api_searcher.third_services.cve_circl.wrappers.product_wrapper.ProductWrapper(vendor, name, version, system)[source]
__init__(vendor, name, version, system)[source]

Initialize self. See help(type(self)) for accurate signature.

property name
property system
to_dict()[source]
property vendor
property version

views

common

class api_searcher.views.common.Common(request)[source]

Klasa pomocnicza zwracajaca najcześciej używane funkcje przez widoki api_searcher.

__init__(request)[source]

Initialize self. See help(type(self)) for accurate signature.

static get_ip_addres(host)[source]

Metoda statyczna zwracająca adres ip adress hosta.

property host_address

Atrybut zwrcacający adres hosta na którym uruchomiony jest backend aplikacji SARENKA.

static is_ipv4(host)[source]

Metoda statyczna sprawdzająca czy podano adres ip czy domenę.

dns

class api_searcher.views.dns.DNSSearcherView(**kwargs)[source]

Widok Django który zwraca informacje o rekordach DNS dla dane hosta.

get(request, host)[source]

Metoda zwracajace informacje o rekordach DNS na podstawie zapytania GET HTTP użytkownika. :param request: obiekt dla widoku Django z informacjami od użytkownika :param host: fully qualified domain name :return: dns data :example: host=’renmich.faculty.wmi.amu.edu.pl’

search_engines

class api_searcher.views.search_engines.CensysHostSearchView(**kwargs)[source]

Widok Django zwracający dane z serwisu http://censys.io/. Zwraca informacje o potenjcalne podatności hosta na ataki: “heartbleed”, “logjam_attack”, “freak_attack”, “poodle_attack”.

get(request, ip_address)[source]

Zwraca informacje uzyskane za pośrednictwem serwisu https://censys.io/. Na podstawie adresu ip hosta podane przez uzytkownika w żadaniu GET HTTP. :param request: obiekt request dla widoku Django :return: dane w postaci json zawierajace informacje o hoście zwrócone przez serwis https://censys.io/.

class api_searcher.views.search_engines.LocalUrlCreator[source]

Klasa pomocnicza generujaca urle do wnętrza aplikacji.

static get_user_credentials_url(request)[source]
class api_searcher.views.search_engines.SearcherFullView(**kwargs)[source]

Widok Django zwracajacy wszystkie dane dla hostu podanego przez użytkownika. Zawiera dane ze wszsytkich serwisów trzecich, informacje o DNS oraz banner.

get(request, host)[source]

Metoda zwracajace wszystkie dane o podanym przez użytkownika hoście na zapytanie GET HTTP. :param request: obiekt dla widoku Django z informacjami od użytkownika :param host: string mający adres ip lub domenę np.: python.org :return: dane w postaci json zawierajace ingormacje o hoście

class api_searcher.views.search_engines.ShodanHostSearchView(**kwargs)[source]

Widok Django zwracający dane z serwisu https://shodan.io/.

get(request, ip_address)[source]

Zwraca informacje uzyskane za pośrednictwem serwisu https://censys.io/. Na podstawie adresu ip hosta podane przez uzytkownika w żadaniu GET HTTP. :param request: obiekt request dla widoku Django :return: dane w postaci json zawierajace informacje o hoście zwrócone przez serwis https://censys.io/.

api_searcher.views.search_engines.login_required_view(request, cve_code)[source]

user_credentials

class api_searcher.views.user_credentials.UserCredentialsView(**kwargs)[source]
get(request)[source]
post(request)[source]

Zapisuje do bazy dane uwierzytelniające użytkownika do serwisów trzecich.

serializer_class

alias of api_searcher.serializers.UserCredentialsSerializer

vendor_list

class api_searcher.views.vendor_list.VendorListView(**kwargs)[source]

Widok Django zwracający dostawców oprogramowania z wykrytymi podatnościami CVE

get(request)[source]

Metoda zwracajace dostawców dla których wykryto podatności Common Vulnerabilities and Exposures (CVE) na podstawie zapytania GET HTTP użytkownika. Wymaga uzupełnionych danych la serwisów trzecich. :tags: CVE :param request: obiekt dla widoku Django z informacjami od użytkownika :return: dane w postaci json zawierajace ingormacje o dostawcach dla których istnieją podntości CVE

get_data()[source]

windows

class api_searcher.views.windows.HardwareView(**kwargs)[source]

Widok zwracajacy informacje sprzętowe dostępne z poziomu systemu Windows

get(request)[source]

Zwraca informacje sprzętowe o lokalnej maszynie na której uruchomiono serwer aplikacji na podstawie żądania GET HTTP użytkownika. :param request: obiekt dla widoku Django z informacjami od użytkownika :return: dane w postaci json zawierajace informacje sprzętowe

class api_searcher.views.windows.LocalView(**kwargs)[source]

Widok Django zwracajacy informacje o lokalnej maszynie Windows

get(request)[source]

Zwraca ogólne informacje o lokalnej maszynie na której uruchomiono serwer aplikacji na podstawie żądania GET HTTP użytkownika. :param request: obiekt dla widoku Django z informacjami od użytkownika :return: dane w postaci json zawierajace ogólne informacje o maszynie na której uruchomiono aplikacje

class api_searcher.views.windows.NetworkLocalView(**kwargs)[source]

Widok Django zwracający informacje o lokalnej sieci na podstawie danych dostępnych w systemie Windows.

get(request)[source]

Zwraca informacje sieciowe lokalnej maszyny na której uruchomiono serwer aplikacji na podstawie żądania GET HTTP użytkownika. :param request: obiekt dla widoku Django z informacjami od użytkownika :return: dane w postaci json zawierajace informacje o sieci w jakiej znajduje się host

class api_searcher.views.windows.RegistryView(**kwargs)[source]

Widok Django zwracający informacje o lokalnie zainstalowanym oprogramowaniu w systemie Windows

get(request)[source]

Zwraca informacje o lokalnie zainstalowanym oprogramowaniu w systemie Windows na podstawie żądania GET HTTP użytkownika. :param request: obiekt dla widoku Django z informacjami od użytkownika :return: dane w postaci json zawierajace informacje o lokalnych aplikacjach

api_searcher.views.windows.is_windows_os()[source]

windows

hardware

class api_searcher.windows.hardware.Hardware[source]
static get_bios()[source]

Returns Bios version

Return type

Dict

static get_computer_information()[source]

Returns name computer_information

Return type

Dict

static get_hard_drive_info()[source]

Returns name hard_drive_info

Return type

Dict

static get_motherboard_information()[source]

Returns name motherboard_information

Return type

Dict

static get_operation_system()[source]

Returns name operation_system

Return type

Dict

static to_json()[source]
Return type

Dict

installed_software

class api_searcher.windows.installed_software.InstalledSoftware(data)[source]
__init__(data)[source]

Initialize self. See help(type(self)) for accurate signature.

property date
property location
property name
property to_dict
property vendor
property version

local

class api_searcher.windows.local.LocalInfo[source]

Pobieranie lokalnych informacji o systemie i maszynie Windows.

static get_systeminfo()[source]

Zwraca infromacje o systemie

parse_data()[source]
property values

network

class api_searcher.windows.network.LocalNetworkData[source]

Klasa zwracajaca informacje o lokalnej sieci.

__init__()[source]

Initialize self. See help(type(self)) for accurate signature.

static get_local_ip_adress()[source]
static get_local_netmask()[source]
static get_local_network_interfaces()[source]
property intefaces
property ip_address
property netmask
property network
property values
class api_searcher.windows.network.NetworkCommand[source]
static get_arp()[source]

arp -a

static get_getmac()[source]

getmac :return:

static get_hostname()[source]

hostname

static get_netstat_an()[source]

netstat -an :return:

static get_nslookup()[source]

nslookup :return:

static ipconfig_all()[source]

ipconfig /all

static nbtstat()[source]

nbtstat -c nbtstat -n nbtstat -r

Returns

network

class api_searcher.windows.registry.WindowsPath(value)[source]

Enum do przechowywania scieżek, z których odczytujemy lokalnie na Windze zainstalowane oprogramowania

hkey_local_machine = 'HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall'
hkey_local_machine_wow6432node = 'HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall'
class api_searcher.windows.registry.WindowsRegistry[source]

Wybiera dane które są dostępne w rejestrze Windows

__init__()[source]

Initialize self. See help(type(self)) for accurate signature.

get_all_software()[source]
get_software_key(key)[source]