honeynet / beeswarm

Honeypot deployment made easy
GNU General Public License v3.0
237 stars 64 forks source link

Bait session crash on malformed mail #202

Closed johnnykv closed 9 years ago

johnnykv commented 9 years ago

Seems like the SMTP bait fails when encountering a malformed mail:

2014-09-08 21:50:25,618 (beeswarm.drones.client.baits.smtp) Malformed email in mbox archive, skipping.
2014-09-08 21:50:34,667 (beeswarm.drones.client.consumer.consumer) Found finished ssh bait session. (bait id: e4b981bd-301e-43e4-9b3a-eb52ab5fcd80)
2014-09-08 21:50:34,806 (beeswarm.drones.drone) Relaying SESSION_CLIENT message to server.
2014-09-08 21:50:40,622 (beeswarm.drones.client.baits.smtp) SMTP Session complete.
Traceback (most recent call last):
  File "/Users/jkv/virtualenvs/beeswarm/lib/python2.7/site-packages/gevent-1.0.1-py2.7-macosx-10.9-intel.egg/gevent/greenlet.py", line 327, in run
    result = self._run(*self.args, **self.kwargs)
  File "/Users/jkv/repos/beeswarm/beeswarm/drones/client/baits/smtp.py", line 81, in start
    self.client.sendmail(from_addr, to_addr, mail_body)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/smtplib.py", line 720, in sendmail
    (code, resp) = self.mail(from_addr, esmtp_opts)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/smtplib.py", line 473, in mail
    return self.getreply()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/smtplib.py", line 359, in getreply
    + str(e))
SMTPServerDisconnected: Connection unexpectedly closed: timed out
<Greenlet at 0x107005190: <bound method smtp.start of <beeswarm.drones.client.baits.smtp.smtp object at 0x107475250>>> failed with SMTPServerDisconnected