Переведено для codeby. Net


http://www.phrack.com/issues.html?issue=66&id=12


Download 0.92 Mb.
Pdf ko'rish
bet32/36
Sana09.05.2023
Hajmi0.92 Mb.
#1449564
TuriРеферат
1   ...   28   29   30   31   32   33   34   35   36
Bog'liq
эксплуатация систем arm linux AFANX

http://www.phrack.com/issues.html?issue=66&id=12
Miscellanea
1.
A lot of papers, shellcodes and exploits (The Exploit Database)
http://www.exploit-db.com/
60


8 Создание и настройка лабаратории (от AFANX)
8.1 QEMU User-Mode
QEMU - это эмулятор для различных архитектур. Как правило, он используется
для эмуляции целого ПК (т.е. для запуска виртуальной машины). Однако для
отладки одной программы это не обязательно. В Linux можно использовать
эмуляцию QEMU User-Mode. Именно этот способ и будет рассмотрен первым.
Наша конечная цель – запускать скомпилированные программы для Arm 32-bit
и Arm 64-bit архитектур в Linux архитектуры x86_64. Для начала необходимо
установить пакеты: 
sudo apt-get update
sudo apt-get install qemu qemu-user qemu-user-static
Для Arm 32-bit, нужны бинарные утилиты для arm и совместимая arm версия
gcc.
sudo apt install gcc-arm-linux-gnueabihf binutils-arm-
linux-gnueabihf binutils-arm-linux-gnueabihf-dbg
Для AArch64, устанавливаем следующее:
sudo apt install gcc-aarch64-linux-gnu binutils-aarch64-
linux-gnu binutils-aarch64-linux-gnu-dbg
8.2 Компиляция, запуск программ на языке C и 
Ассемблер под ARM 
Для примера, напишем простою программу и скомпилируем.
Алгоритм 12 hello_pwner64.c
#include
int main()
{
puts(“H3ll0, PWN3R! -> ARM64\n”);
return 0;
}
61


Теперь компилируем с AArch64 версией для gcc и получим статический ELF-
файл. В дополнение, установим:
sudo apt install gcc-aarch64-linux-gnu
После этого:
aarch64-linux-gnu-gcc -static -o hello64 hello_pwner64.c
Информацию о системе, можно посмотреть используя uname –a:
Linux kali 6.0.0-kali3-amd64 #1 SMP PREEMPT_DYNAMIC Deban
6.0.7-1kali1 (2022-11-07) x86_64 GNU/Linux
Как видно из вывода программы, система x86_64, а информацию о
скомпилированном файле посмотрю, используя команду - file hello64:
hello64: ELF 64-bit LSB executable, ARM aarch64, version
1
(GNU/Linux),
statically
linked,
BuildID[sha1]=269eb716747e8fb915825ce13eedf3d17aa978b3,
for GNU/Linux 3.7.0, not stripped
Теперь запустим его:
qemu-aarch64 ./hello64
И ожидаемый вывод:
H3ll0, PWN3R! -> ARM64

Download 0.92 Mb.

Do'stlaringiz bilan baham:
1   ...   28   29   30   31   32   33   34   35   36




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling