网安实践5-水务渗透
写在前面
最恶心的一次渗透,弱智1c8g win攻击机,智障安全中心工具杀光光,不会开渗透可以不开
1 水务官网渗透
攻击机:10.0.1.30
靶机:10.0.1.29
禁用攻击机中文输入法,禁用安全中心实时保护
nmap扫描靶机端口
开放端口80(web) 445(smb) 3306(mysql) 3389(rdp)
访问web端口测试,主页未发现明显漏洞
御剑扫描web目录
发现admin登陆后台
尝试sql注入admin 'or 1=1#
失败
御剑扫描发现/install/index.php.bak
文件,尝试访问查看内容
curl http://10.0.1.29/install/index.php.bak
发现CMS版本信息 DedeCMS V5.7 UTF8SP2
数据库表定义和初始数据文件可直接下载,存在数据泄漏
管理员口令储存格式泄漏
回到web管理员后台,查看页面源码
发现提示DebugPage in /Pma_Debug
访问对应的提示页面
进入phpMyAdmin后台,可查看修改管理员口令
根据管理员口令格式计算新口令并修改
admin admin登入后台
可修改上传文件类型限制,添加php文件
右下角功能地图发现文件管理功能
存在文件上传功能
构造一句话后门
1 |
|
使用蚁剑连接后门
拿到shell和目录管理权限,用户apache,无管理员权限
上传PrintSpoofer.exe
提权工具
添加管理员用户hack
,口令hack
1 |
|
rdp连接靶机,拿到flag
2 上位机攻击
攻击机:10.0.1.30
靶机:192.168.1.25
按实验要求,先使用Administrator admin@Elex登入上位机,自动激活ftp服务
使用环境中提供的不知名弱口令爆破工具爆破ftp
用户名admin 口令admin
MobaXterm连接ftp
3 排水阀启停攻击
上位机:192.168.1.29 administrator admin@Elex
PLC控制器:192.168.1.201 administrator BKY@08642
按文档配置上位机与PLC控制器
wireshak抓包modbus流量
PLC控制器ip:192.168.1.201 端口:502
补全python脚本
手动控制排水阀启停,分析wireshark流量,大量流量的func_code为1和3,过滤掉
根据操作顺序及时间戳
排水阀开启的数据包:
'\x00\x00\x00\x00\x00\x06\x01\x05\x00\x00\xff\x00'
'\x00\x00\x00\x00\x00\x06\x01\x05\x00\x00\x00\x00'
排水阀关闭的数据包:
'\x00\x00\x00\x00\x00\x06\x01\x05\x00\x02\xff\x00'
'\x00\x00\x00\x00\x00\x06\x01\x05\x00\x02\x00\x00'
4 高压泵转速攻击
modscan32通过观察值确定87寄存器储存高压泵转速,双击可修改
修改高压泵设置频率,抓数据包
修改高压泵速度数据包:
15.0: '\x00\x00\x00\x00\x00\x0b\x01\x10\x00\x56\x00\x02\x04\x00\x00\x41\x70'
20.0: '\x00\x00\x00\x00\x00\x0b\x01\x10\x00\x56\x00\x02\x04\x00\x00\x41\xa0'
高压泵开启数据包:
'\x00\x00\x00\x00\x00\x06\x01\x05\x00\xd5\xff\x00'``'\x00\x00\x00\x00\x00\x06\x01\x05\x00\xd5\x00\x00'
修改转速实际上是向寄存器中写入值,使用浮点数IEEE754格式
高16位按大端序储存在87寄存器,低16位按大端序储存在86寄存器
因此修改转速为55HZ,需将86寄存器修改为0000,将87寄存器修改为425C
构造流量包
'\x00\x00\x00\x00\x00\x0b\x01\x10\x00\x56\x00\x02\x04\x00\x00\x42\x5c'
5 防御抵抗
代码泄漏
- 删除多余的bak文件,限制目录仅localhost访问
phpMyAdmin路径泄漏
- 移除前端代码中的注释部分
phpMyAdmin未授权访问
开启phpMyAdmin登陆验证
限制phpMyAdmin后台仅localhost访问
文件上传
网站后端检查限制上传文件类型
上传文件内容检查
上传文件添加后缀
限制上传目录代码执行
重放攻击
- 增强协议认证校验