Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [PYTHON] ICMP malformati

    Ciao a tutti. Mi sono da poco avvicinato al linguaggio python e sto da poco (finalmente) iniziando a creare semplici programmi di rete mediante l'utilizzo dei moduli socket.
    Avevo in mente un'ideuzza a scopo puramente didattico.
    Vorrei creare due applicativi, un server e un client:

    - Il client dovrebbe mandare dei pacchetti ICMP non convenzionali al server. Per 'non convenzionali' intendo che essi, a differenza dei normali pacchetti ICMP, devono avere nel campo DATA una determinata stringa (es: un banalissimo 'Hello world\n')

    - Il server deve essere in grado di:
    * non curarsi dei pacchetti ICMP convenzionali come ad es quelli derivanti da un ICMP echo request.
    * stampare a video quelli contenenti una particolare stringa presente nel campo DATA (in questo caso 'hello world').


    Un applicativo di questo tipo potrebbe essere una interessante backdoor "informativa" capace di fornire informazioni riguardo un'eventuale macchina remota, se ad es, si riempisse la stringa con informazioni riguardanti il sistema interessato.
    La scelta del protocollo ICMP, inoltre, si rivelerebbe una scelta azzeccata in quanto:
    - inizializzando una connessione TCP essa verrebbe quasi sicuramente intercettata e bloccata da un eventuale firewall.
    - quasi sempre la maggior parte dei firewall non effettua un blocco riguardo l'apparentemente innocuo protocollo ICMP in uscita.


    Come idea non mi appare malvagia e mi piacerebbe implementarla a manina.
    A riguardo mi sorgono però dubbi inerenti l'effettiva capacità del linguaggio python.
    Se mediante il linguaggio C sarebbe sufficiente forgiare l'intero pacchetto utilizzando le RAW_SOCKET col python come si potrebbe fare?
    Riesce tale linguaggio ad arrivare ad un così basso livello?
    Esistono librerie utili a riguardo?
    Sono disponibili le originali RAW_SOCKET del linguaggio C? Se si si utilizzano allo stesso modo?


    Ringrazio anticipatamente chiunque trovando interessante un'applicativo di questo tipo voglia aiutarmi nel suo sviluppo.

    Un saluto.
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

  2. #2
    Utente di HTML.it L'avatar di Fox82
    Registrato dal
    Feb 2002
    Messaggi
    459

    Re: [PYTHON] ICMP malformati

    Originariamente inviato da billiejoex
    Se mediante il linguaggio C sarebbe sufficiente forgiare l'intero pacchetto utilizzando le RAW_SOCKET col python come si potrebbe fare?
    Riesce tale linguaggio ad arrivare ad un così basso livello?
    Esistono librerie utili a riguardo?
    Sono disponibili le originali RAW_SOCKET del linguaggio C? Se si si utilizzano allo stesso modo?
    Le api per le socket sono praticamente identiche a quelle unix

    Per creare una socket raw:

    codice:
    import socket
    s = socket(socket.AF_INET, socket.SOCK_ROW)
    Comunque trovi tutto sulla documentazione
    Linux user number 403381

    Stop TCPA!

  3. #3
    L'unica cosa l'impacchettamento fallo con struct

  4. #4
    Terminato un primo abbozzo del client e aggiunta la frammentazione dei pacchetti. Ogni pacchetto contiene una campo data da 54 bytes superati i quali viene spezzettato e mandato in sequenza.
    Come tipo di ICMP ho optato per l'ECHOREPLY di modo da non avere pacchetti di ritorno che sporcano i risultati dello sniffing, almeno per adesso.
    In seguito si potrebbe utilizzare un client di tipo ECHOREQUEST di modo da avere dei pacchetti di ritorno con cui assicurare il recapito dei dati (una sorta di TCP, insomma).
    Questo cmq dopo. Per adesso inizio a vedere come fare col server per sniffare gli ICMP a basso livello, leggere il campo data e ricostruire il tutto nella giusta sequenza.

    PS - Le stramaledettissime pcapy (porting delle libcap) non riesco a installarle. Damn it!
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.