Содержание

DNS e pancetta - PascalCTF-2025 - Misc

Описание
I’ve recently started studying a new cooking book and I think I’ve found the best recipe ever.
Do you wanna read it? Ask my dear friend DNS!

Файлы
capture.pcapng

У нас есть только pcap файл с записанным сетевым трафиком.
Откроем файл capture.pcapng в программе wireshark и посмотрим содержимое.

DNS запросы. Wireshark

Есть только dns запросы и ответы.

Причем, все доменные имена в одном формате. Например, 636573207175616d.attacker.com.
Тут можно заметить, что 636573207175616d очень похоже на текстовую строку в формате hex.
Если преобразовать 636573207175616d в строку, то получится ces quam.
Видимо, это часть строки, и нужно собрать строку целиком.

Напишем программу на языке Go, которая:

  • Поочередно читает все пакеты.
  • Из DNS запросов извлекает домены третьего уровня (т.е. 636573207175616d) и формирует из них единую строку.
  • Преобразует hex строку в текстовую строку.

Программа целиком:

package main

import (
	"encoding/hex"
	"log"
	"strings"

	"github.com/google/gopacket"
	"github.com/google/gopacket/layers"
	"github.com/google/gopacket/pcap"
)

func main() {
	handle, err := pcap.OpenOffline("./capture.pcapng")
	if err != nil {
		log.Fatal(err)
	}
	defer handle.Close()

	var sequence string

	packetSource := gopacket.NewPacketSource(handle, handle.LinkType())
	for packet := range packetSource.Packets() {
		dnsLayer := packet.Layer(layers.LayerTypeDNS)
		if dnsLayer == nil {
			continue
		}

		dns, _ := dnsLayer.(*layers.DNS)
		if !dns.QR {
			continue
		}

		host := string(dns.Questions[0].Name)
		log.Printf("host: %s", host)

		if !strings.HasSuffix(host, ".attacker.com") {
			continue
		}

		host = strings.TrimSuffix(host, ".attacker.com")
		sequence += host
	}

	answer, _ := hex.DecodeString(sequence)

	log.Printf("answer: %s", answer)
}

Запускаем программу:

❯ go run ./main.go

host: attacker.com
host: 4c6f72656d206970.attacker.com
host: 73756d20646f6c6f.attacker.com
host: 722073697420616d.attacker.com
host: 65742c20636f6e73.attacker.com
host: 6563746574757220.attacker.com
...
...
...
host: 54467b444e535f62.attacker.com
host: 3334636f6e696e67.attacker.com
host: 5f346c6c5f6f7665.attacker.com
host: 725f7468655f706c.attacker.com
host: 6163657d.attacker.com
answer: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam lobortis id magna a vulputate. Proin id euismod nibh. Morbi sodales arcu a ex consectetur, ut gravida sapien facilisis. Proin porttitor tellus iaculis pretium porttitor. Nullam vel est ac est dictum sagittis id ut sapien. Aliquam convallis ipsum sapien, sed molestie quam laoreet eget. Cras velit augue, mollis sed imperdiet sed, varius in purus. Aliquam quis fermentum elit. Integer vulputate vestibulum maximus. Fusce consectetur mattis dui sed laoreet. Aliquam tristique justo in eros ullamcorper, at finibus ante hendrerit.
Aliquam id porta ex, in malesuada metus. Suspendisse quam purus, sodales quis imperdiet hendrerit, dapibus ac augue. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nullam interdum id turpis ac blandit. Vivamus sed felis quis lacus sodales semper ac id sapien. Integer ultricies tempor vehicula. Phasellus tincidunt aliquam lectus, a tempor odio varius vitae.
Vestibulum vel consequat mi. Duis malesuada vitae lacus vel aliquam. Maecenas erat odio, lobortis nec ipsum non, porta iaculis nisl. Ut eu erat quis dolor dapibus dapibus. Vestibulum scelerisque suscipit maximus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Etiam sollicitudin luctus pulvinar. Phasellus consectetur ante ullamcorper massa pretium, quis semper sem porttitor. Ut non vehicula justo, sit amet ornare tortor.
Aenean in ante a nisl scelerisque interdum vitae quis sem. Nulla facilisi. Nulla ut lacus sagittis, tristique dolor vitae, imperdiet leo. Morbi venenatis massa sit amet diam consequat varius. Aenean quis venenatis massa. Quisque ac sagittis velit. Quisque ultrices sodales metus, eu mattis sapien luctus commodo. Praesent sapien ipsum, ultrices non dolor et, ornare blandit justo. Curabitur iaculis lectus sit amet nibh commodo consequat. Donec mollis risus a neque malesuada, eu dignissim massa posuere. Praesent suscipit finibus turpis. Praesent nibh orci, dapibus eu augue eget, condimentum vehicula justo. Etiam ultrices et metus quis cursus. Pellentesque odio risus, ornare ut mi in, pulvinar tincidunt ante. Sed luctus auctor dignissim. Nunc ultrices, massa eu facilisis congue, erat lectus facilisis felis, eu sagittis diam sem ut tellus.
Cras auctor sem libero, id bibendum lacus aliquam sit amet. Sed vel egestas urna. Etiam feugiat, felis sed fringilla blandit, augue tortor sagittis neque, at eleifend mauris tortor a purus. Vivamus vitae tristique justo. In volutpat nulla ac ipsum hendrerit, a ullamcorper enim dapibus. Curabitur nulla diam, bibendum sed libero et, mattis pharetra eros. Aenean lobortis, nibh ac tincidunt blandit, sapien nisi ultrices quam, nec rhoncus nibh diam vel magna. Donec quis orci eget leo mattis lacinia. Phasellus blandit nibh suscipit tortor commodo, sit amet mattis magna sagittis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Nunc maximus mauris magna. Pellentesque efficitur pellentesque metus, sit amet tristique orci consectetur id. Proin consequat turpis et feugiat laoreet. Quisque in mattis elit. Duis laoreet fringilla neque, sed blandit lacus pretium id.
Lol you now know all about lorem ipsum pascalCTF{DNS_b34coning_4ll_over_the_place}

Получили флаг pascalCTF{DNS_b34coning_4ll_over_the_place}

Похожее