Bidh sinn a’ sgrìobhadh Reverse socks5 proxy air powershell.Part 1

Sgeulachd mu rannsachadh agus leasachadh ann an 3 pàirtean a. Tha pàirt 1 na sgrùdadh.
Tha mòran chraobhan faidhbhile - eadhon barrachd bhuannachdan.

Aithris dhuilgheadas

Rè pentests agus iomairtean RedTeam, chan eil e an-còmhnaidh comasach innealan àbhaisteach an neach-ceannach a chleachdadh, leithid VPN, RDP, Citrix, msaa. mar acair airson a dhol a-steach don lìonra a-staigh. Ann an cuid de dh’àiteachan, bidh VPN àbhaisteach ag obair a’ cleachdadh MFA agus tha comharra bathar-cruaidh air a chleachdadh mar dhàrna feart, ann an cuid eile tha e air a sgrùdadh gu brùideil agus bidh ar logadh a-steach VPN ri fhaicinn sa bhad, mar a chanas iad, leis a h-uile càil a tha na lùib, ach ann an cuid eile tha dìreach chan eil dòigh mar sin ann.

Ann an leithid de chùisean, feumaidh sinn an-còmhnaidh “tunailean cùil” a dhèanamh - ceanglaichean bhon lìonra a-staigh gu goireas taobh a-muigh no frithealaiche air a bheil sinn smachd. Taobh a-staigh a leithid de thunail, is urrainn dhuinn mar-thà obrachadh le goireasan a-staigh an Luchd-ceannach.

Tha grunn sheòrsaichean de na tunailean tilleadh sin ann. Is e am fear as ainmeil dhiubh, gu dearbh, Meterpreter. Tha iarrtas mòr cuideachd air tunailean SSH le port cùil air adhart am measg an luchd-tarraing. Tha tòrr dhòighean ann airson tunail air ais a chuir an gnìomh agus tha mòran dhiubh air an deagh sgrùdadh agus air am mìneachadh.
Gu dearbh, airson an cuid, chan eil luchd-leasachaidh fuasglaidhean tèarainteachd a 'seasamh gu aon taobh agus gu gnìomhach a' lorg ghnìomhan mar sin.
Mar eisimpleir, tha seiseanan MSF air an lorg gu soirbheachail le IPS ùr-nodha bho Cisco no Positive Tech, agus faodar tunail SSH cùil a lorg le cha mhòr balla-teine ​​​​àbhaisteach.

Mar sin, gus nach bi sinn mothachail ann an deagh iomairt RedTeam, feumaidh sinn tunail cùil a thogail a’ cleachdadh dòighean neo-àbhaisteach agus atharrachadh cho faisg ‘s a ghabhas ri fìor mhodh obrachaidh an lìonraidh.

Feuchaidh sinn ri rudeigin coltach ris a lorg no a chruthachadh.

Mus cruthaich sinn dad, feumaidh sinn tuigsinn dè an toradh a tha sinn airson a choileanadh, dè na gnìomhan a bu chòir don leasachadh againn a choileanadh. Dè na riatanasan a bhios ann airson an tunail gus an urrainn dhuinn obrachadh anns a’ mhodh stealth as àirde?

