工具分享

将简单的shell升级为完全交互式的TTY

导语:每个pentester都知道,当用netcat反弹一个反向shell并且看到详细的netcat消息跟输出时,这种感觉爽歪歪。

每个pentester都知道,当用netcat反弹一个反向shell并且看到详细的netcat消息跟输出时,这种感觉爽歪歪。

当然他们也知道shell丢失时的沮丧,运行了一个不好的命令,挂起并且意外地击中“Ctrl-C”,认为它会阻止它,其实是杀死整个连接。

除了没有正确处理SIGINT之外,还有其他的缺点:

我遇到了一些很好的资源,包括“升级”这些shell的非常有用的技巧,并希望在一个帖子中编译和分享。随着Pentest Monkey,我还从Phineas Fisher的发布视频中了解了他的技术,并写道了他的非法活动:


作为参考,在所有屏幕截图和命令中,我正在向易受攻击的Web服务器(“VICTIM”)注入命令,并捕获我的Kali VM(“KALI”)中的shell:


生成反向shell命令

使用netcat反弹shell的传统方式:


并捕获(接收)它:


但是不是每个服务器都安装了netcat,而不是每个版本的netcat都有-e选项。

Pentest Monkey有一个详细各种语言反向shell方法,概述了一些不同的方法,但我最喜欢的技术是使用Metasploit msfvenom来为我生成单行命令。

Metasploit在“cmd / unix”下有几个可用于生成单线绑定或反向shell的payload:

这些有payload的任何一个都可用于msfvenom吐出所需的原始命令(指定LHOST,LPORT或RPORT)。这是一个不需要-e标志的netcat命令:

这里有一个Perl的oneliner如果netcat没有安装:

这些都可以通过使用netcat并监听指定的端口(4444)来接收(捕获)。

方法1:Python pty模块

该PTY模块让我们你生成一个伪终端,它可以执行命令su,以为他们是在一个合适的终端执行。要升级一个shell,只需运行以下命令:


这样可以让你运行su

不幸的是,这并没有解决上述其他一些问题。SIGINT(Ctrl-C)仍然会关闭Netcat,没有选项卡完成或历史记录。

方法2:使用socat

socat是一個netcat(nc)的替代品,可以称得上nc++,是一个非常强大的网络瑞士军刀。可以使用Socat来传递完整的TTY的TCP连接。

如果socat安装在受害者服务器上,可以使用它启动反向shell。

以下命令将产生完全交互的TTY反向shell:

在kali(监听):


受害人

如果没有安装socat。有独立的二进制文件可以从这个Github下载:

https://github.com/andrew-d/static-binaries

通过命令注入,可以将socat二进制文件下载到可写的目录,之后chmod,然后在一行中执行反向shell:

在kali,你会看到一个完全交互式的TTY会话。它支持SIGINT、SIGSTP、vim、向上箭头历史等。它是一个完整的终端。

方法3:升级netcat

我看着菲尼亚斯·费雪在他的黑客视频中使用这种技术,感觉很神奇。基本上可以通过stty在Kali终端中设置一些选项来使用笨重的网卡来升级到完整的TTY 。

首先,与方法1相同的技术,并使用Python来产生一个PTY。一旦bash在PTY中运行,背景与shell Ctrl-Z

当shell在后台时,现在检查当前终端和STTY信息,所以我们可以强制连接的shell匹配:

所需的信息是TERM类型(“xterm-256color”)和当前TTY的大小(“第38行;列116”)

在shell仍然背景的情况下,现在将当前STTY设置为raw,并使用以下命令来回显输入的字符:

使用原始stty,输入/输出将看起来很奇怪,您将看不到下一个命令,但是当您键入它们正在被处理时。

下一个前景与shell。它将重新打开反向shell,但格式化将关闭。最后,重新初始化终端reset。

注意:我没有nc再次键入命令(如上图所示)。我实际上进入了fg,但没有回应。该nc命令是现在处于前台的作业。reset然后将该命令输入到netcat shell中。

之后resetshell再次看起来正常。最后一步是设置shell,终端类型和stty大小以匹配我们当前的Kali窗口(从上面收集的信息)


最终的结果是一个完全交互式的TTY,它具有我们期望的所有功能(tab-complete,history,job control等),通过netcat连接:

现在的可能性是无止境的。在netcat shell上的Tmux

几种方法:
使用Python作为伪装终端

使用socat


使用stty选项


如果你还有其他炫酷的技能,请评论

 

原文链接:http://www.4hou.com/technology/6248.html

(0)

本文由 安全周 作者:追梦 发表,转载请注明来源!

热评文章

发表评论