Estoy usando Veil Evasion y Metasploit.
Creo que los buenos comentarios ya agregados dejan en claro que no hay una respuesta simple a o b aquí. Dependerá del entorno y de la información que pueda recopilar en su investigación antes de comenzar la prueba de la pluma (lo que quizás sea el paso más importante: reúne tanta información sobre su objetivo como sea posible antes de hacer cualquier cosa y con frecuencia lo hará). proporcione las respuestas que necesita).
Mi propia 'regla de oro' es comenzar primero con el nivel de abstracción más alto. HTTP es un protocolo que se encuentra sobre TCP, por lo que si estoy tratando de penetrar en un sitio a través de sus servicios basados en web, comenzaré con HTTP en lugar de TCP (asumiendo que todos los demás factores son iguales y nada en mi investigación indicó que TCP lo haría ser un mejor comienzo; por ejemplo, si pude determinar si la infraestructura de destino tenía una vulnerabilidad de TCP conocida y fácil de explotar, entonces podría comenzar con TCP incluso cuando me dirijo a servicios web)
Lea otras preguntas en las etiquetas penetration-test shellcode metasploit