Robin Niinemets

Cybersecurity Student

Helsinki, Finland

×

H6-Sulaa hulluutta

Date: 28-11-2024

Ympäristö:


OS: Debian GNU/Linux 12 "Bookworm"

Browser: Firefox 128.5.0esr (64-bit)

Hardware Model: innotek Gmhb VirtualBox

Memory: 5.7 GiB

Prosessor: AMD Ryzen 9 3900X - 6 cores used

Disk: 21.5 GB

Network: NAT

A) Tutki tiedostoa h1.jpg jo opituilla työkaluilla. Mitä saat selville?

Ensikisi aloitin lataamalla tiedoston. Tämän jälkeen kokeilin file työkalulla saada jotakin rajausta tiedostosta, sillä se ei selkeästi ollut vain kuva tiedosto. Ensimmäiseksi mielenkiintoa herätti components tieto niin googlasin mitä se tarkoittaa, mutta se osoittautuikin vain standarti .jpg tiedoston osaksi (eli ei mitään jännittävää). Seuraavaksi päätin avata vain tiedoston ja katsoa, mikä se edes on. Se oli selkeästi tekoälyllä tuotettu kuva, mutta huomasin että tiedostokoot eivät täsmää, kun vertasin hakemistoa ja avattua tiedostoa. Vaikka ero on pieni, se herätti heti epäilystä, että nyt on jotakin outoa tässä, eikä koko totuus ole tiedossa. Sitten kun olin sulkemassa tiedostoa, se pyysi minua tallentamaan tiedoston, vaikka en ollut siis mitään muokannu. Ja epäilys alkoi kasvamaan, että kun avasin tiedoston niin se on ajanut siinä jotakin samalla. Luonnollisesti tallensin tämän muutoksen ja katsoin tiedoston kokoa uudestaan niin sehän olikin muuttunut, eli tämä tiedosto selkeästi sisälsi jotakin ajettavaa koodia. Nyt myös tiedosto on selkeästi muuttunut. Seuraavaksi latasin tiedoston uudestaan ja lähdin tutkimaan alkuperäistä tiedostoa strings:illä. Komennolla strings -a -n 14 h2.jpg missä -aprinttaa kaiken,-n 14printtaa vain tulosteen mikä on enemmän kuin 14 merkkiä. Tämä rajaa kaiken turhan pois ja sieltä esiintyikin mielenkiintoisesti .xml päätteisiä tiedostoja.

(strings man pages, 2023) Tiesin heti että nämä eivät tänne kuulu ja ovat outoja, mutta en tiennyt mitä ne oikeasti tarkoittavat, niin kysyin chatGPT:ltä promptilla:"What does it mean if the file has .xmlPk and .xml in the strings?" Vastaus mitä se antoi oli erittäin hyödyllinen. Tämän vastauksen jälkeen lähdin heti unzippaamaan tiedostoa. En pystynyt tätä kuitenkaan tekemään ja kun luin uudestaan chatGPT:n vastausta läpi, niin selvisikin että tästä päästään suoraan seuraavaan tehtävään.

B) Tutki tiedostoa h1.jpg binwalk:lla. Mitä tietoja löydät nyt tiedostosta? Mitä työkalua käyttäisit tiedostojen erottamiseen?

Ensikisi katsoin löytyykö binwalk:ia, mutta sitä ei löytynyt, niin siirryin asentamaan sitä. Latasin binwalk:in komennollasudo apt-get install binwalkja sen jälkeen lukemaan man sivuja.

(binwalk man pages, 2021)

Sitten chatGPT:ltä saadulla komennolla lähdin avaamaan tiedostoa. komennollabinwalk -e h2.zipme saatiinkin eroteltua kaikki piilotettu tieto tiedostosta ja -e optio oli tämä mikä siis just extractas kaiken tiedon. Tässä vaiheessa mä aloin käymään läpi tiedostoja yksitellen käyttämälläxmllinttyökalua. Asensin sen komennollasudo apt-get install libxml2-utilsJa taas kerran man sivuilta selvisi että xml tiedostot pystyy formatoimaan --format optiolla.

Ainoaa mielenkiintoista mitä löysin omasta mielestä oli kun core.xml tiedostosta löytyi luoja ja viimeinen muokkaaja (lari). Ja sitten document.xml tiedosta löytyi itse tarina. Tämä oli oletettavasti joku fiktiivinen ennustus kirjoitus. Tässä vaiheessa en tiedä pitikö kaivaa vielä syvemmälle, mutta itse en löytänyt enää mitään muuta erityistä mielenkiitoa herättävää.

c) FOSS (Free Android OpenSource). Tutustu Android-sovelluksiin Offan (2024) listalta: Android FOSS. Valitse listalla itsellesi mielenkiintoisin applikaatio ja mene sen GitHubiin. Lataa ohjelman APK itsellesi ja käytä seuraavia työkaluja tutustuaksesi, miten APK:n voi avata.
- ZIP
- JADX
- Bytecode-viewer

Mä lähdin aluksi tutustumaan kaikkiin eri aplikaatioihin ja jostakin syystä omaan silmään jäi Wire kommunikaatio sovellus. Näin mä siis lähdin lataamaan tämän ohjelmiston viimeisimmän päivityksen .apt paketin.

(Wire) Kun olin saanut ladattua .apt paketin lähdin avaamaan sen komennolla binwalk -e { apt paketin nimi } Tämä loi uuden hakemison mihin se oli extractannu kaikki tiedostot. Sama asai saatiin tehtyä myös unzip komennolla, mutta en tykänny siitä että se purki sen kyseiseen hakemistoon. Siihen löytyy varmasti joku optio, että voi purkaa eri hakemistoon mutta en tutkinu sitä sen pidemmälle.

Seuraavaksi kokeilin Bytecode Vieweria. Latasin viimeisimmän version sovelluksesta. Tämän jälkeen sovellusta ajaettiin komennolla java -j Bytecode-Viewer-2.12.jar. Tämä avasi sovelluksen Vedin ohjeiden mukaan tutkittavan tiedoston files kohtaan jonka jälkeen sovellus avasi tämmöisen näkymän, ja sieltä sitten lähdin kaivamaan samat tiedostot kuin aikaisemminkin. Siellä oli myös paljon muuta mitä unzippaamalla tai binwalkia käyttämällä löytyi. Ja viimeisenä kokeilin myös JDEX mutta sitä mä en saanut toimimaan ja en sen syvemmin ruvennu ratkaisemaan erroria. Mutta sovellus ei siis vain halunnut käynnistyä. Itselleni mielusin tapa oli avata sebinwalk työkalulla koska, tämä oli helposti nopein, helpoin ja järjestelmällisin lähestymistapa.

Lähteet

1. Skylot. Jadx. GitHub. Luettavissa: https://github.com/skylot/jadx Luettu: 27-11-2024

2. Konloch. Bytecode Viewer. GitHub. Luettavissa: https://github.com/Konloch/bytecode-viewer/ Luettu: 28-11-2024

3. Wireapp. Wire Android. GitHub. Luettavissa: https://github.com/wireapp/wire-android Luettu: 28-11-2024

4. Offa. Android FOSS. GitHub. Luettavissa: https://github.com/offa/android-foss Luettu: 27-11-2024

5. Strings man pages. Luettu: 27-11-2024

6. Binwalk man pages. Luettu: 27-11-2024

7. xmllint man pages. Luettu: 27-11-2024