def test_list(self): """Tests the FTP LIST command""" options = {'enabled': 'True', 'port': 0, 'banner': 'Test Banner', 'protocol_specific_data': {'max_attempts': 3, 'banner': 'test banner', 'syst_type': 'Test Type'}, 'users': {'test': 'test'}} cap = honeypot_ftp.ftp(options, self.work_dir) srv = StreamServer(('0.0.0.0', 0), cap.handle_session) srv.start() bee_info = { 'enabled': True, 'timing': 'regular', 'username': '******', 'password': '******', 'port': srv.server_port, 'server': '127.0.0.1' } beesessions = {} BaitSession.client_id = 'f51171df-c8f6-4af4-86c0-f4e163cf69e8' current_bee = bee_ftp.Ftp(bee_info) current_bee.connect() current_bee.login(bee_info['username'], bee_info['password']) current_bee.list() self.assertGreater(len(current_bee.state['file_list']), 0) self.assertGreater(len(current_bee.state['dir_list']), 0) srv.stop()
def test_login(self): """Testing different login combinations""" sessions = {} options = { 'enabled': 'True', 'port': 0, 'banner': 'Test Banner', 'users': { 'test': 'test' }, 'protocol_specific_data': { 'max_attempts': 3, 'banner': 'test banner', 'syst_type': 'Test Type' } } cap = ftp.ftp(sessions, options, self.work_dir) srv = StreamServer(('0.0.0.0', 0), cap.handle_session) srv.start() ftp_client = FTP() ftp_client.connect('127.0.0.1', srv.server_port, 1) # expect perm exception try: ftp_client.login('james', 'bond') response = ftp_client.getresp() except ftplib.error_perm: pass srv.stop()
def test_login(self): """FTP: Testing different login combinations""" options = {'enabled': 'True', 'port': 0, 'banner': 'Test Banner', 'protocol_specific_data': {'max_attempts': 3, 'banner': 'test banner', 'syst_type': 'Test Type'}, 'users': {'test': 'test'}} cap = honeypot_ftp.ftp(options, self.work_dir) srv = StreamServer(('0.0.0.0', 0), cap.handle_session) srv.start() bee_info = { 'enabled': True, 'timing': 'regular', 'username': '******', 'password': '******', 'port': srv.server_port, 'server': '127.0.0.1' } beesessions = {} BaitSession.client_id = 'f51171df-c8f6-4af4-86c0-f4e163cf69e8' current_bait = bee_ftp.Ftp(bee_info) current_bait.connect() current_bait.login(bee_info['username'], bee_info['password']) srv.stop()
def test_cwd(self): """Tests the FTP CWD command""" sessions = {} options = { 'enabled': 'True', 'port': 0, 'banner': 'Test Banner', 'protocol_specific_data': { 'max_attempts': 3, 'banner': 'test banner', 'syst_type': 'Test Type' }, 'users': { 'test': 'test' } } cap = hive_ftp.ftp(sessions, options, self.work_dir) srv = StreamServer(('0.0.0.0', 0), cap.handle_session) srv.start() bee_info = { 'enabled': True, 'timing': 'regular', 'username': '******', 'password': '******', 'port': srv.server_port, 'server': '127.0.0.1' } beesessions = {} BaitSession.client_id = 'f51171df-c8f6-4af4-86c0-f4e163cf69e8' current_bee = bee_ftp.ftp(beesessions, bee_info) current_bee.connect() current_bee.login(bee_info['username'], bee_info['password']) self.assertEquals('/', current_bee.state['current_dir']) current_bee.list() current_bee.cwd(current_bee.state['dir_list'][0]) self.assertNotEquals('/', current_bee.state['current_dir']) srv.stop()
def test_login(self): """Testing different login combinations""" options = {'enabled': 'True', 'port': 0, 'banner': 'Test Banner', 'users': {'test': 'test'}, 'protocol_specific_data': {'max_attempts': 3, 'banner': 'test banner', 'syst_type': 'Test Type'}} cap = ftp.ftp(options, self.work_dir) srv = StreamServer(('0.0.0.0', 0), cap.handle_session) srv.start() ftp_client = FTP() ftp_client.connect('127.0.0.1', srv.server_port, 1) # expect perm exception try: ftp_client.login('james', 'bond') response = ftp_client.getresp() except ftplib.error_perm: pass srv.stop()
def test_login(self): """FTP: Testing different login combinations""" sessions = {} options = { 'enabled': 'True', 'port': 0, 'banner': 'Test Banner', 'protocol_specific_data': { 'max_attempts': 3, 'banner': 'test banner', 'syst_type': 'Test Type' }, 'users': { 'test': 'test' } } cap = hive_ftp.ftp(sessions, options, self.work_dir) srv = StreamServer(('0.0.0.0', 0), cap.handle_session) srv.start() bee_info = { 'enabled': True, 'timing': 'regular', 'username': '******', 'password': '******', 'port': srv.server_port, 'server': '127.0.0.1' } beesessions = {} BaitSession.client_id = 'f51171df-c8f6-4af4-86c0-f4e163cf69e8' current_bait = bee_ftp.ftp(beesessions, bee_info) current_bait.connect() current_bait.login(bee_info['username'], bee_info['password']) srv.stop()
def test_login(self): """Testing different login combinations""" sessions = {} users = {'test': BaitUser('test', 'test')} authenticator = Authenticator() Session.authenticator = authenticator options = {'enabled': 'True', 'port': 0, 'banner': 'Test Banner', 'max_attempts': 3, 'syst_type': 'Test Type'} cap = ftp.ftp(sessions, options, users, self.work_dir) srv = StreamServer(('0.0.0.0', 0), cap.handle_session) srv.start() ftp_client = FTP() ftp_client.connect('127.0.0.1', srv.server_port, 1) #expect perm exception try: ftp_client.login('james', 'bond') response = ftp_client.getresp() except ftplib.error_perm: pass srv.stop()