https站点搭建与CA实现
CA认证中心是采用PKI公开密钥基础架构技术,专门提供网络身份认证服务,负责签发和管理数字证书,且具有权威性和公正性的第三方信任机构,它的作用就像我们现实生活中颁发证件的公司,如护照办理机构。用户在使用自己的数字证书之前必须先下载根证书。数字证书里存有很多数字和英文,当使用数字证书进行身份认证时,它将随机生成128位的身份码,即相当于生成一个复杂的密码。
数字证书的工作原理为:数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。
- CA的搭建
点击开始|管理工具|服务器管理器
,打开服务器管理器。按提示步骤添加角色。
在浏览器中将http://192.168.1.3
设置为可信任站点。
- 服务器证书的申请与颁发
点击开始|管理工具|IIS
,选择创建证书申请,为申请的证书创建一个文件名。
在IE浏览器中打开http://192.168.1.3/certsrv
,点击申请证书
,继续点击高级证书申请
。点击第二项使用bas64编码的CMC
。将之前保存的密钥文档文件找到并打开,将里面的文本信息复制并粘贴到“Base-64编码的证书申请”文本框中,提交。
打开证书服务器处理用户刚才提交的证书申请;点击开始|运行
,输入:certsrv.msc
,然后回车就会打开证书服务功能界面,找到【挂起的申请】位置,可以看到之前提交的证书申请。
所有任务|颁发
,记录从界面中消失,点击颁发的证书
,看到有一条记录,即说明证书申请和颁发成功。
- 服务器证书的下载与安装
打开IE浏览器,输入地址http://192.168.1.3/certsrv
,点击查看挂起的证书申请的状态
,之后会进入“查看挂起的证书申请的状态”页面,点击保存的申请证书
。
下载证书,打开IIS管理器,点击服务器证书|完成证书申请
。选择刚才保存的证书。输入shiyanbar_https
,点击确定。
- 发布HTTPS协议
打开默认网站站点。点击绑定|添加
,将类型该为https
,点击SSL证书
为shiyanbar_https
,点击确定
即可,网站绑定窗口会出现两个记录。进入到默认站点的SSL设置,点击应用
。
在浏览器中输入http://192.168.1.3
,得到下图
输入https://192.168.1.3
,得到下图
- 课后思考
什么是SSL?SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
数字证书中不应包含用户的私钥,因为这是不公开的。且加密过程是不可逆的。
利用PGP实现文件加密
PGP是一个基于RSA公匙加密体系的文件(或邮件)加密软件。可以用它对文件(或邮件)保密以防止非授权者阅读,它还能对文件(或邮件)加上数字签名从而使收信人可以确认文件(或邮件)的发送者,并能确信文件(或邮件)没有被篡改。
1、服务端搭建邮件服务器
单击开始|管理工具|管理您的服务器
,单击添加或删除角色,选择邮件服务器,在C:\win2003\I386
文件夹下选择提示的文件,单击打开
。一直点击下一步直到完成。点击开始|管理工具|POP3服务
,打开POP3服务
窗口。新建域。在窗口左侧POP3服务
下的本机主机名上右击,选择新建|域
。在弹出的添加域
对话框中输入自己需要建立的邮件服务器的主机名,即邮箱地址中“@”后面的部分,如:mail.shiyanbar.com
。点击确定
按钮完成域的创建。新建邮箱。在窗口左侧选择刚刚创建好的新域,右击,选择新建|邮箱
,在弹出的添加邮箱
对话框中设置自己的邮箱。
选择
开始|管理工具|Internet信息服务(IIS)管理器
。在Internet信息服务(IIS)管理器
窗口的左侧选择默认SMTP虚拟服务器
,右击,选择属性
。在属性
对话框中的常规
选项卡中,将IP地址设置为本邮件服务器的IP地址。打开OutlookExpress,添加一个新账户。单击
工具|账户
。在打开的Internet账户对话框中,单击添加|邮件
。在“电子邮件地址”中填入之前设置的邮件地址,如aaron@wgcunion.com
。在“电子邮件服务器”中进行设置,“接收邮件服务器”和“发送邮件服务器”处均填入邮件服务器的IP地址,如:
192.168.1.3
。在“Internet邮件登陆”中填入之前设置的用户名和密码。例如Aaron设置的用户名和密码均为“aaron”。最后点击完成。开始|所有程序|“Outlook Express”
。填入显示名、邮件地址、邮件服务器名等。- PGP软件的安装
打开桌面PGP文件夹,打开PGP安装包,按步骤安装。 - 添加用户
在Hello端添加Hello用户,点击开始|所有程序|PGP|PGPkeys
,打开PGP的keys页面。点击工具栏的Generate new keypair
,弹出提示界面。依次输入用户名和密码。相同的方法在World端添加用户World,Full name为World,Email address为World@mail.shiyanbar.com
。口令短语为World123456。 - 共享公钥
用户World将自己的公钥导出,通过邮件方式发送给Hello,来满足Hello实现保密通信的需要。在World端,选中用户World,点击菜单栏的Keys
下的Export
。导出。点击开始|所有程序|Outlook Express
,进入Outlook。通过邮件将World公钥发送给Hello,来实现公钥共享。
Hello端,收到附件后,打开PGP主界面。点击KeysImport
,将密钥导入。4.7 点击“Edit”选项卡下的“Options”,点选“Do not cache passphrase”,点击“确定”。
- 加密邮件
在Hello端,通过Outlook Express给World写邮件。
右键点击右下角的金锁小图标,进入Current Windows
,点击Encrypt
,加密编辑光标所在窗口的文本。弹出密钥选择页面,双击World,即可将Wrold添加到“Recipitions”中。
- 解密邮件
在World端收取邮件,并查看邮件内容。
将光标置于右键内容窗口中,在右下角右键点击小金锁。在Current Windows
中,点击Decrypt|Verify
。弹出Enter Passphress页面,输入创建用户时的口令短语“World123456”。解密时提示输入口令短语,并不是World真正的私钥,World的私钥是通过口令短语保护的,并且由PGP调用。因为PGP是基于RSA密码体系,不可能手动让用户输入上千位的私有密钥。
点击ok,解密完成。
-
用户钥匙的备份
参照4.1,将密钥导出,右击该文件用PGP加密,选择要使用的公钥
点击ok,生成加密文件。
将hello用户删除。添加新用户hello。打开加密的文件,发现新用户不能解密。
重新导入原hello用户,发现可成功解密。
- 课后思考
如何实现数字签名?
“发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用自己的私人密钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再用发送方的公用密钥来对报文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该数字签名是发送方的。
Window下IPC$管道的建立和远程控制
IPC是共享”命名管道”的资源,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。利用IPC$,连接者甚至可以与目标主机建立一个空的连接而无需用户名与密码(当然,对方机器必须开了ipc$共享,否则你是连接不上的),而利用这个空的连接,连接者还可以得到目标主机上的用户列表(不过负责的管理员会禁止导出用户列表的)。还可以访问共享资源,并使用一些字典工具,进行密码探测,以至于获得更高的权限。
打开被攻击机即目标主机的IPC$默认共享
启动实验台,切换到目标机。如果利用IPC$漏洞实施攻击,首先要保证被攻击机IPC$默认共享已经打开。在目标机命令行中输入net share
命令查看是否开启IPC$共享。-
利用net命令与远程主机建立IPC$连接
在命令行输入命令net use \\192.168.1.3\ipc$ “Simplexue123” /user:”administrator”
与目标主机建立IPC$连接。
在命令行下利用cd进入软件目录C:\实验工具集\06网络与无线安全\01典型协议攻击\第4节 Windows下IPC$管道的建立和远程控制
,利用copy命令向服务器复制a.txt文件。
将对方的C盘映射为本地的Z盘,则可以像操纵本地硬盘一样对目标主机C盘进行操作。
-
利用工具PSEXEC实施攻击
利用PsExec工具获得对方的Shell,命令为PsExec \\远程主机ip –u 用户名 –p 密码 cmd.exe
可以看到ipconfig命令已经在远程主机上执行了,获得的是对方主机的IP地址192.168.1.3。
关闭IPC$和默认共享依赖的服务:server服务控制面板/管理工具/服务/找到server服务(右击)/属性/常规/启动类型/选已禁用,这时可能会有提示说:XXX服务也会关闭是否继续,因为还有些次要的服务要依赖于server服务,继续关闭。 课后习题
Window系统的IPC$共享的实现利用的是哪个端口实现的:如果允许NBT, 那么UDP端口137, 138, TCP 端口 139, 445将开放(LISTENING);如果禁止NBT,那么只有445端口开放。
绕过前台脚本检测扩展名上传webshell
当用户在客户端选择文件点击上传的时候,客户端还没有向服务器发送任何消息,就对本地文件进行检测来判断是否是可以上传的类型,这种方式称为前台脚本检测扩展名。绕过前台脚本检测扩展名,就是将所要上传文件的扩展名更改为符合脚本检测规则的扩展名,通过BurpSuite工具,截取数据包,并将数据包中文件扩展名更改回原来的,达到绕过的目的。
-
开启代理,启动BurpSuite
打开火狐浏览器,点击工具|选项|高级|网络|设置
,手动配置代理,IP地址为【127.0.0.1】,端口号为【8081】。打开BurpSuite,点击【proxy】下的【intercept】,【intercept is off】。
-
绕过验证
在浏览器中输入地址http://192.168.1.3:8080/up
,进入【文件上传系统演示脚本】,点击【绕过前台脚本检测扩展名上传WebShell】。点击【浏览】,选择要上传的木马文件,文件后缀名为【.php】,点击【上传】,前台显示错误窗口。
-
链接木马
输入木马地址http://192.168.1.3:8080/up/uploads/lubr.php
,系统不报错。
打开中国菜刀,输入地址http://192.168.1.3:8080/up /uploads/lubr.php
和密码【lubr】,选择脚本类型【php(Eval)】,点击【添加】。双击添加的记录,即可查看完整目录。
课后思考:是否可以上传前台脚本定义以为的文件名扩展名?可以。
是否可以上传asp结尾的文件?不可以
绕过content-type检测文件类型上传webshell
当浏览器在上传文件到服务器的时候,服务器对说上传文件的Content-Type类型进行检测,如果是白名单允许的,则可以正常上传,否则上传失败。绕过Content—Type文件类型检测,就是用BurpSuite截取并修改数据包中文件的Content-Type类型,使其符合白名单的规则,达到上传的目的。
- 开启代理,启动BurpSuite
打开火狐浏览器,点击工具|选项|高级|网络|设置
,手动配置代理,IP地址为【127.0.0.1】,端口号为【8081】。打开BurpSuite,点击【proxy】下的【intercept】,【intercept is off】。
- 绕过验证
在浏览器中输入地址http://192.168.1.3:8080/up
,进入【文件上传系统演示脚本】,点击第二个【绕过Content-Type检测文件类型上传】。点击【浏览】,选择【C:\实验工具集\01_WEB安全\04_webshell上传技术\第5节 绕过Content-Type检测文件类型上传Webshell】目录下的木马文件(lubr.php),文件后缀名为【.php】,点击【上传】,前台显示错误窗口。
在BurpSuite中开启抓包。在BurpSuite中会抓到截取的数据包,在数据包中将所上传的文件的Content-Type由【application/octet-stream】改为【image/gif】。点击【forward】,传递数据包,前台即可提示,上传【lubr.php】成功。
- 链接木马
输入木马地址http://192.168.1.3:8080/up/uploads/lubr.php
,系统不报错。
打开中国菜刀,输入地址http://192.168.1.3:8080/up /uploads/lubr.php
和密码【lubr】,选择脚本类型【php(Eval)】,点击【添加】。双击添加的记录,即可查看完整目录。
- 课后习题
文件类型是否可以改成其他格式?可以。因为本实验所做的就是绕过文件种类检测。
构造图片马,绕过文件内容检测上传shell
一般文件内容验证使用getimagesize()函数检测,会判断文件是否是一个有效的文件图片,如果是,则允许上传,否则的话不允许上传。本实例就是将一句话木马插入到一个【合法】的图片文件当中,然后用中国菜刀远程连接。
- 上传PHP木马
在火狐浏览器中输入地址http://192.168.1.3:8080/up
,进入【文件上传漏洞演示脚本】,点击进入【绕过图片马,绕过文件内容检测上传Shell】。选择要上传的木马,将后缀名【.php】改为【.php.jpg】。点击【上传】,提示错误信息:此文件不允许上传,服务器对上传文件内容进行了检测。
- 制作图片木马
随便找一个图片,与所要上传的木马放置于同一文件夹下。打开cmd,进入木马所在文件夹。输入copy pic.jpg/b+lubr.php/a PicLubr.jpg
,将【lubr.php】插入到【pic.jpg】中。
- 上传木马
在火狐浏览器中点击【浏览】,选择【PicLubr.jpg】,并将文件名改为【PicLubr.jpg.php】,点击【上传】。
输入链接http://192.168.1.3:8080/up/uploads/PicLubr.jpg.php
,访问木马文件。
- 链接木马
打开中国菜刀,右键点击【添加】,在弹出窗口中添加木马文件地址http://192.168.1.3:8080/up /uploads/PicLubr.jpg.php
,输入密码【lubr】,选择脚本类型为【php(Eval)】,点击【添加】。双击添加的SHELL,即可访问网站的完整目录。
- 课后习题
制作图片的命令是:A:copy pic.jpg/b+lubr.php/a PicLubr.jpg