Sgrùdadh is smachd air astar air innealan Linux/OpenWrt/Lede tro phort 80, a’ leantainn

Is e seo am pàirt mu dheireadh den artaigil, seo an toiseach habr.com/ga/post/445568
An turas mu dheireadh a sgrìobh mi mu mar a chuir mi an gnìomh sgrùdadh innealan, a-nis bruidhnidh sinn mu riaghladh. Ann an còmhraidhean le “teicneòlaichean” air taobh an Luchd-ceannach, bidh mi gu tric a’ tighinn tarsainn air tuigse cuibhrichte air comasan innealan beaga leithid (le goireasan cuimhne ìosal agus coileanadh), tha mòran den bheachd gur e “is e an rud as motha a dh’ fheumas sinn ath-thòiseachadh a chuir, airson rudeigin a bharrachd. dha-rìribh cuiridh sinn sgioba ”.
Ach tha cleachdadh a 'sealltainn nach eil seo gu tur fìor. Seo liosta bheag de ghnìomhan àbhaisteach àbhaisteach:

  1. Diagnosachd lìonra agus fuasgladh dhuilgheadasan. Air cùlaibh port ethernet an router agad mar as trice tha pìos bathar-cruaidh eile aig a bheil an seòladh IP a-staigh aige fhèin. Aig amannan, faodaidh tu (bu chòir) “ping” a dhèanamh. No riaghladh tunail - mura èirich an tunail gu h-obann air router ag obair tro mhodem 3G, ach chì sinn an router fhèin.
  2. Cumail suas siostam. Ùrachadh firmware, ùrachadh sgriobt seirbheis.
  3. Achd cothromachaidh. Dh’ fhaodadh seo a bhith air ainmeachadh mar “perversion”, ach bun-bheachd “equilibrist” mar, tha mi ag ràdh, “Comas neach-cluiche siorcas cothromachadh a chumail ann an suidheachadh bodhaig neo-sheasmhach” - a 'freagairt nas fheàrr. Bidh suidheachaidhean mar seo ag èirigh mar thoradh air buidseat cuibhrichte an neach-ceannach. Gu h-ìosal thug mi eisimpleir no dhà, ach ... Chan eil iad ceangailte gu dìreach ri cuspair na sgeòil, chuir mi anns na notaichean iad

A 'cumail sùil air Wi-FiCuspair fasanta airson na còig bliadhna a dh’ fhalbh, gu sònraichte am measg slabhraidhean reic feadarail. Bidh thu gu socair a’ coiseachd tro na làir malairt, agus bidh am fòn-làimhe agad le Wi-Fi air a thionndadh air, ann an oidhirp “cumail” ri cuid de shnàthainn an lìonraidh, a’ cur a-mach pacaidean Iarrtas Probe gu cunbhalach, a ghabhas sgrùdadh gus obrachadh a-mach airson. sibhse: Dè cho tric 's a thig sibh dhan bhùth seo, carson a choisicheas tu air slighe-slighe agus mar sin air adhart. An uairsin tha an dàta air a chruinneachadh, air a sgrùdadh, tha mapaichean teas air an tarraing, agus bidh manaidsearan “a’ toirt a-mach ”airgead bho luchd-stiùiridh no luchd-tasgaidh airson dealbhan mar sin. Uill, airson a-nis .... “chan eil airgead ann, ach cumaidh tu ort…”, agus feumar an toradh (fìor) a shealltainn mu thràth, tha an seann òran math a’ tòiseachadh: “Tha, tha, gu dearbh tha sinn stàlaichidh sinn an cis agus a h-uile dad a tha thu ag iarraidh, ach a-nis feumaidh sinn an toradh a shealltainn don neach-ceannach! Co-dhiù, dhìochuimhnich sinn a ràdh gun tug an teachdaiche cead dhuinn ar n-uidheamachd a cheangal ris an àite teth aige tro Wi-Fi, ach san fharsaingeachd, dìreach mar gum biodh sinn nar luchd-aoigheachd. ” Agus mar sin feumaidh sinn routers cothromachaidh a dhèanamh - tha grunn fo-eadar-aghaidhean WiFi air an togail, aon dhiubh a ’cumail ris an àite teth, agus an dàrna fear a’ cumail sùil air an àrainneachd, a ’luchdachadh suas toradh tcpdump thuige fhèin gu fiadhaich, an uairsin a’ pacadh susbaint an fhaidhle a-steach do thasglann agus cunnartan a’ bàsachadh bho “overeating” a’ feuchainn ris na tha air an t-seirbheisiche FTP a spadadh a-mach. Chan eil e na iongnadh gu bheil an router cothromachaidh gu tric “a’ briseadh sìos ”agus dòigh air choireigin feumar“ ath-bheothachadh ”air astar.

