How Hacking in SMB

简介

文章目录

  • 工具
  • 思路&难点

工具

  • enum4linux
  • smbmap
  • smbclient
  • rpcclient
  • nbtscan
  • nmblookup

enum4linux1

(翻译自官方介绍)enum4linux是一款用于枚举windows、samba主机信息的工具, 通过对Samba工具rpcclient、rcpclient、net、nmblookup和smbclient进行封装提供的一款自动化工具。工具用perl编写,目的是成为linux版的enum.exe。
特性:

  • 循环遍历RID (Windows 2000系统需要将RestrictAnonymous设置为1)
  • 查看用户列表 (Windows 2000系统需要将RestrictAnonymous设置为0)
  • 组成员列表信息
  • 枚举共享目录
  • 检查主机是否工作在工作组或AD域内
  • 检查主机操作系统的类型
  • 检索密码策略(通过polenum)

循环遍历RID的目的:
RID(Relative Identifies, 相对标识符)是SID的最后一部分内容,

Usage

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$ enum4linux -h

Usage: ./enum4linux.pl [options] ip
Options are (like "enum"):
-U 获取用户列表
-M 获取机器列表
-S 获取共享列表
-P 获取密码策略信息
-G 获取用户组/组成员列表
-d 获取详细描述, 与-U和-S搭配使用, -Ud、-Sd
-u user 指定进行枚举时使用的用户, 默认为空
-p pass 指定进行枚举时使用的密码, 默认为空

The following options from enum.exe aren't implemented: -L, -N, -D, -f

Additional options:
-a 执行所有的简单枚举, 包括(-U -S -G -P -r -o -n -i). 默认为-a
-h 打印帮助信息并退出
-r 通过循环RID枚举用户
-R range 指定RID枚举的范围, 默认为500-550, 1000-1050, 该选项包含-r选项
-K n 持续搜索RID, 直到n个连续的RID都没有匹配到用户。可对DC使用该选项
-l 通过389/TCP端口获取一些信息,仅对DC使用
-s file 指定用于SMB共享目录爆破的字典文件
-k user 指定远程机器上存在的用户(default: administrator,guest,krbtgt,domain admins,root,bin,none),指定的用户用来通过"lookupsid known_username"查找SID,格式为: "-k admin,user1,user2"
-o 获取操作系统信息
-i Get printer information
-w wrkg 指定工作组,通常由工具自动发现
-n 执行nmblookup扫描 (similar to nbtstat)
-v 打印脚本运行过程中执行的完整命令信息

实践

1
$ enum4linux 10.10.10.137

smbmap

参考链接

SMB Penetration Testing (Port 445)
How to Exploit a Poorly Configured SMB
a-little-guide-to-smb-enumeration
enum4linux
enum4linux-cheat-sheet

owefsad wechat
进击的DevSecOps,持续分享SAST/IAST/RASP的技术原理及甲方落地实践。如果你对 SAST、IAST、RASP方向感兴趣,可以扫描下方二维码关注公众号,获得更及时的内容推送。
0%