Tha e soilleir gum faod na riatanasan sin a bhith gu math eadar-dhealaichte airson gach cùis, ach stèidhichte air eòlas obrach, faodar na prìomh fheadhainn a chomharrachadh:

  • ag obair air Windows-7-10 OS. Leis gu bheil a 'mhòr-chuid de lìonraidhean corporra a' cleachdadh Windows;
  • bidh an neach-dèiligidh a’ ceangal ris an fhrithealaiche tro SSL gus èisteachd gòrach a sheachnadh a’ cleachdadh ips;
  • Nuair a bhios iad a’ ceangal, feumaidh an neach-dèiligidh taic a thoirt do dh’ obair tro fhrithealaiche progsaidh le ùghdarras, oir Ann am mòran chompanaidhean, bidh cothrom air an eadar-lìn a’ tachairt tro neach-ionaid. Gu dearbh, is dòcha nach eil fios aig inneal an neach-dèiligidh eadhon mu dheidhinn, agus tha an neach-ionaid air a chleachdadh ann am modh follaiseach. Ach feumaidh sinn a leithid sin de ghnìomh a sholarachadh;
  • bu chòir pàirt an neach-dèiligidh a bhith pongail agus so-ghiùlain;
    Tha e soilleir, airson a bhith ag obair taobh a-staigh lìonra an Luchd-ceannach, gun urrainn dhut OpenVPN a chuir a-steach air inneal an neach-dèiligidh agus tunail làn-chuimseach a chruthachadh don t-seirbheisiche agad (gu fortanach, faodaidh teachdaichean openvpn obrachadh tro neach-ionaid). Ach, an toiseach, chan obraich seo an-còmhnaidh, oir is dòcha nach bi sinn nar luchd-rianachd ionadail an sin, agus san dàrna àite, nì e uimhir de dh’ fhuaim gun dèan SIEM no HIPS reusanta “snitch” dhuinn sa bhad. Mas fheàrr, bu chòir don neach-dèiligidh againn a bhith mar àithne in-loidhne ris an canar, oir mar eisimpleir tha mòran shligean bash air an cur an gnìomh, agus air an cur air bhog tron ​​​​loidhne-àithne, mar eisimpleir, nuair a bhios iad a’ coileanadh òrdughan bho fhacal macro.
  • feumaidh an tunail againn a bhith ioma-snàithleach agus taic a thoirt do dh’ iomadh ceangal aig an aon àm;
  • feumaidh cead de sheòrsa air choreigin a bhith aig a’ cheangal teachdaiche-frithealaidh gus am bi an tunail air a stèidheachadh a-mhàin don neach-dèiligidh againn, agus chan ann airson a h-uile duine a thig chun t-seirbheisiche againn aig an t-seòladh agus am port ainmichte. Mas fheàrr, bu chòir duilleag tighinn air tìr le cait no cuspairean proifeasanta co-cheangailte ris an raon tùsail fhosgladh airson “luchd-cleachdaidh treas-phàrtaidh.”
    Mar eisimpleir, ma tha an Neach-ceannach na bhuidheann meidigeach, an uairsin airson rianadair tèarainteachd fiosrachaidh a cho-dhùnas sgrùdadh a dhèanamh air a’ ghoireas a fhuair neach-obrach clionaig, duilleag le toraidhean cungaidh-leigheis, Wikipedia le tuairisgeul air a ’bhreithneachadh, no blog an Dotair Komarovsky, msaa. .bu chòir fosgladh.

Mion-sgrùdadh air innealan a tha ann mar-thà

Mus ath-chruthaich thu do bhaidhsagal fhèin, feumaidh tu mion-sgrùdadh a dhèanamh air na baidhsagalan a th’ ann mu thràth agus tuigsinn a bheil feum againn air agus, is dòcha, chan e sinne an aon fheadhainn a tha air smaoineachadh mun fheum air baidhsagal gnìomh mar sin.

Cha tug Googling air an eadar-lìn (tha e coltach gu bheil sinn google mar as trice), a bharrachd air a bhith a’ sgrùdadh air Github a’ cleachdadh na prìomh fhaclan “stocaichean cùil” mòran thoraidhean. Gu bunaiteach, tha e uile an urra ri bhith a’ togail tunailean ssh le port air ais air adhart agus a h-uile càil co-cheangailte ris. A bharrachd air tunailean SSH, tha grunn fhuasglaidhean ann:

github.com/klsecservices/rpivot
Cur an gnìomh fad-ùine de thunail cùil bho na balaich aig Kaspersky Lab. Tha an t-ainm ga dhèanamh soilleir carson a tha an sgriobt seo an dùil. Air a chuir an gnìomh ann am Python 2.7, tha an tunail ag obair ann am modh teacsa soilleir (mar a tha e fasanta a ràdh a-nis - hello RKN)

github.com/tonyseek/rsocks
Gnìomhachadh eile ann am Python, cuideachd ann an teacsa soilleir, ach le barrachd chothroman. Tha e sgrìobhte mar mhodal agus tha API aige airson am fuasgladh fhilleadh a-steach do na pròiseactan agad.

