赞
踩
目录
3.80端口和8080端口-sql注入万能密码-报错信息泄露目录结构
学习的视频是哔哩哔哩红队笔记:
「红队笔记」靶机精讲:LAMPSecurityCTF7 - 字符串魔法、密码喷射,这才是实战技术。_哔哩哔哩_bilibili
打靶时参考文章和本文借鉴文章:
红队打靶:LampSecurity:CTF7打靶思路详解(vulnhub)_lampsecurityctf-CSDN博客
靶机下载链接见:
https://download.vulnhub.com/lampsecurity/CTF7plusDocs.zip
参考链接nmap主机发现和端口扫描:渗透测试:主机发现和端口扫描的方法总结(nmap+arp-scan+ping命令+nc.traditional+伪设备连接)-CSDN博客
- Sudo nmap -sn 192.168.254.0/24
- sudo nmap -min-rate 10000 -p- 192.168.254.149
- sudo nmap -sT -sV -O -p22,80,137,138,139,901,5900,8080,10000 192.168.254.149
- sudo nmap -sU -min-rate 10000 -p- 192.168.254.149
- sudo nmap --script=vuln -p22,80,137,138,139,901,5900,8080,10000 192.168.254.149
通过nmap信息搜集,搜集以下信息:
1.存活端口:发现存活端口80,22,139,901,8080,10000
其中80 901 8080 10000都是http 应该是部署了不同的web
80,901,8080,10000都部署了web,攻击面大
80:
8080:
80端口和8080端口一应该是前台后台关系,当我们看到登录窗口的时候就可以先尝试一下是否存在sql注入,在输入框输入’
可以看到报错,说明存在sql注入,既然存在sql注入我们就可以尝试万能密码
' or 1=1 #
登录成功(这么简单就通过sql注入万能密码进入后台 ,我觉得这也只要靶场有了,平时肯定很少遇见了)
进入后台就是常规操作,并没有发现是什么CMS就在页面找能利用的点
发现由很多用户具有管理员权限
在后台功能探针,发现我们可以更改80端口中文章的下载pdf的文件,看看我们能不能上传一个php脚本文件
测试是否能上传php文件,成功上传
上传反弹shell脚本
可以看到上传访问,发现只是单纯的将参数中的文件内容显示出来,读取出来了,没有执行,既然上传成功了,文件就一定会有一个存储的地方,我们现在的任务就是找到文件上传到的位置,访问文件即可
在我们测试能否直接访问后门代码的时候,报错泄露了些目录结构,其实在nmap枚举出来的目录里面就要inc,inc是一个可以访问的目录
但是inc下并没有我们的反弹shell脚本文件,分析可以知道 inc目录是web路径对应php文件目录,并不是文件上传的存储目录。
http://192.168.254.149/read&file=payload.php
链接是这样的,php文件肯定是上传的某个目录下了,但是我们不知道。由于上面访问报错,暴露了文件目录结构,那我们尝试文件上传时,不上传文件,就提交是否会报错也暴露出对应的上传路径嘞
上传到 /var/www/html/assets/ 时出现问题,报错泄露了文件上传的目录
分析路径,web通过放在www下html目录应该就是web对应的目录,尝试访问
成功进入,耶!我的php文件嘞,可以看到最后一个就是那个可下载的pdf
重新上传脚本出来了
反弹shell成功
- ip a
-
- id
-
- whoami
-
- uname -a
确定是目标主机,初步立足点是apache用户的shell,linux kernel 版本2.6.32
sudo -l
tty说我没有完好的交互,
直接尝试python 获取较好的交互
成功获得较好的交互,但是使用sudo -l需要密码,但我们并没有
- cat /etc/passwd
- cat /etc/shadow
看了etc/passwd文件和etc/shadow文件没有权限看\
有很多bash用户,在这个主机上,用户多,每个用户都有可能会在自己的目录下留下存放有关提权的密码文件,可以使用grep 匹配字符串
grep -R -i pass /home/* 2>/dev/null
用不了,想着上个靶场也是这样用户多,还是想的太好了,每个靶场不可能相同,定时任务也没有可以利用的点,接下来的思路就是,寻找敏感信息文件,如:
1.数据库配置文件(进入数据库UD提权,获得账号密码,尝试ssh登录等操作),
2.带有admin等关键字的文件,可能会有管理员相关的东西
最终在admin中的inc中的db.php发现了有效信息:
发现了连接数据库的db文件,发现数据库root用户,没有密码就可以登录
进入mysql
mysql -u root -p
获得了大量的账号密码,其中邮箱前部分名字和/etc/passwd中带有bash环境的用户名相同,所以可以尝试对这里的hash加密的密码进行解密,和账号名进行碰撞,爆破ssh。
这里涉及的知识点有,1.魔法字符串,2.hash密码破解,3.crackmapexec密码喷射
将我们获得的账号密码写入文件,再使用awk 将密码切割出来,并保存在新的文件中
Cat Cred | awk -F’ ’ {‘print $4’} > passwd_encode
hashcat进行破解hash密码(在线MD5解密会更快,但这里主要学习新知识)
hashcat -a 0 -m 0 passwd_encode /usr/share/wordlists/rockyou.txt
-m 选择破解的密文的算法 0 是 MD5
-a 是破解的手段 0 Straight(字典破解)
/usr/share/wordlists/rockyou.txt 字典
解压成功
将破解的密码分割出来
cat passwd | awk -F':' {'print $2'} > passwd_de
同理,我们再把账号也存成一个文件username.lst:
cat Cred | awk -F' ' {'print $2'} | awk -F'@' {'print $1'} > username.txt
(我知道我之前为什么ssh爆破失败了,我用的是邮箱当账号,怎么可能用邮箱当账号啊!!!!!!!!!)
欧克!我们成功获得账号密码字典,可以进行密码喷射登录了。
知道账号和密码之后,其实我们可以直接尝试ssh登录,但有这么多账号,如果用户名和密码不对应的话手动尝试很费劲(其实这里是对应的,完全可以直接登录,这里只是为了介绍学到的知识点),我们可以试试使用密码喷射 crackmapexec,命令如下:其中--continue-on-success参数是指发现首个匹配的用户名和密码之后继续进行碰撞。
crackmapexec ssh 192.168.254.149 -u username.txt -p passwd_de --continue-on-success
很快我们就能确认正确的账号是带有+的,还可以专门用grep过滤一下:
crackmapexec ssh 192.168.200.145 -u username.lst -p password.lst --continue-on-success | grep '+'
爆破成功,但是我尝试用hydra (协议爆破神器)爆破报错了
与方法服务器主机密钥算法不匹配:服务器 [ssh-rsa、ssh-dss]、客户端 [ssh- ed25519、ecdsa-sha2-nistp521、ecdsa-sha2-nistp384、ecdsa-sha2-nis ,造成的原因还是因为服务器和客户端 密钥算法不匹配
为了解决这个问题,你可以尝试通过修改客户端的 SSH 配置来让客户端与服务器之间达成匹配。一种可能的解决方法是在客户端的 SSH 配置文件中指定使用服务器支持的算法
为什么使用crackmapexec就没有问题嘞
所以如果在真实环境遇见问题了,就可以多用不同工具尝试了解决
通过爆破出来的账号密码ssh登录
ssh登录,也出现了密钥不匹配的问题,但是再ssh中有解决方法
ssh -o HostKeyAlgorithms=ssh-rsa,ssh-dss user@192.168.254.149
-o HostKeyAlgorithms=ssh-rsa,ssh-dss 这将覆盖客户端默认的主机密钥算法,并尝试连接到服务器。
登录成功
sudo -l
查看权限
ALL ALL权限
直接
Sudo /bin/bash
提权成功
通过这个靶场我学习到了:
思路上的学习:
1.登录窗口尝试是否存在sql注入,万能密码直接登录,
2.web报错泄露信息
3.获得的任何凭据都可以用来尝试ssh登录,
4,在拿到初步shell的时候,没有思路了多看看和admin和数据库相关的,敏感文件,配置文件这些敏感文件
工具上的学习:
1. awk 魔法字符串处理
2.crackmapexec是一个域渗透工具,有密码喷射的功能
3.hashcat 破解hash密码
靶场思路总结:
1.主机发现和端口扫描:靶机开放了很多端口,其中80和8080端口,是前后台关系
2.通过8080端口存在的登录窗口,存在sql注入,万能密码进入后台,通过报错信息得到文件上传存储目录,上传getshell脚本,反弹shell,获得初步立足点
3.寻找敏感文件,得到mysql账号密码,进入mysql得到大量凭据,并且与/etc/passwd中的用户相似,尝试破解hash密码, 密码喷射登录ssh
4.登录用户,权限很高sudo /bin/bash直接提取root
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。