Finding vulnerabilities and attacking targets