Para leer la memoria del sistema u otra memoria de proceso, tiene algunas opciones:
/ proc / procfs, / dev devfs, y ptrace system call, y quizás mucho más …
Para ptrace, simplemente use “gdb -p y luego x / 100x 0x ” para leer el valor de la memoria. Y luego / proc / / mapas para ver cómo se divide la memoria entre las diferentes partes de la memoria (montón, pila, bibliotecas, etc.). Aquí elegimos un proceso con pid = 8089:
- ¿Por qué los hackers se burlan de los novatos en varios foros?
- ¿Puedes obtener lo que alguien está escribiendo en su computadora simplemente escuchando el teclado de esa persona?
- ¿Cuál es el mejor software antivirus y de optimización del sistema para Mac a los ojos de los profesionales de la seguridad?
- ¿Cuáles son las herramientas imprescindibles para configurar un laboratorio de seguridad de la información en mi hogar si soy un investigador de seguridad de la información en ciernes?
- ¿Puedo negarme a escanear mi huella digital para acceder a mi condominio?
sudo cat / proc / 8089 / maps
00400000-0042b000 r-xp 00000000 08:11 2624355 / usr / lib / x86_64-linux-gnu / indicador-bluetooth / indicador-bluetooth-service
0062a000-0062b000 r – p 0002a000 08:11 2624355 / usr / lib / x86_64-linux-gnu / indicador-bluetooth / indicador-bluetooth-service
0062b000-0062c000 rw-p 0002b000 08:11 2624355 / usr / lib / x86_64-linux-gnu / indicador-bluetooth / indicador-bluetooth-service
013d8000-0141a000 rw-p 00000000 00:00 0 [montón]
7fbe2c000000-7fbe2c022000 rw-p 00000000 00:00 0
7fbe2c022000-7fbe30000000 —p 00000000 00:00 0
Y luego mirando en la memoria a través de gdb (gdb -p 8089):
(gdb) x / 10x 0x00400000
0x400000: 0x464c457f 0x00010102 0x00000000 0x00000000
0x400010: 0x003e0002 0x00000001 0x00404ef0 0x00000000
0x400020: 0x00000040 0x00000000
Y si desea ver la memoria del núcleo, en el pasado existía un mecanismo / dev / kmem, que está obsoleto hoy en día, por lo que la única opción disponible es kdump / kexec:
3.3. Usando kdump y kexec con el kernel MRG Realtime
http://lse.sourceforge.net/kdump…
https://www.kernel.org/doc/Docum…
Y la herramienta común “dmesg” o su interna:
https://www.kernel.org/doc/Docum…
(/ dev / kmsg o / proc / kmsg).
Otras formas están dentro de la interfaz / proc /, por ejemplo, / proc / slabinfo:
sudo cat / proc / slabinfo
slabinfo – versión: 2.1
# name : tunables : slabdata
t10_pr_reg_cache 0 0 696 23 4: ajustables 0 0 0: losa 0 0 0
configfs_dir_cache 46 46 88 46 1: ajustables 0 0 0: losa 1 1 0
Conocer los aspectos internos de estos (que es mucho más … No los conozco a todos con seguridad) será ideal, ya que dependerá menos de la herramienta.
Por ejemplo, la volatilidad usa / proc aquí:
/usr/lib/python2.7/dist-packages/volatility/plugins/linux/slab_info.py:
“” “Mimics / proc / slabinfo en una máquina en ejecución” “”
/usr/lib/python2.7/dist-packages/volatility/plugins/linux/iomem.py:
“” “Proporciona resultados similares a / proc / iomem” “”
Pero / proc / vmstat es demasiada información, que se clasifica por la opción diferente al comando “vmstat”.