├── .gitignore ├── INSTALL.txt ├── README.md ├── admin ├── .htaccess ├── banned.php ├── campaigns.php ├── css │ ├── datePicker.css │ ├── pro_dropline.css │ ├── pro_dropline_ie.css │ ├── screen.css │ └── screen.css.old ├── footer.php ├── form.html ├── header.php ├── images │ ├── Thumbs.db │ ├── forms │ │ ├── Thumbs.db │ │ ├── bg_related_act.gif │ │ ├── bubble_inner.gif │ │ ├── bubble_left.gif │ │ ├── bubble_right.gif │ │ ├── choose-file.gif │ │ ├── error_left.gif │ │ ├── error_right.gif │ │ ├── form_inp.gif │ │ ├── form_inp_error.gif │ │ ├── form_reset.gif │ │ ├── form_select.gif │ │ ├── form_select_small.gif │ │ ├── form_submit.gif │ │ ├── form_textarea.gif │ │ ├── header_related_act.gif │ │ ├── icon_calendar.jpg │ │ ├── icon_edit.gif │ │ ├── icon_list_arrow.gif │ │ ├── icon_minus.gif │ │ ├── icon_plus.gif │ │ ├── lines_dotted_short.gif │ │ ├── step_1.gif │ │ ├── step_dark_left.gif │ │ ├── step_dark_right.gif │ │ ├── step_dark_round.gif │ │ ├── step_light_left.gif │ │ ├── step_light_right.gif │ │ ├── step_light_round.gif │ │ └── upload_file.gif │ ├── login │ │ ├── Thumbs.db │ │ ├── icon_back_login.gif │ │ ├── inp_login.gif │ │ ├── login_bg.jpg │ │ ├── loginbox_bg.png │ │ └── submit_login.gif │ ├── shared │ │ ├── Thumbs.db │ │ ├── blank.gif │ │ ├── border_bit.jpg │ │ ├── cal_th_repeat.jpg │ │ ├── cal_top_bg.jpg │ │ ├── cal_top_repeat.jpg │ │ ├── checkbox.gif │ │ ├── content_repeat.jpg │ │ ├── corner_bottom_left.jpg │ │ ├── corner_bottom_right.jpg │ │ ├── corner_top_left.jpg │ │ ├── corner_top_right.jpg │ │ ├── icon_idlogo.jpg │ │ ├── logo.png │ │ ├── nav │ │ │ ├── Copy of pro_line_1.gif │ │ │ ├── Thumbs.db │ │ │ ├── account_drop_bg.gif │ │ │ ├── account_line.gif │ │ │ ├── back_0.gif │ │ │ ├── back_1x.gif │ │ │ ├── divider.jpg │ │ │ ├── icon_acc_inbox.gif │ │ │ ├── icon_acc_personal.gif │ │ │ ├── icon_acc_projects.gif │ │ │ ├── icon_acc_settings.gif │ │ │ ├── icon_acc_stats.gif │ │ │ ├── nav_logout.gif │ │ │ ├── nav_myaccount.gif │ │ │ ├── pro_line_0x.gif │ │ │ ├── pro_line_1.gif │ │ │ ├── pro_line_2.gif │ │ │ └── repeat.jpg │ │ ├── side_shadowleft.jpg │ │ ├── side_shadowright.jpg │ │ ├── top_bg.jpg │ │ ├── top_search_btn.gif │ │ ├── top_search_inp.gif │ │ ├── top_search_select.gif │ │ ├── year_next.gif │ │ └── year_prev.gif │ └── table │ │ ├── Thumbs.db │ │ ├── action_delete.gif │ │ ├── action_edit.gif │ │ ├── actions_slider_bg.gif │ │ ├── content_round_repeat.jpg │ │ ├── content_round_top.jpg │ │ ├── dropdown_actions.gif │ │ ├── icon_close_blue.gif │ │ ├── icon_close_green.gif │ │ ├── icon_close_red.gif │ │ ├── icon_close_yellow.gif │ │ ├── message_blue.gif │ │ ├── message_green.gif │ │ ├── message_red.gif │ │ ├── message_yellow.gif │ │ ├── paging_far_left.gif │ │ ├── paging_far_right.gif │ │ ├── paging_left.gif │ │ ├── paging_right.gif │ │ ├── select_number_rows.gif │ │ ├── table_header.jpg │ │ ├── table_header_checkbox.jpg │ │ ├── table_header_options.jpg │ │ ├── table_header_repeat.jpg │ │ ├── table_icon_1.gif │ │ ├── table_icon_2.gif │ │ ├── table_icon_3.gif │ │ ├── table_icon_4.gif │ │ ├── table_icon_5.gif │ │ └── table_sort_arrow.gif ├── index.php ├── index.php.bak ├── js │ ├── HighCharts │ │ ├── exporting.js │ │ └── highcharts.js │ ├── epiceditor │ │ ├── js │ │ │ ├── epiceditor.js │ │ │ └── epiceditor.min.js │ │ └── themes │ │ │ ├── base │ │ │ └── epiceditor.css │ │ │ ├── editor │ │ │ ├── epic-dark.css │ │ │ └── epic-light.css │ │ │ └── preview │ │ │ ├── bartik.css │ │ │ ├── github.css │ │ │ └── preview-dark.css │ └── jquery │ │ ├── Copy of custom_jquery.js │ │ ├── custom_jquery.js │ │ ├── date.js │ │ ├── jquery-1.4.1.min.js │ │ ├── jquery.bind.js │ │ ├── jquery.datePicker.js │ │ ├── jquery.dimensions.js │ │ ├── jquery.filestyle.js │ │ ├── jquery.pngFix.pack.js │ │ ├── jquery.selectbox-0.5.js │ │ ├── jquery.selectbox-0.5_style_2.js │ │ ├── jquery.selectbox-0.5_style_3.js │ │ ├── jquery.tooltip.js │ │ ├── jquery.usermode.js │ │ ├── ui.checkbox.js │ │ └── ui.core.js ├── lib │ └── HighCharts.php ├── login.php ├── logout.php ├── siteclone.php ├── stat.class.php ├── stats.php ├── table.html ├── text.html ├── tools.php └── users.php ├── includes ├── PHPMailer │ ├── LICENSE │ ├── PHPMailerAutoload.php │ ├── README.md │ ├── changelog.md │ ├── class.phpmailer.php │ ├── class.pop3.php │ ├── class.smtp.php │ ├── composer.json │ ├── docs │ │ ├── Callback_function_notes.txt │ │ ├── DomainKeys_notes.txt │ │ ├── Note_for_SMTP_debugging.txt │ │ ├── extending.html │ │ ├── faq.html │ │ ├── generatedocs.sh │ │ └── pop3_article.txt │ ├── examples │ │ ├── LGPLv3.txt │ │ ├── code_generator.phps │ │ ├── contents.html │ │ ├── exceptions.phps │ │ ├── gmail.phps │ │ ├── images │ │ │ ├── phpmailer.png │ │ │ └── phpmailer_mini.gif │ │ ├── index.html │ │ ├── mail.phps │ │ ├── mailing_list.phps │ │ ├── pop_before_smtp.phps │ │ ├── scripts │ │ │ ├── XRegExp.js │ │ │ ├── shAutoloader.js │ │ │ ├── shBrushPhp.js │ │ │ ├── shCore.js │ │ │ └── shLegacy.js │ │ ├── sendmail.phps │ │ ├── smtp.phps │ │ ├── smtp_no_auth.phps │ │ └── styles │ │ │ ├── shCore.css │ │ │ ├── shCoreDefault.css │ │ │ ├── shCoreDjango.css │ │ │ ├── shCoreEclipse.css │ │ │ ├── shCoreEmacs.css │ │ │ ├── shCoreFadeToGrey.css │ │ │ ├── shCoreMDUltra.css │ │ │ ├── shCoreMidnight.css │ │ │ ├── shCoreRDark.css │ │ │ ├── shThemeAppleScript.css │ │ │ ├── shThemeDefault.css │ │ │ ├── shThemeDjango.css │ │ │ ├── shThemeEclipse.css │ │ │ ├── shThemeEmacs.css │ │ │ ├── shThemeFadeToGrey.css │ │ │ ├── shThemeMDUltra.css │ │ │ ├── shThemeMidnight.css │ │ │ ├── shThemeRDark.css │ │ │ ├── shThemeVisualStudio.css │ │ │ └── wrapping.png │ ├── extras │ │ ├── EasyPeasyICS.php │ │ ├── class.html2text.php │ │ ├── htmlfilter.php │ │ └── ntlm_sasl_client.php │ ├── language │ │ ├── phpmailer.lang-ar.php │ │ ├── phpmailer.lang-be.php │ │ ├── phpmailer.lang-br.php │ │ ├── phpmailer.lang-ca.php │ │ ├── phpmailer.lang-ch.php │ │ ├── phpmailer.lang-cz.php │ │ ├── phpmailer.lang-de.php │ │ ├── phpmailer.lang-dk.php │ │ ├── phpmailer.lang-eo.php │ │ ├── phpmailer.lang-es.php │ │ ├── phpmailer.lang-et.php │ │ ├── phpmailer.lang-fa.php │ │ ├── phpmailer.lang-fi.php │ │ ├── phpmailer.lang-fo.php │ │ ├── phpmailer.lang-fr.php │ │ ├── phpmailer.lang-gl.php │ │ ├── phpmailer.lang-he.php │ │ ├── phpmailer.lang-hu.php │ │ ├── phpmailer.lang-it.php │ │ ├── phpmailer.lang-ja.php │ │ ├── phpmailer.lang-lt.php │ │ ├── phpmailer.lang-lv.php │ │ ├── phpmailer.lang-nl.php │ │ ├── phpmailer.lang-no.php │ │ ├── phpmailer.lang-pl.php │ │ ├── phpmailer.lang-pt.php │ │ ├── phpmailer.lang-ro.php │ │ ├── phpmailer.lang-ru.php │ │ ├── phpmailer.lang-se.php │ │ ├── phpmailer.lang-sk.php │ │ ├── phpmailer.lang-tr.php │ │ ├── phpmailer.lang-uk.php │ │ ├── phpmailer.lang-zh.php │ │ └── phpmailer.lang-zh_cn.php │ ├── test │ │ ├── bootstrap.php │ │ ├── fakepopserver.sh │ │ ├── fakesendmail.sh │ │ ├── phpmailerLangTest.php │ │ ├── phpmailerTest.php │ │ ├── runfakepopserver.sh │ │ ├── test_callback.php │ │ └── testbootstrap-dist.php │ └── travis.phpunit.xml.dist ├── PasswordHash.php ├── createAdmin.php.disabled ├── db_conf.php.example ├── func.php ├── include.php ├── session.php ├── smtp_settings.php.example └── tracker.php ├── index.php ├── js ├── browser.js └── jquery-1.4.1.min.js └── phishpoll.sql /.gitignore: -------------------------------------------------------------------------------- 1 | includes/db_conf.php 2 | index.php 3 | <<<<<<< HEAD 4 | includes/createAdmin.php 5 | ======= 6 | includes/smtp_settings.php 7 | >>>>>>> smtpEmailing 8 | -------------------------------------------------------------------------------- /INSTALL.txt: -------------------------------------------------------------------------------- 1 | Installing PhishPoll is easy; just follow these steps. 2 | 3 | 1.) Import phishpoll.sqli either via commandline or phpMyAdmin 4 | 2.) edit includes/db_conf.php.example to contain proper mysql connection values 5 | 3.) rename includes/db_conf.php.example to includes/db_conf.php 6 | 4.) rename includes/createAdmin.php.disabled to includes/createAdmin.php 7 | 5.) visit website.com/includes/createAdmin.php and fill out form 8 | 6.) createAdmin.php should automatically delete itself but ensure that it is deleted 9 | 7.) edit includes/smtp_settings.php.example to contain proper SMTP details 10 | 8.) rename includes/smtp_settings.php.example to includes/smtp_settings.php 11 | 9.) Phish away! 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | phishpoll 2 | ========= 3 | 4 | PHP Phishing Framework 5 | 6 | *** NOTE *** 7 | PhishPoll is still in active development and should be considered alpha code. While I aim to make updates and reach beta as soon as possible, the support of the community as well as developers is highly encouraged in order to make this process as streamlined as possible 8 | **** 9 | 10 | For installation please read the INSTALL.txt file included 11 | 12 | PhishPoll is a PHP-based framework for creating, managing, and executing phishing campaigns with the objective of tracking click-thru and conversion rates and generating statistics for each campaign. 13 | 14 | ## Current Features 15 | * Add Users To PhishPoll 16 | * Markdown-based Email Template Creator 17 | * Browser And OS Tracking 18 | * IP-based Banning 19 | * Clone Websites 20 | * Click Tracking 21 | 22 | ## TODO 23 | * Store Created Templates For Later Use 24 | * Migrate User Password Hashes To PHPass 25 | * Add Permissions Per User 26 | * Generate Stats Per Campaign 27 | * Implement XML Export 28 | -------------------------------------------------------------------------------- /admin/.htaccess: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noncetonic/phishpoll/f0a307f945ac52d3bcca8ff1f563b974d44ec2cd/admin/.htaccess -------------------------------------------------------------------------------- /admin/css/datePicker.css: -------------------------------------------------------------------------------- 1 | table.jCalendar { 2 | background: #fff; 3 | 4 | border-collapse: collapse; 5 | } 6 | table.jCalendar th { 7 | background: url(../images/shared/cal_th_repeat.jpg) repeat-x; 8 | color: #fff; 9 | font-weight: bold; 10 | padding: 8px 8px; 11 | } 12 | table.jCalendar td { 13 | color: #777777; 14 | font-size: 11px; 15 | font-weight: bold; 16 | padding: 9px 9px; 17 | text-align: center; 18 | } 19 | table.jCalendar td.other-month { 20 | background: #ddd; 21 | color: #aaa; 22 | font-weight: bold; 23 | } 24 | table.jCalendar td.today { 25 | background: #666; 26 | color: #fff; 27 | font-weight: bold; 28 | } 29 | table.jCalendar td.selected { 30 | background: #94b52c; 31 | color: #fff; 32 | font-weight: bold; 33 | } 34 | table.jCalendar td.selected.dp-hover { 35 | background: #94b52c; 36 | color: #fff; 37 | font-weight: bold; 38 | } 39 | table.jCalendar td.dp-hover, 40 | table.jCalendar tr.activeWeekHover td { 41 | background: #94b52c; 42 | color: #fff; 43 | font-weight: bold; 44 | } 45 | table.jCalendar tr.selectedWeek td { 46 | background: #f66; 47 | color: #fff; 48 | font-weight: bold; 49 | } 50 | table.jCalendar td.disabled, table.jCalendar td.disabled.dp-hover { 51 | background: #bbb; 52 | color: #888; 53 | font-weight: bold; 54 | } 55 | table.jCalendar td.unselectable, 56 | table.jCalendar td.unselectable:hover, 57 | table.jCalendar td.unselectable.dp-hover { 58 | background: #bbb; 59 | color: #888; 60 | } 61 | 62 | /* For the popup */ 63 | 64 | /* NOTE - you will probably want to style a.dp-choose-date - see how I did it in demo.css */ 65 | div.dp-popup { 66 | background: url(../images/shared/cal_top_repeat.jpg) repeat-x; 67 | border: 1px solid #c7c7c7; 68 | font-family: arial, sans-serif; 69 | font-size: 10px; 70 | line-height: 1.2em; 71 | position: relative; 72 | } 73 | div#dp-popup { 74 | position: absolute; 75 | z-index: 199; 76 | } 77 | div.dp-popup h2 { 78 | color: #fff; 79 | font-size: 12px; 80 | font-weight: bold; 81 | margin: 5px 0; 82 | padding: 0; 83 | text-align: center; 84 | } 85 | a#dp-close { 86 | display: block; 87 | font-size: 11px; 88 | padding: 4px 0; 89 | text-align: center; 90 | } 91 | a#dp-close:hover { 92 | text-decoration: underline; 93 | } 94 | div.dp-popup a { 95 | color: #000; 96 | padding: 3px 2px 0; 97 | text-decoration: none; 98 | } 99 | div.dp-popup div.dp-nav-prev { 100 | background: url(../images/shared/year_prev.gif) no-repeat 0 6px; 101 | left: 20px; 102 | position: absolute; 103 | text-indent: -3000px; 104 | top: 6px; 105 | width: 100px; 106 | } 107 | div.dp-popup div.dp-nav-prev a { 108 | float: left; 109 | } 110 | 111 | /* Opera needs the rules to be this specific otherwise it doesn't change the cursor back to pointer after you have disabled and re-enabled a link */ 112 | div.dp-popup div.dp-nav-prev a, div.dp-popup div.dp-nav-next a { 113 | color: #fff; 114 | cursor: pointer; 115 | } 116 | div.dp-popup div.dp-nav-prev a.disabled, div.dp-popup div.dp-nav-next a.disabled { 117 | cursor: default; 118 | } 119 | div.dp-popup div.dp-nav-next { 120 | background: url(../images/shared/year_next.gif) no-repeat 6px 6px; 121 | position: absolute; 122 | right: 20px; 123 | text-indent: -3000px; 124 | top: 6px; 125 | width: 10px; 126 | } 127 | div.dp-popup div.dp-nav-next a { 128 | float: right; 129 | } 130 | div.dp-popup a.disabled { 131 | color: #aaa; 132 | cursor: default; 133 | } 134 | div.dp-popup td { 135 | cursor: pointer; 136 | } 137 | div.dp-popup td.disabled { 138 | cursor: default; 139 | } 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | .dp-nav-next-year , 152 | .dp-nav-prev-year { 153 | display: none; 154 | } -------------------------------------------------------------------------------- /admin/css/pro_dropline.css: -------------------------------------------------------------------------------- 1 | /* ================================================================ 2 | This copyright notice must be untouched at all times. 3 | 4 | The original version of this stylesheet and the associated (x)html 5 | is available at http://www.cssplay.co.uk/menus/pro_dropline.html 6 | Copyright (c) 2005-2007 Stu Nicholls. All rights reserved. 7 | This stylesheet and the associated (x)html may be modified in any 8 | way to fit your requirements. 9 | =================================================================== */ 10 | 11 | .nav { 12 | background: #4f4f4f repeat-x; 13 | font-family:Tahoma; 14 | font-size: 14px; 15 | height: 29px; 16 | position: relative; 17 | margin: 0 auto; 18 | min-width: 780px; 19 | max-width: 1260px; 20 | z-index: 500; 21 | } 22 | .nav .table { 23 | display: table; 24 | 25 | } 26 | .nav .select, 27 | .nav .current { 28 | display: table-cell; 29 | list-style: none; 30 | margin: 0; 31 | padding: 0; 32 | white-space: nowrap; 33 | } 34 | .nav li { 35 | float: left; 36 | height: auto; 37 | margin: 0; 38 | padding: 0; 39 | } 40 | .nav .select a { 41 | color: #fff; 42 | display: block; 43 | float: left; 44 | height: 29px; 45 | line-height: 29px; 46 | padding: 0 30px 0 30px; 47 | text-decoration: none; 48 | white-space: nowrap; 49 | } 50 | .nav .current a { 51 | color: #fff; 52 | display: block; 53 | float: left; 54 | height: 29px; 55 | line-height: 29px; 56 | padding: 0 0 0 15px; 57 | text-decoration: none; 58 | white-space: nowrap; 59 | } 60 | .nav .current a b { 61 | display: block; 62 | padding: 0 30px 0 15px; 63 | } 64 | .nav .select a:hover, 65 | .nav .select li:hover a { 66 | color: #fff; 67 | cursor: pointer; 68 | padding: 0 0 0 15px; 69 | } 70 | .nav .select a:hover b, 71 | .nav .select li:hover a b { 72 | cursor: pointer; 73 | display: block; 74 | float: left; 75 | padding: 0 30px 0 15px; 76 | } 77 | .nav .select_sub { 78 | display: none; 79 | } 80 | 81 | /* IE6 only */ 82 | .nav table { 83 | border-collapse: collapse; 84 | font-size: 1em; 85 | height: 0; 86 | margin: -1px; 87 | width: 0; 88 | } 89 | .nav .sub { 90 | display: table; 91 | list-style: none; 92 | /* margin: 0 auto; */ 93 | padding: 0; 94 | } 95 | .nav .sub_active .current_sub a, 96 | .nav .sub_active a:hover { 97 | background: transparent; 98 | color: #f00; 99 | } 100 | .nav .select :hover .select_sub, 101 | .nav .current .show { 102 | background: url(../images/shared/nav/back_0.gif); 103 | 104 | display: block; 105 | left: 0; 106 | padding: 0; 107 | position: absolute; 108 | text-align: left; 109 | top: 29px; 110 | width: 750px; 111 | z-index: 100; 112 | } 113 | .nav .current .show { 114 | z-index: 10; 115 | } 116 | .nav .select :hover .sub li a, 117 | .nav .current .show .sub li a { 118 | background: transparent; 119 | border: 0; 120 | color: #444; 121 | display: block; 122 | float: left; 123 | margin: 0; 124 | padding: 0 10px 0 10px; 125 | white-space: nowrap; 126 | } 127 | .nav .current .sub li.sub_show a { 128 | background: url(../images/shared/nav/menus/back_1.gif); 129 | color: #088; 130 | cursor: default; 131 | } 132 | .nav .select :hover .sub li a:hover, 133 | .nav .current .sub li a:hover { 134 | background: url(../images/shared/nav/menus/back_1.gif); 135 | color: #088; 136 | visibility: visible; 137 | } 138 | -------------------------------------------------------------------------------- /admin/css/pro_dropline_ie.css: -------------------------------------------------------------------------------- 1 | .nav ul {display:inline-block;} 2 | .nav ul {display:inline;} 3 | .nav ul li {float:left;} 4 | .nav {text-align:center;} 5 | .nav .select a:hover b, 6 | .nav .select li:hover a b {float:none;} 7 | -------------------------------------------------------------------------------- /admin/footer.php: -------------------------------------------------------------------------------- 1 | 2 |
10 | 11 | 15 |