torstai 18. elokuuta 2011

Wobotin ammottavaa aukkoa tutkimassa


Vahvistan täten, että !kuviksen väliaikaisesti "vallannut" squatter/trek11 todella olin minä.

On ironista, että ilmeisesti ainakin osaksi haarukointia koskevan blogikirjoitukseni ansiosta Wobottiin lisättiin !haarukka. Heti tämän toiminnon lisäyksen kanavalla huomattueni aloin miettiä, onko se turvallinen. Sehän säätelee sekä +b- että +e-moodia, ja kun IRCissä voi tavallisesti tehdä kolme moodimuutosta yhdellä komennolla, tuli välittömästi mieleeni, että kolmannen muutoksen voi varmasti soluttaa komentoon mukaan. Luonnollinen valtaajan valinta on tietysti +o omalle nickille. Wobotin kielellä siis

!haarukka *!*@*inet.fi +o squatter

Vaikuttaa ehkä hieman epäloogiselta, mutta ircd ei parsi merkkijonoja niin loogisesti kuin voisi luulla. Vaikka Wobotti todennäköisesti nyt komentaa palvelinta

/mode +be *!*@* *!*@*inet.fi +o squatter

hyväksytään tämä käsky aivan samalla tavalla kuin

/mode +beo *!*@* *!*@*inet.fi squatter

Tässä piili Wobotin heikkous. Helppo korjaus on laittaa !haarukka hyväksymään vain yksi parametri, eli leikata !haarukka-komennon jälkeinen merkkijono ensimmäisen välilyönnin jälkeen.

Koko juttu oli tietysti aluksi vain minun pieni hypoteesini. Tunnen ehkä IRCin toiminnan hyvin, mutta en voinut kokeilematta tietää, miten Wobotti on koodattu. Nielaisisiko se +o-syöttini?

Aluksi siis valmistelin sopivan hostin ja hain janitoriksi. Pilanpäiten laitoin nickiksi squatter ja identd:ksi usavlat. Ensimmäinen merkitsee talonvaltaajaa, toinen on valtaus-sanasta tehty kirjainsekoitus. Kun sain janitorin oikeudet, oli aika ryhtyä tositoimiin. Lavastin pienen kakkafloden, ja kokeilin komentoani. Jos komentoni ei olisi toiminut tarkoitetulla tavalla, olisin ollut vain kiltti flodea haarukoiva janitori. Tosin janitorointilogit olisivat niiden koodaustavasta riippuen ehkä voineet paljastaa jotakin epäilyttävää (outo komento).

Mutta toimihan se. Tämän jälkeen tulee tietysti kiire vaihtaa nickiä. Pastesin nopeasti valmiina leikepöydällä olleen nickinvaihtokomenon clienttiin. Enhän voinut varmaksi sanoa, onko Wobotissa tai jollakulla modella ohjelmanpätkä, joka deoppaisi minut välittömästi. Näinkään ei käynyt. Ei siis muuta kuin modeilta opit pois valmiiksi kirjoittamillani komennoilla. Homma oli sitä myöten selvä. +m päälle ja pitämään luentoa siitä, kuinka vaarallinen vehje Wobotti lopulta onkaan.

Kuten Wookille antamani opit osoittavat, minua ei kiinnosta hallita tai tuhota kanavaa. Kulunutta sanontaa käyttääkseni halusin vain vähän osoittaa kanavan haavoittuvuutta, ihan ystävällisessä hengessä. +m jäi päälle vahingossa, mistä syvimmät pahoitteluni.

5 kommenttia:

  1. Kiitokset mallikkaasta testauspalvelusta tännekin.

    Wobotin haarukka-skriptissä on monta riviä koodia, joiden tarkoitus olisi tarkistaa että annettu parametri on validi hostname (ihan jo siksikin että osa janitoreista ei tuntunut osaavan käyttää sitä oikein), mutta kun en saanut tuota toimimaan ihan oikein kaikissa tapauksissa, kommentoin kaikki tarkistukset toistaiseksi kokonaan pois... ei mikään paras päätös näin jälkeenpäin ajatellen.

    Haarukka-komennossa piilee myös toinen, joskin pienempi, exploitin mahdollisuus: Janitori pystyy sen avulla asettamaan hetkellisesti +e valitsemilleen hosteille ja tuomaan näin kanavalle vaikkapa ipv6 osoitteita käyttävän bottiarmeijan. Mm. näistä syistä päätin muuttaa haarukointi-toiminnon ainakin toistaiseksi vain modejen käytössä olevaksi.

    Kuten kanavallakin mainitsin, jätin squatter-tunnuksellesi janitorointi-oikeudet bottiin päälle - testaile toki jatkossakin mahdollisia porsaanreikiä sen toiminnassa... tai laita vaikka +m:ää päälle jos kanavan floden taso ei ole Taskis I Suuren asettamien standardien mukaista :3

    W

    VastaaPoista
  2. Eipä kestä, heikkouksien löytäminen on iloni. Mukava oli myös saada lisävalaistusta !haarukka-komennolle kommenttisi myötä.

    Kakkaflodejen moderoinnissa saatan hyvinkin auttaa, kun niitä satun näkemään.

    VastaaPoista
  3. Flodekulttuuri tekee kuolemaa. Mitä ajattelet anonyymistä flodekanavasta?

    t. flodes riippuvainen

    ps. kovas exploittis

    VastaaPoista
  4. moros trekkis,

    Oletko varma että tuossa oli kaikki modet? Olen itse vähän huolestunut kanavan moderaation tasosta jos oikeasti kaikki modet vaan hilluvat siellä "tiedetyillä" nimimerkeillään vaikka kovin helposti voisi pitää toisen klientin jolle sitten vaihtaa jonkun spourd0492spard-nikin aina splitin jälkeen.

    VastaaPoista
  5. Tuossa olivat kaikki modet, jotka ovat esiintyneet kanavan viimeaikaisissa spliteissä ja joita muuten on oppailtu. Tarkastin kaikki modenickit yli vuoden ajalta ja kaikille on annettu deop-komento, vaikkei tätä näy niiden nickien osalta, jotka eivät olleet kanavalla.

    En jaksa uskoa, että mihinkään varokeinoihin on ryhdytty, sillä kukaan tuskin on osannut ennakoida tilannetta, missä kukaan asiaton henkilö ylipäätään voisi saada opit. Tästä lähtien saattaa kuitenkin olla fiksua varautua tällaisiin tilanteisiin edes jotenkin.

    VastaaPoista