Web安全篇学习笔记3
Posted g0rez
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web安全篇学习笔记3相关的知识,希望对你有一定的参考价值。
目录
4. Metasploit获取Meterpreter Shell
漏洞利用-FTP漏洞利用
1. FTP协议介绍
文件传输协议(英文:File Transfer Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议的应用层。 FTP使用21号端口。
用户分类:
1、Real用户 2、Administrator 3、匿名用户
FTP文件传输格式
1、ASCII 2、二进制格式
2. 利用FTP匿名登录漏洞
由于FTP没有禁止匿名用户,所以可以直接使用Anonymous用户直接登录FTP服务器。
使用nc 连接ftp
3. 利用FTP后门漏洞
vsftpd手工出发漏洞:当进行FTP认证时,如果用户名USER中包含:),那么直接就触发监听6200端口的连接的shell。
4. FTP安全配置
1、修改配置文件,禁止匿名用户登录。
2、对特定漏洞进行打补丁,或者设置防火墙禁止连接后门端口。
iptables -A INPUT -p tcp -dport 6200 -j DROP
iptabels -A OUTPUT -p tcp sport 6200 -j DROP
漏洞利用-FTP不可避免的问题
1. FTP用户名密码暴力破解
Windows下 CMD命令添加用户、以及提升Administrator管理员权限。
- net user 用户名 用户密码 /add
- net localgroup administrators admin /add
Windows下 FTP服务器添加用户操作。
使用medusa暴力破解FTP登录
2. FTP用户名明文密码验证
FTP协议中用于用户认证的过程中,客户端与服务器端是通过明文进行交互信息。验证FTP登录过程中明文传输用户名和密码。
3. FTP用户名明文密码嗅探
利用arpspoof进行ARP嗅探
利用Wireshark进行流量嗅探。
4. FTP登录之后做的事情
FTP漏洞原理及利用 - 系统安全漏洞 - 简书 (jianshu.com)
Metasploit实战:FTP漏洞利用 - 简书 (jianshu.com)
利用metasploit创建反弹shell上传到FTP服务器。可以利用setookit快速生成反弹shell。
漏洞利用-SSH环境搭建
1. ubuntu搭建ssh服务端
ubuntu下安装服务端:
sudo apt-get install openssh-server
2. ssh服务端服务启动与关闭
启动、状态获取、关闭
service ssh start
service ssh status
service ssh stop
3. ubuntu搭建ssh客户端
ubuntu下安装putty工具:
sudo apt-get install putty-tools
ubuntu下安装putty:
在软件中心搜索putty进行安装
4. 客户端连接服务端
打开putty输入服务端信息,连接。
漏洞利用- SSH Banner信息获取
1. nmap获取ssh Banner信息
nmap -sV -p 22 IP地址
2. Metasploit获取 ssh Banner信息
auxiliary/scanner/ssh/ssh_version
msf auxiliary(ssh_version) > set rhosts IP
msf auxiliary(ssh_version) > set rport 22
msf auxiliary(ssh_version) > exploit
3. nc获取 ssh Banner信息
nc IP地址 22
4. 配置ssh规避Banner信息
在/etc/ssh下的配置文件sshd_config中新增一行。DebianBanner no 再次扫描发现没有操作系统信息。
漏洞利用-SSH弱口令破解利用
1. Medusa SSH弱口令破解
如果在设置SSH服务时,管理员设置了容易被猜解出来的用户名和密码(弱口令)。那么测试人员就可以使用对应的密码工具进行暴力破解弱口令。破解出来就可以使用对应的用户名和密码登录系统。
下面介绍Medusa对指定的ssh服务进行用户名和密码破解。
2. SSH命令行工具登录
一般情况下Linux下都具有ssh客户端,用来登录ssh服务端。
可以使用 ssh 用户名@IP地址 然后根据提示输入密码。
3. Metasploit利用SSH登录反弹Shell
使用Metasploit可以进行ssh登录(破解),会自动建立对应的Bash shell连接。
4. Metasploit获取Meterpreter Shell
利用 获得的Bash shell,注入Metasploit中Meterpreter payload从而获取更强大功能的shell。
漏洞利用-SSH安全防御
1. SSH 修改默认端口
默认情况下,SSH使用22端口。为了安全,一般情况下都会修改默认端口。
注意:修改之后必须重新启动SSH服务。
2. SSH 设置PGP登录
默认情况下,SSH使用用户名和密码进行远程登录。但也可以使用密钥对进行身份验证登录(公钥与私钥)。
生成SSH密钥对,使用puttygen。
下载链接:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
使用 ssh-keygen 命令在Linux生成.ssh目录,在.ssh下新建密钥存储文件authorized_keys,并复制私钥文件到.ssh目录下。使用命令 puttygen -L “拷贝私钥文件” ,将内容拷贝到authorized_keys文件中。
使用Putty客户端加载私钥文件进行连接。
3. SSH 防御暴力破解用户账号。
在Linux下可以配置不能使用用户名和密码登录,只使用SSH PGP方式验证登录。规避了SSH暴力破解。
出现问题:不能使用用户密码登录,很大程度上存在复杂操作。o
4. Iptables设置阈值防止暴力破解
利用Iptables对多次连接验证错误,进行账户锁定120秒。
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 120 --hitcount 3 -j DROP
在设置完之后,需要重新启动ssh服务。
漏洞利用-针对Telnet暴力破解
1. telnet介绍
Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。
虽然Telnet较为简单实用也很方便,但是在格外注重安全的现代网络技术中,Telnet并不被重用。原因在于Telnet是一个明文传送协议,它将用户的所有内容,包括用户名和密码都明文在互联网上传送,具有一定的安全隐患,因此许多服务器都会选择禁用Telnet服务。如果我们要使用Telnet的远程登录,使用前应在远端服务器上检查并设置允许Telnet服务的功能。
Telnet服务端默认情况下使用23端口。
2. telnet版本获取
使用nmap获取telnet版本信息,或者使用metasploit获取对应版本信息。
3. telnet密码破解
使用metasploit下 针对telnet破解的模块进行用户名和密码的破解。
在msfconsole下使用search telnet进行查询telnet可以利用的模块。
4. telnet登录测试
使用破解好的会话连接telnet,并执行对应命令。
使用 sessions -l 例举建立的会话
使用 sessions -i id 使用对应的会话。
漏洞利用-Telnet认证过程抓包分析
1. telnet客户端连接telnet服务器
windows下开启telnet客户端,连接telnet服务端。
2. telnet明文密码传输
使用wireshark抓取telnet数据包。
漏洞利用-Telnet登录提权
漏洞利用-Telnet登录提权_zerostruggle的博客-CSDN博客
漏洞利用 - smtp实验环境搭建
1. 邮件发送与接受模型
邮件发送使用 smtp协议,占用25端口。而邮件接收使用 pop3 或 imap 协议,分别占用 110和143端口。
2. 添加主机名和域名
为了在本地搭建好邮件服务器,所以需要修改对应内容。使得可以在本地进行域名解析。
sudo gedit /etc/hosts
127.0.0.1 mail.test.lab test
sudo gedit /etc/hostname
test
修改完成之后使用 reboot进行重启,使得修改生效。
使用
hostname 或 hostname -f 查看修改是否成功。
3. ubuntu 安装postfix
因为postfix是非常流行的smtp软件,所以ubuntu的主要库中集成了postfix,可以直接使用以下命令安装:
sudo apt-get install postfix
修改配置文件:
sudo gedit /etc/postfix/main.cf
追加子网信息
inet_protocols = ipv4
home_mailbox = Maildir/
修改完成之后重新启动服务 postfix
sudo service postfix restart , 然后使用 netstat -nlv 来查看对应25端口是否开启。
4. ubuntu安装dovecot
sudo apt-get install dovecot-imapd dovecot-pop3d
sudo gedit /etc/dovecot/conf.d/10-auth.conf
disable_plaintest_auth = yes
auth_mechanisms = plain login
sudo gedit /etc/dovecot/conf.d/10-mail.conf
mail_location= maildir:/home/%u/Maildir
sudo gedit /etc/dovecot/conf.d/10-master.conf
设置 port =143 port 110
修改权限
unix_listerner auth-usrdb{
mode = 0600
user = postfix
group = postfix
}
重新启动 dovecot服务 sudo service dovecot restart 使用 netstat -nlv 查看服务端口 110 143是否开启
漏洞利用 - 利用搭建环境发送邮件接收邮件
1. 发送邮件
利用Linux下 thunderbird软件进行邮件的发送。
2. 接收邮件
利用thunderbird接收邮件。
漏洞利用 - 枚举smtp用户名
1. telnet测试用户名
telnet IP地址 端口
2. metasploit测试用户名
在metasploit中有 smtp-enum可以对smtp上用户名进行枚举。
use auxiliary/scanner/smtp/smtp_enum
msf auxiliary(smtp_enum) > set rhosts 192.168.1.107
msf auxiliary(smtp_enum) > set rport 25
msf auxiliary(smtp_enum) > set USER_FILE /root/Desktop/user.txt
msf auxiliary(smtp_enum) > exploit
3. smtp-user-enum测试用户名
smtp-user-enum专门用来进行smtp用户名枚举的工具。
smtp-user-enum -M VRFY -U /root/Desktop/user.txt -t 目标IP地址
4. ismtp测试用户名
ismtp -h IP地址:25 -e /root/Desktop/email.txt
漏洞利用 - smtp暴力破解
1. smtp版本信息获取
使用metasploit中的smtp-version模块探测smtp服务的版本信息。
目标:129.121.22.119
2. medusa工具介绍
medusa是一款用来破解不同协议用户名和密码的专用软件。
3. smtp验证方式
参考链接:https://en.wikipedia.org/wiki/SMTP_Authentication
4. medusa破解smtp
medusa -h 目标IP地址 -u 用户名 -P 字典文件 -M 协议模块
以上是关于Web安全篇学习笔记3的主要内容,如果未能解决你的问题,请参考以下文章