0
点赞
收藏
分享

微信扫一扫

Web安全入门与靶场实战(29)- 利用pty模块获得系统Shell

Meterpreter中提供的Shell没有命令提示符,在使用的时候感觉有些别扭,而且在执行某些操作时会出现错误(比如进入MySQL的交互模式等),所以这里通常都会使用Python的pty模块来获得一个Linux系统的Bash Shell。

pty模块的使用很简单,而且这是Python的内置模块,无需安装即可直接调用。我们先进入IDLE交互模式了解一下这个模块的基本用法。

执行import pty即可导入模块。pty模块中最常使用的是spawn()方法,利用该方法可以打开一个子进程,然后去执行相应的任务。

我们通常都是执行pty.spawn(‘/bin/bash’),这样就能获得一个Linux系统Shell。

Web安全入门与靶场实战(29)- 利用pty模块获得系统Shell_Python

另外,与我们之前使用的php命令类似,只要系统中安装了Python,我们同样可以通过python命令来直接执行Python代码。

python命令的-c选项用来指定要执行的Python代码,多条代码之间用分号间隔,所以执行python -c "import pty;pty.spawn('/bin/bash')"命令,就可以用pty模块得到一个系统Shell。

Web安全入门与靶场实战(29)- 利用pty模块获得系统Shell_Python_02

至此,我们就成功获得了对靶机系统的操作权限,离最终目标更近了一步。

接下来我们要继续寻找剩余的3个flag,由于之前找到的flag1是存放在flag1.txt文件中,所以可以推测其余几个flag可能也是存放在类似命名的文件中。

利用find命令查找文件名中含有flag并且以.txt作为后缀的文件,发现了flag4以及存放在root家目录中的终极flag。

Web安全入门与靶场实战(29)- 利用pty模块获得系统Shell_Python_03

flag4中的内容可以直接查看,至此就得到了3个flag:flag1、flag3、flag4。

Web安全入门与靶场实战(29)- 利用pty模块获得系统Shell_pty_04

但是在查看root家目录中的thefinalflag.txt时却报错,提示没有权限,很明显接下来就需要提权了。

Web安全入门与靶场实战(29)- 利用pty模块获得系统Shell_Shell_05

举报

相关推荐

0 条评论