欢迎大家一起来Hacking水友攻防实验室学习,渗透测试,代码审计,免杀逆向,实战分享,靶场靶机,求关注
我们都知道,如果已经获取了目标服务器(网站)的后门shell,那么我们接下啦要做的事情是什么????对,就是进程迁移(把自己的shell隐藏到一个不容易被肉鸡检测到的地方,比如说一个很深的目录下),但是要执行进程迁移,我们需要root权限,所以实际上我们应该先提升攻击者的权限,来使得我们有着更高的权限(比如说root)去操控肉鸡。在提升权限的过程中,我们常常用到一个能够和肉鸡建立实时会话的TCP工具——————Netcat。网上的教程一般都是先开篇列出来这个工具的命令,然后后面接上一些实际例子,这样有好处也有缺点——每次忘记了命令都要翻到命令那一部分去看。所以我决定直接上实践,在实践中详细解说每一个用到的命令,这样方便阅读。
目录
一、假定已经拿到了shell
我们假定已经在肉鸡上找到某个存在的漏洞,并且把自己的hack.php恶意一句话PHP脚本上传,并且用中国蚁剑成功连接:
接着我们可以查看当前用户的权限:
二、建立shell会话操控肉鸡
多年以前黑客喜欢主动去连接肉鸡,建立一个socket,然后对话。但现在更多的是反弹shell。这也是我们最常用,在提取,调试漏洞等操作中最基础的一个功能了。
什么是反弹shell?我们都知道正向的shell,就是我们直接写一个shell脚本(或者是木马),我们作为攻击方,去主动连接肉鸡,但是这样存在很多问题,其一,肉鸡的ip是动态的,会变化的,鸡儿满地乱跑,不一定找得到它;其二,鸡儿会有很多防火墙、杀软之类的保护软件;其三,网络态势错综复杂,我们可能根本无法建立一个有效连接。于是乎我们想了一个好办法:在攻击机上面开启监听,等着,等着肉鸡主动过来找我们。
2.1设置 Netcat 监听
Netcat,业界称之为“渗透测试中的瑞士军刀”,是一个伟大而实用的用于 TCP 和 UPD 网络连接协议的读写程序。同时 Necat 也被誉为网络中的瑞士军刀,在许多黑客教程中 Necat 也被广泛使用。Necat 最常见用途是设置反向连接和 bind shell ,管道和重定向网络流量,端口侦听,调试程序和脚本,抓取 banner 等作用。这时候我们用netcat。
输入命令:listen for inbound: nc -l -p port [-options] [hostname] [port]
nc是netcat的缩写,-l是listen监听模式,-p是port端口,-v是详细模式,能够让我们更清晰地看到命令执行的过程,不加也可以
2.2建立连接
这一步可以用很多方法,只要能够建立一个连接都可以,具体的方法我们可以百度,比如nc.exe发送一个bash shell,木马,上传一个 perl-reverse-shell.pl 建立 sockets……
这里我用的方法是上传一个 perl-reverse-shell.pl 建立 sockets……,怎么上传呢?这里我们默认已经用中国蚁剑或者菜刀连接到shell了,就直接上传文件就可以。一般来说,Linux下默认tmp文件夹具备执行权限和写入权限,但是第一次我上传文件失败,打开靶机发现是我不具备写入tmp文件夹的权限,我只有写入upload文件夹的权限,那就只好把 perl-reverse-shell.pl 文件传到upload文件夹里面了。
传入upload文件夹:
接下来要运行这个脚本才可以生成一个socket用于攻击机和肉鸡之间的后续对话,先看看这个脚本是否具备执行权限,用命令ls -al (列举出文件夹下所有文件的详细信息),可见这个文件只有读权限(read)、写权限(write)。
那我们要赋予它一个执行的权限:chmod +x (文件名) chmod命令可以参考权威网站:Linux chmod 命令 | 菜鸟教程
修改脚本中的信息,改为我们监听的主机ip端口
我们已经给了这个脚本可执行权限,执行它:
2.3查询内核有关信息
执行 uname –a 命令来查看内核版本,也可以使用 lsb_release –a 命令来查看当前系统发行版的具体版本号。
这是一个Ubuntu15.04 的x86-64非正式版本 内核版本是3.19.0-15
2.4使用内核对应的提权漏洞的exp
渠道很多,GitHub,exloit.com,kali自带的,都可以。这里我去GitHub上面下载了一个exp.c,把它传到upload文件夹下:
然后用gcc把它编译成exp可执行ELF文件:gcc exp.c -o exp ,然后chmod给它执行权限 gcc的有关知识参考文章:GCC 参数详解 | 菜鸟教程
执行exp,然后查看ID,发现我们的用户成了root权限:
三、总结
内核提权的话和别的3类提权(mysql udf 提权、CRON JOBS 提权、SUID提权)基本流程是一致的,都是在getshell的基础上,利用exp,提升权限。以后如果我有时间会写一写剩下的提权手段,但是如果没时间,那也行,我们可以先深入学习一类提权手段,然后横向拓展到别的系统,别的提权模式,原理是一致的,一路通百路通。
(¦3[▓▓] 晚安,打工人。2021.1.1