HackToday atau yang lebih dikenal dengan Capture The Flag adalah salah satu cabang kompetisi IT Today 2019 dalam bidang keamanan teknologi informasi. Dalam lomba ini, peserta diharuskan untuk mencari celah-celah keamanan jaringan sehingga peserta mampu untuk menembus target yang disediakan oleh panitia. Lomba HackToday yang diadakan IT Today 2019 bertujuan agar setiap peserta mampu mengembangkan kemampuannya pada bidang Information Security.

Resource dan writeup lainnya dapat dilihat di sini

๐Ÿ”— Know-your-flag

Searching and serving the best memes

author: deomkicer

Diberikan file attachment berupa ImageFile is-this-flag.jpg. Sebagai permulaan, dilakukan strings dump sehingga ditemukan passphrase 987123654hohoho. Langsung saja dilakukan ekstraksi dengan bantuan steghide untuk mendapatkan embedded data dari file.

$ steghide extract -sf is-this-a-flag.jpg
Enter passphrase:
wrote extracted data to "patrick.jpg".

Berdasarkan acuan ImageFile tersebut, diperoleh base32-encoded text dari commentEXIF-data. Selanjutnya dilakukan proses decoding sehingga diperoleh flag yang diminta

$ exiftool -Comment patrick.jpg
Comment : JJ2XG5BANNUWIZDJNZTS4ICIMVZGKJ3TEB4W65LSEBTGYYLHHIQGQYLDNN2G6ZDBPF5V6NDMNRPWQNDJNRPV6NLUGM4WQ2LEMVPTCZJSG5RWKM35

$ echo JJ2XG5BANNUWIZDJNZTS4ICIMVZGKJ3TEB4W65LSEBTGYYLHHIQGQYLDNN2G6ZDBPF5V6NDMNRPWQNDJNRPV6NLUGM4WQ2LEMVPTCZJSG5RWKM35 | base32 -d
Just kidding. Heres your flag: hacktoday{_4ll_h4il__5t39hide_1e27ce3} 

FLAG : hacktoday{_4ll_h4il__5t39hide_1e27ce3}

๐Ÿ”— Robot-o

Robot-o, robot buatan Friska, masih dalam tahap pengembangan sehingga terdapat corrupt pada audio yang dikeluarkan robot-o. Bisakah kamu memperbaikinya?

format flag: hacktoday{flag}

author: deomkicer

Diberikan file attachment berupa robot-o.voice yang kemudian akan dianalisis dengan bantuan Audacity. Beberapa saat kemudian, Kami menyadari bahwa representasi spectogram dan rangkaian gelombang membentuk pola yang menyerupai pola morse-code

preview-1

Selanjutnya, Kami lakukan proses decipher secara manual sehingga didapatkan rangkaian morse-code - .... . ..-. .-.. .- --. .. ... ---.. .- . ---.. -.-. -.-. ----. ...-- . ..--- ..--- ...-- -.. ..... ..-. ----. ..... --... -.-. . ---.. -... ----- --... ---.. -.. ..--- ----- ..--- ----- . --... yang ekivalen dengan string theflagis?8ae8cc93e223d5f957ce8b078d2020e7

FLAG : hacktoday{8ae8cc93e223d5f957ce8b078d2020e7}

๐Ÿ”— Intro

hi i want to introduce my self. My name is friska and ………….

format flag: hacktoday{uppercase_flag}

author: monhack

Diberikan file attachment berupa paket data intro.pcap. Selanjutnya dilakukan static analysis dengan menggunakan bantuan tshark untuk mengetahui data statistik dari paket data.

$ tshark -r intro.pcapng -q -z io,phs

===================================================================
Protocol Hierarchy Statistics
Filter:

frame                                    frames:7936 bytes:530824
  usb                                    frames:7936 bytes:530824
    text                                 frames:15 bytes:1085
    usb.capdata                          frames:2850 bytes:205195

$ tshark -r intro.pcapng -Y usb.idVendor -Tfields -e usb.device_address -e usb.idProduct | uniq -u
6    0x00003423 
4    0x000057b5
3    0x0000c52f
2    0x0000004b
1    0x00000002

Sebagaimana terlihat, terdapat beberapa usb.capdata yang merupakan hasil capture dari beberapa device yang berjalan. Dari beberapa deviceID yang tersedia, Kami lakukan analisis terhadap usb.capdata dari Keyboard device (0x0000004b) yang nantinya akan dicocokkan dengan tabel USBHID.

