This is a nice tutorial of reverse-engineering a PCB with KiCad:
https://learn-cnc.com/reverse-engineering-pcbs/Or a more generic search, which also brigs up instructables and other resources:
https://html.duckduckgo.com/html?q=kicad+pcb+reverse+engineerI can see two changes that would be very useful for reverse engineering a PCB, and I'm hoping they will someday be included in KiCad.
The first is to have a .jpg image as a background. It should be scalable, and preferable also some simple editing corrections such as reversing parallax and barrel distortion. But making a picture perpendicular from the PCB and from a long distance and using the zoom of your camera is usually good enough, and using a flatbed scanner is also an option of course.
The other tool would be a ratsnest in the schematic drawing program.
Normally in a PCB design suite you first draw a schematic, then put all footprints "random" on a PCB and you sort them out by using the ratsnest lines and other tools.
This can also be made to work the other way around. You place footprints on the PCB on the locations given by the photograph, and you re-trace the copper tracks. This combination creates a netlist. Then you attach schematic symbols to the IC package footprints, and you have all the information to draw ratsnest lines in the schematic.
I am not aware of an EDA suite that can do this all though.
Lots of reverse-enginurding tutorials use generic photo editing programs in their workflow.