Rubutun Reverse socks5 proxy a powershell.Kashi na 1

Labari game da bincike da haɓakawa cikin sassa 3. Sashe na 1 na bincike ne.
Akwai itatuwan beech da yawa - har ma da ƙarin fa'idodi.

Tsara matsalar

A lokacin kamfen na pentests da RedTeam, ba koyaushe zai yiwu a yi amfani da daidaitattun kayan aikin Abokin ciniki ba, kamar VPN, RDP, Citrix, da sauransu. a matsayin anka don shigar da cibiyar sadarwa ta ciki. A wasu wurare, daidaitaccen VPN yana aiki ta amfani da MFA kuma ana amfani da alamar hardware a matsayin abu na biyu, a wasu kuma ana kula da shi ta hanyar zalunci kuma shigar da VPN ɗinmu nan da nan ya bayyana, kamar yadda suke faɗa, tare da duk abin da ya kunsa, amma a wasu akwai. kawai babu irin wannan hanyar.

A irin waɗannan lokuta, koyaushe dole ne mu yi abin da ake kira "reverse tunnels" - haɗi daga cibiyar sadarwar ciki zuwa albarkatun waje ko sabar da muke sarrafawa. A cikin irin wannan rami, za mu iya rigaya aiki tare da albarkatun ciki na Abokan ciniki.

Akwai nau'ikan waɗannan ramukan dawowa da yawa. Mafi shaharar su shine, ba shakka, Meterpreter. Tunnels na SSH tare da isar da tashar jiragen ruwa na baya suma suna cikin buƙatu mai girma a tsakanin talakawan hackers. Akwai hanyoyi da yawa don aiwatar da tunnel ɗin baya kuma yawancinsu an yi nazari sosai kuma an kwatanta su.
Tabbas, a nasu bangare, masu haɓaka hanyoyin tsaro ba sa tsayawa a gefe kuma suna gano irin waɗannan ayyukan.
Misali, ana samun nasarar gano zaman MSF ta hanyar IPS na zamani daga Cisco ko Tech Positive Tech, kuma ana iya gano ramin SSH baya ta kusan kowace wuta ta al'ada.

Sabili da haka, domin mu kasance ba a lura da shi ba a cikin kyakkyawan yakin RedTeam, muna buƙatar gina ramin baya ta amfani da hanyoyin da ba daidai ba kuma mu daidaita kamar yadda zai yiwu ga ainihin yanayin aiki na hanyar sadarwa.

Mu yi ƙoƙari mu nemo ko ƙirƙira wani abu makamancin haka.

Kafin ƙirƙirar wani abu, muna buƙatar fahimtar wane sakamakon da muke son cimmawa, waɗanne ayyuka ya kamata ci gabanmu ya yi. Menene buƙatun don rami don mu iya aiki a cikin matsakaicin yanayin stealth?

