Python黑客编程——反弹shell

看了上两边文章,你会了使用socket进行交互和subprocess执行系统命令,那么两者结合起来可以制作一个反弹shell,没有看过的去看一下把。

先说一下思路

首先hacker攻击方,编写脚本控制端(server)和受控端(client),

控制端(server)开启监听等待受害者(client)连接,连接成功后,就可以获得shell了

受控端(client)上有运行命令的函数,将接收到的数据作为命令运行,再将运行结果发送回控制端(server)

最后就是考验社会工程学的时候到了,打开监听诱使受害者打开客户端。

修改之前的写的代码就行了。

控制端代码

受控端代码

运行一下看看效果

运行效果,上为控制端,下为受控端

接下来要做一下处理,

控制端不小心按到回车时传输的是空数据,会导致无法继续交互,还有某些命令的执行结果是空,也会导致无法继续交互,

受控端修改后代码

控制端修改后代码

测试一下按直接发送数据

执行结果

你以为这就完美了吗??没有!!!在返回数据过多的时候一次接收1024字节是接收不完的(执行效果在下面图1.0),而且还会影响接下来的使用(图2.0)。

图1.0

图2.0

可以看到发送的执行命令没有直接返回,而是等我再次发送数据然后触发接收数据才有接收到执行结果,这里将控制端的接收返回数据1024字节改成2048字节,在判断一下返回的数据,使用循环持续接收数据,如果小于2048则退出循环,大于则继续接收。

改后代码

测试一下

执行结果

搞定!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值