💻Setup Lab
Apresentação
No link abaixo você irá baixar o nosso lab, a extensão .qcow2 é uma extensão para arquivos que podem ser emulados pelo qemu, então podemos instalar no UTM.
User: securestore
Pass: securestore
https://drive.google.com/file/d/1RD_WDmY8qWNJCoGIhJCNEgkl6bwzLxNU/view?usp=sharing
A imagem original está em .ova, porém utilizando o qemu-img podemos converter a imagem para .qcow2 para emular no UTM.
Irei mostrar o processo de conversão de .ova -> .qcow2
Baixando dependências
brew install qemu # instalar o qemu
mkdir setup && mv iOS_lab.ova setup/ # mover o arquivo .lab para a pasta setup
cd setup/
tar -xvf iOS_lab.ova # descompactar o .ova para converter o arquivo .vmdk
qemu-img convert -O qcow2 iOS_Udemy-disk001.vmdk iOS_Udemy.qcow2 # conversão

Setup do lab no UTM
Aplicativos vulneravéis
Agora vamos instalar os aplicativos, vou usar como exemplo o "SecureStorev1.ipa"
https://drive.google.com/drive/folders/1sUkM7mE30T6PY0yN8rYLC3JCzdaWgV2W?usp=sharing
Para pegar a sua assinatura entra no XCode e faça login com sua conta apple

# Instalando objection
pip3 install objection
# Instale o applesign
brew install node
npm install -g applesign
# Pegue a sua assinatura
applesign -L
* Resultado se parece com:
XXXX3EC5EC23EF26B5535343777BE8D55D3XXXXX Apple Development: email@gmail.com (XXXX685VRN)
-------------> Esse código é sua assinatura
# Instalar insert_dylib
git clone https://github.com/Tyilo/insert_dylib
cd insert_dylib
xcodebuild
cp build/Release/insert_dylib /usr/local/bin/insert_dylib
# Fazendo o patch do .ipa pra conseguirmos comunicar com o objection
objection patchipa --source SecureStorev1.ipa --codesign-signature YOUR_SIGN
# Descompacte o arquivo gerado para ser usado depois pelo ios-deploy
unzip SecureStorev1-frida-codesigned.ipa
cd Payload/
# Deploy do aplicativo no seu celular (garanta que o celular esteja plugado)
# Confira na imagem 1.2
ios-deploy -b SecureStorev1.app -W --debug
# Após isso o seu celular irá abrir o aplicativo
# Vamos rodar ele usando o objection
# Confira na imagem 1.3
objection explore


Setup do servidor
Agora vamos para a parte de configuração do servidor. Esse aplicativo se comunica com aquela máquina virtual que instalamos.
Vamos configurar a reda em nossa máquina virtual.

Vamos entender o porquê dessas configurações, colocamos modo Bridge para a VM ter a sua própria interface de rede, precismos disso para os outros dispositivos (como por exemplo nosso celular) de nossa rede conseguir "enxergar" a VM.
Nesse caso a Interface já está correta para mim, se a sua interface de rede interna for outra mude para ela.
# No lugar de enp0s1 coloque a interface que aparecer no comando ip addr
sudo nano /etc/network/interfaces
# Acrescente no final do arquivo
auto enp0s1
iface enp0s1 inet dhcp
# Execute para configurar a interface corretamente
sudo ifup enp0s1
Pronto, agora só digitarmos ifconfig e colocar no aplicativo (aperte na engrenagem) o IP da máquina virtual, para confirmar se está tudo funcionando basta clicar em "ABOUT US" caso retorne essa mensagem o ambiente foi configurado com sucesso!

Considerações
Se nosso device tivesse JailBreak os passos seriam semelhantes a esse:
Assinar o aplicativo
Instalar o aplicativo com o XCode
Baixar Cydia e SSH
Configurar apenas o servidor
O processo de patch do aplicativo serve para nós conseguirmos interagir com ele usando o objection, se o nosso device possuísse JailBreak bastava a gente se conecetar nele via SSH.
Last updated