Web安全篇学习笔记3

Posted g0rez

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web安全篇学习笔记3相关的知识,希望对你有一定的参考价值。

目录

漏洞利用-FTP漏洞利用

1. FTP协议介绍

2. 利用FTP匿名登录漏洞

3. 利用FTP后门漏洞

4. FTP安全配置

漏洞利用-FTP不可避免的问题

1. FTP用户名密码暴力破解

2. FTP用户名明文密码验证

3. FTP用户名明文密码嗅探

4. FTP登录之后做的事情

漏洞利用-SSH环境搭建

1. ubuntu搭建ssh服务端

2. ssh服务端服务启动与关闭

3. ubuntu搭建ssh客户端

4. 客户端连接服务端

漏洞利用- SSH Banner信息获取

1. nmap获取ssh Banner信息

2. Metasploit获取 ssh Banner信息

3. nc获取 ssh Banner信息

4. 配置ssh规避Banner信息

漏洞利用-SSH弱口令破解利用

1. Medusa SSH弱口令破解

2. SSH命令行工具登录

3. Metasploit利用SSH登录反弹Shell

4. Metasploit获取Meterpreter Shell

漏洞利用-SSH安全防御

1. SSH 修改默认端口

2. SSH 设置PGP登录

3. SSH 防御暴力破解用户账号。

4. Iptables设置阈值防止暴力破解

漏洞利用-针对Telnet暴力破解

1. telnet介绍

2. telnet版本获取

3. telnet密码破解

4. telnet登录测试

漏洞利用-Telnet认证过程抓包分析

1. telnet客户端连接telnet服务器

2. telnet明文密码传输

漏洞利用-Telnet登录提权

漏洞利用 - smtp实验环境搭建

1. 邮件发送与接受模型

2. 添加主机名和域名

3. ubuntu 安装postfix

4. ubuntu安装dovecot

漏洞利用 - 利用搭建环境发送邮件接收邮件

1. 发送邮件

2. 接收邮件

漏洞利用 - 枚举smtp用户名

1. telnet测试用户名

2. metasploit测试用户名

3. smtp-user-enum测试用户名

4. ismtp测试用户名

漏洞利用 - smtp暴力破解

1. smtp版本信息获取

2. medusa工具介绍

3. smtp验证方式

4. medusa破解smtp

漏洞利用-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的主要内容,如果未能解决你的问题,请参考以下文章

Web安全篇学习笔记2

Web安全篇学习笔记1

web开发性能优化---安全篇

网络安全系统教程+渗透测试+学习路线(自学笔记)

NGINX优化之路WEB安全篇

Appium学习笔记--安装与配置