BeEF黑客软件(beef攻击框架)
本文目录一览:
- 1、如何配置beef和metasploit
- 2、beef怎么把网站变成https
- 3、渗透测试工具有哪些
- 4、一个完整的渗透测试流程,分为那几块,每一块有哪些内容
- 5、CPU E2180 能不能装64位Windows7操作系统
如何配置beef和metasploit
先删除BT5上面自带的版本稍旧的BeEF
rm -rf /pentest/web/beef-ng
然后通过Git clone最新的BeEF代码
这样beef的代码已经拷贝到 /pentest/web/beef 下
然后就开始安装
cd /pentest/web/beef
gedit INSTALL.txt
查看安装文档,只看第一步和第三步
1. Prerequisites (platform independent)
BeEF requires ruby 1.9 and the "bundler" gem. Bundler can be installed by:
gem install bundler
3. Prerequisites (Linux)
!!! This must be done PRIOR to running the bundle install command !!!
On linux you will need to find the packages specific to your distribution for sqlite. An example for Ubuntu systems is:
3.0. sudo apt-get install libsqlite3-dev sqlite3 sqlite3-doc
3.1. install rvm from rvm.beginrescueend.com, this takes care of the various incompatable and conflicting ruby packages that are required
3.2. rvm install 1.9.2
3.3. rvm use 1.9.2
BT5自带的Ruby,所以我们只需要下面几步
apt-get install libsqlite3-dev sqlite3 sqlite3-doc
gem install bundler
bundle install
然后尝试运行beef
./beef
发现报如下错误
/root/beef/core/loader.rb:18:in `require': no such file to load -- bundler/setup (LoadError)
from /root/beef/core/loader.rb:18:in `top (required)'
from ./beef:42:in `require'
from ./beef:42:in `main'
上网找了一下,发现是环境变量的原因。
用如下方法再次安装bundler
gem install -–user-install bundler
然后成功运行beef
./beef
三、BeEF与metasploit的配合使用
这时候你会发现,启动过程没有出现metasploit加载的信息。于是需要先关闭BeEF,进去metasploit主目录。
cd /opt/framework/msf3/
生成一个beef.rc的文件,内容是
load msgrpc ServerHost=127.0.0.1 Pass=abc123
(这个密码牵扯众多地方,貌似改了影响太大,所以还是用默认的)
注:这里需要msf里面装好msgrpc这个插件,在msf里面运行 gem install --user-install msgpack
IP是你metasploit所在主机的IP,密码是两个软件之间的设定好的。之后到beef的主目录去修改主机的配置,这里重点配置的是metasploit攻击后,回连主机的IP,这个很重要。配置上述信息的文件如下:
/pentest/web/beef/extensions/metasploit/config.yaml
由于实验主机这两个软件都有,所以我的IP设置就是本机IP。很明显,两个软件不在同一台主机上工作也是没问题的。最后还要配置beef主目录下的文件:
/pentest/web/beef/config.yaml
将里面的metasploit一项设置为true
之后启动metasploit并加载beef模块
./msfconsole -r beef.rc
可以看到成功加载上面的beef模块
[*] MSGRPC Service: 127.0.0.1:55552
[*] MSGRPC Username: msf
[*] MSGRPC Password: abc123
[*] Successfully loaded plugin: msgrpc
这时候去运行beef ,就能够看到metasploit的攻击加载过程。
[*] MSGRPC Service: 127.0.0.1:55552
[*] MSGRPC Username: msf
[*] MSGRPC Password: abc123
beef怎么把网站变成https
https及https的本地测试环境搭建。asp.net结合https的代码实现http网站转换成https网站,以及之后遇到的问题等。
一:什么是https
SSL(Security Socket Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安全性,同时SSL安全机制是依靠数字证书来实现的。
SSL基于公用密钥和私人密钥,用户使用公用密钥来加密数据,但解密数据必须使用相应的私人密钥。使用SSL安全机制的通信过程如下:用户与IIS
服务器建立连接后,服务器会把数字证书与公用密钥发送给用户,用户端生成会话密钥,并用公共密钥对会话密钥进行加密,然后传递给服务器,服务器端用私人密
钥进行解密,这样,用户端和服务器端就建立了一条安全通道,只有SSL允许的用户才能与IIS服务器进行通信。
提示:SSL网站不同于一般的Web站点,它使用的是“HTTPS”协议,而不是普通的“HTTP”协议。因此它的URL(统一资源定位器)格式为“https://网站域名”。
二:https的本地测试环境搭建
1:win7/windows server 2008R2中 IIS7/IIS7.5 搭配https本地测试环境
2:windows server 2003中IIS6.0 搭配https本地测试环境
三:asp.net 结合 https的代码实现
https是由IIS,浏览器来实现的传输层加密,不需要特意的编码。。。平时怎么在asp.net里面编写代码,就怎么写。
很可能要问,为什么我的站点使用了https之后,用firebug之类的软件查看值提交的时候,还是会显示明文呢?例如,博客园的登陆界面提交。
http://passport.cnblogs.com/login.aspx
为什么这里还是能看到明文的用户名和密码呢?
原因是因为:https(ssl)的加密是发生在应用层与传输层之间,所以,在传输层看到的数据才是经过加密的,而我们捕捉到的http post的,是应用层的,是还没经过加密的数据。
加密的数据只有客户端和服务器端才能得到明文 客户端到服务端的通信是安全的
支付宝也是https的,但是他的同时也增加了安全控件来保护密码, 以前认为这个只是用来防键盘监听的,其实,看下面http post截获的密码:这个安全控件把给request的密码也先加了密,紧接着https再加次密,果然是和钱打交道的,安全级别高多了:)
四:http网站转换成https网站之后遇到的问题
整站https还是个别的页面采用https?网站的连接是使用相对路径?还是绝对路径?
如果是整站都是https,那么会显得网页有些慢,如果是个别页面采用https,那么如何保证从https转换到http的时候的url的准确性呢?
比如我们用http的时候,网站的头部底部都是用的相对路径,假如你的页面是 http://aa/index.aspx 你跳转到 https://aa/login.aspx 这里怎么来跳转?只能把超链接写死
登陆 但是这样的话,你跳转过去之后的页面 ,所有的相对路径都变成了https开头了,这样很影响网站的效率。
虽然使用绝对地址可以解决,但是那样显然不好移植。
下面就是使用第三方的组件,来解决上面的这个问题
步骤
先下载dll文件 http://code.google.com/p/securityswitch/downloads/list 我选择的是 SecuritySwitch v4.2.0.0 - Binary.zip这个版本
1: 我们来看看测试项目
admin 文件夹,需要登录之后,才能访问。admin里面的 login.aspx 可以访问。整个admin文件夹都需要https访问:
contact.aspx 需要https 访问:
default.aspx 和 view.aspx 采用 http 访问:
链接我们都采用相对路径,并没有写死成 http:// 或者是 https://。
下面我们开始用SecuritySwith来实现上面的https和http访问的规则。
2:在项目上,添加引用 SecuritySwitch.dll ,并且添加智能提示。
这样,只能提示就有了。
3:然后我们在web.config里面添加设置 。根据IIS的不同,还分为 IIS6+ IIS7.X(经典模式) 以及 IIS7(集成模式) 的不同的配置,这里我们是按照IIS6+IIS7.X的(经典模式)来配置的。
只看看里面的 SSL配置即可:
?xml version="1.0"?
configuration
!--SSL配置1开始--
configSections
section name="securitySwitch" type="SecuritySwitch.Configuration.Settings, SecuritySwitch" /
/configSections
securitySwitch baseInsecureUri=""
baseSecureUri="" xmlns=""
mode="On"
!--如果你的http和https仅仅只有一个s的区别,那么这里的base的2个url可以不写,那为什么还要搞这2个url呢?因为比如
你的 baseInsecureUri (基本不安全网址) 是
而你的 baseSecureUri (基本安全网址) 是
然后这个时候你访问一个需要https的页面,假如是 login.aspx?return=joey
假如你是通过访问的,那么这个
页面会跳转到
--
paths
add path="~/contact.aspx"/
add path="~/admin/login.aspx"/
add path="~/admin" /
!--这里的admin因为不仅是 admin 文件夹,而且还包含类似的 adminNews.aspx adminQQ.aspx 页面"--
!--但是如果是 ~/admin/ 就是专门指admin文件夹--
/paths
/securitySwitch
!--SSL配置1结束—
appSettings /
system.web
compilation debug="true"
/compilation
!-- 内置票据认证 start--
authentication mode="Forms"
forms name="mycook" loginUrl="admin/login.aspx" protection="All" path="/" /
/authentication
!--SSL配置2 如果是 IIS = 6.x, IIS 7.x + 经典模式--
httpModules
add name="SecuritySwitch" type="SecuritySwitch.SecuritySwitchModule, SecuritySwitch" /
/httpModules
!--SSL配置2结束--
/system.web
!--SSL配置2 如果是IIS7.X + 集成模式--
!--system.webServer
validation validateIntegratedModeConfiguration="false" /
modules
--!-- for IIS 7.x + 集成模式 --!--
add name="SecuritySwitch" type="SecuritySwitch.SecuritySwitchModule, SecuritySwitch" /
/modules
/system.webServer--
!--如果是IIS7.X+集成模式 SSL配置2 结束—
/configuration
4: 由于用到了内置票据认证,所以要在 Global.asax添加以下代码:
protected void Application_AuthenticateRequest(object SENDER, EventArgs e)
{
if (HttpContext.Current.User != null)
{
if (HttpContext.Current.User.Identity.IsAuthenticated)
{
if (HttpContext.Current.User.Identity is FormsIdentity)
{
FormsIdentity id = (FormsIdentity)HttpContext.Current.User.Identity;
FormsAuthenticationTicket tiecket = id.Ticket;
string userData = tiecket.UserData;
string[] roles = userData.Split(',');
HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id, roles);
}
}
}
}
5: 后台登陆界面 admin/login.aspx:
%@ Page Language="C#" AutoEventWireup="true" CodeBehind="login.aspx.cs" Inherits="web.admin.login" %
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head runat="server"
title/title
/head
body
form id="form1" runat="server"
用户名:asp:TextBox ID="txtUser" runat="server"/asp:TextBoxbr /
密码:asp:TextBox ID="txtPass" runat="server"/asp:TextBoxbr /
记住用户名:asp:CheckBox ID="chkUsername" runat="server" Checked="true"/
br /
asp:Literal ID="litResult" runat="server"/asp:Literal
br /
asp:Button ID="btnSubmit" runat="server" Text="提交" onclick="btnSubmit_Click" /
/form
/body
/html
后台登陆界面 cs admin/login.aspx.cs:
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
namespace web.admin
{
public partial class login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
string username = txtUser.Text;
string pass = txtPass.Text;
bool ischeck=chkUsername.Checked;
if (username=="admin" pass=="admin")
{
SaveLogin(username, ischeck);
}
}
private void SaveLogin(string username, bool ischeck)
{
HttpCookie cook;
string strReturnURL;
string roles = "admin";//将用户的usernameid,保存到cookies,身份是 admin 身份
//要引用 using System.Web.Security;
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1, username, DateTime.Now, DateTime.Now.AddMinutes(30), ischeck, roles);
cook = new HttpCookie("mycook");//对应webconfig里面的 验证里面的 forms name="mycook"
cook.Value = FormsAuthentication.Encrypt(ticket);
Response.Cookies.Add(cook);
strReturnURL = Request.Params["ReturnUrl"];
if (strReturnURL != null)
{
Response.Redirect(strReturnURL);
}
else
{
Response.Redirect("default.aspx");
}
}
}
}
渗透测试工具有哪些
第一、NST:网络安全工具包
NST是一套免费的开源应用程序,是一个基于Fedora的Linux发行版本,可在32和64位平台上运行。这个可启动的Live
CD是用于监视、分析和维护计算机的网络上的安全性,这个易于使用的黑客发行版本很容易将X86系统转换为肉机,有助于入侵检测,网络流量嗅探,网络数据包生成,网络/主机扫描等。
第二、NMAP:Network Mapper
NMAP是发现企业网络中任何类型的弱点或漏洞的绝佳工具,它也是审计的很好工具。该工具的作用是获取原始数据包并确定哪些主机在网络的特定段上可用,正在使用什么操作系统,以及识别特定主机的数据包防火墙或过滤器的不同类型和版本正在使用。NMAP对渗透测试过程的任何阶段都很有用并且还是免费的。
第三、BeEF工具
BeEF工具主要利用移动端的客户,它的作用是用于检查Web浏览器,对抗Web攻击。BeEF用GitHub找漏洞,它探索了Web边界和客户端系统之外的缺陷。重要的是,专门针对Web浏览器的,能够查看单个源上下文中的漏洞。
第四、Acunetix Scanner
知名的网络漏洞扫描工具,能审计复杂的管理报告和问题,并且通过网络爬虫测试你的网站安全性,检测流行安全漏洞,还包含带外漏洞。它有很高的检测率,涵盖超过4500个弱点。这个工具还包括AcuSensor技术,手动渗透工具和内置漏洞测试,可快速抓取数千个网页,提升工作效率。
第五、John the Ripper
是一个简单可快速的密码破解工具,用于在已知密文件的情况下尝试破解出明文的破解密码软件,支持大多数的加密算法,比如DES、MD4、MD5等,支持多种不同类型的系统架构,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS,主要目的是破解不够牢固的Unix或Linux系统密码。
一个完整的渗透测试流程,分为那几块,每一块有哪些内容
包含以下几个流程:
信息收集
第一步做的就是信息收集,根据网站URL可以查出一系列关于该网站的信息。通过URL我们可以查到该网站的IP、该网站操作系统、脚本语言、在该服务器上是否还有其他网站等等一些列的信息。
漏洞探测
当我们收集到了足够多的信息之后,我们就要开始对网站进行漏洞探测了。探测网站是否存在一些常见的Web漏洞,比如:SQL注入 。
漏洞利用
探测到了该网站存在漏洞之后,就要对该漏洞进行利用了。不同的漏洞有不同的利用工具,很多时候,通过一个漏洞我们很难拿到网站的webshell,我们往往需要结合几个漏洞来拿webshell。
内网渗透
当我们能跟内网主机进行通信后,我们就要开始进行内网渗透了。可以先使用nmap对内网主机进行扫描,探测在线的主机,并且探测其使用的操作系统、开放的端口等信息。
内网中也有可能存在供内网使用的内网服务器,可以进一步渗透拿下其权限。
痕迹清除
达到了目的之后,有时候只是为了黑入网站挂黑页,炫耀一下;或者在网站留下一个后门,作为肉鸡,没事的时候上去溜达溜达;亦或者挂入挖矿木马。
撰写渗透测试保告
在完成了渗透测试之后,就需要对这次渗透测试撰写渗透测试报告了。明确的写出哪里存在漏洞,以及漏洞修补的方法。以便于网站管理员根据我们的渗透测试报告修补这些漏洞和风险,防止被黑客攻击。
CPU E2180 能不能装64位Windows7操作系统
检测CPU能不能支持64位系统的方法:
1、下载CPU-Z软件;
2、启动CPU-Z程序,
如果指令集中有:EM64T 这就是说你的CPU支持64位指令集。电脑就可以安装Win764位系统或者Win864位系统。
3、安装Windows7系统的64位系统内存在4G及其以上,小于4G内存运行时有点卡。