Exemplo n.º 1
0
    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()
Exemplo n.º 2
0
    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()
Exemplo n.º 3
0
    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()
Exemplo n.º 4
0
    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()
Exemplo n.º 5
0
    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()
Exemplo n.º 6
0
    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()
Exemplo n.º 7
0
    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()