A bayyane yake cewa ga kowane hali irin waɗannan buƙatun na iya bambanta sosai, amma dangane da ƙwarewar aiki, ana iya gano manyan abubuwan:

  • aiki a kan Windows-7-10 OS. Tunda yawancin cibiyoyin sadarwar kamfanoni suna amfani da Windows;
  • abokin ciniki yana haɗi zuwa uwar garken ta hanyar SSL don kauce wa sauraron wawa ta amfani da ips;
  • Lokacin haɗawa, abokin ciniki dole ne ya goyi bayan aiki ta hanyar uwar garken wakili tare da izini, saboda A cikin kamfanoni da yawa, samun damar Intanet yana faruwa ta hanyar wakili. A gaskiya ma, na'urar abokin ciniki bazai ma san komai game da shi ba, kuma ana amfani da wakili a cikin yanayin da ba a sani ba. Amma dole ne mu samar da irin wannan ayyuka;
  • sashin abokin ciniki ya zama takaice kuma mai ɗauka;
    A bayyane yake cewa don yin aiki a cikin hanyar sadarwar Abokin ciniki, zaku iya shigar da OpenVPN akan injin abokin ciniki kuma ƙirƙirar rami mai cikakken aiki zuwa uwar garken ku (abin sa'a, abokan cinikin openvpn na iya aiki ta hanyar wakili). Amma, na farko, wannan ba koyaushe zai yi aiki ba, tunda ƙila ba za mu zama admins na gida a wurin ba, na biyu kuma, zai yi surutu sosai ta yadda SIEM ko HIPS mai kyau za su “cire mu” nan da nan. Da kyau, abokin cinikinmu ya kamata ya zama abin da ake kira umarnin layi, kamar misali ana aiwatar da harsashi da yawa, kuma ana ƙaddamar da su ta hanyar layin umarni, misali, lokacin aiwatar da umarni daga macro kalma.
  • Ramin mu dole ne ya zama mai zare da yawa kuma yana goyan bayan haɗin kai da yawa lokaci guda;
  • haɗin abokin ciniki da uwar garken dole ne ya sami wasu nau'ikan izini domin an kafa rami don abokin cinikinmu kawai, kuma ba ga duk wanda ya zo uwar garken mu a ƙayyadadden adireshin da tashar jiragen ruwa ba. Da kyau, shafin saukowa tare da kuliyoyi ko ƙwararrun batutuwa masu alaƙa da asalin yankin yakamata ya buɗe don "masu amfani na ɓangare na uku."
    Alal misali, idan Abokin ciniki ƙungiya ce ta likita, to, ga mai kula da tsaro na bayanai wanda ya yanke shawarar duba albarkatun da ma'aikacin asibiti ya shiga, shafi tare da samfurori na magunguna, Wikipedia tare da bayanin ganewar asali, ko Dr. Komarovsky's blog, da dai sauransu. ya kamata a bude.

Analysis na data kasance kayan aikin

Kafin sake ƙirƙirar keken ku, kuna buƙatar yin nazarin kekunan da ke akwai kuma ku fahimci ko da gaske muna buƙatarsa ​​kuma, wataƙila, ba mu kaɗai ba ne muka yi tunani game da buƙatar irin wannan keken mai aiki.

Googling akan Intanet (da alama muna google akai-akai), da kuma bincika Github ta amfani da kalmomin "safa na baya" bai ba da sakamako da yawa ba. Ainihin, duk ya zo ne don gina ssh tunnels tare da juyawa tashar jiragen ruwa da duk abin da ke da alaƙa da shi. Baya ga tunnels na SSH, akwai mafita da yawa:

github.com/klsecservices/rpivot
An daɗe da aiwatar da ramin baya daga mutanen da ke Kaspersky Lab. Sunan ya bayyana abin da ake nufi da wannan rubutun. An aiwatar da shi a cikin Python 2.7, rami yana aiki a cikin yanayin rubutu mai haske (kamar yadda ya dace a faɗi yanzu - hello RKN)

github.com/tonyseek/rsocks
Wani aiwatarwa a Python, shima a cikin rubutu mai haske, amma tare da ƙarin dama. An rubuta shi azaman tsari kuma yana da API don haɗa mafita cikin ayyukanku.

github.com/lkat/rsockstun
github.com/mis-team/rsockstun
Hanya ta farko ita ce sigar asali ta aiwatar da juyawa sox a Golang (mai haɓakawa baya goyan bayansa).
Hanya ta biyu ita ce bitar mu tare da ƙarin fasali, kuma a cikin Golang. A cikin sigar mu, mun aiwatar da SSL, muna aiki ta hanyar wakili tare da izini na NTLM, izini akan abokin ciniki, shafin saukowa idan akwai kalmar sirri da ba daidai ba (ko kuma a maimakon haka, turawa zuwa shafin saukarwa), yanayin zaren da yawa (watau mutane da yawa). zai iya aiki tare da rami a lokaci guda) , tsarin pinging abokin ciniki don sanin ko yana da rai ko a'a.

github.com/jun7th/tsocks
Aiwatar da baya sox daga "abokan Sinawa" a cikin Python. A can, ga kasala da "marasa mutuwa", akwai shirye-shiryen binary (exe), wanda Sinawa suka tattara kuma suna shirye don amfani. Anan, Allahn Sinanci ne kaɗai ya san abin da wannan binary ɗin zai iya ƙunsar bayan babban aikin, don haka yi amfani da haɗarin ku da haɗarin ku.

github.com/securesocketfunneling/ssf
Babban aiki mai ban sha'awa a cikin C++ don aiwatar da reverse sox da ƙari. Baya ga ramin baya, yana iya yin isar da tashar jiragen ruwa, ƙirƙirar harsashin umarni, da sauransu.

Mai fassarar MSF
Anan, kamar yadda suke faɗi, babu sharhi. Duk masu kutse ko žasa da ilimi sun san wannan abu sosai kuma suna fahimtar yadda za a iya gano shi cikin sauƙi ta hanyar kayan aikin tsaro.

Duk kayan aikin da aka bayyana a sama suna aiki ta amfani da irin wannan fasaha: an ƙaddamar da tsarin binaryar da aka riga aka shirya akan na'ura a cikin hanyar sadarwa, wanda ke kafa haɗi tare da uwar garken waje. Sabar tana gudanar da uwar garken SOCKS4/5 wanda ke karɓar haɗin gwiwa kuma yana tura su ga abokin ciniki.

