Pri správe infraštruktúry musí oddelenie Operations udržiavať veľké množstvo DNS záznamov vo veľa zónach. DNS správca zošalel z obrovského množstva záznamov, sediac pred monitorom nakláňajúc sa sem a tam hovoril opakovane, o jeho doméne infra.tcc ako o nejakom milášikovi z pána prsteňov.
Mám za úlohu preskúmať zóny, záznamy a ich počty, aby sme nabudúce prijali odolnejšieho správcu. Ako pomôcku máme, že než sa zbláznil vravel o sekundárnych serveroch a AXFR/IXFR distribúcií zón.
Keďže som mal problém s DNS, prvé čo bolo - zistil som si rôzne DNS servery bežiace na VPN sieti.
Lokálne 127.0.0.53, potom ns1.tcc. Nslookup mi robil problémy, tak som použil príkaz "dig". DNS vráti viac záznamov, keď mu pridám slovíčko ANY. Ide však o nejakú cache, nie o naozaj všetky záznamy.
dig @ns1.tcc infra.tcc any
;; ANSWER SECTION:
infra.tcc. 83368 IN NS jameson.infra.tcc.
infra.tcc. 83368 IN NS jamison.infra.tcc.
infra.tcc. 83368 IN SOA jessiejames.infra.tcc. hostmaster.infra.tcc. 2024100701 604800 86400 2419200 86400
;; ADDITIONAL SECTION:
jameson.infra.tcc. 18967 IN A 10.99.24.29
jamison.infra.tcc. 18891 IN A 10.99.24.28
jameson.infra.tcc. 18967 IN AAAA 2001:db8:7cc::24:29
jamison.infra.tcc. 18891 IN AAAA 2001:db8:7cc::24:28
Ako je vidieť, sú tu name servery (NS) v doméne infra.tcc, ale tie nás nezaujímajú. Zaujímavejšie sú SOA servery, tieto môžu podporovať spomenuté AXFR prenosy zón.
vybrané typy záznamov DNS:
A - ipv4 adresa
AAAA - ipv6 adresa
CNAME - canonical name
MX - mail exchanger
NS - nameserver
PTR - pointer
SOA - start of authority
SRV - service location
TXT - text record
Skúsim teda axfr na jessiejones:
$ dig @jessiejames.infra.tcc infra.tcc axfr
; <<>> DiG 9.20.2-1-Debian <<>> @jessiejames.infra.tcc infra.tcc axfr
; (1 server found)
;; global options: +cmd
infra.tcc. 86400 IN SOA jessiejames.infra.tcc. hostmaster.infra.tcc. 2024100701 604800 86400 2419200 86400
infra.tcc. 86400 IN NS jameson.infra.tcc.
infra.tcc. 86400 IN NS jamison.infra.tcc.
jameson.infra.tcc. 86400 IN AAAA 2001:db8:7cc::24:29
jameson.infra.tcc. 86400 IN A 10.99.24.29
jamison.infra.tcc. 86400 IN AAAA 2001:db8:7cc::24:28
jamison.infra.tcc. 86400 IN A 10.99.24.28
jessiejames.infra.tcc. 86400 IN AAAA 2001:db8:7cc:0:6361:74:24:27
infra.tcc. 86400 IN SOA jessiejames.infra.tcc. hostmaster.infra.tcc. 2024100701 604800 86400 2419200 86400
Na tomto mieste som sa vážne zasekol. Najskôr som pátral, či sa z existujúcich serverov nejak nedá vydolovať viac informácií. Skúsil som použiť aj slovníkový útok ale v rozumnom čase našiel iba stroje o ktorých už viem.
Ako som sa pozrel na write-up od
djmajino na githube, zistil som že tu som si mal všimnúť ascii kódy v IPv6 adrese. Preklad "63 61 74 24" je "cat$" a z toho som mal vydedukovať subdoménu (server) catalog.
S touto informáciou som už po termíne nesúťažne skúsil pokračovať.
$ dig @jessiejames.infra.tcc catalog.infra.tcc axfr
$ dig @jessiejames.infra.tcc catalog.infra.tcc axfr | grep PTR > zoznam.txt
Príkaz vrátil veľa záznamov a každý ide ďalej v DNS dohľadať, preto som presmeroval záznamy do súboru zoznam.txt.
Skriptom tak skúsim prejsť všetky DNS záznamy. Hľadám priamo slovíčko flag / Flag / FLAG a to ako v ascii formáte, tak v hex formátoch ale aj obľúbenom base64.
for hos in `cat zoznam.txt | awk -F' ' '{ print $NF }' | sed -e 's/\.$//g'`; do
echo $hos
dig @jessiejames.infra.tcc $hos axfr > zoznam2.txt
grep -i flag zoznam2.txt
grep -i 666c6167 zoznam2.txt
grep -i 66:6c:61:67 zoznam2.txt
grep ZmxhZ3 zoznam2.txt
grep RmxhZ3 zoznam2.txt
grep RkxBR3 zoznam2.txt
done
Po spustení som dostal výstup:
aldoria.infra.tcc
aldorn.infra.tcc
arionis.infra.tcc
averon.infra.tcc
banneron.infra.tcc
40ae12928dbf450106d8097a7ec875ea.banneron.infra.tcc. 86400 IN TXT "RkxBR3tBdlhPLWlNazctM2JvSC1pWURwfQ=="
beloria.infra.tcc
blaven.infra.tcc
branox.infra.tcc
...
Ide zjavne o base64, po konverzii dostanem vlajku
$ echo "RkxBR3tBdlhPLWlNazctM2JvSC1pWURwfQ==" | base64 -d
FLAG{AvXO-iMk7-3boH-iYDp}
Žiadne komentáre:
Zverejnenie komentára