Ag scríobh seachfhreastalaí socks5 droim ar ais i powershell.Part 1

Scéal faoi thaighde agus forbairt i 3 chuid saor in aisce,. Tá Cuid 1 taiscéalaíoch.
Tá go leor crann feá - fiú níos mó buntáistí.

An fhadhb a fhoirmiú

Le linn pentests agus feachtais RedTeam, ní féidir i gcónaí uirlisí caighdeánacha an Chustaiméara a úsáid, mar VPN, RDP, Citrix, etc. mar ancaire chun dul isteach sa líonra inmheánach. In áiteanna áirithe, oibríonn VPN caighdeánach ag baint úsáide as MFA agus úsáidtear comhartha crua-earraí mar dhara fachtóir, i gcásanna eile déantar monatóireacht bhrúidiúil air agus éiríonn ár logáil isteach VPN le feiceáil láithreach, mar a deir siad, le gach a bhaineann leis, ach i gcásanna eile tá go simplí níl aon mhodh den sórt sin ann.

I gcásanna den sórt sin, ní mór dúinn i gcónaí "tollán droim ar ais" mar a thugtar orthu a dhéanamh - naisc ón líonra inmheánach le hacmhainn sheachtrach nó le freastalaí atá á rialú againn. Taobh istigh de thollán den sórt sin, is féidir linn oibriú cheana féin le hacmhainní inmheánacha na gCustaiméirí.

Tá roinnt cineálacha de na tolláin fillte seo ann. Is é an ceann is cáiliúla acu, ar ndóigh, Meterpreter. Tá éileamh mór freisin ar tholláin SSH le port droim ar aghaidh ar aghaidh i measc na maiseanna hacker. Tá go leor bealaí ann chun tollánú droim ar ais a chur i bhfeidhm agus déantar staidéar agus cur síos maith ar go leor acu.
Ar ndóigh, as a gcuid féin, ní sheasann forbróirí réitigh slándála ar leataobh agus go n-aimsíonn siad gníomhartha den sórt sin go gníomhach.
Mar shampla, déantar seisiúin MSF a bhrath go rathúil ag IPS nua-aimseartha ó Cisco nó Positive Tech, agus is féidir tollán SSH droim ar ais a bhrath le beagnach aon bhalla dóiteáin gnáth.

Dá bhrí sin, chun nach dtabharfar faoi deara i bhfeachtas maith RedTeam, ní mór dúinn tollán droim ar ais a thógáil ag baint úsáide as modhanna neamhchaighdeánacha agus oiriúnú chomh gar agus is féidir do mhodh oibriúcháin fíor an líonra.

Déanaimis iarracht rud éigin cosúil leis a aimsiú nó a chumadh.

Sula ndéanaimid rud ar bith a chumadh, ní mór dúinn a thuiscint cén toradh ba mhaith linn a bhaint amach, cad iad na feidhmeanna ba cheart dár bhforbairt a chomhlíonadh. Cad iad na ceanglais a bheidh ar an tollán ionas gur féidir linn oibriú i mód stealth uasta?

