Linux提权:一些技巧

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 握手包跑包

各位好 又见面了 我是曹操 今天给大家带来一篇新的教程

希望各位细心学习 低调用网

hashcat环境设置

cat /etc/issuecat /etc/*-release

在很多情况下,我们可以成功攻破服务器的Web服务,但很快被管理员发现并阻止我们在内网渗透的过程中提权。提权过程不仅涉及到漏洞的利用,还涉及到系统配置的许多方面。以下是我总结的一些提权方法。

首先,我们需要确保已经获得了低权限的shell,并且被入侵的机器上安装了一些常见的Linux工具,如nc、python、perl等。同时,我们需要具备上传和下载文件的权限,以及内核漏洞提权的能力。内核漏洞是最常见的提权方法之一,但通用的内核漏洞并不多见,因此我们首先需要收集系统相关的信息。

我们可以通过查看发行版和内核版本来收集系统信息。例如,我们可以使用以下命令来查看发行版:

uname -a

然后,我们可以使用以下命令来查看内核版本:

#uname -aLinux xxxxx 2.6.32-21-generic-pae #32-Ubuntu SMP Fri Apr 16 09:39:35 UTC 2010 i686 GNU/Linux#cat /etc/*-releaseDISTRIB_ID=UbuntuDISTRIB_RELEASE=10.04DISTRIB_CODENAME=lucidDISTRIB_DESCRIPTION="Ubuntu 10.04 LTS"

通过这些信息,我们可以开始搜索适用于特定内核版本的漏洞利用代码。我们可以使用Kali自带的searchsploit工具来搜索exploitdb中的漏洞利用代码。例如,我们可以搜索特定内核版本的漏洞:

这样,我们就得到了系统的内核版本(2.6.32-21 pae),cpu架构(i686),和发行版(ubuntu 10.04)

这样我们就可以缩小范围,减少可选的漏洞利用代码。然后,我们需要仔细阅读每个漏洞利用代码的要求和条件,以排除那些不适用于我们的系统的代码。通过艰苦的搜索,我们可能会找到一个合适的漏洞利用代码,然后我们可以上传源代码并进行编译和执行。

当然,并不是每个系统都具备gcc等编译工具,这时我们需要在本地进行编译。在本地编译时,我们需要仔细阅读源代码中的编译参数,并根据需要进行手动调整。编译问题可能会很复杂,如果遇到困难,可以通过谷歌等搜索引擎寻求帮助。

当特定内核版本没有适用的漏洞利用代码时,我们可以检查磁盘格式和已安装的程序。通过这些信息,我们可以进行进一步的搜索,以寻找可能存在的漏洞。此外,我们还可以尝试利用明文root密码提权。尽管这种情况出现的概率很小,但仍然值得一提。大多数Linux系统的密码与/etc/passwd和/etc/shadow这两个配置文件密切相关。passwd文件存储了用户名和密码的哈希值,而shadow文件则存储了密码的哈希值。如果我们具有对passwd文件的写权限,我们可以将root用户的密码字段替换为已知密码的哈希值,从而获得已知密码。如果我们可以读取shadow文件,我们可以获取root用户的密码哈希值,并使用hashcat或john等工具进行暴力破解。

此外,我们还可以尝试密码复用的方法。许多管理员会重复使用密码,因此数据库或Web后台的密码很可能就是root密码。如果我们获得了(可能是)root密码,我们可以尝试使用SSH登录。然而,SSH登录可能被禁止,或者防火墙规则可能将我们排除在外。在这种情况下,我们可以利用低权限的shell来模拟输入密码,以获取更高的权限。

另外,系统中可能存在定时执行的任务,这些任务通常由crontab管理,并具有所属用户的权限。虽然非root权限的用户无法列出root用户的计划任务,但我们可以查看系统级别的计划任务。这些任务默认以root权限执行,如果我们能够找到一个配置错误的脚本,我们就可以修改它并获得回连的root shell。

SUID是一种特殊的文件属性,允许用户以文件所有者的身份运行可执行文件。例如,passwd命令以root权限运行,用于修改shadow文件。SUID程序经常存在提权漏洞,因此我们可以尝试利用这些漏洞来提升权限。此外,我们还可以尝试劫持环境变量来执行任意命令。通过替换环境变量,我们可以达到执行任意命令的目的。

最后,还有一些服务器服务可能会被配置为仅对内网或本地开放。通过攻击这些服务,我们有机会接触到更多的敏感文件,或者幸运地发现远程root漏洞。

以上是一些常见的提权方法,希望对您有所帮助。请记住,这只是提供了一些思路和方法,具体的实施需要根据具体情况进行调整和操作。

赞(0)