radiusTha e nas fhasa cunntas a thoirt air an t-suidheachadh an seo le rudeigin mar an aithris seo bhon neach-ceannach: “Tha sinn ag iarraidh lìonra dì-mheadhanaichte de làraich teth a dh’ obraicheadh ​​​​air uidheamachd nach eil fios air a ’mhodail ro-làimh, tro shianalan, ach dè an fheadhainn air nach eil fios againn fhathast. O, dhìochuimhnich sinn a ràdh, chan e a-mhàin gu bheil sinn airson sanasachd a shealltainn do luchd-dèiligidh, ach cuideachd mion-sgrùdadh a dhèanamh air a h-uile càil timcheall air an àite far a bheil an làrach teth air a chuir a-steach. Chan eil, chan eil fios againn carson fhathast, ach gheibh sinn a-mach e, na bi teagamh ann, bha e comasach dhuinn a’ bheachd seo a thogail. ”

Agus cha bu chòir dhuinn dìochuimhneachadh, mar thoradh air mòran de shuidheachaidhean neo-aithnichte roimhe, gum feumar smachd a chumail ann an suidheachaidhean neo-àbhaisteach, nuair nach urrainn dhuinn ceangal a dhèanamh ris an router gu dìreach tron ​​​​phort IP: agus feumaidh sinn dìreach feitheamh airson gnìomhachd bhuaithe. Ma bheir sinn às sinn fhìn, faodar an conaltradh eadar an frithealaiche agus an router a riochdachadh mar seo:

  • Sligheadair: Halò. Tha mi mar sin agus mar router, a bheil gnìomhan sam bith ann dhòmhsa?
  • Freiceadan: router mar sin agus mar sin, chlàraich mi thu, gu bheil thu beò. Seo an dùbhlan: seall dhomh toradh an àithne ifconfig?
  • Sligheadair: Halò. Tha mi mar sin agus mar router, an turas mu dheireadh a dh’ iarr thu air toradh ifconfig a nochdadh, seo e. A bheil gnìomhan sam bith dhòmhsa?
  • Freiceadan: router mar sin agus mar sin, chlàraich mi thu, gu bheil thu beò. Chan eil gnìomhan ann dhut.

A ’cheist as inntinniche: ciamar as urrainn do router iomallach beagan fiosrachaidh a chuir? Anns a ’phàirt mu dheireadh, thug mi cunntas air, mar thoradh air goireasan cuibhrichte, nach eil aig an router ach wget“ stripped-down ”, a bhios ag obair dìreach tro GET agus gun dad eile; chan eil teachdaiche FTP no curl ann. Nas mionaidiche, feumaidh sinn dòigh uile-choitcheann, ge bith dè na feartan co-chruinneachadh ìomhaighean. Shuidhich mi mu bhith a’ cleachdadh wget. Nas mionaidiche, mar a chuir mi “stad” - cha robh roghainn agam ach :)

Dìreach àicheadhTha am fuasgladh riaghlaidh agam ag obair, gun a bhith cuibhrichte, agus tha mi cinnteach gu bheil e cam, eadhon ged a tha e iomchaidh don mhòr-chuid de mo luchd-ceannach. Ciamar a b’ urrainn dhut a dhèanamh gu ciallach - sgrìobh goireas beag a chuireas dàta binary POST tro phort 80. Cuir a-steach e (an goireas) ann am firmware an router agus faigh cothrom air le bhith a’ cleachdadh bash. Ach is e an fhìrinn: a) feumaidh sinn gu sgiobalta b) is dòcha gum feum sinn a h-uile càil a dhèanamh air an “sù de routers” a th ’ann c)“ na dèan cron! ” - ma tha an router ag obair agus a’ coileanadh gnìomhan eile, feuch ri atharrachaidhean a dhèanamh nach toir buaidh air gnìomhachd gnàthach.

Gluaisidh sinn air adhart gu buileachadh. Canaidh sinn gu bheil an neach-ceannach agad airson an router ath-thòiseachadh bho zabbix gu furasta agus gu nàdarra, le “cliog air an luchag.” An-diugh tòisichidh sinn a’ toirt cunntas air a’ bhuileachadh le Zabbix.
Anns a’ chlàr “Rianachd” -> “Sgriobtaichean”, cuir sgriobt ùr ris. Canaidh sinn “Ath-thòisich” ris, cuir a-steach “php /usr/share/zabbix/reboot.php {HOST.HOST}” mar àithne

