Smbclient报错:Windows宿主机下Linux虚拟机访问HTB SMB时get命令打开本地文件错误
HTB Dancing靶机SMB get命令报错排查方案
error opening local file属于SMB客户端本地写入类错误,和远程靶机SMB权限、宿主机Windows防火墙配置无关,可按以下优先级排查调整:
- 调整执行命令的工作目录
普通用户默认没有系统级目录的写入权限,不要在/root、/usr等目录下执行下载操作,先执行cd ~切换到当前用户的家目录,再重新建立SMB连接执行get命令即可。 - 修正特殊文件名的引用方式
如果要下载的目标文件名包含空格、特殊符号,需要用双引号包裹文件名,否则命令解析会出现异常,示例:get "user flag.txt" - 验证当前目录写入权限
执行touch test.txt在当前工作目录创建测试文件,如果抛出权限错误,说明当前目录无写入权限:- 若当前目录是挂载的Windows宿主机共享目录,建议直接切换到Parrot本地目录(例如
/tmp)执行下载操作 - 若你是通过
sudo运行smbclient,可直接指定下载到全局可写目录,示例:get 远程文件名 /tmp/本地文件名
- 若当前目录是挂载的Windows宿主机共享目录,建议直接切换到Parrot本地目录(例如
- 清理同名冲突文件
执行ls -l检查当前目录下是否存在和目标下载文件同名的只读文件/被占用文件,执行rm -f 同名文件名删除后重试。 - 确认磁盘剩余空间
执行df -h查看当前目录所在磁盘的剩余容量,排除磁盘占满导致的写入失败问题。
内容的提问来源于stack exchange,提问作者Samuel K
相关产品推荐
相关产品推荐

