Opened 4 years ago

Closed 3 years ago

#15620 closed enhancement (fixed)

Leekspin should be able to create HS descriptors

Reported by: isis Owned by: isis
Priority: Medium Milestone:
Component: Obfuscation/BridgeDB Version:
Severity: Keywords: leekspin
Cc: isis Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Leekspin should be taught to generate HS descriptors to help with fuzzing Tor's parsers. See e.g. #14847, #3523, #15554, #3522, etc., which all contain at least one person saying some variant of the phrase "untested because I don't have an HS desc".

Child Tickets

Change History (3)

comment:1 Changed 4 years ago by donncha

I have some Python code for generating HS descriptors at https://github.com/DonnchaC/onion-balance/blob/master/onion-balance/descriptor.py. Maybe that's helpful?

comment:2 Changed 4 years ago by isis

Status: newneeds_review

Leekspin version 2.0.0 now has initial support for generating HS rendezvous-service-descriptors.

You can generate HS rendezvous-service-descriptors by doing:

$ leekspin -v -hs -n 4

The mocked descriptors will be written to stdout as well as a file named rendezvous-service-descriptors. Here is an example of an HS descriptor created with Leekspin:

# Generated HS .onion address: f86c980298f5ace303b7.onion
# Generated HS descriptor cookie: vUkkSH868NuT4HgamUhaYQ==
rendezvous-service-descriptor qjjlrmi36qdc2llpfrkykjm6hrcgdpbt
version 2
permanent-key
-----BEGIN RSA PUBLIC KEY-----
MIGJAoGBAIqTmHIa1FgPlKOpD+BOFWc1gj33Tbb985zdNC+iOC1GjkBf0MUIG/pA
z7rYnvx/0JtRu5KCTor4c34FXoe+hsYIvfRa/sHVFIs/wytbWqc7d3MsuB/jDmOY
N66153icz+lAwMSx5PQplx+JgLqDmq91XZwtz1xLruEGCI9cTG1vAgMBAAE=
-----END RSA PUBLIC KEY-----
secret-id-part xj2p5yuycmfwll4xbg567tdichdfsi5u
publication-time 2015-04-09 02:00:00
protocol-versions 2,3
introduction-points
-----BEGIN MESSAGE-----
ceAWwBY07G4kbYxzd7cE6aCP5ndpDSWYnlVg4VCC+0vH4T7gqGx88SeJRsPaDq5Q
AOMNwF90ghO7wXQJGILJ3pZV5hHF91rUEgE2TOSeqhwJRDHK+lUTg5czDieWnJBR
fbiFvgM4dAbczXENfAgzff0BAqo8uL9Az2+Jvc5IAV5psaLNpUjRPxQ6t2LfF7jQ
uPLOAPU7YOT66gtJRZuZhijFrQCYum35v3pySItPV/zIAbiFttH9dVcscLbLwkkC
wECPO9n0lEjxz0awYasNvg4A7QU5/wqRINk7x26bIPMAfQq6jWDCiTwU8v+vIfHP
5QGxCfUno6p9F7LbEScAiUx6jUhDx6Y0nL+01u744VlFVc+4cQY9Dzkz+ds9yIu7
ORDZ1U/mJP7NRMVTGjKJ6nBi2YEP+ECRKfWLlMGWEmiS31RygrhUcksnZU7j8Zlo
sCxspoPmBmF+qarTg68bnVnK6gXQhEaLL+Z0B8KTTYbr5nu/UIzp25frzOqQ5gS0
v0disF5J1usIX/Ac3NeGoxuhzt04FT5boKk47njgu87XhWu6rlBDVzFXGPR3y87G
X33ie26jdTaMaoy3bBkjrTO+TnsRmh916G17cYxUjX1sXXLz7DjvaJRy5Fg/vVaG
UEiw9JayVRbRrcKVm9NiaOtpOO0FwkH7o19jnDyj4M8hBf4zpHkrfTuxrupmvnGW
4UudsKUBuF0t032MojoYPN9aR8LcjgRLR63UZ2A6ICgv7RiYfUr2ZlDbB4ml+yJb
KpD3FvgyBO1Fbxa6xUdreQwv1N2exoxC5r0tAoeZuK2DPMOU09bHRxh28ekx1ViJ
gUrRxzGiTTdoGAh4RQOjZr0zTboQCiJXwvC4T4Y6csYS0GucApBaKduu220ulpRn
nAEQ7FFo+3/Z7Lddq3KK2ufcMOsqlFTFIVxE4NAMlReeeySwiZ5IpX9mY+QuCnEd
qbnLdVw8WDlYrWDBtezroB1wGU363ZTtNgSAEFqZChwkPVGtAtsBIk89mpkLEdkz
94Hlaj/9onD/nWxDVeu7jG1iG/C1e2CZGrD8zWrE7216lNxI3AOg8KILHNVf533m
ZJjYZWnTiR3MHSo9O3jF/d4VLONRJj6JTBpMXuS6Qqu57IyvRt5xMrrTfMIgQ1Tp
aRuYd0dfaj/q2V6p2yJIHSA6xbCBNuN/b1eztMCksAWViZOWAqMa8SRXzesU35K5
vLpvRlejn+8nQArFBpbZZB+j2H2dWwLsej85Du9ezZPEXaWN1moqO5YgZYhYhnOv
IEyo5o0QYN7QCKq44r+a8YpuZZoOh1SomkYxwQqcuPcOf+/zgyVp+9Fmkb4s5dTI
+ag00eIohiDB03QCTg0VGW3zExrYjzgvrMc3z+PDmQVmJl83nFOn4u/hJA6fQrDL
SSxvLMEvtqKV2D40z0xeokUmFzZ3Yji/r278iS6yu0n7wUtwbAL3oeKNZIe745GX
vhabfqPRy1Wj+MIPkMerqki0sx3yov2xaipKMB+jrkYTKRDRqnQSqdYiz/zWp1Wh
wDwBRGOnp4qW3uxck2fGgGlfLa0JjUpOg3gmZgo07sXPpnEVVj+9Ldp5dzCDCejN
yZ0hSnc7KByi7n2tpIv0BwyDwGy3o0yBAvsH0zls
-----END MESSAGE-----
signature
-----BEGIN SIGNATURE-----
FtmzxC5fxU1YJFU0OG+Ntt/ayAeR9vwPZQ0m0RAj4iEVVU5FMcfuJfy1HH+8LOWO
Tgbkvns8/zi1eiqEy7PdawsiIDV2FQmysVKGYIWEgWjRPSiLAex+lNQSmP/TxUmg
5tIUYni7b2DvqwWAvmVCedG13PoNTWtnrPeaJjnMpdY=
-----END SIGNATURE-----

There are probably bugs. In particular, I'm certain I didn't get the two REND_*_AUTHs described in §2.1 and §2.2 of rend-spec.txt correct. Patches are welcome.

comment:3 Changed 3 years ago by isis

Resolution: fixed
Status: needs_reviewclosed

This is included in Leekspin-2.0.0.

Note: See TracTickets for help on using tickets.