Is léir go bhféadfadh difríochtaí móra a bheith idir riachtanais dá leithéid i ngach cás, ach bunaithe ar thaithí oibre, is féidir na príomhchinn a aithint:

  • ag obair ar Windows-7-10 OS. Ós rud é go n-úsáideann formhór na líonraí corparáideacha Windows;
  • nascann an cliant leis an bhfreastalaí trí SSL chun éisteacht dúr a sheachaint ag baint úsáide as ips;
  • Agus é ag nascadh, ní mór don chliant tacú le hobair trí seachfhreastalaí le húdarú, mar gheall ar I go leor cuideachtaí, tarlaíonn rochtain ar an Idirlíon trí sheachvótálaí. Go deimhin, b'fhéidir nach mbeadh a fhios ag an meaisín cliant fiú rud ar bith faoi, agus úsáidtear an seachfhreastalaí i mód trédhearcach. Ach ní mór dúinn feidhmiúlacht den sórt sin a sholáthar;
  • ba cheart go mbeadh an chuid cliant gonta agus iniompartha;
    Tá sé soiléir, chun oibriú laistigh de líonra an Chustaiméara, gur féidir leat OpenVPN a shuiteáil ar an meaisín cliant agus tollán iomlán a chruthú ar do fhreastalaí (ar an drochuair, is féidir le cliaint openvpn oibriú trí sheachvótálaí). Ach, ar an gcéad dul síos, ní oibreoidh sé seo i gcónaí, mar go mb’fhéidir nach mbeidh muid ina riarthóirí áitiúla ann, agus sa dara háit, déanfaidh sé an oiread sin torainn go ndéanfaidh SIEM nó HIPS réasúnta “snitch on” dúinn láithreach. Go hidéalach, ba cheart go mbeadh ár gcliant ina ordú inlíne mar a thugtar air, mar mar shampla go gcuirtear go leor sliogáin bash i bhfeidhm, agus seoltar iad tríd an líne ordaithe, mar shampla, nuair a bhíonn orduithe ó mhacra focal á bhforghníomhú.
  • caithfidh ár dtollán a bheith il-snáithithe agus tacú le go leor nasc ag an am céanna;
  • ní mór údarú de chineál éigin a bheith ag an nasc cliant-freastalaí ionas go mbeidh an tollán bunaithe ach amháin dár gcliant, agus ní do gach duine a thagann chuig ár bhfreastalaí ag an seoladh agus an calafort sonraithe. Go hidéalach, ba cheart go n-osclófaí leathanach tuirlingthe le cait nó topaicí gairmiúla a bhaineann leis an bhfearann ​​​​buaidh d'úsáideoirí tríú páirtí.
    Mar shampla, más eagraíocht leighis é an Custaiméir, ansin le haghaidh riarthóir slándála faisnéise a chinneann seiceáil ar an acmhainn a fuair fostaí clinic, leathanach le táirgí cógaisíochta, Vicipéid le cur síos ar an diagnóis, nó blag an Dr Komarovsky, etc. ba chóir .

Anailís ar uirlisí atá ann cheana féin

Sula ndéanfaidh tú do rothar féin a athchruthú, ní mór duit anailís a dhéanamh ar rothair atá ann cheana féin agus a thuiscint cé acu an bhfuil sé de dhíth orainn i ndáiríre agus, is dócha, nach sinne na cinn amháin a smaoinigh ar an ngá atá le rothar feidhmiúil den sórt sin.

Googling ar an Idirlíon (is cosúil go google againn de ghnáth), chomh maith le cuardach ar Github ag baint úsáide as na heochairfhocail “stocaí droim ar ais” níor thug mórán torthaí. Go bunúsach, baineann sé go léir le tolláin ssh a thógáil le cur ar aghaidh calafoirt droim ar ais agus gach rud a bhaineann leis. Chomh maith le tolláin SSH, tá roinnt réitigh ann:

github.com/klsecservices/rpivot
Cur i bhfeidhm le fada an lá de tollán droim ar ais ó na guys ag Kaspersky Lab. Déanann an t-ainm soiléir cad atá beartaithe don script seo. Curtha i bhfeidhm i Python 2.7, oibríonn an tollán i mód cleartext (mar atá faiseanta a rá anois - Dia duit RKN)

github.com/tonyseek/rsocks
Cur i bhfeidhm eile i Python, freisin i cleartext, ach le níos mó féidearthachtaí. Tá sé scríofa mar mhodúl agus tá API ann chun an réiteach a chomhtháthú i do thionscadail.

