There are .* section headers, starting at offset .*:

Section Headers:
  \[Nr\] Name              Type             Address           Offset
       Size              EntSize          Flags  Link  Info  Align
  \[ 0\]                   NULL             0000000000000000  00000000
       0000000000000000  0000000000000000           0     0     0
  \[ 1\] .text             PROGBITS         0000000000000000  00000040
       00000000000000..  0000000000000000  AX       0     0     .*
  \[ 2\] .rel.+text +REL. +0+  0+.*
       000000000000001.  000000000000001.           .     1     8
  \[ 3\] .data             PROGBITS         0000000000000000  000000(48|50)
       000000000000000[48]  0000000000000000  WA       0     0     .*
  \[ 4\] .bss              NOBITS           0000000000000000  000000(4c|50|54|58)
       0000000000000000  0000000000000000  WA       0     0     .*
  \[ 5\] .shstrtab         STRTAB           0000000000000000  000000(4c|50|54|58)
       00000000000000..  0000000000000000           0     0     .*
  \[ 6\] .symtab           SYMTAB           0000000000000000  0+.*
       0+.*  0000000000000018           7     6     8
  \[ 7\] .strtab           STRTAB           0000000000000000  0+.*
       0+.*  0000000000000000           0     0     1
Key to Flags:
  W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
  I \(info\), L \(link order\), G \(group\), x \(unknown\)
  O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
