## 实训任务1 Web入侵实战分析(一)
### 场景说明
某天运维人员发现在`/opt/tomcat8/webapps/test/`目录下多出了`index_bak.jsp`这个可疑文件。系统环境为Ubuntu 16.04,运行Tomcat中间件,开放端口包括22(SSH)、8080(HTTP)和8009(AJP)。
### 排查过程
1. **SSH访问与源码获取**
- 通过SSH连接到目标服务器,使用`tar -czvf test_site.tar.gz /opt/tomcat8/webapps/test/`命令打包站点源码到本地进行分析。
2. **D盾扫描检测**
- 使用D盾对下载的源代码进行扫描,发现`index_bak.jsp`文件被标记为木马文件,确认存在安全威胁。
3. **木马连接测试**
- 使用中国菜刀或蚁剑连接一句话木马,验证其功能性和危害程度。
- 成功访问并登录`index_bak.jsp`大马,确认攻击者已获取服务器控制权。
4. **日志分析溯源**
- 查看Tomcat访问日志(`/opt/tomcat8/logs/localhost_access_log.*`),筛选异常请求:
```bash
grep "index_bak.jsp" /opt/tomcat8/logs/localhost_access_log.*
```
- 发现攻击者IP `192.168.1.100`在特定时间点多次访问可疑路径。
5. **漏洞确认**
- 通过日志分析确认攻击者利用了文件上传漏洞,上传了JSP木马文件。
- 使用Burp Suite重放攻击请求,复现漏洞利用过程,验证漏洞存在。
### 总结
本次入侵源于Tomcat应用未对文件上传功能进行严格过滤,导致攻击者上传JSP木马获取服务器控制权。应急响应中通过日志分析快速定位攻击IP和入侵路径,建议加强文件上传验证并设置严格的目录权限。
## 实训任务2 Web入侵实战分析(二)
### 场景说明
公司官网首页被篡改,系统为Windows Server 2008 R2,使用phpStudy运行Apache+MySQL+PHP环境,仅开放80端口对外服务。
### 排查过程
1. **网站目录检查**
- 在`C:\phpStudy\PHPTutorial\WWW`目录下发现可疑文件`shell.php`,经确认为一句话木马。
2. **Webshell分析**
- 使用蚁剑连接`shell.php`,确认其为加密的PHP Webshell,具有文件管理、命令执行等功能。
3. **日志追踪**
- 分析Apache访问日志(`C:\phpStudy\PHPTutorial\Apache\logs\access.log`):
```powershell
Select-String -Path "access.log" -Pattern "shell.php"
```
- 定位攻击IP `103.45.67.89`及攻击时间。
4. **漏洞溯源**
- 进一步分析日志发现攻击者利用`info.php`文件的信息泄露漏洞获取服务器环境信息。
- 使用Burp Suite重放请求,复现漏洞利用过程。
5. **篡改时间确认**
- 通过文件修改时间戳和日志记录比对,确认首页在5月15日凌晨2:15被篡改。
### 总结
本次事件因`info.php`敏感信息泄露导致攻击者获取服务器环境信息,进而上传Webshell。建议删除不必要的测试文件,加强目录权限控制,并部署WAF防护。
## 实训任务3 数据泄露实战分析(一)
### 场景说明
公司官网数据在互联网泄露,系统为CentOS 6.3,运行Apache+PHP+MySQL,数据库使用空密码,Web后台管理口令为弱密码admin/system。
### 排查过程
1. **MySQL日志分析**
- 检查MySQL通用查询日志(`/var/log/mysql/mysql.log`):
```bash
grep "SELECT.*INTO OUTFILE" /var/log/mysql/mysql.log
```
- 发现攻击者在5月13日执行了多条导出数据的SQL语句。
2. **Web日志关联**
- 分析Apache日志(`/var/log/httpd/access_log`),发现攻击IP `58.32.176.22`使用sqlmap工具特征:
```bash
grep "58.32.176.22" /var/log/httpd/access_log | grep -i "union select"
```
3. **漏洞复现**
- 选择攻击者使用的SQL注入语句在浏览器中复现,成功获取数据库敏感信息。
4. **后台登录分析**
- 日志显示攻击者在数据导出前成功登录后台管理系统,利用弱口令admin/system进入。
5. **源码检测**
- 下载站点源码扫描,未发现Webshell,确认数据泄露主要通过SQL注入完成。
### 总结
此次数据泄露事件根源在于数据库空密码和后台弱口令双重漏洞。建议立即修改所有默认凭证,启用数据库审计日志,并对输入参数进行严格过滤。
## 实训任务4 数据泄露实战分析(二)
### 场景说明
数据库服务器MySQL服务存在暴力破解行为,系统为Ubuntu 16.04,数据库root密码为弱密码"toor"。
### 排查过程
1. **MySQL日志审查**
- 检查MySQL错误日志(`/var/log/mysql/error.log`):
```bash
grep "Access denied" /var/log/mysql/error.log
```
- 发现来自IP `45.227.253.109`的大量失败登录尝试。
2. **成功连接时间**
- 日志显示攻击者在持续爆破2小时后,于5月20日03:47成功登录。
3. **脱库行为分析**
- 通过通用查询日志确认攻击者在03:50开始执行`SELECT...INTO OUTFILE`语句,03:58完成数据导出。
4. **泄露内容确认**
- 攻击者导出了`user`表和`customer`表,包含敏感个人信息。
5. **后续行为**
- 日志显示攻击者尝试提升权限并创建后门账户,但未成功。
### 总结
弱密码导致数据库被暴力破解入侵,建议实施密码复杂度策略,限制远程访问IP,并启用MySQL二进制日志进行完整审计。
## 综合总结
通过这四个实战案例,我们可以得出以下关键经验:
1. **漏洞利用的共性**:
- 弱口令和默认凭证是最常见的突破口
- 未过滤的用户输入导致SQL注入和文件上传漏洞
- 信息泄露漏洞常被用作攻击跳板
2. **应急响应最佳实践**:
- 日志分析是溯源的核心手段,需熟练掌握各种日志位置和分析技巧
- 自动化工具(D盾、Burp Suite等)与手动验证相结合
- 时间线重建对理解攻击过程至关重要
3. **防护建议**:
- 实施最小权限原则
- 定期更新和修补系统漏洞
- 启用详细的日志记录并定期审计
- 对敏感操作实施多因素认证
4. **技术要点**:
```bash
# Linux日志分析常用命令
grep "pattern" /var/log/file # 基础搜索
awk '/pattern/{print $1}' /var/log/file # 提取特定字段
zgrep "pattern" /var/log/file.*.gz # 搜索压缩日志
```
```powershell
# Windows日志分析常用命令
Get-EventLog -LogName Security -InstanceId 4625 -After (Get-Date).AddDays(-1) # 查看失败登录
```
通过系统化的应急响应流程和持续的安全加固,可以有效降低Web入侵和数据泄露风险。