$ tshark -r intro.pcapng -Y 'usb.device_address eq 2 && usb.capdata' -Tfields -e usb.capdata > capdata

Selanjutnya, kami lakukan proses mapping dengan script berikut sehingga diperoleh

# solve.py
#!/usr/bin/env python2
from textwrap import wrap

def mapping(txt):
  dic = {
    'a' : '04', 'b' : '05', 'c' : '06', 'd' : '07', 'e' : '08',
    'f' : '09', 'g' : '0a', 'h' : '0b', 'i' : '0c', 'j' : '0d',
    'k' : '0e', 'l' : '0f', 'm' : '10', 'n' : '11', 'o' : '12',
    'p' : '13', 'q' : '14', 'r' : '15', 's' : '16', 't' : '17',
    'u' : '18', 'v' : '19', 'w' : '1a', 'x' : '1b', 'y' : '1c',
    'z' : '1d', '=' : '2e', '/' : '38', '{' : '2f', '}' : '30',
    '1' : '1e', '2' : '1f', '3' : '20', '4' : '21', '5' : '22',
    '6' : '23', '7' : '24', '8' : '25', '9' : '26', '0' : '27',
    '-' : '2d', ' ' : '2c', ':' : '33', ',' : '36', '/' : '38',
    '\n' : '58', '.' : '37', 'DEL' : '2a'
  }
  dic = {dic[i] : i for i in dic}
  return dic.get(txt, '')

with open('capdata') as f:
  raw  = f.read().split('\n')[:-1]
  data = [wrap(i,2)[2] for i in raw]
result = ['']
for i in data:
  if 'DEL' in mapping(i):
    result.pop()
  else:
    result += mapping(i)
print ''.join(result).upper()
$ python2 solve.py

FRRISKA IIS THHE FAST SSECTION OOF THE CSSARDAS A HUNGARIAN FOLK DDANCCE
OR OF MOOST OOF LISZT HUNNGGARIIAN RHAPSODIES WHICH TTTAKKE THEIR FORM
TTHIS DDANCCE THE FRISKKA IS GGENERRALLY EITHER TURBULLENT OR JUBILANTT 
INN TONE GRIFF HOLLAND TOGGEHTHEER WITH ED BROWN FFOUNDDEED TTHE BUSINESSS 
INN 22009 BBAASSED ONN A PRRINCIPLLE OF DDELIVVERINNG FFELEEL GOOD FOOOD 
MMADDEE FROMM FRRESH QUALITY AANDD RRESPONSIBLY SOURCCCED INGREDIENTS BOTH 
FOUNDDERS ARRE INSSIDDER 442 UNNDDERR 442 ALUMNNI TTHEE COMPANY CURRENTLLY 
OPERRATES FOUR BBRRAANCCHHEES NNEEAARR HIGH DIENSITY OFFICCE BBUILDDINNGS 
WHIITH 70 PPERR CENT OOFF IITS RREVVENUES COMINNG FROM LUNCCHTTIMME TRRADDE 
I SSAW HIM WWALKING AROUND THEE BBACKYYARD LIKKE SOMETHINNGS TROUBLINNG HHIM 
FLLAGG  IIS I-L3ARN-US8-C4PTUR3 II CCALLED HHIM IN ANND WHEN II AASKED WHATS 
GOINNGG ON HHEE JUST SSAIDD CCAN I GGO OUT FFOORR A WHILLE I KNNOW HHEE 
JUJUST TRRYINNG TTOO CHHANNGGE TTHE SUUBJECT THEN AGGAIN MMAYBBEE HHE JUUSTT
NNEEDED SOMME FRRES AIRR TTO CLLEEAR HHIIS MIND SSO I SSSIID YYES TTHEE NXTT 
DDAY I SSAW HHIM WWASHHINNG MY NNEIGHBOURS CCARR ANNDD WHENN HHEE CCAME 
HHOMME I AASKEDD HHIMM WHY HHEE WOULLDD DDO THHTHHAATT HHEE JUUSTT SSAIIDD 
HHE TOLD MMEE TTOO SOO I TOLD HHIM TO TTAAKE A ATH ANND DO TTHHHIIS 
HHOMMEWORKK WHHENN HE WWASS DONNEE I TOLD HIM THHAT HHE DIDNT HHAVE 
TO WWASHH TTE CCAR BBECCAUSSE IT WWAASS NNOOT HIIS RRESPONSIBBILITIIEES 
HE KJUUSTT NNOD

FLAG : hacktoday{I-L3ARN-US8-C4PTUR3}