Rashin lahani na duk kayan aikin da ke sama shine ko dai Python ko Golang dole ne a sanya shi akan injin abokin ciniki (Shin kun ga an sanya Python akan injinan, misali, daraktan kamfani ko ma'aikatan ofis?), Ko kuma wanda aka riga aka haɗa. binary (ainihin python) dole ne a ja shi akan wannan injin da rubutun a cikin kwalba ɗaya) kuma a kunna wannan binary ɗin a can. Kuma zazzage exe sannan kuma ƙaddamar da shi shima sa hannu ne na riga-kafi na gida ko HIPS.

Gabaɗaya, ƙarshe yana nuna kanta - muna buƙatar bayani mai ƙarfi. Yanzu tumatur zai tashi a wurinmu - sun ce powershell ya riga ya yi kutse, ana sa ido, an toshe shi, da sauransu. da sauransu. A gaskiya, ba a ko'ina ba. Muna bayyana alhaki. Af, akwai hanyoyi da yawa don ƙetare toshewa (a nan kuma akwai jumlar salon magana game da hello RKN 🙂), farawa daga wawancin sake suna powershell.exe -> cmdd.exe kuma yana ƙarewa tare da powerdll, da sauransu.

Bari mu fara ƙirƙira

A bayyane yake cewa da farko za mu duba Google kuma… ba za mu sami wani abu akan wannan batu ba (idan wani ya samo shi, sanya hanyoyin haɗi a cikin sharhi). Akwai kawai aiwatarwa Socks5 akan powershell, amma wannan shine talakawa "kai tsaye" sox, wanda yana da adadin rashin amfaninsa (zamu yi magana game da su daga baya). Kuna iya, ba shakka, tare da ɗan motsi na hannunku, juya shi zuwa baya, amma wannan zai zama kawai sox mai zaren guda ɗaya, wanda ba shine ainihin abin da muke buƙata a gare mu ba.

Don haka, ba mu sami wani abu da aka shirya ba, don haka har yanzu za mu sake sabunta dabararmu. Za mu dauki a matsayin tushen keken mu ci gaban mu baya sox a Golang, kuma muna aiwatar da abokin ciniki don shi a cikin wutar lantarki.

RSocksTun
To ta yaya rsockstun ke aiki?

Ayyukan RsocksTun (wanda ake kira rs) ya dogara ne akan abubuwan software guda biyu - Yamux da Socks5 uwar garken. Socks5 uwar garken safa ne na gida na yau da kullun5, yana gudana akan abokin ciniki. Kuma multixing na haɗin kai zuwa gare shi (tuna game da multithreading?) ana bayar da shi ta amfani da yamux (duk da haka wani multiplexer). Wannan makirci yana ba ku damar ƙaddamar da sabobin socks5 na abokin ciniki da yawa da rarraba hanyoyin haɗin waje zuwa gare su, tura su ta hanyar haɗin TCP guda ɗaya (kusan a cikin meterpreter) daga abokin ciniki zuwa uwar garken, ta haka ne aiwatar da yanayin multithreaded, ba tare da wanda kawai ba za mu kasance ba. iya cikakken aiki a cikin cibiyoyin sadarwa na ciki.

Mahimmancin yadda yamux ke aiki shi ne ya gabatar da ƙarin hanyar sadarwa na rafi, yana aiwatar da shi a cikin nau'i na 12-byte header ga kowane fakiti. (A nan da gangan muke amfani da kalmar "rafi" maimakon zaren, don kada mu dame mai karatu da shirin "thread" - za mu kuma yi amfani da wannan ra'ayi a cikin wannan labarin). Kan yamux ya ƙunshi lambar rafi, tutoci don girka/karewa rafi, adadin bytes da aka canjawa wuri, da girman taga canja wuri.

Rubutun Reverse socks5 proxy a powershell.Kashi na 1

Baya ga sakawa/kashe rafi, yamux yana aiwatar da tsarin kiyaye rai wanda ke ba ka damar saka idanu akan aikin kafaffen tashar sadarwa. Ana daidaita aikin tsarin saƙon mai rai lokacin ƙirƙirar zaman Yamux. A haƙiƙa, na saitunan akwai sigogi biyu kawai: kunna / kashewa da yawan fakitin aika a cikin daƙiƙa. Ana iya aika saƙonnin Keepalive ta uwar garken yamux ko abokin ciniki yamux. Lokacin karɓar saƙon mai rai, ɓangarorin nesa dole ne su amsa masa ta hanyar aika ainihin ma'anar saƙo ɗaya (ainihin lamba) da ta karɓa. Gabaɗaya, keepalive ping ɗaya ne, kawai don yamux.

Dukkanin dabarun aiki na multixer: nau'ikan fakiti, saitin haɗin kai da tutocin ƙarewa, da tsarin canja wurin bayanai an bayyana su dalla-dalla. bayani dalla-dalla ku yamux.

Kammalawa zuwa kashi na farko

Don haka, a cikin kashi na farko na labarin, mun saba da wasu kayan aikin don shirya ramukan baya, duba fa'idodi da rashin amfaninsu, mun yi nazarin tsarin aiki na Yamux multiplexer kuma mun bayyana ainihin buƙatun sabon ƙirar wutar lantarki. A kashi na gaba za mu inganta tsarin da kansa, a zahiri daga karce. A ci gaba. Kar a canza :)

source: www.habr.com

Add a comment