elocanelon / ejercicio-cyberseguridad-1 Goto Github PK
View Code? Open in Web Editor NEWPrimer ejercicio de ciberseguridad para comunidad discord
Primer ejercicio de ciberseguridad para comunidad discord
Aca mi solucion para PyJ System.
Primero adjunto archivo con los hashes originales que figuraban en el readme:
HashOrigin.txt
Luego de almacenar los hashes en el archivo previo, con md5sum analizamos uno por uno los archivos que figuraban en la carpeta PyJ Systems donde obtuvimos el siguiente listado de hashes:
HashNew.txt
Por último realizamos una comparación de ambos hashes obtenidos donde identificamos que los archivos modificados fueron los de script.py y log.txt como se puede observar el archivo adjunto a continuación:
Hashescomparacion.txt
Verificacion de archivos vulnerados despues del ataque.
Segun las ultimas evaluaciones despues de confirmar el ataque, indican que hay una carpeta que pudo ser vulnerada, segun lo que indican las normativas y politicas de seguridad de la empresa PyJ Systems, se debe realizar la revision de dichos archivos para confirmar su integridad.
90965b0eb20e68b7d0b59accd2a3b4fd copia.sh 0b29406e348cd5f17c2fd7b47b1012f9 log.txt
6d5e43a730490d75968279b6adbd79ec pass.txt 129ea0c67567301df1e1088c9069b946 plan-A.txt 4e9878b1c28daf4305f17af5537f062a plan-B.txt 66bb9ec43660194bc066bd8b4d35b151 script.py
Una vez obtenemos los archivos los verificamos en el terminal de Kali Linux usando el comando "md5sum"
Cuando realizamos la comparacion de los hash obtenidos con los hash actuales encontramos que efectivamente un archivo fue vulnerado.
copia.sh
90965b0eb20e68b7d0b59accd2a3b4fd
90965b0eb20e68b7d0b59accd2a3b4fd
log.txt
0b29406e348cd5f17c2fd7b47b1012f9 Actual
f2b0428b975452afbc641e46a042231b Original
pass.txt
6d5e43a730490d75968279b6adbd79ec
6d5e43a730490d75968279b6adbd79ec
plan-A.txt
129ea0c67567301df1e1088c9069b946
129ea0c67567301df1e1088c9069b946
plan-B.txt
4e9878b1c28daf4305f17af5537f062a
4e9878b1c28daf4305f17af5537f062a
script.py
66bb9ec43660194bc066bd8b4d35b151
66bb9ec43660194bc066bd8b4d35b151
Con esto podemos identificar perfectamente que el archivo "Log.txt" fue vulnerado y por lo tanto no conserva su integridad.
Tarde pero seguro. He utilizado dos herramientas: PowerShell V1.0 y QuickHash V.3.3.4 y tengo dos resultados:
Para ambos casos descargué los archivos en una carpeta llamada Ejercicio1 sobre la cual empleé ambas aplicaciones.
En el caso de PowerShell utilicé el comando certutil y le pedí que creara un archivo .txt:
PS C:\Users\Usuario\Desktop> $path = '.\BM-Discord\Ejercicio1'
$filenames = Get-ChildItem $path -Name
foreach($filename in $filenames) {
$path_file = $path+$filename
$hashes = certutil -hashfile $path_file md5
$print = $hashes[1] + ' ' + $filename
$print >> '.\BM-Discord\Ejercicio1\SoluciónHashes.txt'
}
El contenido del archivo es el siguiente:
9b8b27723d54b552a9ff940ce130de61 copia.sh
f2b0428b975452afbc641e46a042231b log.txt
6d5e43a730490d75968279b6adbd79ec pass.txt
129ea0c67567301df1e1088c9069b946 plan-A.txt
4e9878b1c28daf4305f17af5537f062a plan-B.txt
66bb9ec43660194bc066bd8b4d35b151 script.py
Tras una comparación visual con los hashes asignados desde los archivos de PyJ Systems, los hashes de los archivos copia.sh y log.txt no coinciden. Los correspondientes a los archivos pass.txt; plan-A.txt; plan-B.txt y script.py
La misma información se obtuvo al utilizar el programa QuickHash, seleccionando en el menú inferior la pestaña "File" y luego en el menú izquierdo de Algoritmos la opción 'MD5', hacemos clic en el menú File, de la esquina superior izquierda para elegir el archivo que deseamos analizar y luego select Folder, para analizar todos los archivos de una vez y este fue el resultado:
Para finalizar, mi recomendación como Analista es indicarle a la gerencia de PyJ Systems que los archivos 'copia.sh' y 'log.txt' pudieron verse vulnerados y que los mismos sean sustituidos por las copias de seguridad que debieron haberse guardado. Sin perjuicio de las medidas adicionales que hubieren a lugar para mitigar los otros efectos de la intrusión y prevenir las posibles en un futuro próximo. Los resultados de esta investigación serán diarizados en el cuaderno de novedades pertinente.
Original MD5
90965b0eb20e68b7d0b59accd2a3b4fd copia.sh
0b29406e348cd5f17c2fd7b47b1012f9 log.txt
6d5e43a730490d75968279b6adbd79ec pass.txt
129ea0c67567301df1e1088c9069b946 plan-A.txt
4e9878b1c28daf4305f17af5537f062a plan-B.txt
66bb9ec43660194bc066bd8b4d35b151 script.py
Actual MD5 (calculado con md5sum)
90965b0eb20e68b7d0b59accd2a3b4fd copia.sh
f2b0428b975452afbc641e46a042231b log.txt
6d5e43a730490d75968279b6adbd79ec pass.txt
129ea0c67567301df1e1088c9069b946 plan-A.txt
4e9878b1c28daf4305f17af5537f062a plan-B.txt
66bb9ec43660194bc066bd8b4d35b151 script.py
Diferencia (comparado con diff)
2c2
< 0b29406e348cd5f17c2fd7b47b1012f9 log.txt
---
> f2b0428b975452afbc641e46a042231b log.txt
Conclusión
log.txt fue el único archivo modificado
Verificando la Integridad de los archivos de la carpeta PyJ Systems
Debido al último ataque ocurrido y de acuerdo a las normativas y políticas de seguridad, se evaluará la integridad de los archivos comprometidos.
Primer archivo: copia.sh
Hash antes del ataque: 90965b0eb20e68b7d0b59accd2a3b4fd copia.sh
El hash obtenido muestra que el archivo conserva su integridad
Segundo archivo: log.txt
Hash antes del ataque: 0b29406e348cd5f17c2fd7b47b1012f9 log.txt
El hash obtenido muestra que el archivo no conserva su integridad
Tercer archivo: pass.txt
Hash antes del ataque: 6d5e43a730490d75968279b6adbd79ec pass.txt
El hash obtenido muestra que el archivo conserva su integridad
Cuarto archivo: plan-A.txt
Hash antes del ataque: 129ea0c67567301df1e1088c9069b946 plan-A.txt
El hash obtenido muestra que el archivo conserva su integridad
Quinto archivo: plan-B.txt
Hash antes del ataque: 4e9878b1c28daf4305f17af5537f062a plan-B.txt
El hash obtenido muestra que el archivo conserva su integridad
Sexto archivo: script.py
Hash antes del ataque: 66bb9ec43660194bc066bd8b4d35b151 script.py
El hash obtenido muestra que conserva su integridad
Conclusión
El archivo log.txt fue alterado en su contenido por tanto ya no conserva su integridad.
90965b0eb20e68b7d0b59accd2a3b4fd copia.sh
0b29406e348cd5f17c2fd7b47b1012f9 log.txt
6d5e43a730490d75968279b6adbd79ec pass.txt
129ea0c67567301df1e1088c9069b946 plan-A.txt
4e9878b1c28daf4305f17af5537f062a plan-B.txt
66bb9ec43660194bc066bd8b4d35b151 script.py
log.txt
original --> 0b29406e348cd5f17c2fd7b47b1012f9
alterado --> f2b0428b975452afbc641e46a042231b
Para resolver este ejercicio, primero descargue los archivos con la opcion 'Download raw file', debido a que viendo las respuestas de los compañeros haciendo 'git clone' modificaba de alguna manera los archivos.
Los guarde todos en una capeta llamada reto0001-archivos.
Posteriormente hize un pequeño script en powershell, para obtener los md5 de cada archivo, solo ingresando la ruta de la carpeta.
SCRIPT DE POWERSHELL
$path = '.\reto0001-archivos\'
$filenames = Get-ChildItem $path -Name
foreach($filename in $filenames) {
$path_file = $path+$filename
$hashes = certutil -hashfile $path_file md5
$print = $hashes[1] + ' ' + $filename
$print >> '.\hashes.txt'
}
El hash md5 se guarda en un archivo hashes.txt.
Finalmente se compara cada md5 obtenido con el original, obteniendo el siguiente resultado:
90965b0eb20e68b7d0b59accd2a3b4fd copia.sh OK
f2b0428b975452afbc641e46a042231b log.txt Corrupto
6d5e43a730490d75968279b6adbd79ec pass.txt OK
129ea0c67567301df1e1088c9069b946 plan-A.txt OK
4e9878b1c28daf4305f17af5537f062a plan-B.txt OK
66bb9ec43660194bc066bd8b4d35b151 script.py OK
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.