1. 实验环境
- 靶机:CentOS 6.7,IP地址为:192.168.37.137
- 攻击机:Kali,IP地址为:192.168.37.131
- 运行环境:VMware
2. 实验步骤
信息收集
(1)查询攻击机Kali的IP地址
(2)识别存活的主机,发现攻击的目标
(注:二、三、四层发现的目的都是识别存活的主机,选择适合的一种方式即可)
2.1> 二层发现
可以使用nmap进行二层的主机发现
nmap -sn 192.168.37.0/24
也可以使用netdiscover进行二层的主机发现
2.2> 三层发现
可以使用ping命令进行三层的主机发现,但是ping命令无法一次性实现多个IP的扫描,但可以配合shell脚本实现整个局域网内的扫描;
当然也可以使用scapy,nmap,fping,hping3等进行三层的主机发现;
2.3> 四层发现
可以使用nmap进行四层的主机发现,包括UDP扫描和TCP扫描;
nmap 192.168.37.0/24 -PU53543 -sn #使用UDP的方式去扫描多个主机,当返回端口不可达时,即主机存活;
nmap 192.168.37.0/24 -PA445 -sn #使用ACK的方式去扫描多个主机,当收到RST包时,目标主机存活;
当然也可以使用scapy,hping3等进行四层的主机发现
(3)端口扫描
(注:在主机发现的基础上进行端口扫描)
3.1> 使用nmap进行端口扫描;
3.2> 也可以使用dmitry的方式进行端口扫描
(4)服务扫描
4.1> Banner和服务识别
可以使用socket进行Banner的识别(通过版本号,可以直接发现已知的漏洞和弱点)
也可以使用nmap进行版本和服务的识别
4.2> 操作系统识别
渗透测试
(1)远程密码破解,尝试登录目标主机
medusa -M ssh -h 192.168.37.137 -U username.txt -P password.txt
(2)账户登录
使用普通用户zc登录目标主机(注:此处虽然爆破出了root账户的密码,但是为了进行提权操作,就使用普通用户登录)
进入目标系统后,尝试提权为root权限(dirtycow提权)
(3)提权操作
3.1> 查看dirtycow-master的权限
3.2> 将dirtycow-master拷贝到目标主机
scp -r dirtycow-master zc@192.168.37.137:dirtycow-master
3.3> 使用kali远程连接目标主机,进入普通用户zc查看dirtycow,并进行编译;
3.4> 执行exp,输入新的密码
3.5> 验证是否提权成功
可以看到用户firefart的用户ID,组ID都是0,所以提权成功;
此时,已经将普通用户提升为root权限,可以做root用户的操作
清除痕迹
(1)查看历史记录
(2)清除历史记录
(3)还可以清除相关日志的操作;
做完相关操作后,将root用户复原;