Aplikacja SAMAT umożliwia łatwe utworzenie jednorazowej maszyny wirtualnej, a następnie zainstalowanie w maszynie pliku APK i jego przeanalizowanie w zakresie analizy sygnatur, zmian w plikach oraz danych przesyłanych przez sieć.
- Łatwe tworzenie jednorazowej maszyny wirtualnej (piaskownicy) za pośrednictwem Internetu
- Przekazywanie obrazu na żywo z maszyny wirtualnej do przeglądarki
- Możliwość wgrywania plików do piaskownicy
- Podstawowy nadzór nad strukturą systemu plików
- Podstawowy nadzór nad danymi przesyłanymi przez sieć
- Linux Debian 12 lub pochodna
- Procesor z obsługą VT-x oraz VT-d
- Obsługa IOMMU
- 20 GB RAM
- 100 GB Dysk zalecany SSD
- Zalecany serwer VPN
- Sklonuj repozytorium
- Zainstaluj wymagane biblioteki:
cd samatFrontend npm install
- Uruchom aplikację:
npm start
- Uruchom samatAPI:
cd .. cd samatAPI dotnet build dotnet run
- Zainstaluj narzędzia administracyjne oraz obsługę maszyn wirtualnych i kontenerów:
sudo apt install cockpit cockpit-machines cockpit-podman cockpit-networkmanager podman-compose cockpit-pcp nfs-common redir squid-openssl -y
Ten projekt zakłada, że pobrałeś pliki BlissOS oraz Android-x86 dla architektury x86_64 w formacie ISO.
Dodaj następujące komendy do konfiguracji systemu, aby włączyć wirtualizację i hugepages:
sudo sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT/#&/' /etc/default/grub
sudo bash -c 'cat >> /etc/default/grub << EOF
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt hugepagesz=2M kvm.ignore_msrs=1 kvm.report_ignored_msrs=0"
EOF'
sudo update-grub
sudo update-initramfs -u
sudo bash -c 'cat >> /etc/fstab << EOF
hugetlbfs /hugepages hugetlbfs mode=1770,gid=64055 0 0
EOF'
sudo bash -c 'cat >> /etc/fstab << EOF
vm.nr_overcommit_hugepages = 24000
vm.hugetlb_shm_group = 64055
EOF'
sudo reboot
Aby uruchomić websockify, wykonaj poniższe komendy:
sudo podman run --detach --restart always -it -p 7000:80 docker.io/kamehb/websockify 80 10.88.0.1:5900
sudo podman run --detach --restart always -it -p 7001:80 docker.io/kamehb/websockify 80 10.88.0.1:5902
Aby uruchomić maszyny wirtualne, wykonaj poniższe komendy:
cd ../configs
sudo virsh create AndroidUAM.xml
sudo virsh create BlissUAM.xml
Aby wygenerować nowy certyfikat CA, wykonaj poniższą komendę:
sudo openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout squidCA.pem -out squidCA.pem
Aby przekonwertować certyfikat CA, wykonaj poniższą komendę:
sudo openssl x509 -in squidCA.pem -outform DER -out squid.der
Aby stworzyć bazę certyfikatów do SSL bumpingu, wykonaj poniższą komendę:
sudo /usr/lib/squid/security_file_certgen -c -s /var/lib/squid/ssl_db -M 20MB
Aby dodać konfigurację SSL bumpingu do Squid, wykonaj poniższą komendę:
sudo bash -c 'echo >> /etc/squid/squid.conf << EOF
http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid/squidCA.pem
acl all src all
http_access allow all
EOF'
Aby uruchomić ponownie Squid, wykonaj poniższą komendę:
sudo service squid restart
sudo tcpdump
Dokumentacje projektu jest dostępna za pośrednictwem swagger oraz wewnątrz kodu źródłowego za pomocą standardowych podsumowań XML.
Filip Sroczyński Michał Malinowski Gabriel Rebelski Michał Wnuk