def test_login(self): """ Tests if HTTP bait can login to the http capability. """ sessions = {} options = {'enabled': 'True', 'port': 0, 'users': {'test': 'test'}} cap = hive_http.http(sessions, options, self.work_dir) srv = StreamServer(('0.0.0.0', 0), cap.handle_session) srv.start() bait_info = { 'timing': 'regular', 'username': '******', 'password': '******', 'port': srv.server_port, 'server': '127.0.0.1', 'honeypot_id': '1234' } baitsessions = {} BaitSession.client_id = 'f51171df-c8f6-4af4-86c0-f4e163cf69e8' current_bait = http(baitsessions, bait_info) current_bait.start() srv.stop()
def test_login(self): """ Tests if HTTP bee can login to the http capability. """ sessions = {} users = {'test': BaitUser('test', 'test')} authenticator = Authenticator(users) Session.authenticator = authenticator options = {'enabled': 'True', 'port': 0} cap = hive_http.http(sessions, options, users, self.work_dir) srv = StreamServer(('0.0.0.0', 0), cap.handle_session) srv.start() bait_info = { 'timing': 'regular', 'username': '******', 'password': '******', 'port': srv.server_port, 'server': '127.0.0.1' } baitsessions = {} BaitSession.client_id = 'f51171df-c8f6-4af4-86c0-f4e163cf69e8' current_bee = http(baitsessions, bait_info) current_bee.do_session('127.0.0.1') srv.stop()
def test_login(self): """ Tries to login using the username/password as test/test. """ sessions = {} options = {'enabled': 'True', 'port': 0, 'users': {'test': 'test'}} cap = http.http(sessions, options, self.work_dir) srv = StreamServer(('0.0.0.0', 0), cap.handle_session) srv.start() client = httplib.HTTPConnection('127.0.0.1', srv.server_port) client.putrequest('GET', '/') client.putheader('Authorization', 'Basic ' + base64.b64encode('test:test')) client.endheaders() response = client.getresponse() self.assertEqual(response.status, 200) srv.stop()
def test_connection(self): """ Tests if the capability is up, and sending HTTP 401 (Unauthorized) headers. """ sessions = {} # Use uncommon port so that you can run the test even if the Honeypot # is running. options = {'enabled': 'True', 'port': 0, 'users': {'test': 'test'}} cap = http.http(sessions, options, self.work_dir) srv = StreamServer(('0.0.0.0', 0), cap.handle_session) srv.start() client = httplib.HTTPConnection('127.0.0.1', srv.server_port) client.request('GET', '/') response = client.getresponse() self.assertEqual(response.status, 401) srv.stop()