Python脚本执行Linux系统命令及TabShell利用解析

创始人
2024-12-24 19:36:38
0 次浏览
0 评论

python执行shell命令?

Python执行Linux系统命令,即通过Python脚本中调用shell命令的方式。
有四种特殊方法:

//仅在Python脚本中执行系统命令子终端,但是命令执行后无法获取返回信息system(command)->exit_status在子shell中执行命令(string)//如果在命令行下运行,会直接打印输出:>>>os.system('ls')04101419778.CHMbashdocumentmediapy-djangovideo11.wmvbooksdownloadPicturespythonall-20061022桌面示例项目工具

2os.popen

//该方法不仅返回命令,还返回执行的信息。
popen(command[,mode='r'[,bufsize]])->pipeline从返回文件对象的命令打开管道。
.

3.使用模块子过程

pret="code"l="python">>>>importsubprocedure>>>subprocedure.call(["cmd","arg1","arg2"],shell=true)//返回并获取输出:importsubprocessp=subprocess.Popen('ls',shelll=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT)inp.stdout.readlines():printline,retval=p.wait()

4使用模块命令

>>>导入命令>>>dir(commands)['__all__'、'__builtins__'、'__doc__'、'__file__'、'__name__'、'getoutput'、'getstatus'、'getstatusoutput'、'mk2arg'、'mkarg']>>>命令.getoutput("date")'2009年6月10日星期三19:39:57CST'>>>>commands.getstatusoutput("date")(0,'2009年6月10日星期三19:40:41CST')

【技术原创】TabShell利用分析——执行cmd命令并获得返回结果

0x00前言通过使用TabShell,普通用户可以逃离沙箱并在ExchangePowershell中执行任意cmd命令。
本文将指导您如何使用TabShell执行cmd命令并获取返回结果,并分享Python脚本的实现细节。
0x01简介本文将介绍:1.执行cmd命令并获取返回结果的方法2.Python实现0x02执行cmd命令并获取返回结果的方法原POC提供了执行示例,但需要做一些调整以支持更多命令例如:某些命令如netstat-ano或systeminfo无法执行。
解决方案:删除命令:$ps.WaitForExit()。
执行cmd命令并获取返回结果有两种方式:1、通过Powershell连接Exchange服务器,实现TabShell示例Powershell命令需要注意以下几点:只能在域内的主机上执行使用fqdn支持urlno您可以选择http或https认证方式。
利用SSRF漏洞实现TabShell分析3-添加用户及文件写入》来实现。
实现方法0x03Python涉及两部分:通过SSRF漏洞调用ExchangePowershell的Python实现,以及通过PowershellSession调用TabShell的Python实现。
后者通信数据编解码需要额外考虑1、利用SSRF漏洞调用ExchangePowershell实现Python实现TabShell分析中间通信数据使用方法参见《渗透技巧-ExchangePowershell的Python实现》中的0x04,结合Flask将输出的中间通信数据发送出去2、TabShell通过PowershellSession的Python实现。
借鉴了《渗透技巧——Python实现》的经验ExchangePowershell”两者的通信过程类似,但是通过PowershellSession实现需要额外对通信数据进行编解码处理。
0x04小结本文介绍了使用TabShell执行cmd命令并获取返回结果的方法,优化了原有的POC,分享了使用Python编写脚本的细节。
本文由3gstudent原创,并授权西猴独家发布。
文章标签:
Python TabShell
热门文章
1
Python编程入门:全面解析Pytho... python的基本语法基本的Python语法如下:1.变量的定义。在编程语言中,...

2
Python字典操作全解析:添加、修改、... Pythondict字典基本操作(包括添加、修改、删除键...

3
Python错误处理与异常处理:构建稳定... 2.5错误处理与异常在编程领域,错误处理和异常处理是保证程序稳定性和健壮性的关键...

4
Python数据转换攻略:字符串、列表、... Python字典、字符串及列表的相互转换Python中数据转换的艺术:从字典和字...

5
Python列表相加与求和技巧解析 重温python基础:列表相加的方法(两个list[]加法)今天,我们来看看Py...

6
Python运行快捷键大揭秘:高效操作,... python运行按哪个键运行Python时的快捷键包括Ctrl+Shift+F1...

7
Python字符与数字互转攻略:轻松掌握... python 字符与数字如何转换Python是一种功能强大且结...

8
Python字符串转列表:两种常用方法解... python怎么将字符串转换为列表Python中将字符串转换为列表的方法有多种,...

9
Python字符串转列表:两种常用方法解... python怎么将字符串转换为列表在Python中将字符串转换为列表的方法有很多...

10
Python列表转字符串全攻略:掌握四种... Python列表到字符串–如何在Python中转换列表在Python中,将列表转...