BeEF黑客软件,BeEF工具
作者:hacker | 分类:入侵行业 | 浏览:126 | 日期:2022年07月14日目录:
- 1、渗透测试工具的介绍
- 2、beef怎么把网站变成https
- 3、渗透测试工具的渗透测试工具
- 4、CPU E2180 能不能装64位Windows7操作系统
- 5、一个完整的渗透测试流程,分为那几块,每一块有哪些内容
- 6、如何配置beef和metasploit
渗透测试工具的介绍
之一类: *** 渗透测试工具
*** 渗透测试工具是一种可以测试连接到 *** 的主机/系统的工具。通用的 *** 渗透测试工具有ciscoAttacks、Fast-Track、Metasploit、SAPExploitation等,这些工具各有各的特点和优势。因为 *** 渗透测试是一个相对广泛的概念,所以上述工具也可以包括社会工程学渗透测试模块, *** 渗透测试模块和无线渗透测试模块。
第二类:社会工程学渗透测试工具
社会工程学渗透测试是利用社会工程学进行渗透测试,通常利用人们行为中的弱点来达到渗透的目的。典型的社会工程学渗透测试工具有BeefXSS和HoneyPots,这些工具诱使用户访问特定的网站,获得用户的Cookie信息,达到渗透的目的。
第三类:网站渗透测试工具
网站渗透测试是对Web应用程序和相应的设备配置进行渗透测试。在进行网站渗透测试时,安全工程序必须采用非破坏性的 *** 来发现目标系统中的潜在漏洞。常用的 *** 渗透测试工具有asp-auditor、darkmysql、fimap、xsser等。
第四类:无线渗透测试工具
无线渗透测试工具是蓝牙 *** 和无线局域网的渗透测试。在进行无线渗透测试时,一般需要先破解目标 *** 的密码,或者建立虚假热点来吸引目标用户访问,然后通过其他方式控制目标系统。常见的蓝牙 *** 渗透测试工具有atshell、btftp、bluediving、bluemaho等;常见的无线局域网渗透测试工具有aircack-ng、airmon-ng、pcapgetiv和weakivgeng等,这些工具实现了不同的功能,可以让安全工程师通过各种方式进行无线渗透测试。
beef怎么把网站变成https
https及https的本地测试环境搭建。asp.net结合https的代码实现http网站转换成https网站BeEF黑客软件,以及之后遇到的问题等。
一BeEF黑客软件:什么是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里面编写代码,就怎么写。
很可能要问,为什么BeEF黑客软件我的站点使用了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的时候,网站的头部底部都是用的相对路径,假如BeEF黑客软件你的页面是 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 admin *** .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");
}
}
}
}
渗透测试工具的渗透测试工具
通常的黑客攻击包括预攻击、攻击和后攻击三个阶段;预攻击阶段主要指一些信息收集和漏洞扫描的过程;攻击过程主要是利用之一阶段发现的漏洞或弱口令等脆弱性进行入侵;后攻击是指在获得攻击目标的一定权限后BeEF黑客软件,对权限的提升、后面安装和痕迹清除等后续工作。与黑客的攻击相比BeEF黑客软件,渗透测试仅仅进行预攻击阶段的工作,并不对系统本身造成危害,即仅仅通过一些信息搜集手段来探查系统的弱口令、漏洞等脆弱性信息。为BeEF黑客软件了进行渗透测试,通常需要一些专业工具进行信息收集。渗透测试工具种类繁多,涉及广泛,按照功能和攻击目标分为 *** 扫描工具、通用漏洞检测、应用漏洞检测三类。
CPU E2180 能不能装64位Windows7操作系统
检测CPU能不能支持64位系统的 *** :
1、下载CPU-Z软件;
2、启动CPU-Z程序,
如果指令集中有:EM64T 这就是说你的CPU支持64位指令集。电脑就可以安装Win764位系统或者Win864位系统。
3、安装Windows7系统的64位系统内存在4G及其以上,小于4G内存运行时有点卡。
一个完整的渗透测试流程,分为那几块,每一块有哪些内容
包含以下几个流程BeEF黑客软件:
信息收集
之一步做的就是信息收集,根据网站URL可以查出一系列关于该网站的信息。通过URL我们可以查到该网站的IP、该网站操作系统、脚本语言、在该服务器上是否还有其他网站等等一些列的信息。
漏洞探测
当我们收集到了足够多的信息之后,我们就要开始对网站进行漏洞探测了。探测网站是否存在一些常见的Web漏洞,比如BeEF黑客软件:SQL注入 。
漏洞利用
探测到了该网站存在漏洞之后,就要对该漏洞进行利用了。不同的漏洞有不同的利用工具,很多时候,通过一个漏洞我们很难拿到网站的webshell,我们往往需要结合几个漏洞来拿webshell。
内网渗透
当我们能跟内网主机进行通信后,我们就要开始进行内网渗透了。可以先使用nmap对内网主机进行扫描,探测在线的主机,并且探测其使用的操作系统、开放的端口等信息。
内网中也有可能存在供内网使用的内网服务器,可以进一步渗透拿下其权限。
痕迹清除
达到了目的之后,有时候只是为了黑入网站挂黑页,炫耀一下;或者在网站留下一个后门,作为肉鸡,没事的时候上去溜达溜达;亦或者挂入挖矿木马。
撰写渗透测试保告
在完成了渗透测试之后,就需要对这次渗透测试撰写渗透测试报告了。明确的写出哪里存在漏洞,以及漏洞修补的 *** 。以便于网站管理员根据我们的渗透测试报告修补这些漏洞和风险,防止被黑客攻击。
如何配置beef和metasploit
先删除 *** 5上面自带的版本稍旧的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
*** 5自带的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'
上网找了一下,发现是环境变量的原因。
用如下 *** 再次安 *** undler
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