如果Nextcloud是使用Docker部署,可能会遇到没有安装samba客户端问题:"smbclient" 未安装。 进入Nextcloud容器: docker exec -it nextcloud bash 用apt安装: apt install smbclient libsmbclient-dev pecl install smbclient docker-php-ext-enable smbclient 重启Docker服务即可 这样不仅可以用Nextcloud做NAS,也可用用它管理其他共享文件。 参考:https://github.com/nextcloud/docker/tree/master/.examples#php-module-smbclient
*[[:digit:]]' smbclient -L \\\\<目标ip>" ? 九、smbclient echo exit | smbclient -L \\\\$ip smbclient \\\\<目标ip>\\<share> smbclient -L //<目标ip> -N smbclient -L \\\\<目标ip>\\ smbclient //<目标ip>/IPC$ -N smbclient //$ip/share -U username smbclient \\\\ <目标ip>\\<share> smbclient //<目标ip>/<share> smbclient //<目标ip>/<share\ name> smbclient //<目标ip>/<""share name"">"smbclient //<目标ip>/<""share name"">" ?
smbclient 交互方式访问samba服务器 补充说明 smbclient命令属于samba套件,它提供一种命令行使用交互式方式访问samba服务器的共享资源。 语法 smbclient [选项] [参数] 选项 -B <ip地址>:传送广播数据包时所用的IP地址; -d <排错层级>:指定记录文件所记载事件的详细程度; -E:将信息送到标准错误输出设备; -h 实例 列出某个IP地址所提供的共享文件夹 smbclient -L 198.168.0.1 -U username%password 像ftp客户端一样使用smbclient smbclient //192.168.0.1 /tmp -U username%password 执行smbclient命令成功后,进入smbclient环境,出现提示符:smb:/>\ 这里有许多命令和ftp命令相似,如cd、lcd、get、megt 直接一次性使用smbclient命令 smbclient -c "ls" //192.168.0.1/tmp -U username%password 和 smbclient //192.168.0.1
清单 工具 细节 枚举主机名 - nmblookup 扫描共享 - smbmap - smbclient - NMAP 检查空会话 - smbmap - rpcclient - smbclient 检查漏洞 nmap --script smb-enum-shares -p 139,445 [ip] 检查空会话 smbmap -H [ip/hostname] rpcclient -U "" -N [ip] smbclient echo exit | smbclient -L \\\\[ip] exit会处理可能弹出的任何密码请求,因为我们正在检查null登录 -L - 获取给定主机的共享列表 使用示例: root@kali smbclient smbclient \\\\[ip]\\[share name] 此命令会尝试连接到共享。包括尝试无密码(或发送空密码),这仍然有可能连接成功。 *[[:digit:]]' port 139 然后在另一个终端中运行 echo exit | smbclient -L [IP] 将丢弃包括版本在内的大量信息。
Let's try smbclient: 上面的信息看起来并没有什么特别的。一般的靶机,http 服务往往都是突破口。 我们先来试一下 smbclient: smbclient -L 10.10.10.134 With smbclient, we can see the smb shares of this 通过 smbclient,我们可以在不使用密码的情况下看到这台靶机的共享。 Access to the share of Backups: smbclient//10.10.10.134/Backups: 访问共享 Backups: smbclient//10.10.10.134 通过 smbclient 来访问文件不太方便,因为我们不能够直接浏览文件。
只能由445端口入手,它作用是实现一些共享文件夹以及一些共享打印机的访问工作,使用enum4liux进行枚举查看可用信息,找到共享目录wave enum4linux 192.168.86.167 使用smbclient (samba client)命令让Linux系统显示Windows系统所分享的资源 smbclient -L \\192.168.86.167 -L:显示服务器端所分享出来的所有资源 密码为空密码 FLAG1 进入共享文件夹查看信息 smbclient //192.168.86.167/wave 在kali里查看信息,拿到FLAG1 使用base64进行解码,得到账号密码 使用ssh连接成功
设置Nextcloud所有用户都能使用外部存储 此时进入外部存储会提示 “smbclient” 未安装。 虽然不一定用到可以安装一下包解决这个提示 进入控制台: docker exec -it vvd_nextcloud bash apt-get update apt-get upgrade apt install smbclient libsmbclient-dev pecl install smbclient docker-php-ext-enable smbclient 之后具备了挂载 cifs 的能力,也就没有警告提醒了。
操作系统172.25.254.118:作为客户端,访问windows下共享出来的文件 2、服务器端 3、客户端 1、yum install samba-client -y 下载客户端软件 2、smbclient -L //172.25.254.99 测试是否共享成功 3、smbclient //172.25.254.99/WESTOS 访问共享目录 4、! 删除smb用户 3、客户端 1)、window客户端 2)、linux客户端 普通挂载: 1、yum install samba-client.x86_64 -y 下载客户端软件 2、smbclient -L //172.25.254.118/LEE 测试是否成功 3、smbclient //172.25.254.118/LEE -U westos smb用户westos远程访问 4、mount //172.25.254.118/LEE /mnt -o username=westos,password=westos 以smb的westos用户挂载远程共享文件到本地 5、smbclient
此时你可能会遇到:“smbclient” 未安装。无法挂载 “SMB / CIFS”, “SMB / CIFS 使用 OC 登录信息”。请联系管理员安装。错误。 apt install libsmbclient libsmbclient-dev apt install smbclient apt install php-pear pecl install smbclient ' install ok: channel://pecl.php.net/smbclient-1.0.0 configuration option "php_ini" is not set to php.ini location You should add "extension=smbclient.so" to php.ini #对于oneinstack,输出配置文件 echo 'extension=smbclient.so 然后按照上面的方法安装好smbclient.so,最后在你的php.ini配置文件中添加好smbclient.so路径即可。
接着使用smbclient来进行连接。(-L列出共享和-N空身份验证) 其中$是所有 Windows 系统上的默认共享,其余几个可能是新建出来的。 发现存在shares共享目录,然后使用smbclient进行读取文件。 发现在其目录下存在一个压缩包。 使用get将其下载到本地,进行分析。 对其端口开放的服务进行分析,使用**crackmapexec**进行爆破,**smbclient**获取到smb服务下的目录。然后使用smbclient进行读取目录下的文件。
网盘了 4.挂载onedrive网盘 点右上角的头像选择“应用” 拉到最下面吧 External storage support启用 启用后回到设置页面就能看到外部存储的选项了 进入外部存储会发现提示:“smbclient 需要进入SSH安装smbclient。 进入SSH运行命令: yum install libsmbclient libsmbclient-devel pecl install smbclient 注意:安装之前进入宝塔面板→php管理→禁用函数里面把 pecl channel-update pecl.php.net" to update 可以不管,也可以升级下,运行命令: pecl channel-update pecl.php.net pecl安装smbclient
mkdir /public touch /public/hello.txt ls /public/ smbpasswd -a test 重启SMB服务 service smb restart 输入smbclient vim /etc/samba/smb.conf 再次重启SMB服务 service smb restart 接着在终端输入smbclient //192.168.248.128/public –U service smb restart 在终端输入smbclient –L 192.168.248.128 –U smbuser%Admin123,使用本地账号,对smb服务器进行登录测试。 (账号%密码) 输入smbclient –L 192.168.248.128 –U test1%Admin123,使用虚拟账号,对smb服务器进行登录测试 输入smbclient //192.168.248.128
downloadFileV2(String ip, String shareFolder, String filePath, String localDir) throws Exception { SMBClient client = new SMBClient(SmbConfig.createDefaultConfig()); Connection conn = client.connect(ip shareFolder, String userName, String password, String filePath, String localDir) throws Exception { SMBClient client = new SMBClient(SmbConfig.createDefaultConfig()); Connection conn = client.connect(ip
客户端访问 Linux - smbclient $ sudo apt-get install smbclient 匿名(-N) 查看(-L): $ smbclient -L 10.42.1.100 -N 实名(-U) 查看(-L): $ smbclient -L 10.42.1.100 -U user%password $ smbclient -L 10.42.1.100 -U user1 (推荐,避免保存明文密码 进入smbclient命令行进行交互: $ smbclient //10.42.1.100/Share -N $ smbclient //10.42.1.100/Share -U user1 Linux
学习参考:https://pentestlab.blog/tag/ntds-dit/ http://carnal0wnage.attackresearch.com/2015/12/more-with-smbclient-smbget-enum4linux.html corp.pentest.lab\administrator net use \\172.31.4.212\ipc$ “password" /user:administrator #Linux sudo apt install smbclient $ smbclient -L 172.31.4.212 -U administrator $ smbclient \\\\172.31.4.212\\C$ -U administrator $ smbclient 172.31.4.212 -U corp.pentest.lab/administrator #命令参考 http://carnal0wnage.attackresearch.com/2015/12/more-with-smbclient-smbget-enum4linux.html
Directories #任何用户可看到家目录 3 browseable = no 4 writable = yes 5 [study] 6 #访问时采用这个名字,而不是路径后的文件夹名,即:smbclient //192.168.10.10/study -U liangzai,而不是smbclient //192.168.10.10/mystudy -U liangzai 7 comment = This linux测试 1 [root@imxhy2 ~]# smbclient //192.168.10.10/study -U liangzai #使用liangzai用户登录 2 Enter liangzai's
简单概括为使用smbclient 上传webshell。 smbclient -L //192.168.3.71 -U 0day/jerry%Admin12345 #列出共享 smbclient //192.168.3.71/wwwroot -U 0day/ jerry smb: \> put /usr/share/webshells/aspx/cmdasp.aspx c.aspx #交互式的shell上传文件 smbclient {{//server/share }} --directory {{path/to/directory}} --command "put {{file.txt}}" smbclient //192.168.3.71/wwwroot SMB 枚举 参考: A Little Guide to SMB Enumeration 使用的一些工具: Nmblookup nbtscan SMBMap Smbclient Rpcclient Nmap
--- 命令: smbtree –b –u administrator%admin # -b broadcast –u 用户名%密码 # nmblookup * #发送广播看有多少回应可访问# smbclient –l 192.168.0.104 –u administrator%admin # 以用户名为administrator密码为admin登陆,并列出共享文件 –l # smbclient //
在 kali 上进行 smb 服务的探测,我们可以选择使用 smbmap, smbclient, enum4linux 等。 我们先来试一下 smbclient: smbclient -L 10.10.10.134 通过 smbclient,我们可以在不使用密码的情况下看到这台靶机的共享。 通过smbclient //10.10.10.134/sharename来尝试访问共享路径,我们发现只有Backups是可以访问的。 访问共享Backups:smbclient //10.10.10.134/Backups: 在共享路径可以发现一个 note.txt 文件。 通过 smbclient 来访问文件不太方便,因为我们不能够直接浏览文件。
学习参考:https://pentestlab.blog/tag/ntds-dit/ http://carnal0wnage.attackresearch.com/2015/12/more-with-smbclient-smbget-enum4linux.html corp.pentest.lab\administrator net use \\172.31.4.212\ipc$ “password" /user:administrator #Linux sudo apt install smbclient $ smbclient -L 172.31.4.212 -U administrator $ smbclient \\\\172.31.4.212\\C$ -U administrator $ smbclient 172.31.4.212 -U corp.pentest.lab/administrator #命令参考 http://carnal0wnage.attackresearch.com/2015/12/more-with-smbclient-smbget-enum4linux.html