github.com/llkat/rsockstun
github.com/mis-team/rsockstun
Is é an chéad nasc an leagan bunaidh de chur i bhfeidhm droim ar ais sox i Golang (nach bhfuil tacaíocht ag an bhforbróir).
Is é an dara nasc ár n-athbhreithniú le gnéithe breise, freisin i Golang. Inár leagan, chuireamar SSL i bhfeidhm, oibríomar trí sheachvótálaí le húdarú NTLM, údarú ar an gcliant, leathanach tuirlingthe i gcás focal faire mícheart (nó atreorú chuig an leathanach tuirlingthe), mód il-snáithithe (i.e. roinnt daoine Is féidir oibriú leis an tollán ag an am céanna) , córas pinging an chliaint chun a chinneadh an bhfuil sé beo nó nach bhfuil.

github.com/jun7th/tsocks
Cur i bhfeidhm reverse sox ónár “cairde Síneach” i Python. Tá dénártha réamhdhéanta (exe?) ann do dhaoine leisciúla agus “neamhbhásacha”, atá curtha le chéile ag na Sínigh agus réidh le húsáid. Anseo, níl a fhios ach ag Dia na Síne cad eile a d'fhéadfadh a bheith sa dhénártha seo seachas an phríomhfheidhmíocht, mar sin bain úsáid as ar do phriacal agus ar do phriacal féin.

github.com/securesocketfunneling/ssf
Tionscadal suimiúil go leor i C++ chun droim ar ais sox agus níos mó a chur i bhfeidhm. Chomh maith leis an tollán droim ar ais, is féidir leis calafoirt a chur ar aghaidh, blaosc ordaithe a chruthú, etc.

Léiritheoir MSF
Anseo, mar a deir siad, aon tuairimí. Tá gach hackers oilte fiú an-eolach ar an rud seo agus tuigeann siad cé chomh héasca is féidir le huirlisí slándála é a bhrath.

Oibríonn na huirlisí go léir a thuairiscítear thuas ag baint úsáide as teicneolaíocht den chineál céanna: seoltar modúl dénártha inrite réamhullmhaithe ar mheaisín taobh istigh den líonra, a bhunaíonn nasc le freastalaí seachtrach. Reáchtálann an freastalaí freastalaí SOCKS4/5 a ghlacann le naisc agus a athsheoltar chuig an gcliant.

Is é an míbhuntáiste a bhaineann leis na huirlisí thuas go léir ná go gcaithfear Python nó Golang a shuiteáil ar mheaisín an chliaint (an bhfaca tú Python suiteáilte go minic ar mheaisíní, mar shampla, stiúrthóir cuideachta nó oibrithe oifige?), nó réamh-chéile. ní mór dénártha (i ndáiríre python) a tharraingt ar an meaisín seo agus script a chur i mbuidéal amháin) agus an dénártha seo a rith ann cheana féin. Agus exe a íoslódáil agus ansin é a sheoladh, is síniú é freisin do antivirus áitiúil nó HIPS.

Go ginearálta, tugann an chonclúid le fios - ní mór dúinn réiteach powershell. Anois beidh trátaí ag eitilt chugainn - deir siad go bhfuil powershell cheana féin go léir hackneyed, tá sé monatóireacht, bac, etc. agus mar sin de. Go deimhin, ní i ngach áit. Dearbhaímid go freagrach. Dála an scéil, tá go leor bealaí ann chun blocáil a sheachbhóthar (anseo arís tá frása faiseanta faoi hello RKN 🙂), ag tosú ó athainmniú dúr powershell.exe -> cmdd.exe agus ag críochnú le powerdll, etc.

A ligean ar tús a chumadh

Tá sé soiléir go bhféachfaimid ar Google ar dtús agus… ní bhfaighidh muid aon rud ar an ábhar seo (má d’aimsigh duine éigin é, postáil naisc sna tuairimí). Níl ann ach chur i bhfeidhm Socks5 ar powershell, ach is gnáthshúil “díreach” é seo, a bhfuil roinnt míbhuntáistí aige féin (beidh muid ag caint orthu níos déanaí). Is féidir leat, ar ndóigh, le gluaiseacht beag do láimhe, é a iompú isteach sa chúl, ach ní bheidh anseo ach sox aon-snáithe, rud nach bhfuil fíor an méid a theastaíonn uainn.

