💻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

Atenção: ao rodar o aplicativo usando o ios-deploy pela primeira vez ele irá dar error, pois precisamos verificar ele. Para isso siga o passo a passo abaixo:

Ajustes -> Geral -> Gestão de VPN e Dispositivo -> APP DO DESENVOLVEDOR -> Verificar App

Após isso rode o ios-deploy novamente

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