mushorg / conpot

ICS/SCADA honeypot
GNU General Public License v2.0
1.24k stars 415 forks source link

Add FTP/TFTP support #352

Closed xandfury closed 6 years ago

xandfury commented 6 years ago

Many of the modern meters/plc/rtu provide support for FTP. Some links:

Sofrel Lacroix S500 Range RTU's:

Schneider Electric's PowerLogic™ PM5500 series:

ABB AC500 series:

xandfury commented 6 years ago

Python's ftplib may be used to facilitate emulation.

EDIT: Sorry. I meant pyftpdlib. ftplib is used for creating ftp clients rather than a sever. pyftpdlib could do the job for us since we are already monkey patching things. This is a gist of working pyftpdlib with gevent. (https://gist.github.com/asmodehn/1c8ded26f543ce72b0686ca0bea76d27)

creolis commented 6 years ago

Sounds great - we should try to allow a high level of customization there. Next to active and passive mode, we should allow to specify the commands supported (see: http://www.nsftools.com/tips/RawFTP.htm) as well as how each command individually responds / works, in order to flexibly mimick each desired system.

I did not look at ftplib yet and therefore did not check if this would satisfy this :-)

SwapnilDreams100 commented 6 years ago

Hi I would like to begin on this project, can anyone give me more links to study the details of what needs to be implemented? I know the basics of protocols like telnet and ftp

creolis commented 6 years ago

Implemented by @xandfury in the upcoming release