Questa è una domanda estremamente ampia.
Quando stai imparando sulla sicurezza e sui test di penetrazione, lo sei
dovrebbe imparare tutte queste tecniche.
Ci sono un sacco di tecniche ognuna con il proprio scopo, situazione, ...
Per dare una piccola risposta alla tua domanda,
L'ingegneria sociale è spesso usata, e così sono le backdoor.
Infine ho dovuto scrivere un PoC (Proof of Concept) per un webshop.
Avevano un difetto di progettazione e XSS-error , il punto è che potevo hackerare il
computer di ciascun visitatore (non utente, solo visitatore); questo attacco era un mix di:
Utilizzo del sito Web (XSS e il difetto di progettazione), ingegneria sociale di base, sfruttando una vulnerabilità del browser che utilizza BeEF & Metasploit , attivando una backdoor (reverse_tcp_meterpreter) sul computer dell'utente.
Come vedi, questo attacco ha richiesto da quattro a cinque cose diverse per avere successo, ma alla fine ho avuto il controllo della macchina dell'utente (la mia macchina ovviamente in questo esempio, era un PoC).
Altri modi per attaccare una macchina sulla rete, è vedere se usa un servizio specifico che ha una vulnerabilità che utilizza la scansione delle porte.
Sul tuo computer hai servizi specifici in esecuzione che devono ascoltare una porta specifica, il più delle volte, un numero di porta è relativo a quel servizio. (ad esempio, 80 e 443 sono HTTP (S) e quindi principalmente browser). È possibile eseguire la scansione di una macchina su porte 'aperte', se una porta è aperta, è possibile visualizzare il numero di porta in alto per vedere se corrisponde a un servizio specifico. In tal caso, forse la vittima utilizza una vecchia versione di quel software di servizio e tale vulnerabilità può essere sfruttata attraverso quella porta.
Quando il software ha per esempio una vulnerabilità di overflow del buffer , può essere sfruttato. Non importa se il carico utile proviene da un input dell'utente o da un socket (porta).
Quindi hai anche framework come Metasploit specializzati nello sfruttamento di sistemi come Windows. In alcuni casi è possibile ottenere la shell sul computer di un altro utente senza alcuna interazione con l'utente o molto poco.
Metasploit fa affidamento sulle vulnerabilità del software del sistema come difetti in piattaforme come Adobe, Java, ...
Forse ti ricordi anche che alcuni anni fa alcune persone hanno smontato la Playstation & Rete Xbox a Natale?
Lo hanno fatto sfruttando a livello di programmazione una vulnerabilità di rete che permetteva loro di infettare i sistemi su quella rete con una backdoor / trojan.
Ma se ti trovi nella stessa rete (ad es. hai violato la password Wi-Fi, o è una rete pubblica, ...) puoi fare cose come MiTM-attack (Man In the Middle, intercettando e manipolando i pacchetti) con quasi nessuna interazione da parte dell'utente, o qualcosa di simile come //www.wireshark.org/">network-sniffing.
Ma ottenere l'accesso a un altro computer system senza l'interazione dell'utente è difficile. Quando ad es. Distribuisci malware ad un utente, ed è ad esempio un trojan che deve comunicare con un C & C (Command-and-control server), il tuo trojan deve bypassare il firewall per poter comunicare con l'esterno. Questo può essere fatto con l'ingegneria sociale e l'interazione dell'utente è implicata (ad esempio, ingannare l'utente facendo clic su "Accetta eccezione firewall").
Se dovessi farlo senza alcuna interazione da parte dell'utente, dovresti essere in grado di aggiungere l'eccezione del firewall a livello di codice (che non è un problema con API di Windows ), ma al momento è necessario privilegiare l'escalate per ottenere l'accesso root, per aggiungere effettivamente l'eccezione.
L'escalation dei privilegi senza interazione dell'utente o social engineering verrebbe effettuata individuando innanzitutto una vulnerabilità di sistema che lo consenta e sfruttando a livello programmatico tale vulnerabilità.
Con un po 'di fortuna, puoi utilizzare le vulnerabilità già scoperte e gli exploit pre-impostati con e.g gli script Powershell, per utilizzarli come payload, nel tuo payload effettivo.
Come vedi, tonnellate di opzioni; ma la tua domanda è difficile da rispondere perché è troppo ampia e differisce da situazione a situazione.