http에서 https로 많이 넘어가는 만큼, 앞으로는 WireShark를 사용하더라도 보지 못하는 패킷이 많아질것으로 생각된다. 일단 테스트코드만 아래와 같이 올린다.
cert_reqs=ssl.CERT_NONE 으로 설정함으로서 CA 에 인증되지 않은 키라고 하더라도 성공적으로 MITM 에 성공한다.
도메인은 wireshark로 따서 hosts를 조작하던가 리버싱을 통해 connect호출하는 부분의 IP를 바꾸자 ㅋㅋ
import socket, ssl import time import json import ast bindsocket = socket.socket() bindsocket.bind(('', 9997)) bindsocket.listen(5) def do_something(connstream, data): print "do_something:",data return len(data) def deal_with_client(connstream,ssl_sock): while True: data = connstream.read() __size=do_something(connstream, data) ssl_sock.write(data) recv_data=ssl_sock.read(99999) print "res: ",recv_data connstream.write(recv_data) print "end" while True: newsocket, fromaddr = bindsocket.accept() connstream = ssl.wrap_socket(newsocket, server_side=True, certfile="x509-server.pem", keyfile="x509-server-key.pem") try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) ssl_sock = ssl.wrap_socket(s, ca_certs=None, cert_reqs=ssl.CERT_NONE) ssl_sock.connect(('127.0.0.1', 9999)) deal_with_client(connstream,ssl_sock) ssl_sock.close() finally: connstream.shutdown(socket.SHUT_RDWR) connstream.close()
<Figure 0. Test Source Code>
#######################
#####예제 키 다운로드#####
#######################
반응형
'리버싱' 카테고리의 다른 글
악성코드가 사용하는 레지스트리 정보 (펌) (0) | 2018.07.23 |
---|---|
x32 themida binary debugging in x64 machine 2부 (14) | 2018.05.10 |
D3D 후킹? 월핵? 원리가 뭔데? (4) | 2018.02.06 |
C# DotPeek 디컴파일러 (0) | 2018.02.06 |
WinDBG 명령어 정리 (0) | 2018.02.05 |
댓글