github.com/llkat/rsockstun
github.com/mis-team/rsockstun
Is e a’ chiad cheangal an dreach tùsail de bhuileachadh reverse sox ann an Golang (gun taic bhon leasaiche).
Is e an dàrna ceangal an ath-sgrùdadh againn le feartan a bharrachd, cuideachd ann an Golang. Anns an dreach againn, chuir sinn SSL an gnìomh, obraich tro neach-ionaid le cead NTLM, cead air an neach-dèiligidh, duilleag tighinn air tìr gun fhios nach biodh facal-faire ceàrr ann (no an àite sin, ath-sheòladh chun duilleag tighinn air tìr), modh ioma-snàithlean (ie grunn dhaoine comasach air obrachadh leis an tunail aig an aon àm), siostam de bhith a’ putadh an neach-dèiligidh gus faighinn a-mach a bheil e beò no nach eil.

github.com/jun7th/tsocks
Cur an gnìomh reverse sox bho ar “caraidean Sìneach” ann am Python. An sin, airson an leisg agus “neo-bhàsmhor”, tha binary deiseil (exe), air a chruinneachadh leis na Sìonaich agus deiseil airson a chleachdadh. An seo, is e dìreach an Dia Sìneach aig a bheil fios dè eile a dh’ fhaodadh a bhith anns a ’bhìnearaidh seo a bharrachd air a’ phrìomh ghnìomhachd, mar sin cleachd air do chunnart fhèin.

github.com/securesocketfunneling/ssf
Pròiseact gu math inntinneach ann an C ++ airson a bhith a’ buileachadh reverse sox agus barrachd. A bharrachd air an tunail cùil, faodaidh e port a chuir air adhart, slige àithne a chruthachadh, msaa.

Sealladair airson MSF
An seo, mar a chanas iad, chan eil beachdan sam bith ann. Tha eadhon barrachd no nas lugha de hackers ionnsaichte gu math eòlach air an rud seo agus a’ tuigsinn cho furasta ‘s as urrainn dha innealan tèarainteachd a lorg.

Bidh a h-uile inneal a tha air a mhìneachadh gu h-àrd ag obair le bhith a’ cleachdadh teicneòlas coltach ris: thèid modal binary so-ghnìomhaichte ro-ullaichte a chuir air bhog air inneal taobh a-staigh an lìonra, a bhios a’ stèidheachadh ceangal ri frithealaiche a-muigh. Bidh am frithealaiche a’ ruith frithealaiche SOCKS4/5 a ghabhas ri ceanglaichean agus gan ath-chraoladh don neach-dèiligidh.

Is e ana-cothrom nan innealan gu h-àrd gum feumar Python no Golang a chuir a-steach air inneal an neach-dèiligidh (am faca tu Python gu tric air a chuir a-steach air innealan, mar eisimpleir, stiùiriche companaidh no luchd-obrach oifis?), No ro-chruinnichte feumar binary (fìor python) a shlaodadh air an inneal seo agus an sgriobt ann an aon bhotal) agus ruith am binary seo ann mu thràth. Agus tha luchdachadh sìos exe agus an uairsin ga chuir air bhog cuideachd na ainm-sgrìobhte airson antivirus ionadail no HIPS.

San fharsaingeachd, tha an co-dhùnadh ga mholadh fhèin - feumaidh sinn fuasgladh powershell. A-nis bidh tomatoan ag itealaich oirnn - tha iad ag ràdh gu bheil slige cumhachd mar-thà air a h-innealachadh, gu bheil e air a sgrùdadh, air a bhacadh, msaa. Agus mar sin air adhart. Gu dearbh, chan ann anns a h-uile àite. Bidh sinn a’ cur an cèill gu ciallach. Co-dhiù, tha tòrr dhòighean ann faighinn seachad air bacadh (an seo a-rithist tha abairt fhasanta mu dheidhinn hello RKN 🙂), a’ tòiseachadh bho ath-ainmeachadh gòrach powershell.exe -> cmdd.exe agus a’ crìochnachadh le powerdll, msaa.

Feuch an tòisich sinn air innleachadh

Tha e soilleir gun coimhead sinn an toiseach air Google agus ... chan fhaigh sinn dad air a’ chuspair seo (ma tha cuideigin air a lorg, post ceanglaichean anns na beachdan). Chan eil ann ach buileachadh Socks5 air powershell, ach is e sox àbhaisteach “dìreach” a tha seo, aig a bheil grunn eas-bhuannachdan fhèin (bruidhnidh sinn mun deidhinn nas fhaide air adhart). Faodaidh tu, gu dearbh, le gluasad beag de do làmh, a thionndadh gu cùl, ach cha bhith seo ach sox aon-snàthainn, rud nach eil buileach mar a tha a dhìth oirnn.

