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ä -a
printtaa
kaiken,-n 14
printtaa 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 binwalk
ja sen jälkeen
lukemaan man sivuja.
(binwalk man pages, 2021)
Sitten chatGPT:ltä saadulla komennolla lähdin avaamaan tiedostoa.
komennollabinwalk -e h2.zip
me 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äxmllint
työkalua.
Asensin sen
komennollasudo apt-get install libxml2-utils
Ja 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