Sgrùdadh is smachd air astar air innealan Linux/OpenWrt/Lede tro phort 80, a’ leantainn

Air adhart: Clàr “Sùileachadh” -> “Dàta as ùire” -> “Dèan briogadh deas air an nód lìonra a tha thu ag iarraidh.” Seo cò ris a bhios an clàr coltach às deidh an sgriobt a chuir ris.

Sgrùdadh is smachd air astar air innealan Linux/OpenWrt/Lede tro phort 80, a’ leantainn
Mar sin, chuir sinn an sgriobt reboot.php anns an eòlaire / usr/share/zabbix (is dòcha gum bi an tè agad eadar-dhealaichte, bidh mi a’ cleachdadh an eòlaire freumh zabbixa).

Aithris SàbhailteachdGus am mìneachadh a dhèanamh nas soilleire san sgriobt, cha bhith mi a’ cleachdadh ach an id router, ach na cleachd am facal-faire. Chan eilear a’ moladh seo a dhèanamh anns an dreach riochdachaidh! Carson a rinn mi seo: oir is e a ’cheist mhòr càite an stòradh thu faclan-faire airson routers? Ann an zabbixe fhèin ann an “cunntas dàta”? Cleachdadh connspaideach. Air neo: cuingealaich ruigsinneachd bhon taobh a-muigh don fhaidhle reboot.php fhèin

Ath-thòiseachadh faidhle.php

<?php
	// присваиваем параметры с консоли переменным
	$user = $argv[1];
	// ВНИМАНИЕ. Вот здесь в целях безопасности все-таки прописывать пароль устройства! Но для демонстрации мы будем обращаться к базе данных без использования пароля. 
	//$password = $argv[2];
		
	$conn=new mysqli("localhost","db_user","db_password","db_name");
	if (mysqli_connect_errno()) {
		exit();
	}
	$conn->set_charset("utf8");
			
	// "Отправляем" команду reboot за счет изменения поля task таблицы users. В поле task можно отправлять любую команду.
	$sql_users=$conn->prepare("UPDATE users SET task='reboot' WHERE id=? AND status='active';");
	$sql_users->bind_param('s', $user);
	$sql_users->execute();
	$sql_users->close();
?>

Sin e. Tha a’ cheist fhathast fosgailte: “mar a gheibh thu toradh bho bhith a’ cur an gnìomh àithne bhon inneal. ” Bheir sinn sùil air a’ ghnìomh a’ cleachdadh an àithne ifconfig mar eisimpleir. Faodar an òrdugh seo a chuir chun inneal:

message=`ifconfig`; wget "http://xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai/a.php?u=user&p=password!&m=$message" -O /tmp/out.txt

, far a bheil:
message = `ifconfig` - bidh sinn a’ sònrachadh toradh toradh àithne ifconfig don chaochladair $message
wget"xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai/a.php - an sgriobt a.php againn a bhios a’ clàradh routers agus a gheibh teachdaireachdan bhuapa
u=cleachdaiche&p=facal-faire!&m=$message - teisteanasan agus luach an caochladair iarrtas m - a’ sònrachadh susbaint an caochladair $message
-o /tmp/a-mach.txt - chan fheum sinn toradh don fhaidhle /tmp/out.txt sa chùis seo, ach mura h-eil am paramadair seo air a shònrachadh, chan obraich wget

Carson nach obraich seo?Leis gu bheil e na tholl tèarainteachd a dh’ fhaodadh a bhith ann. Is e am mearachd as neo-chinnteach as urrainn tachairt ma tha, mar eisimpleir, caractar “&” ann an toradh an àithne agad. Mar sin, feumar an dà chuid a h-uile càil a thèid a chuir bho routers agus a h-uile càil a thig chun t-seirbheisiche a shìoladh. Yeah, tha nàire orm, gu dearbh. Nam dhìon, chan urrainn dhomh ach sgrìobhadh gu bheil an artaigil gu lèir air a chaitheamh air mar a stiùireas tu routers le firmware ro-mhìnichte agus seanalan conaltraidh nach eil air am mìneachadh ro-làimh.

Uill, toiseach tòiseachaidh airson an ama ri teachd: chan eil mi fhathast air faighinn a-mach ciamar a chleachdas mi innealan zabbix àbhaisteach gus na toraidhean (mar eisimpleir, toradh òrdugh a chuir an gnìomh) a thig chun fhrithealaiche a nochdadh.

Tha mi gad chuimhneachadh gum faighear a h-uile stòr bhon stòr Git aig: github.com/BazDen/iotnet.online.git

Source: www.habr.com

Cuir beachd ann