Mar sin, níl aon rud réidh le fáil againn, mar sin beidh orainn ár roth a athchruthú go fóill. Glacfaimid mar bhonn lenár rothar ár bhforbairt droim ar ais sox i Golang, agus cuirimid cliant i bhfeidhm dó i powershell.

RSocksTun
Mar sin, conas a oibríonn rsockstun?

Tá oibriú RsocksTun (dá ngairfear rs anseo feasta) bunaithe ar dhá chomhpháirt bogearraí - freastalaí Yamux agus Socks5. Is socks5 rialta áitiúil é freastalaí Socks5, ritheann sé ar an gcliant. Agus soláthraítear ilphléacsáil naisc chuige (cuimhnigh faoi multithreading?) ag baint úsáide as yamux (ilphléacsóir eile fós). Ligeann an scéim seo duit roinnt freastalaithe cliant socks5 a sheoladh agus naisc sheachtracha a dháileadh orthu, iad a chur ar aghaidh trí nasc TCP amháin (beagnach mar atá i méadarmhéadair) ó chliant go freastalaí, agus ar an gcaoi sin modh il-snáithithe a chur i bhfeidhm, gan a bheith againn. in ann oibriú go hiomlán sna líonraí inmheánacha.

Is é croílár an chaoi a n-oibríonn yamux ná go dtugann sé sraith líonra breise de shruthanna isteach, á chur i bhfeidhm i bhfoirm ceanntásc 12-beart do gach paicéad. (Anseo bainimid úsáid d’aon ghnó as an bhfocal “sruth” seachas snáithe, ionas nach gcuirfí amú an léitheoir le sruth cláir “snáithe” - úsáidfimid an coincheap seo san Airteagal seo freisin). Cuimsíonn an ceanntásc yamux uimhir an tsrutha, bratacha chun an sruth a shuiteáil/a fhoirceannadh, líon na mbeart a aistríodh, agus méid na fuinneoige aistrithe.

Ag scríobh seachfhreastalaí socks5 droim ar ais i powershell.Part 1

Chomh maith le sruth a shuiteáil/a fhoirceannadh, cuireann yamux meicníocht coimeádta i bhfeidhm a ligeann duit monatóireacht a dhéanamh ar fheidhmíocht an chainéil chumarsáide bhunaithe. Tá oibríocht na meicníochta teachtaireachta keeplive cumraithe nuair a bhíonn seisiún Yamux á chruthú. I ndáiríre, níl ach dhá pharaiméadar sna socruithe: cumasú/díchumasú agus minicíocht seolta paicéid i soicindí. Is féidir le freastalaí yamux nó cliant yamux teachtaireachtaí coimeádta a sheoladh. Nuair a fhaigheann sé/sí teachtaireacht coimeádta, ní mór don chianpháirtí freagra a thabhairt air tríd an aitheantóir teachtaireachta céanna (uimhir iarbhír) a fuair sé a sheoladh. Go ginearálta, is é keepalive an ping céanna, ach amháin le haghaidh yamux.

Déantar cur síos mionsonraithe ar theicníc oibriúcháin iomlán an ilphléacseora: cineálacha paicéid, socrú ceangail agus bratacha foirceanta, agus an mheicníocht aistrithe sonraí. sonraíochtaí chuig yamux.

Conclúid leis an gcéad chuid

Mar sin, sa chéad chuid den alt, fuaireamar eolas ar roinnt uirlisí chun tolláin droim ar ais a eagrú, d'fhéachamar ar a buntáistí agus a míbhuntáistí, rinneamar staidéar ar mheicníocht oibríochta an ilphléacsálaí Yamux agus rinneamar cur síos ar na bunriachtanais don mhodúl powershell nuachruthaithe. Sa chéad chuid eile déanfaimid an modúl féin a fhorbairt, go praiticiúil ón tús. Le leanúint ar aghaidh. Ná athraigh :)

Foinse: will.com

Add a comment