Mar sin, chan eil sinn air dad deiseil a lorg, agus mar sin feumaidh sinn a’ chuibhle againn ath-thòiseachadh fhathast. Gabhaidh sinn mar bhunait airson ar baidhsagal ar leasachadh reverse sox ann an Golang, agus bidh sinn a’ buileachadh teachdaiche air a shon ann an powershell.

RSocksTun
Mar sin ciamar a tha rsockstun ag obair?

Tha obrachadh RsocksTun (ris an canar rs an-seo) stèidhichte air dà phàirt bathar-bog - frithealaiche Yamux agus Socks5. Tha frithealaiche Socks5 na socks5 ionadail cunbhalach, bidh e a 'ruith air a' chleachdaiche. Agus thathas a’ toirt seachad iomadachadh cheanglaichean ris (cuimhnich mu dheidhinn multithreading?) a’ cleachdadh yamux (ioma-fhillteadair eile). Leigidh an sgeama seo leat grunn frithealaichean socks5 teachdaiche a chuir air bhog agus ceanglaichean bhon taobh a-muigh a sgaoileadh thuca, gan cur air adhart tro aon cheangal TCP singilte (cha mhòr mar ann an meterpreter) bho neach-dèiligidh gu frithealaiche, mar sin a’ cur an gnìomh modh ioma-snàithleach, às aonais sin cha bhith sinn dìreach mar sin. comasach air obrachadh gu h-iomlan anns na lìonraidhean a-staigh.

Is e brìgh mar a tha yamux ag obair gu bheil e a’ toirt a-steach sreath lìonra a bharrachd de shruthan, ga bhuileachadh ann an cruth bann-cinn 12-byte airson gach pacaid. (An seo bidh sinn a dh’aona ghnothach a’ cleachdadh an fhacail “sruth” seach snàithlean, gus nach cuir sinn troimh-chèile air an leughadair le “snàithlean” prògram - cleachdaidh sinn am bun-bheachd seo san artaigil seo cuideachd). Ann am bann-cinn yamux tha àireamh an t-srutha, brataichean airson an t-sruth a stàladh/a thoirt gu crìch, an àireamh de bytes a chaidh a ghluasad, agus meud na h-uinneige gluasaid.

Bidh sinn a’ sgrìobhadh Reverse socks5 proxy air powershell.Part 1

A bharrachd air a bhith a’ stàladh/a’ crìochnachadh sruthan, bidh yamux a’ cur an sàs uidheamachd glèidhidh a leigeas leat sùil a chumail air coileanadh an t-seanail conaltraidh stèidhichte. Tha obrachadh an uidheamachd teachdaireachd keeplive air a rèiteachadh nuair a chruthaicheas tu seisean Yamux. Gu fìrinneach, de na roghainnean chan eil ann ach dà pharamadair: comas / cuir à comas agus tricead cur pacaidean ann an diogan. Faodar teachdaireachdan keepalive a chuir le frithealaiche yamux no neach-dèiligidh yamux. Nuair a gheibh iad teachdaireachd glèidhidh, feumaidh am pàrtaidh iomallach freagairt a thoirt dha le bhith a’ cur dìreach an aon aithnichear teachdaireachd (gu dearbh àireamh) a fhuair e. San fharsaingeachd, tha keepalive an aon ping, dìreach airson yamux.

Thathas a’ toirt cunntas mionaideach air innleachd obrachaidh iomlan an ioma-fhillteadair: seòrsaichean pacaid, suidheachadh ceangail agus brataichean crìochnachaidh, agus an uidheamachd gluasad dàta ann an sònrachaidhean gu yamux.

Co-dhùnadh air a 'chiad phàirt

Mar sin, anns a’ chiad phàirt den artaigil, fhuair sinn eòlas air cuid de dh’ innealan airson tunailean cùil a chuir air dòigh, choimhead sinn air na buannachdan agus na h-eas-bhuannachdan aca, rinn sinn sgrùdadh air uidheamachd obrachaidh Yamux multiplexer agus thug sinn cunntas air na riatanasan bunaiteach airson modal slige cumhachd a chaidh a chruthachadh às ùr. Anns an ath phàirt leasaichidh sinn am modal fhèin, cha mhòr bhon fhìor thoiseach. Ri leantainn. Na gluais :)

Source: www.habr.com

Cuir beachd ann